繁体中文
高级搜索
 
首页 | 电子技术应用 | 行业最新动态 | 行业最新产品 | 软件资料下载 | 电路图纸欣赏 | 博客文章精选 | 电子精品论坛 | 电子技术贴吧

当前位置:首页 >> 博客文章精选 >> 嵌入式系统-博客 >> 哈哈,为什么不说我是将复杂的问题简单化了呢???
哈哈,为什么不说我是将复杂的问题简单化了呢???
作者:   来源: 发表时间:2007-02-07  字号:  
http://bbs.21ic.com/club/bbs/ShowAnnounce.asp?v=&ID=2035699
hotpower 发表于 2006-3-30 22:56 ZLG-ARM ←返回版面 按此察看该网友的资料 按此把文章加入收藏夹 按此编辑本帖

哈哈,为什么不说我是将复杂的问题简单化了呢???

关于程序飞和在何处喂狗网上不知争论了N个回合也未见分晓.

但是主程序飞中断可能还在工作这个有些共识!!!

为何???

这只是在MCU的中断向量固定在ROM相对地址的基础上的,因为在主程序飞时,

若发生中断,则中断服务程序将会自动跳入事先约定好的向量入口地址!!!

像51会按中断号*8 3(复位为0x0000)的规律执行.

所以,他们是按中断号进行散转的.

在LPCARM中(也包括其他ARM),中断地址是存入中断向量地址数组中的.

而数组是在RAM中的.

当数组的内容发生变化后,中断地址随即发生变化,也就不可能完成"主程序飞中断可能还在工作"!!!

因为中断可能只能执行一次(天知道干了些什么坏事),就阻止了以后的其他中断的再次进入!!!!!!!!!!!!!!!

这自然就会死机而导致看门狗复位!!!

如果飞入喂狗区的循环圈那将是个灾难...听天由命吧...

不过养狗并不是想让狗咬人,这并不是当初养狗的目的!!!

当性命难保时被疯狗咬才是真意...


这就是中断地址和中断向量号管理的细小差异!!!

但是中断地址的变化在0x00000000~0xfffffff,

而中断向量号的变化在0b00000~0b11111.(LPCARM共32个中断向量)

在采用中断向量号管理后,任何中断向量号的变化都会跳入一个中断服务程序,

即使是跳入了1个错误的中断服务程序,但程序是不会飞的!!!!!!!!!!!!!!

这样就可在每个中断服务程序判别是否是自己的中断服务程序!!!!!!!!!!

难道这不是"将复杂的问题简单化了"吗???

什么事物得到必须付出!!!但要看付出的多少和得到的多少!!!

在MCU都能容忍低速,难道在高速ARM上牺牲几条指令周期换回长久的太平不值得吗???



!注意:如果您发现此文章出现影响您的阅读的状况,请从浏览器地址栏里复制本文的链接到留言本报告给站长解决!
  • 上一篇: 抗干扰不是焊个电容电感等就能解决问题那么简单
  • 下一篇: IBM采用自成形材料绝缘 芯片提速三分之一

  • >> 联系我们请给我们留言·留言本
    本站所有提供的信息软件资料均来自网络,版权及著作权归原作者所有,如果无意中侵犯了您的相关权利或触及法律法规,请给我们留言, 我们将在24小时内删除。
      浙ICP备05071687号  电子技术精品网