mini2440学习笔记 之01 配置ADS1.2编译调试程序(在sram中点亮LED)

1.打开 CodeWarrior

    开始->所有程序->ARM Developer Suite v1.2->CodeWarrior for ARM Developer Suite

2.新建一个mini2440裸机工程

  2.1点击File->New..  在Project 选项签中,选择 ARM Executable Image。然后在右侧”Project name”中填写一个工程名。以 mini2440 作为工程名,点击”Set...”,选择工程存放的目录。填写工程名和选择路径后,点击确定。这样,就完成了新建工程。

3.为工程新建源码文件

  3.1点击File->New..  选择File选项签,选择Text File,然后在右侧“File name”中填写源码文件名start.s。在“Location”中点击“Set...”选择源码文件存放的路径,选择前面建立的mini2440目录下。勾选“Add to Project”,“Project”选择mini2440.mcp。“Targets”选项中将Debug,DebugRel,Release全部选中。

4.打开调试设置窗口

  4.1点击Edit->DebugRel Settings,

  4.2选择Target->Target Settings,设置Post-linker为“ARM fromELF”。

  4.3选择Language Settings->ARM Assembler,将“Architecture or Processor”改为“ARM920T”。

  4.4选择Language Settings->ARM C Compiler,将将“Architecture or Processor”改为“ARM920T”。

  4.5选择Linker->ARM Linker,选择”Linktype为Simple”,将”Simple image”的”RO Base”改为0x00000000。

5.编辑start.s,编写汇编程序点亮mini2440的LED。

6.工程编译

  设置完成后,点击Project->Make开始编译整个工程。编译过程当中,会弹出一个 Building 的工程对话框显示编译当前的状况。

7.使用AXD调试

  编译完成后,点击Project->Debug开始通过Jlink调试。

  

start.s代码如下:

GPBCON EQU 0x56000010 ;定义GPIO的GPB控制寄存器
GPBDAT EQU 0x56000014 ;定义GPIO的GPB数据寄存器

LED1 EQU 1<<(5*2) ;定义LED1控制端口
LED2 EQU 1<<(6*2) ;定义LED2控制端口
LED3 EQU 1<<(7*2) ;定义LED3控制端口
LED4 EQU 1<<(8*2) ;定义LED4控制端口
LEDS EQU LED1 | LED2 | LED3 | LED4

LED1_ON EQU ~(1<<5)
LED2_ON EQU ~(1<<6)
LED3_ON EQU ~(1<<7)
LED4_ON EQU ~(1<<8)

    CODE32
    AREA Init,CODE,READONLY
    ENTRY

    ldr r0, =0x53000000 ;关闭WATCHDOG,禁止CPU重启
    mov r1, #0x0
    str r1, [r0]

    ldr sp, =1024 * 4 ;设置堆栈

    ldr r0, =GPBCON ;设置GPB的5,6,7,8(对应LED1,LED2,LED3,LED4)为输出
    mov r1, #LEDS
    str r1, [r0]

    ldr r0, =GPBDAT ;写GPB数据寄存器,点亮一个LED
    mov r1, #LED1_ON
    str r1, [r0]

loop
    b loop
    
END



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值