river0830 发表于 2010-6-1 23:44:32

44b0点灯及定时器中断ADS工程实例

总算把点灯程序和定时器中断给弄出来了

我的板子是天祥44b0的, 板子预先烧写了uboot, 调定时器中断的时候, uboot把中断入口映射到了sdram入口, 所以在main.c函数里有一个中断向量重映射;不

知道是uboot里面没有映射向量中断表还是其他原因, 向量中断一直进不去, 现在还不清楚是怎么回事?

用AXD调试的时候flash有uboot,得把中断重映射语句加上 (ARM Linker>RO Base 设为 0x0c008000 RW Base 不填)

烧写到flash里面的时候, 去掉中断重映射语句, (ARM Linker>RO Base 设为 0x00 RW Base 设为 0x0c008000 image entry point 设为 0x00)

不过我的ADS1.2不能生成*.bin文件, 只能生成 intel 32 bit hex文件,晕的厉害, 用flash programmer把fled.hex烧入flash就行了

/********************************************************************/
extern char Image$$RO$$Base[];

void Isr_Init(void)
{
        unsigned int cc;

        pISR_UNDEF = (unsigned)HaltUndef;
        pISR_SWI = (unsigned)HaltSwi;
        pISR_PABORT = (unsigned)HaltPabort;
        pISR_DABORT = (unsigned)HaltDabort;
        //中断向量重映射
        for (cc = _RAM_STARTADDRESS;cc <= (_RAM_STARTADDRESS + 0xc0);cc += 4)
        {
                *((volatile unsigned *)cc) = 0xEA000000 + ((unsigned int)Image$$RO$$Base - 0x0c000000 - 8) / 4;
        }

        //rINTCON=0x1;                                  // Vectored Int. IRQ enable,FIQ disable
        rINTCON = 0x5;                                  // Non-vectored,IRQ enable,FIQ disable

        rINTMOD = 0x0;                                  // All=IRQ mode
        rINTMSK |= BIT_GLOBAL | BIT_TIMER0;          // All interrupt is masked.
}
/******************************************************************************/

bootloader(44binit.s) 和控制台程序(44lib.c)是开发板带的, 看懂就行

我自己把bootloader重写了一遍, 加上中文注解, 死活有问题, 后来没办法了 去掉中文注解就好了
实在不明白ads汇编程序竟然不支持中文注释

有一本电子书ARM STEP BY STEP 挺不错的, 一并上传!
ads1.2工程文件ourdev_558872.rar(文件大小:145K) (原文件名:firetled.rar)
点击此处下载 ourdev_558873.pdf(文件大小:2.13M) (原文件名:ARM编程起步.pdf)

jemmy 发表于 2010-6-3 13:50:10

顶,我也很头痛44b0的中断,不烧flash直接放ram用jtag来debug时,一但中断来了,就不知死到什么地方去了。uboot也烧过几个版本,就是一直没弄好怎么在ram里调中断。

chensteven 发表于 2010-6-9 10:59:11

我也买了祥子44b0开发板,我也遇到不小问题,最近把最小系统拿出来,直接供5v 发现norflash 突然发热,找了很久,还是找不到原因,楼主有无出现过类似现象!!请教请教!!!qq :844207790

river0830 发表于 2010-6-10 09:20:18

回复【2楼】chensteven
-----------------------------------------------------------------------

我的板子也是5v的电源,由稳压IC转换为3.3v和2.5v,你看一下norflash的供电电压是多少?

是不是稳压芯片坏了

huangtonggao 发表于 2010-10-18 23:34:37

不加重映射在ram中调试不行,我被折腾了好久 呵呵

Nuist_Gwgj 发表于 2010-12-13 09:22:40

MARK

hermes 发表于 2010-12-20 15:37:12

天杀的国民党门头沟党委替资本家当狗,万恶的蒋介石门头沟Z.F.为人民币服务!

hermes 发表于 2010-12-21 16:58:43

天杀的国民党门头沟党委替资本家当狗,万恶的蒋介石门头沟Z.F.为人民币服务!
页: [1]
查看完整版本: 44b0点灯及定时器中断ADS工程实例