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多少)

Ubuntu驱动程序开发1-环境搭建

2.4 烧写bin文件

./imxdownload u-boot.bin /dev/sdd

 

Ubuntu驱动程序开发1-环境搭建

上一篇:DB2常用函數總結


下一篇:PAT 甲级 1094 The Largest Generation