Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1071640
  • 博文数量: 71
  • 博客积分: 3078
  • 博客等级: 少校
  • 技术积分: 945
  • 用 户 组: 普通用户
  • 注册时间: 2009-09-16 20:10
个人简介

此博客已停用 个人博客: Mangogeek.com

文章分类
文章存档

2016年(1)

2015年(32)

2014年(25)

2011年(13)

分类: LINUX

2014-07-21 08:38:28

arm-linux-gcc 编译选项
-c    预处理、编译和汇编源文件,但不进行连接
-S    编译后停止,不进行汇编
-E    预处理后停止,不进行编译
-o    制定输出文件
-Wall    警告信息
-g    产生调试信息
-O O0 O1 O2 O3 除了O0不优化,其余都优化
-llibrary    连接名为library的库文件
-nostartfiles    不连接标准系统启动文件
-nostdlib    不连接标准库文件
-static    静态编译

arm-linxu-ld选项
 直接制定代码段、数据段、BSS段
-Ttext     startaddr
-Tdata     startaddr
-Tbss        startaddr
-Txxx.lds    使用链接脚本

arm-linux-objcopy
 -O 指定输出格式,常见有binary
-S    不从源文件中复制重定位信息和符号信息到目标文件中去

arm-linux-objdump
-D 反汇编所有段
eg.    arm-linux-objdump -D elf_file > dis_file

一个现成的Makefile
led_on.bin:led_on.S main.c
 arm-linux-gcc -g -c -o led_on.o led_on.S
 arm-linux-gcc -g -c -o main.o main.c
 arm-linux-ld -Ttext 0x00000000 -g led_on.o main.o -o led_on_elf
 arm-linux-objcopy -O binary -S led_on_elf led_on.bin
 arm-linux-objdump -D -m arm led_on_elf > led_on.dis
clean:
 rm -f led_on.bin led_on_elf *.o
uboot状态下,tftp用法:tftp addr filename
bl main;bl指令第一是跳转,第二是吧返回值保存到lr寄存器

阅读(2556) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~