- 积分
- 265
- 实力分
- 点
- 金钱数
- 两
- 技术分
- 分
- 贡献分
- 分
|

楼主 |
发表于 2007-10-31 10:23:48
|
显示全部楼层
工具用arm-elf-gcc应该是没有问题的,arm-elf-gcc对arm指令的支持也应该是没有问题的
只是那些编译器特定的语法声明之类的东西是不能用了,因此我们需要一些关于gcc中作汇编和c/c++编程的资料和经验,关键是作汇编部分的资料,和IAR的差异很大,
昨天尝试了一下,源程序基本没有问题,一些地方有警告,稍微修改就可以。。。
似乎GCC编译是会检查所有用到的文件中的内容,而IAR会忽略没有被程序调用的内容,下面是siehelpman的main.c,简单的检查了一下。。。- bingk@bingk-desktop:/windows_e/svn/SieELF/SieHelpMan$ arm-elf-gcc m.c
- In file included from png.h:378,
- from swilib.h:19,
- from m.c:1:
- pngconf.h:288: Invalid token in expression
- pngconf.h:523: Invalid token in expression
- pngconf.h:534: Invalid token in expression
- pngconf.h:596: Invalid token in expression
- pngconf.h:622: Invalid token in expression
- pngconf.h:660: Invalid token in expression
- pngconf.h:667: Invalid token in expression
- pngconf.h:692: Invalid token in expression
- pngconf.h:729: Invalid token in expression
- pngconf.h:733: Invalid token in expression
- pngconf.h:806: Invalid token in expression
- pngconf.h:812: Invalid token in expression
- pngconf.h:1296: Invalid token in expression
- In file included from swilib.h:19,
- from m.c:1:
- png.h:741: Invalid token in expression
- png.h:1046: Invalid token in expression
- png.h:1218: Invalid token in expression
- png.h:1310: Invalid token in expression
- png.h:1549: Invalid token in expression
- png.h:1554: Invalid token in expression
- png.h:1594: Invalid token in expression
- png.h:1639: Invalid token in expression
- png.h:1903: Invalid token in expression
- png.h:1909: Invalid token in expression
- png.h:1915: Invalid token in expression
- bingk@bingk-desktop:/windows_e/svn/SieELF/SieHelpMan$
复制代码 对func.asm- bingk@bingk-desktop:/windows_e/svn/SieELF/SieHelpMan$ arm-elf-gcc f.s
- f.s: Assembler messages:
- f.s:2: Error: bad instruction `elf_begin '
- f.s:4: Error: bad instruction `arm '
- f.s:5: Error: bad instruction `kill_data '
- f.s:8: Error: bad instruction `seqkill '
- f.s:14: Error: bad instruction `a EQU b'
- f.s:15: Error: bad instruction `endm '
- f.s:17: Error: bad instruction `end '
- bingk@bingk-desktop:/windows_e/svn/SieELF/SieHelpMan$
复制代码 相当需要一位精通linux下编程的大侠指导一下 |
|