这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » 综合技术 » 基础知识 » s3c44b0x 高手请进:有关s3c44b0x启动代码的问题(1)

共2条 1/1 1 跳转至

s3c44b0x 高手请进:有关s3c44b0x启动代码的问题(1)

院士
2006-09-17 18:14:16     打赏
s3c44b0x 高手请进:有关s3c44b0x启动代码的问题(1)



关键词: s3c44b0x     高手     请进     有关     启动     代码         

院士
2006-12-22 22:43:00     打赏
2楼
问 这两天看s3c44b0x的启动代码,感觉很繁,有些地方老看不懂.哪位高手指点为一下,谢谢。
代码如下:
     
GET ..\inc\option.a
GET ..\inc\memcfg.a

;Interrupt Control
INTPND        EQU    0x01e00004
INTMOD        EQU    0x01e00008
INTMSK        EQU    0x01e0000c
I_ISPR        EQU    0x01e00020
I_CMST        EQU    0x01e0001c

;Watchdog timer
WTCON        EQU    0x01d30000

;Clock Controller
PLLCON        EQU    0x01d80000
CLKCON        EQU    0x01d80004
LOCKTIME    EQU    0x01d8000c
    
;Memory Controller
REFRESH        EQU 0x01c80024

;Pre-defined constants
USERMODE    EQU    0x10
FIQMODE        EQU    0x11
IRQMODE        EQU    0x12
SVCMODE        EQU    0x13
ABORTMODE   EQU    0x17
UNDEFMODE   EQU    0x1b
MODEMASK    EQU    0x1f
NOINT        EQU    0xc0

;check if tasm.exe is used.//tasm.exe是什么程序,有什么作用???
    GBLL    THUMBCODE
    [ {CONFIG} = 16//CONFIG是在哪里定义了???这条语句的作用是什么,][]的用法怎样???    
THUMBCODE SETL    {TRUE}
    CODE32
    |   //这个符号有什么用???
THUMBCODE SETL    {FALSE}
    ]

    [ THUMBCODE   //这句话有什么作用
    CODE32   ;for start-up code for Thumb mode//还有这句话???
    ]


谢了先! 1: 帮帮忙啊,各位大侠 2: 不懂猜是怎么配置是ARM32位指令还是thumb 16位指令的 3: 恳请大侠指点,急啊! 4: 找一本书看看吧,不要光等别人给你回答 5: 我知道一些!1\tasm.exe是什么程序,有什么作用???
  就是THUMB汇编编译文件
2\//CONFIG是在哪里定义了???
  CONFIG为汇编器的内置变量
3\,[]的用法怎样???
   "["表示"if","|"表示"else","]"表示"endif"

下面的有些不懂:
    [ THUMBCODE   //这句话有什么作用
    CODE32   ;for start-up code for Thumb mode//还有这句话???为什么是THUMB MODE ,不是CODE32吗?应该是ARM MODE 才是啊?
    ]
不知对不对,有错误的地方请高手指教! 6: THUMBCODE是变量名THUMBCODE是变量名
GBLL     THUMBCODE      ;定义THUMBCODE这个变量  GBLL声明一个全局逻辑变量并初始化为{FALSE}
THUMBCODE SETL Logic Statement;设置THUMBCODE的值

[ THUMBCODE   
    CODE32
]
就是if(THUMBCODE={TRUE}) CODE32;即THUMBCODE={TRUE}则指明以后为ARM代码.
你后面的代码应该是中断代码吧?进入中断后ARM只在ARM状态下执行,所以要CODE32,当你看到跳转到主函数执行的代码时,你会再次看到,根据THUMBCODE变量值对代码类型进行重新定义,比是THUMBCODE={TRUE}),则使用CODE16伪指令,否则使用CODE32指令.

继续往下看!
不明白可以看ARM手册,或者看<ARM体系结构与编程>


7: 楼上那位老兄说的基本没有错 8: 谢谢各位,受益匪浅

谢谢楼上的几位兄弟,尤其是kingpoo和 weiganglnu

共2条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]