DAVEKINGEAGLE

    1. 2440 eboot 中断向量表 问题,请高手帮忙解答 92/14051 嵌入式系统 2009-06-09
      引用 17 楼 gooogleman 的回复: #define pISR (*(unsigned *)(0x30000000+0x18)) // Virtual Address 0x0 is mapped to 0x30000000, ISR Address is VA 0x18 我的内存起始物理地址是0x30000000的 // make value to assemble code "b IsrHandler" pISR =(unsigned)(0xEA000000)+(((unsigned)IsrHandler - (0x80000000 + 0x18 + 0x8) )>>2);
      经过paul chao牛人提示,再去看看一个支持USB的eboot 发现三星这个写法真的很怪异哦。 pISR =(unsigned)(0xEA000000)+(((unsigned)IsrHandler - (0x80000000 + 0x18 + 0x8) )>>2); 不理解是如何算出来的。 TEXTAREA         IMPORT  IsrUsbd ; --------------------------------------------------------------------- ; ---------------------------------------------------------------------             LEAF_ENTRY IsrHandler ;        sub        sp,sp,#4        ;decrement sp(to store jump address)         sub lr, lr, #4         stmfd   sp!, {r0-r12,lr}         mov        r0, lr         bl        IsrUsbd         ldmfd   sp!, {r0-r12,lr}         movs pc, lr     ENDP    ; |IsrHandler|复制代码

最近访客

< 1/1 >

统计信息

已有36人来访过

  • 芯积分:--
  • 好友:--
  • 主题:--
  • 回复:1

留言

你需要登录后才可以留言 登录 | 注册


现在还没有留言