• «
  • 1
  • 2
  • 3
  • »
  • Pages: 3/3     Go
主题 : mini2440外部中断按键程序 复制链接 | 浏览器收藏 | 打印
级别: 新手上路
UID: 10860
精华: 0
发帖: 1
金钱: 10 两
威望: 5 点
综合积分: 2 分
注册时间: 2009-11-19
最后登录: 2017-09-13
20楼  发表于: 2009-11-19 18:37
引用第16楼zl57820108于2009-09-24 20:10发表的  :
我调通了中断,如果不改2440init的话,是进不去的

请问一下:应该怎么改啊?
新手上路,敬请指教!
级别: 新手上路
UID: 17158
精华: 0
发帖: 22
金钱: 110 两
威望: 22 点
综合积分: 44 分
注册时间: 2010-03-25
最后登录: 2012-03-17
21楼  发表于: 2010-05-11 15:49

 回 15楼(zl57820108) 的帖子

具体的实现能说下嘛?非常感谢,我也遇到了这个问题,不知道如何解决!
级别: 新手上路
UID: 18415
精华: 0
发帖: 1
金钱: 5 两
威望: 1 点
综合积分: 2 分
注册时间: 2010-04-09
最后登录: 2010-12-16
22楼  发表于: 2010-05-26 16:10
总算找到中断在SDARM中不能进行的原因了(中断时超级终端提示Dummy_isr error, interrupt number: 5, INTMSK = 0xffffffdf )
主要问题还是出在MMU上,具体MMU资料还是希望初学者去看看,这里我想说说裸机在SDARM中实现中断的步骤,希望对像我这样刚拿到板子的自学兄弟们有帮助。
方法1: 在2440test文件中找到MMU.C的函数添加进来,找到(MMU_SetMTT(0x00000000,0x03f00000,(int)__ENTRY,RW_CB);  //bank0),将(int)__ENTRY改为0X30000000,然后在主程序中调用MMU_Init();即可。

方法2:在2440test文件中找到MMU.C的函数添加进来,然后到2440init.s入口处(即ENTRY下面)添加
    EXPORT  __ENTRY  
__ENTRY                       (要顶格写)

在道主函数中调用MMU_Init();即可。
具体为什么要这样做,希望初学者多看看地址映射方面的内容就明白了。
级别: 新手上路
UID: 25811
精华: 0
发帖: 1
金钱: 5 两
威望: 1 点
综合积分: 2 分
注册时间: 2010-07-30
最后登录: 2010-07-30
23楼  发表于: 2010-07-30 02:02
十分感谢方向41509的答案,在网上找了半天,就这个解释最清楚。我的中断程序也调通了。
  • «
  • 1
  • 2
  • 3
  • »
  • Pages: 3/3     Go