简单Makefile中指定链接脚本(地址)的代码
来源:互联网 发布:浏览器 网络连接错误 编辑:程序博客网 时间:2024/06/05 18:06
一、led是用汇编写的,仅此一个文件
Makefile文件代码:
led.bin: led.o arm-linux-ld -Ttext 0x0 -o led.elf $^ //注意到这里是-Ttext 0x0,而非链接脚本,所以文件目录下也没有链接脚本arm-linux-objcopy -O binary led.elf led.binarm-linux-objdump -D led.elf > led_elf.disgcc mkv210_image.c -o mkx210./mkx210 led.bin 210.bin%.o : %.Sarm-linux-gcc -o $@ $< -c%.o : %.carm-linux-gcc -o $@ $< -c clean:rm *.o *.elf *.bin *.dis mkx210 -f
二、led使用c来编写,另外还有一个start.S文件来进行必要的初始化(主要是栈)
start.S文件代码:
/* * 文件名:led.s * 描述:演示汇编设置栈并且调用C语言程序来点亮LED */#define WTCON0xE2700000#define SVC_STACK0xd0037d80.global _start// 把_start链接属性改为外部,这样其他文件就可以看见_start了_start:// 第1步:关看门狗(向WTCON的bit5写入0即可)ldr r0, =WTCONldr r1, =0x0str r1, [r0]// 第2步:设置SVC栈ldr sp, =SVC_STACK// 从这里之后就可以开始调用C程序了bl led_blink// led_blink是C语言实现的一个函数// 汇编最后的这个死循环不能丢b .
Makefile文件代码:
led.bin: start.o led.oarm-linux-ld -Tlink.lds -o led.elf $^ //注意这里使用了链接脚本,所以在目录下应该有一个链接脚本arm-linux-objcopy -O binary led.elf led.binarm-linux-objdump -D led.elf > led_elf.disgcc mkv210_image.c -o mkx210./mkx210 led.bin 210.bin%.o : %.Sarm-linux-gcc -o $@ $< -c -nostdlib%.o : %.carm-linux-gcc -o $@ $< -c -nostdlibclean:rm *.o *.elf *.bin *.dis mkx210 -f
链接脚本代码:
SECTIONS{. = 0xd0024000;.text : {start.o* (.text)} .data : {* (.data)}bss_start = .; .bss : {* (.bss)}bss_end = .;}
阅读全文
0 0
- 简单Makefile中指定链接脚本(地址)的代码
- Makefile中指定目标(MAKECMDGOALS)
- 超简单!在Keil中指定某个函数或变量存放的地址
- 获取github中指定tag的代码
- [10月17日的脚本] 删除Microsoft Exchange 2010 中指定域名的E-mail地址
- 获取网页链接中指定参数的值
- JavaScript talbe表中指定位置插入一行的实现代码 脚本之家修正版 转(http://www.jb51.net/article/18502.htm)
- IAR for stm8 中指定编译的起始地址
- Linux(Unbuntu) 系统中指定机器的IP地址
- 在makefile中指定动态库路径
- matlab代码-遍历文件夹中指定类型的文件
- js获取url中指定参数值的示例代码
- 通过DLL路径,实现动态调用动态链接库中指定类的(静态)方法和属性
- makefile 中指定程序运行时加载的库文件路径
- Silverlight调用WebService 之 Silverlight动态加载外部XML指定地址的WebService---(动态加载外部XML文件中指定的WebService地址)
- 抓取网页中指定节点的内容(java版本)
- 搜索项目中指定文件夹下的文件(VB)
- JavaScript Array(数组)对象中指定元素的删除
- 使用ViewPager+Fragment实现底部导航栏
- 安卓大图显示不OOM方案,极简代码,实现拖动、缩放等功能
- 大型网络不得不考虑的几个问题?(张高伟)
- v5.51总结-开发人员怎么测试
- html中点击左边菜单右边内容切换
- 简单Makefile中指定链接脚本(地址)的代码
- UVa 11150 Cola
- vim设置代码文件注释换行不自动添加注释
- unity中关于物体的旋转和朝向控制
- Spring 处理Post参数处理
- 4Sum
- htop安装使用详解
- Golang实现ping
- spring 控制反转与依赖注入原理