|
发表于 2012-9-7 00:41:32
|
显示全部楼层
本帖最后由 laoshuhunya 于 2012-9-7 00:43 编辑
此现象一般是看门狗引起
在调试状态下,调试器会禁用看门狗,但当系统重新复位或上电时看门狗就开始起作用了
可以测下RESET管脚,是不是一直有复位脉冲输出
老衲在调试MK60时遇到同样的情况,最后把关闭看门狗的语句移到启动代码中得以解决:
;===============================================复位处理
Reset_Handler PROC
EXPORT Reset_Handler [WEAK]
;--------------------------------------------------------------若系统不初始化可注释掉本节代码
CPSID F ; 禁止中断
LDR R0, = 0x4005200E ; 关闭看门狗
LDR R4, = 0x0000C520
STRH R4,[R0]
LDR R0, = 0x4005200E
LDR R4, = 0x0000D928
STRH R4,[R0]
LDR R0, = 0x40052000
LDR R4, = 0x000001D2
STRH R4,[R0]
;IMPORT SystemInit ; 系统初始化
;LDR R0, = SystemInit
;BLX R0
;--------------------------------------------------------------初始化C运行时库,执行main()函数
IMPORT __main
LDR R0, = __main
BX R0
ENDP
;============================================================== |
|