驱动裸机程序编译

arm-linux-gcc 编译:

arm-linux-gcc -nostartfiles -nostdlib -Ttext 40008000 -e led led.c -o led
//-nostartfiles:不加入起始文件开始
//-nostdlib :不加入标准库
//-Ttext:指定代码在裸机运行地址
//-e:表示程序入口地址
//40008000:程序入口地址

img

arm-linux-objcopy编译成二进制

arm-linux-objcopy -O binary led led.bin
//编译成二进制文件,将elf文件转成纯二进制文件

开发板下载和启动

tftp 40008000 led.bin (回车)
//便可以开始下载,若第一次显示no link,重复上tftp XXXXX操作
//运行代码
go 40008000

Makefile编译

led.bin: led.o 
	arm-none-linux-gnueabi-ld -Ttext 0x40000000 -o led.elf $^
	arm-none-linux-gnueabi-objcopy -O binary led.elf led.bin
	arm-none-linux-gnueabi-objdump -D led.elf > led.dis	
%.o <
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值