2440汇编控制LED(IO端口)和串口输出,用于调试wince的startup.s函数

本文介绍了一种在嵌入式系统中使用LED和串口进行调试的方法,针对休眠唤醒问题,在无仿真器的情况下通过修改startup.s文件中的汇编代码实现。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

前几天因为休眠唤醒在startup.s函数中出现问题,因为OAL层的代码无法用仿真器调试,只好用点LED和串口的方法调试了。下面是汇编函数。

 

; rGPFDAT = (rGPFDAT & ~(0xf<<4)) | ((~data & 0xf)<<4);
LED_DISPLAY
 ldr r0,=GPFCON
 ldr r1,=0x5100    //设置GPF5为输入,GPF5为高电平时,LED灯亮
 str r1,[r0]
 ldr r0,=GPFDAT
 ldr r1,=0x00       //设置为低电平,关闭LED
 str r1,[r0]
 b .
_UartInit                      //初始化2440串口2,
 ldr r0,=GPHCON
 ldr r1,=0xA500
 str r1,[r0]
 mov r1,#0
 ldr r0,=0x50008000
 str r1,[r0,#0x8]
 mov r1,#0x3
 str r1,[r0]
 ldr r1,=0x245
 str r1,[r0,#0x4]
 mov r1,#36
 str r1,[r0,#0x28]
 mov pc,lr
;EXPORT _UartSendByte
_UartSendByte                  //在串口2输出字符“A”
 ldr r0,=0x50008000
 ldr r1,[r0,#0x10]
1
 tst r1,#0x02
 beq %B1
 ldr r1,=0x10000
2
 subs r1,r1,#1
 bne %B2
 
 mov r1,#65
 str r1,[r0,#0x20]
  
 ldr r1,=0x10000
3
 subs r1,r1,#1
 bne %B3
 mov pc,lr 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值