打印

求教s3c2440的jlink调试中断问题

[复制链接]
3097|2
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
nixianmin|  楼主 | 2011-12-14 21:48 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 nixianmin 于 2011-12-14 21:51 编辑

最近下定决心把以前的ARM9板子拿出来玩,看《嵌入式底层软件开发》,觉得比自己以前弄好多了,最近在学习汇编,发现JLINK调试下经常出问题。   今天调试中断,本来中断准备用向量表,发现完全不知道哪里错误,程序完全跑飞,也不知道什么问题后来用书上的例子也就勉强自己能懂,也能自己试着改。
   后来发现大致原因就是SDRAM寄存器没初始化有问题,或者堆栈初始化不对等问题,现在用JLINK调试,在nandflash下不用中断能正常一用中断就不知道跑什么地方了。如果我先把程序下到Nandflash里,在用jlink调试中断就对了,且程序不能变,变了就不对了。
   同理估计在norflash下不下载程序到norflash里也是不能调试中断的,请各位给个解说,是不是只能先下载程序到flash里后,才能调试中断呢   发个错误中断的图


  程序
   s3c2440_base2.rar (63.03 KB)

相关帖子

沙发
nixianmin|  楼主 | 2011-12-15 10:48 | 只看该作者
没高手给点解答吗??

使用特权

评论回复
板凳
zhaifeng268| | 2012-5-31 10:33 | 只看该作者
我最近也碰到这个问题,然后请教了好多人才解决的,这个问题主要是由于用Jlink调试程序,程序是放在SDRAM中,因为SDRAM的起始地址为0x30000000,起始地址不为0而不程序中断后,PC默认指向0x00-0x1C,内部SRAM的地址0处都不存在你要调试的程序的中断向量表,所以不能正确
将中断引导到你编写的中断服务程序中来,一旦中断发生,程序必然会跑飞。因此完成不了中断,解决方法就是先下载一个初始化程序到nandflash中,保证0地址处有东西。然后这个问题就能解决了!

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

个人签名:电机控制,TI InstaSpin Foc交流群:335663930

40

主题

431

帖子

6

粉丝