OpenEdv-开源电子网

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

阿波罗F429IGT6开发板V2无法通过代码跳转到stm32官方的system flash的bootloader实现usbisp

[复制链接]

2

主题

4

帖子

0

精华

新手上路

积分
38
金钱
38
注册时间
2019-3-7
在线时间
12 小时
发表于 2024-5-15 17:32:29 | 显示全部楼层 |阅读模式
5金钱
开发板:我使用的开发板是阿波罗F429IGT6开发板V2,我想通过软件的方式进行bootloader的跳转进而实现usb下载固件,代码如下面所示,在main函数中调用此函数。遇到的问题:每次在keil中使用dap下载器下载程序后,电脑可以识别到STM32Bootloader,但是当我按下开发板的复位按键后,电脑就再也无法识别到,想问一下这是什么原因导致的呀,就很奇怪!

图一:在keil中使用dap下载器下载程序后,电脑可以识别到STM32Bootloader



图二:按下开发板的复位按键后,电脑就再也无法识别到,显示的是未知USB设备,但是当在keil中重现download程序后,电脑还是可以识别到,只要一复位或者断电开发板就再也识别不到了


代码如下:
static void JumpToBootloader(void)
{
    uint32_t i=0;
    void (*SysMemBootJump)(void);        /* 声明一个函数指针 */
    __IO uint32_t BootAddr = 0x1FFF0000; /* STM32F4的系统BootLoader地址 */

    /* 关闭全局中断 */
    __set_PRIMASK(0);

    /* 关闭滴答定时器,复位到默认值 */
    SysTick->CTRL = 0;
    SysTick->LOAD = 0;
    SysTick->VAL = 0;

    /* 设置所有时钟到默认状态,使用HSI时钟 */
    HAL_RCC_DeInit();

    /* 关闭所有中断,清除所有中断挂起标志 */
    for (i = 0; i < 8; i++)
    {
        NVIC->ICER=0xFFFFFFFF;
        NVIC->ICPR=0xFFFFFFFF;
    }

    /* 使能全局中断 */
    __set_PRIMASK(1);

    /* 设置重映射到系统Flash */
    __HAL_SYSCFG_REMAPMEMORY_SYSTEMFLASH();

    /* 跳转到系统BootLoader,首地址是MSP,地址+4是复位中断服务程序地址 */
    SysMemBootJump = (void (*)(void)) (*((uint32_t *) (BootAddr + 4)));

    /* 设置堆栈指针 */
    __set_MSP(*(uint32_t *)BootAddr);

    /* 在RTOS工程,这条语句很重要,设置为特权级模式,使用MSP指针 */
    __set_CONTROL(0);

    /* 跳转到系统BootLoader */
    SysMemBootJump();

    /* 跳转成功的话,不会执行到这里,用户可以在这里添加代码 */
    while (1)
    {

    }
}


usb_dfu.zip

8.31 MB, 下载次数: 4

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

使用道具 举报

2

主题

4

帖子

0

精华

新手上路

积分
38
金钱
38
注册时间
2019-3-7
在线时间
12 小时
 楼主| 发表于 2024-5-17 22:47:30 | 显示全部楼层
解决STM32单片机从用户程序App无法成功跳转到系统Bootloader实现USB固件升级的问题,可以参考新写的CSDN博客, https://blog.csdn.net/weixin_432 ... 1001.2014.3001.5501
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165309
金钱
165309
注册时间
2010-12-1
在线时间
2108 小时
发表于 2024-5-19 18:19:43 | 显示全部楼层
不如自己写一个
回复

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2024-11-22 10:11

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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