8# sedatefire
我也很纳闷,为啥这个跟时钟还有关
如果我把位移直接写在方法里面,不用变量的话,一点问题没有,一旦用到变量就SB了
可能和启动函数有关,以下是我的启动函数
-
- GET option.inc
- GET 2440addr.inc
- GET memcfg.inc
-
- IMPORT Main
- CODE32
- AREA Init,CODE,READONLY
- ENTRY
- ;初始化LOCKTIME寄存器
- LDR R0 , =LOCKTIME
- LDR R1 , =0xFFFFFF
- STR R1 , [R0];
-
- ;设置CLKDIV的比值为1:2:4
- LDR R0 , =CLKDIVN
- LDR R1 , =CLKDIV_VAL
- STR R1 , [R0]
-
- ;设置时钟频率,否则时钟显示混乱
- ;Fin=12.0MHz Fout=200MHz
- LDR R0 , =MPLLCON
- LDR R1 , =((M_MDIV<<12)+(M_PDIV<<4)+M_SDIV)
- STR R1 , [R0]
-
- LDR R0, =0x53000000
- MOV R1, #0x0
- STR R1, [R0]
- LDR SP, =1024 * 4
- BL Main
- main_loop
- B main_loop
- END
|