打印
[S3C2440]

外部中断

[复制链接]
789|3
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
ludongqingshi|  楼主 | 2014-10-29 22:10 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
沙发
ludongqingshi|  楼主 | 2014-10-29 22:40 | 只看该作者
/ 这是个timer0中断的例子。

//一般情况下,在ARM9调试程序都是下载到RAM中执行的,当然,只要没有中断产生程序看似能够正常执行,
//但是一旦中断发生,程序必然会跑飞,原因在于程序中断后,PC默认指向0x00-0x1C处,但是RAM的起始地址是0x30000000,
//中断向量表默认在0x30000018处,很明显,中断服务程序是不能够正常执行的,
//同时ARM内核会通过串口打印"Dummy_isr error........"信息。解决办法:
//(1)直接烧写到nand第0块(如果代码大于4K,启动代码中必须要有拷贝到SDRAM功能)
//(2)改写自己的程序,在初始化中断之前将中断向量表拷贝到内部SRAM.
//(3)利用MMU的重定向功能
//在这里采用了第3种方法。
//***************************************

使用特权

评论回复
板凳
xinyipcb| | 2014-10-30 21:43 | 只看该作者
不错。

使用特权

评论回复
地板
zchong| | 2014-10-31 09:09 | 只看该作者
中断向量没有搬移到对的位置,或者mmu映射不对

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

1

主题

2

帖子

0

粉丝