佚名通过本文主要向大家介绍了s3c6410,s3c6410中文手册,s3c6410停产,s3c6410xh 66,s3c6410开发板等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com
问题:S3C6410 nand flash启动代码问题,运行delay函数的时候为什么会卡住
描述:
用了相同的方法(软件方法)将程序烧录到了nand flash中,串口的软件可以正常运行,而led程序就卡在了delay函数里面,为什么会卡住呢。用汇编或者用c语言写的delay函数都会卡住。这里的链接地址用的都是0。而且两个程序都不超过300Byte。大神们知道这里有什么细节问题我没注意到呢。
附上delay函数的调试信息:
00000030 <delay>:
30: e3a03401 mov r3, #16777216 ; 0x1000000
00000034 <delay_loop>:
34: e3530000 cmp r3, #0
38: e2433001 sub r3, r3, #1
3c: 1afffffc bne 34 <delay_loop>
40: e1a0f00e mov pc, lr
44: 7e004000 cdpvc 0, 0, cr4, cr0, cr0, {0}
48: 0c002000 stceq 0, cr2, [r0], {-0}(加深红色的这两行是 两个地址的 立即数。ldr 伪指令的衍生物)
描述:
s3c6410 6410nandflash嵌入式裸机程序
我手上的开发板是友善tiny6410 ,nand flash是k9k8g08u0e,1GB大小,在nandflash启动的时候是拷贝到stepping stone里运行的,有两个软件,一个是驱动led 一个是驱动串口,led只有简单的闪烁功能,串口的程序在一个循环里接受字符,然后显示字符。用了相同的方法(软件方法)将程序烧录到了nand flash中,串口的软件可以正常运行,而led程序就卡在了delay函数里面,为什么会卡住呢。用汇编或者用c语言写的delay函数都会卡住。这里的链接地址用的都是0。而且两个程序都不超过300Byte。大神们知道这里有什么细节问题我没注意到呢。
附上delay函数的调试信息:
00000030 <delay>:
30: e3a03401 mov r3, #16777216 ; 0x1000000
00000034 <delay_loop>:
34: e3530000 cmp r3, #0
38: e2433001 sub r3, r3, #1
3c: 1afffffc bne 34 <delay_loop>
40: e1a0f00e mov pc, lr
44: 7e004000 cdpvc 0, 0, cr4, cr0, cr0, {0}
48: 0c002000 stceq 0, cr2, [r0], {-0}(加深红色的这两行是 两个地址的 立即数。ldr 伪指令的衍生物)