mini2440按键中断控制led灯遇到的问题

平台: xp系统,ARM mini2440

程序名:按键中断控制led灯主要学习内容,S3C2440外部中断

遇到问题

1. 超级终端下载程序时按下d后又跳回到下载界面,没有等待我下载程序、解决办法:这应该是自己的大意,按下d的时候把键盘上大写控制锁住了,超级终端只能输入小写命令,注意细节。

2. 酓ummy_isr error, interrupt number: 5, INTMSK = 0xffffffdf。下载程序后超级终端显示这句话,网上找了很久没找到很好的解决办法,不过看到有人说好像是MMU没有初始化。解决办法,初始化MMU,调用一个MMU_Init()函数就好了,这个函数的定义在MMU.c中,开始我没有添加MMU.c文件编译链接是总是报错。

写在后面,源程序就不贴了,还有很多要改进的,刚刚开始,只是一个雏形而已,嘿嘿,不过解决问题后也挺开心的,记录过程,恩,肚子饿了,吃饭去了。

2011-04-02

今天再次进行串口通信的时候又遇到同样的问题,反复看了这篇以前写过的文章后还是没有得到解决,但我肯定出现酓ummy_isr error, interrupt number: 5, INTMSK = 0xffffffdf这种错误肯定是因为MMU没有初始化,所以我就先初始化MMU然后再进行其他的初始化,问题果然得到解决。重点,先初始化MMU然后再进行其他的初始化设置。

补充:网上搜到的。

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

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值