OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 3442|回复: 5

这个反汇编代码有什么问题吗?为什么连个灯都点不亮,用的阿波罗板

[复制链接]

3

主题

8

帖子

0

精华

新手上路

积分
38
金钱
38
注册时间
2019-7-29
在线时间
10 小时
发表于 2020-8-3 11:20:10 | 显示全部楼层 |阅读模式
3金钱


08000000 <Reset_Handler>:
8000000:        f000 f803         bl        800000a <led_init>

08000004 <mainloop>:
8000004:        f000 f80f         bl        8000026 <led>
8000008:        e7fc              b.n        8000004 <mainloop>

0800000a <led_init>:
800000a:        b503              push        {r0, r1, lr}
800000c:        4808              ldr        r0, [pc, #32]        ; (8000030 <led+0xa>)
800000e:        2102              movs        r1, #2
8000010:        6008              str        r0, [r1, #0]  ;设置GPIOB时钟使能
8000012:        4808              ldr        r0, [pc, #32]        ; (8000034 <led+0xe>)
8000014:        2105              movs        r1, #5
8000016:        6008              str        r0, [r1, #0]  ;设置GPIOB_PIN0与PIN1为IO输出
8000018:        4807              ldr        r0, [pc, #28]        ; (8000038 <led+0x12>)
800001a:        210f              movs        r1, #15
800001c:        6008              str        r0, [r1, #0]  ;设置GPIOB速度100MHZ
800001e:        4807              ldr        r0, [pc, #28]        ; (800003c <led+0x16>)
8000020:        2105              movs        r1, #5
8000022:        6008              str        r0, [r1, #0]  ;设置GPIOB上拉输出
8000024:        bd03              pop        {r0, r1, pc}

08000026 <led>:
8000026:        b503              push        {r0, r1, lr}
8000028:        4805              ldr        r0, [pc, #20]        ; (8000040 <led+0x1a>)
800002a:        2101              movs        r1, #1
800002c:        6008              str        r0, [r1, #0] ;LED1亮,LED0灭
800002e:        bd03              pop        {r0, r1, pc}
8000030:        40023830         andmi        r3, r2, r0, lsr r8  ;RCC_AHB1ENR地址
8000034:        40020400         andmi        r0, r2, r0, lsl #8  ;GPIOB_MADER地址
8000038:        40020408         andmi        r0, r2, r8, lsl #8  ;GPIOB_OPSEEDR地址
800003c:        4002040c         andmi        r0, r2, ip, lsl #8  ;GPIOB_PUPDR地址
8000040:        40020414         andmi        r0, r2, r4, lsl r4  ;GPIOB_ODR地址

正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

22

主题

2251

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
4477
金钱
4477
注册时间
2013-4-22
在线时间
336 小时
发表于 2020-8-3 13:33:24 | 显示全部楼层
这能看出个什么稀稠来
回复

使用道具 举报

3

主题

8

帖子

0

精华

新手上路

积分
38
金钱
38
注册时间
2019-7-29
在线时间
10 小时
 楼主| 发表于 2020-8-3 13:41:44 | 显示全部楼层
三叶草 发表于 2020-8-3 13:33
这能看出个什么稀稠来

我是觉得我写的点灯的汇编代码没问题,然后烧录后,灯就是不亮。所以我看了反汇编文件想调试一下,就是这个,但,我看不出什么问题
回复

使用道具 举报

0

主题

21

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1657
金钱
1657
注册时间
2020-8-3
在线时间
117 小时
发表于 2020-8-4 23:48:37 | 显示全部楼层
800002a:        2101              movs        r1, #1
800002c:        6008              str        r0, [r1, #0] ;LED1亮,LED0灭
以上两行确定没问题?把R0写到R1里,R1是什么鬼?
回复

使用道具 举报

0

主题

21

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1657
金钱
1657
注册时间
2020-8-3
在线时间
117 小时
发表于 2020-8-4 23:53:35 | 显示全部楼层
R0,R1都用反了吧??
回复

使用道具 举报

0

主题

21

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1657
金钱
1657
注册时间
2020-8-3
在线时间
117 小时
发表于 2020-8-4 23:58:34 | 显示全部楼层
单步运行,看着Memory窗口相关地址的数据变化,很好发现问题的呀
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-4-30 15:51

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表