渠道: 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的重定向功用