1.安装工具链
进入嵌入式开发前,事先要安装交叉工具链,步骤如下:
(1) 解压工具链到某一目录下 tar zxvf arm-linux-gcc-4.3.2.tar.gz -C /
(2) 修改/etc/profile,添加pathmunge /usr/local/arm/4.3.2/bin,或针对某一用户修改~/.bashrc或~/.bash_profile
(3) 执行source /etc/profile
2.常用工具的使用
(1)编译器arm-linux-gcc
arm-linux-gcc hello.c -o hello 加--static为静态链接
(2)反汇编工具:arm-linux-objdump
arm-linux-bojdump -D -S hello.ko >log
对内核模块开发时,若需要显示汇编对应的C语言,这需要在linux内核根目录下的Makefile中添加
ifndef CONFIG_CC_STACKPROTECTOR
KBUILD_CFLAGS += $(call cc-option, -fno-stack-protector)
KBUILD_CFLAGS += -g //添加的行,-g做调试用
endif
ifdef CONFIG_FRAME_POINTER
KBUILD_CFLAGS += -fno-omit-frame-pointer -fno-optimize-sibling-calls
else
(3)ELF文件转化器:arm-linux-objcopy
.elf为可执行文件、linux系统有elf解析器、可以直接运行elf文件,arm处理器运行的是二进制文件、比如uboot必须是二进制才行,可以用以下命令将.elf文件转换为.bin文件:
arm-linux-objcopy -O binary led.elf led.bin
(4)ELF 文件查看工具:arm-linux-readelf
arm-linux-readelf –a hello
arm-linux-readelf –d hello 查看hello使用的动态库