实验目的: led跑马灯程序 实验环境: mini2440(arm920t) 工具: ads1.2 h-jtag1.0 步骤: 1.在ads中新建led工程,添加文件init.s main.c如下 init.s - area init,code,readonly
- import main
-
start
- ldr sp,=4096
- bl main
- end
main.c - #define rGPBCON (*((volatile unsigned *)0x56000010))
-
#define rGPBDATA (*((volatile unsigned *)0x56000014))
-
-
#define LED1_ON rGPBDATA &=(~(1<<5))
-
#define LED2_ON rGPBDATA &=(~(1<<6))
-
#define LED3_ON rGPBDATA &=(~(1<<7))
-
#define LED4_ON rGPBDATA &=(~(1<<8))
-
-
#define LED1_OFF rGPBDATA |=(1<<5)
-
#define LED2_OFF rGPBDATA |=(1<<6)
-
#define LED3_OFF rGPBDATA |=(1<<7)
-
#define LED4_OFF rGPBDATA |=(1<<8)
-
-
void delay(int i)
-
{
- while(i--);
-
}
-
int main()
-
{
- rGPBCON = 0x15400;
- while(1)
- {
- LED1_ON;
- delay(100000);
- LED2_ON;
- delay(100000);
- LED3_ON;
- delay(100000);
- LED4_ON;
- delay(100000);
-
- LED1_OFF;
- delay(100000);
- LED2_OFF;
- delay(100000);
- LED3_OFF;
- delay(100000);
- LED4_OFF;
- delay(100000);
- }
-
return 0;
-
}
2.设置工程 post-linker : ARM fromELF ARM Assembler/ARM C Compiler : ARM902T ARM Linker -> Output -> RO Base : 0x30000000 -> Options -> Image entry point : 0x30000000 -> Layout -> Object/Symbol : init.o -> Section : init 3.h-jtag添加init script : init -> init script -> load "FriendlyARM2440.his"(光盘h-jtag目录下) 4.AXD设置 第一次使用AXD时,需要options -> configure target -> add H-JTAG.dll (h-jtag安装目录下)
备注: 从nor启动时程序能正确运行。从nand启动时看不到跑马灯效果,但是单步运行发现程序正常,可能2种情况执行速度有差别。 |