搜索
bottom↓
回复: 4

刚刚看了2440的一个简单的案件中断程序,有一个小地方不懂。。请教。。

[复制链接]

出0入0汤圆

发表于 2012-2-25 21:04:25 | 显示全部楼层 |阅读模式
就是服务程序挂载的地方在文档上找不到对应的资料。。



    pISR_EINT0 = (unsigned)Eint0_ISR;                //挂载中断
顺藤摸瓜:
#define pISR_EINT0                (*(unsigned *)(_IRQ_BASEADDRESS+0x20))
顺藤摸瓜:
#define _IRQ_BASEADDRESS         0x33ffff00  

最后在手册中找不到关于_IRQ_BASEADDRESS  0x33ffff00的信息了。。
谢谢

阿莫论坛20周年了!感谢大家的支持与爱护!!

知道什么是神吗?其实神本来也是人,只不过神做了人做不到的事情 所以才成了神。 (头文字D, 杜汶泽)

出0入0汤圆

发表于 2012-3-4 13:43:17 | 显示全部楼层
这有什么奇怪的,这个地址是在内存里面,发生中断后先跳到IRQ中断向量,那个地方有几句汇编语言,又会发生一次跳转,估计是在那个地方以_IRQ_BASEADDRESS为基地址,以发生的中断号为偏移(实际是中断号左移2位)就找到了对应的中断函数

出0入0汤圆

 楼主| 发表于 2012-3-4 16:52:22 | 显示全部楼层
回复【1楼】s200661524  
-----------------------------------------------------------------------

转来转去的,也不知道是怎么转过去的。再说_IRQ_BASEADDRESS 凭什么就是 0x33ffff00?手册也没说啊。莫非该地址是软件定义的?莫非是传说中的bootloader?

出0入0汤圆

发表于 2012-3-4 20:13:47 | 显示全部楼层
也可以定的内存的中间位置,不过这样一来就得小心程序别把它覆盖了,手册上给这个地址干嘛?想想别人为什么一定要定义在0x33ffff00?你看看这个地址是不是是的内存靠近最末尾的位置?这样就不用考虑向量被覆盖了,别人那么做是有道理的,不是随意定义一个地址就完了。

出0入0汤圆

发表于 2012-3-28 12:59:41 | 显示全部楼层
楼上正解
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片。注意:要连续压缩2次才能满足要求!!】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-7-23 17:13

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

快速回复 返回顶部 返回列表