zoukankan      html  css  js  c++  java
  • Ubuntu驱动程序开发1-环境搭建

    1、安装交叉编译工具链

    1.1 下载4.9.4版本的交叉编译器,并存放到/usr/local/arm目录

    链接:https://releases.linaro.org/components/toolchain/binaries/4.9-2017.01/arm-linux-gnueabihf/

    1.2 新建/usr/local/arm文件,并将下载好的压缩包解压到此文件夹中

    sudo tar -vxf gcc-linaro-4.9.4-2017.01-x86_64_arm-linux-gnueabihf.tar.xz

      这样,该文件夹里面就是我们的交叉编译工具链。

    1.3 修改环境变量

    1.3.1 所有用户全局设置

    打开/etc/profile文件,在最后面添加如下内容:

    export PATH=$PATH:/usr/local/arm/gcc-linaro-4.9.4-2017.01-x86_64_arm-linux-gnueabihf/bin

     生效:

    source profile

    1.3.2 当前用户全局设置

    打开~/.bashrc文件,添加内容同上(注意文件名根据自己实际下载的填写)

    生效:

    source .bashrc

    1.4 在使用交叉编译工具链之前还需安装其他库

    sudo apt-get install lsb-core lib32stdc++6

    1.5 验证

    arm-linux-gnueabihf-gcc -v

    1.6 使用

    1.6.1 编译

    arm-linux-gnueabihf-gcc -g -c led.s -o led.o  

      -g,产生调试信息;-c,编译但不链接;-o,指定编译产生的文件名

    1.6.2 链接

    arm-linux-gnueabihf-ld -Ttext 0X87800000 led.o -o led.elf  

      -Ttext,指定链接地址,即程序的运行地址

    1.6.3 格式转化

    arm-linux-genueabihf-objcopy -O binary -S -g led.elf led.bin  

      -O,指定输出格式为二进制格式;-S,不复制源文件中的重定位信息和符号信息;-g,不复制源文件调试信息

    1.6.4 反汇编

    arm-linux-gnueabihf-objdump -D led.elf > led.dis  

      -D,表示反汇编所有的段。大多数情况下我们都是用 C语言写试验例程的,有时候需要查看其汇编代码来调试代码,

    因此就需要进行反汇编,一般可以将 elf文件反汇编。

    2、Uboot烧写

    2.1 将imxdown拷贝到工程目录下,也就是和.bin文件在同一个文件夹下

    2.2 给予imxdownload可执行权限  chmod 777 imxdownload

    2.3 电脑中插入sd卡(使用 ls /de/sd*来查看确认sd卡是sd多少)

    2.4 烧写bin文件

    ./imxdownload u-boot.bin /dev/sdd
  • 相关阅读:
    Map1: iOS开发中定位和地图介绍
    GCD11: 创建计时器
    GCD10: 用GCD构建自己的分派队列
    GCD9: 用GCD将任务分组
    GCD8: 在GCD上让一个任务最多执行一次
    GCD7: 利用GCD延时后执行任务
    GCD6: 在GCD上异步执行非UI相关任务
    GCD5: 用GCD同步执行非UI相关的任务
    回文数
    字符串置换
  • 原文地址:https://www.cnblogs.com/Mike2019/p/12864142.html
Copyright © 2011-2022 走看看