请选择 进入手机版 | 继续访问电脑版

芯虎论坛

 找回密码
 立即注册
查看: 4912|回复: 3

HC32F003/005 Bootloader 跳转后有的app不能正常运行

[复制链接]

1

主题

1

帖子

5

积分

虎视眈眈

Rank: 1

积分
5
发表于 2020-5-25 09:50:46 | 显示全部楼层 |阅读模式
请问 HC32F003/005 Bootloader 跳转后有的app不能正常运行 一般是哪里出了问题
参照官方L110的bootloader例程改的
bootloader里就用了串口0 跳转前寄存器复位
void MCU_Config(void)
{
        M0P_GPIO->P35_SEL_f.SEL = 0;
        M0P_GPIO->P3DIR_f.P35 = 1;   

        M0P_GPIO->P36_SEL_f.SEL = 0;
        M0P_GPIO->P3DIR_f.P36 = 1;

        M0P_BT1->CR = 0x00;

        EnableNvic(TIM1_IRQn,0,FALSE);

        M0P_BT0->CR = 0x00;

        M0P_UART0->SCON = 0x00;          

        EnableNvic(UART0_IRQn,0,FALSE);

//        M0P_CLOCK->PERI_CLKEN = 0xC0800000;         
       
        DI();//禁止中断       
}


跳转的程序也是官方的
//跳转到应用程序段
//appxaddr:用户代码起始地址.
void iap_load_app(uint32_t appxaddr)
{
        if(((*(__IO uint32_t*)appxaddr)&0x2FFE0000)==0x20000000)        //检查栈顶地址是否合法.
        {
                jump2app=(iapfun)*(__IO uint32_t*)(appxaddr+4);                //用户代码区第二个字为程序开始地址(复位地址)               
                MSR_MSP(*(__IO uint32_t*)appxaddr);                                        //初始化APP堆栈指针(用户代码区的第一个字用于存放栈顶地址)
                jump2app();                                                                        //跳转到APP.
        }
}


Flash的读写也是官方的,就串口通信部分是自己写的。
串口接收固件包和写入固件都是正确的,仿真看过flash里的数据了,也试过烧入bootloader和app 有一个5K左右的app可以运行 另一个13K左右的app运行了几条程序到delay1ms函数里的while里卡死了,奇怪的是5k的那个app里也有用到delay1ms
不过5K的没用到定时器13K的那个用了定时器1,但是bootloader里只有串口用了定时器0,也没用的到定时器1跳转前也恢复默认了

回复

使用道具 举报

1

主题

5

帖子

465

积分

虎背熊腰

Rank: 3Rank: 3

积分
465
发表于 2021-2-5 13:02:34 | 显示全部楼层
请问定时器怎么设定的?我使用HC32F003的芯片,调用官方给的设定函数设定TM0定时器的寄存器,然后定时器无法进入中断,调试发现真正写入寄存器的数据是错的。然后直接整个写寄存器,中断就正常了。
回复

使用道具 举报

1

主题

3

帖子

13

积分

虎视眈眈

Rank: 1

积分
13
发表于 2021-3-7 16:37:14 | 显示全部楼层
遇到同样问题,HC32F005,boot区代码4K,确认下载的AProm下载正确,AProm从4k开始,如果从boot跳转到AProm,执行完初始化,就死机,把AProm单独调试,正常
回复

使用道具 举报

0

主题

1

帖子

6

积分

虎视眈眈

Rank: 1

积分
6
发表于 2021-3-31 11:13:46 | 显示全部楼层
dayan518 发表于 2021-3-7 16:37
遇到同样问题,HC32F005,boot区代码4K,确认下载的AProm下载正确,AProm从4k开始,如果从boot跳转到AProm,执行 ...

我也遇到一样的问题,请问你解决了这个问题吗?
回复

使用道具 举报

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

本版积分规则

QQ|Archiver|手机版|小黑屋|芯虎论坛 ( 辽ICP备18019618号 )

GMT+8, 2021-9-27 21:01 , Processed in 0.130258 second(s), 18 queries .

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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