分类: WINDOWS
2012-04-19 12:21:02
编译命令:arm-elf-gcc -O2 -c 源C文件名
注意这里的-O参数要大写,表示优化参数
比如:arm-elf-gcc -O2 -c hello.c执行后会有一个hello.o的文件生成
链接命令:arm-elf-ld -e 入口函数 -Ttext 内存地址 .o文件 -o 链接后生成的文件
-e表示指定程序的运行入口,-Ttext表示指定该程序的运行基地址(内存地址)
比如:arm-elf-ld -e hello -Ttext 0x0 hello.o -o hello 执行后会生成一个hello文件,入口函数是hello,连接到内存0x0处,此时hello函数就具有了运行条件。
加载到硬件命令:arm-elf-objcopy -o binary 连接后的文件 可执行机器码镜像
比如:arm-elf-objcopy -o binary hello hello.bin 执行后会生成hello.bin文件(-O必须大写)
将hello.bin文件和skyeye.conf文件放在一起,然后执行skyeye就会产生结果。
skyeye.conf文件如下(图中镜像文件为2_1.bin):
此外我们可以写自己的脚本链接文件(.lds),在链接时执行命令: arm-elf-ld -T 脚本链接文件 .o文件 -o 链接生成的文件
脚本链接文件如下:
entry显示指定入口函数
注意:在设置位置计数器时必须有空格,比如.=0x0000000;就会出错