ARM启动代码问题

[复制链接]
3421|5
 楼主| chanmu 发表于 2013-2-23 11:20 | 显示全部楼层 |阅读模式
我在网上或有些工程里看到,例如下面写法的启动代码,我想问这是在keil下跑的启动代码吗?我这确实有个keil工程里面是这么写的。但是是代码里用//或/* */ C语言的语法进行注解,而且里面有些语法和我现在创建工程里自带的启动代码不同,例如现在是以;来注解。请问这是为什么?

拜求大神解答!!!:'(

// Starupt Code must be linked first at Address at which it expects to run.

$IF (EXTERNAL_MODE)
        CODE_BASE       EQU     0x80000000
$ELSE
        CODE_BASE       EQU     0x00000000
$ENDIF

AREA   STARTUPCODE, CODE, AT CODE_BASE   // READONLY, ALIGN=4
       PUBLIC  __startup

       EXTERN  CODE32 (?C?INIT)

__startup       PROC    CODE32

// Pre-defined interrupt handlers that may be directly
// overwritten by C interrupt functions
EXTERN CODE32 (Undef_Handler?A)
EXTERN CODE32 (SWI_Handler?A)
EXTERN CODE32 (PAbt_Handler?A)
EXTERN CODE32 (DAbt_Handler?A)
EXTERN CODE32 (IRQ_Handler?A)
EXTERN CODE32 (FIQ_Handler?A)

// Exception Vectors
// Mapped to Address 0.
// Absolute addressing mode must be used.
airwill 发表于 2013-2-23 22:38 | 显示全部楼层
这是编译器的问题.
不过 Keil 的 ASM 启动文件, 应该不能使用 c 的注释.
jlass 发表于 2013-2-25 10:13 | 显示全部楼层
编译器的差别而已,CCS就是以;来做注解的。
但是//一般都是认的。
 楼主| chanmu 发表于 2013-2-25 10:39 | 显示全部楼层
airwill 发表于 2013-2-23 22:38
这是编译器的问题.
不过 Keil 的 ASM 启动文件, 应该不能使用 c 的注释.

你好,我最近对过比 Keil里的设置,发现

select ARM development tools有3个项:
use RealView Compiler
use Keil CARM compiler
use GNU compiler

我那个工程选的是use Keil CARM compiler  



所以才编译通过吧?请问这几个有什么不同?

我在一般创建的工程默认是use RealView Compiler

那么把use Keil CARM compiler
的工程 能移植到use RealView Compiler的工程吗?

 楼主| chanmu 发表于 2013-2-25 12:24 | 显示全部楼层
jlass 发表于 2013-2-25 10:13
编译器的差别而已,CCS就是以;来做注解的。
但是//一般都是认的。

你好,我最近对过比 Keil里的设置,发现

select ARM development tools有3个项:
use RealView Compiler
use Keil CARM compiler
use GNU compiler

我那个工程选的是use Keil CARM compiler  



所以才编译通过吧?请问这几个有什么不同?

我在一般创建的工程默认是use RealView Compiler

那么把use Keil CARM compiler
的工程 能移植到use RealView Compiler的工程吗?
airwill 发表于 2013-2-25 15:16 | 显示全部楼层
Keil CARM compiler
记得是 KEIL mdk 3.0x 以前才有的编译器吧, 快换新版吧. 拿出来交流会有 "代沟" 咯
您需要登录后才可以回帖 登录 | 注册

本版积分规则

1

主题

4

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部