求教s3c2440的jlink调试中断问题

[复制链接]
 楼主| nixianmin 发表于 2011-12-14 21:48 | 显示全部楼层 |阅读模式
本帖最后由 nixianmin 于 2011-12-14 21:51 编辑

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


  程序
  

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×
 楼主| 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

粉丝
快速回复 在线客服 返回列表 返回顶部
个人签名:电机控制,TI InstaSpin Foc交流群:335663930

40

主题

431

帖子

6

粉丝
快速回复 在线客服 返回列表 返回顶部