嵌入式Linux入门学习笔记(三)LED驱动编译烧写

一、LED驱动

1.编译程序

① 将.c .s文件变为.o

使用命令arm-linux-gnueabihf-gcc编译文件

arm-linux-gnueabihf-gcc -g -c led.s -o led.o
//编译led.s文件生成led.o
//-g 产生调试信息
//-c 编译源文件
//-0 指定编译产生文件名字

②将所有的.o文件链接为elf格式的可执行文文件

使用命令arm-linux-gnueabihf-ld链接文件

arm-linux-gnueabihf-ld -Ttext 0X87800000 led.o -o led.elf
//将前面编译出的led.o文件链接到 0X87800000 这个地址
//0X87800000为个人指定起始地址
//-o *****

③将elf文件转为bin文件

使用命令arm-linux-gnueabihf-objcopy进行格式转换

arm-linux-gnueabihf-objcopy -O binary -S -g led.elf led.bin
//-O 指定以什么格式输出
//binary 二进制格式
//-S 表示不要复制源文件中的重定位信息和符号
//-g 表示不复制源文件中的调试

④反汇编:将elf文件转为汇编程序

使用arm-linux-gnueabihf-objdump命令反汇编

arm-linux-gnueabihf-objdump -D led.elf > led.dis
//-D 反汇编所有段

2.烧写程序

使用imxdownload向sd卡烧写bin文件。格式如下

./imxdownload <.bin file> 
//.bin是要烧写的目标文件,SD Card是目标SD卡,在/dev目录下

例:
./imxdownload led.bin /dev/sdd

你可能感兴趣的:(嵌入式硬件)