主题 : 关于调试裸机中断程序的一点见解 复制链接 | 浏览器收藏 | 打印
级别: 新手上路
UID: 6629
精华: 2
发帖: 22
金钱: 230 两
威望: 78 点
贡献值: 2 点
综合积分: 84 分
注册时间: 2009-06-09
最后登录: 2011-08-15
楼主  发表于: 2010-03-14 11:16

 关于调试裸机中断程序的一点见解

管理提醒: 本帖被 kasim 执行加亮操作(2010-04-11)
说说我对裸机中断程序调试的一些见解。说的不对的地方请拍砖。

最近调试触摸屏裸机程序,下到SDRAM中就是进不了中断,在ADS下调试,触摸屏一发出中断就提示Dummy error......
后来想了一下,其实在ADS中调试中断这个方法论都是错误的,利用supervivi的download&run功能调试也是错误的。
因为两种情况下内部SRAM的地址0处都不存在你要调试的程序的中断向量表,不能正确将中断引导到你编写的中断服务程序中来。


解决办法:

1.直接烧写到nand第0块(如果代码大于4K,启动代码中必须要有拷贝到SDRAM功能)
2.改写自己的程序,在初始化中断之前将中断向量表拷贝到内部SRAM。这个方法貌似有点难度,小弟不才,没敢尝试。
3.利用MMU的重定向功能。这就是网上有人说要包含MMU.C然后主程序里面调用init_mmu的原因了。


armboy@qq.com
dlq
级别: 新手上路
UID: 8640
精华: 0
发帖: 10
金钱: 50 两
威望: 10 点
贡献值: 0 点
综合积分: 20 分
注册时间: 2009-08-31
最后登录: 2015-10-28
1楼  发表于: 2010-12-13 17:24
怪不得今天调试了一天都不行,就是进不去中断,看了这篇帖子,在主程序中加入MMU_Init();把mmu.c拷贝到工程目录下,就OK了,谢谢。