找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 1282|回复: 1
打印 上一主题 下一主题
收起左侧

这个MCU程序怎么会跑飞?

[复制链接]
跳转到指定楼层
楼主
ID:135253 发表于 2019-8-15 18:05 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
向MCU高手请教:
原汇编程序
;/*汇编语言部分程序设计*/
REG_EXT0CON                EQU                0xFFF01018
EBI_EXT0_VALUE        EQU                0xF0078003  
        AREA   Vect, CODE, READONLY
       ENTRY                 ;定义汇编程序的入口点
       ;异常向量表
        B                Reset_Handler
        B                Undefined_Handler
        B                SWI_Handler
        B                Prefetch_Handler
        B                Abort_Handler
        B                .                        
        B                IRQ_Handler
        B                FIQ_Handler
Undefined_Handler
        B       .
SWI_Handler
               B       .
Prefetch_Handler
        B       .
Abort_Handler
        B       .
IRQ_Handler
            B       .
FIQ_Handler
        B       .
Reset_Handler
                LDR                R1,=REG_EXT0CON        
                LDR                R0,=EBI_EXT0_VALUE          ;外部IO空间初始化
                    STR                        R0,[R1]
                LDR                     SP, =8100        ;堆栈地址
                IMPORT        __main                  
                B                        __main                ; 跳转到main()函数处的C语言主程序
                END


反汇编的一部分
00000000        [0xea00000c]   b        Reset_Handler
00000004        [0xea000005]   b        Undefined_Handler
00000008        [0xea000005]   b        SWI_Handler
0000000c        [0xea000005]   b        Prefetch_Handler
00000010        [0xea000005]   b        Abort_Handler
00000014        [0xeafffffe]   b        0x14
00000018        [0xea000004]   b        IRQ_Handler
0000001c        [0xea000004]   b        FIQ_Handler
Undefined_Handler        [0xeafffffe]   b        Undefined_Handler
SWI_Handler        [0xeafffffe]   b        SWI_Handler
Prefetch_Handler        [0xeafffffe]   b        Prefetch_Handler
Abort_Handler        [0xeafffffe]   b        Abort_Handler
IRQ_Handler        [0xeafffffe]   b        IRQ_Handler
FIQ_Handler        [0xeafffffe]   b        FIQ_Handler
Reset_Handler        [0xe59f100c]   ldr      r1,0x0000004c ; = #0xfff01018
0000003c        [0xe59f000c]   ldr      r0,0x00000050 ; = #0xf0078003
00000040        [0xe5810000]   str      r0,[r1,#0]
00000044        [0xe59fd008]   ldr      r13,0x00000054 ; = #0x00001fa4
00000048        [0xea000002]   b        __main
0000004c        [0xfff01018]   dcd      0xfff01018  ....
00000050        [0xf0078003]   dcd      0xf0078003  ....
00000054        [0x00001fa4]   dcd      0x00001fa4  ....
__main        [0xe28f8090]   add      r8,pc,#0x90 ; #0xf0
0000005c        [0xe898000f]   ldmia    r8,{r0-r3}
00000060        [0xe0800008]   add      r0,r0,r8
00000064        [0xe0811008]   add      r1,r1,r8

00000068        [0xe0822008]   add      r2,r2,r8
初学arm,现在的情况是:软件调试,程序正常进入C语言main函数,但是用H-JTAG调试,第一句00000000        [0xea00000c]   b        Reset_Handler就进入不了Reset_Handler        [0xe59f100c]   ldr      r1,0x0000004c ; = #0xfff01018,不知道怎么回事,向高手请教,这是什么原因,JTAG调试另外一个简单程序是可行的!

TEST2_C.rar

24.4 KB, 下载次数: 3

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:135253 发表于 2019-8-16 09:15 | 只看该作者
改用J-LINK调试正常,就是不知道用H-JTAG调试,怎么就跑飞了?
回复

使用道具 举报

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

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

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