[1]环境搭建
安装交叉编译工具链(arm-linux-gcc4.4.3)
交叉编译基础
arm-linux-gcc常用命令
1.查看头文件和库文件的搜索路径:
arm-linux-gcc -print-libgcc-file-name
2.arm-linux-gcc常用命令
arm-linux-gcc -g -c led.S
//-c为仅汇编操作 -g添加调试信息
arm-linux-ld -Tled.lds -o led.elf led.o
//执行链接操作
arm-linux-readelf -a led.elf
//查看elf文件头信息
arm-linux-objdump -D -S led.elf
//执行反汇编操作
arm-linux-objcopy -O binary led.elf led.bin
//转换为二进制文件
Makefile基础知识
基本结构
target(目标) : prerequisites(依赖)
command(命令)
变量的使用
- 定义:obj=func1.o func2.o
- 使用:$(obj)
特殊变量
- $^ :代表所有依赖文件
- $@ :代表目标
- $< :代表第一个依赖文件
通用规则(实例)
%.o : %.c
arm-linux-gcc -o %@ -g -c %^
链接器脚本
SECTIONS {
. = 0x30008000;
. = ALGN(4);
.text :
{
start.o(.text)
*(.text)
}
. = ALGN(4);
.data :
{
*(.data)
}
bss_start=.
. = ALGN(4);
.bss :
{
*(.bss)
}
}
设置起始链接地址
. = 0x30008000;
设置4字节对齐
. = ALGN(4);
变量的使用
bss_start=.
代码段首文件
start.o(.text)
*(.text)
eclipse集成开发环境
- arm-linux-gcc
- arm-linux-gdb
- JLink_Linux
- eclipse
注意:环境变量配置在/etc/profile中。