
STM32L431RCT6 从用户代码区跳转使用内置system memory bootloader 无效。 1. 跳转代码如下,这个代码 可以在STM32F407VET6上正常跳转 内置的bootloader 并且STM32CubeProgrammer 连接更新程序。 static void JumpToBootloader(void) { uint32_t i=0; void (*SysMemBootJump)(void); /* 声明一个函数指针 */ __IO uint32_t BootAddr = 0x1FFF0000; /* F407系统BootLoader地址 */ /* 关闭全局中断 */ DISABLE_INT(); /* 关闭滴答定时器,复位到默认值 */ SysTick->CTRL = 0; SysTick->LOAD = 0; SysTick->VAL = 0; /* 设置所有时钟到默认状态,使用HSI时钟 */ RCC_DeInit(); /* 关闭所有中断,清除所有中断挂起标志 */ for (i = 0; i < 8; i++) { NVIC->ICER[i]=0xFFFFFFFF; NVIC->ICPR[i]=0xFFFFFFFF; } /* 使能全局中断 */ ENABLE_INT(); /* 跳转到系统BootLoader,首地址是MSP,地址+4是复位中断服务程序地址 */ SysMemBootJump = (void (*)(void)) (*((uint32_t *) (BootAddr + 4))); /* 设置主堆栈指针 */ __set_MSP(*(uint32_t *)BootAddr); /* 在RTOS工程,这条语句很重要,设置为特权级模式,使用MSP指针 */ __set_CONTROL(0); /* 跳转到系统BootLoader */ SysMemBootJump(); /* 跳转成功的话,不会执行到这里,用户可以在这里添加代码 */ while (1) { } } 2. 1中代码 使用在STM32L431RCT6 F无效果。STM32CubeProgrammer 提示设备连接超时无响应。 我板上有BOOT 按键,使用BOOT按键 硬件方式 可以 进入 内置bootloader 并连接STM32CubeProgrammer 更新程序。 3. 已查 STM32L431RCT6 系统BootLoader地址 也是 0x1FFF0000; 也不是双BANK芯片。麻烦是否有接触过个芯片 从用户代码区直接跳转到内置BOOTLOADER的 成功过的 帮忙看看,谢谢 |
STM32L431内部温度AD值不随温度变化
STM32L设置CAN一直卡在HAL_CAN_START(),上拉两个引脚依然卡在这里
使用CubeMX能配置STM32L4XX芯片的低功耗模式吗?
motor profiler 链接nucleo 476rg时提示如图所示的通信错误,此时未连接IHM08M1,电脑上有476RG产生的串口,STLINK,U盘标识
STM32L476 使用Quad spi 4线制访问MX25L25645 失败
小白求助!STM32L476使用VREF、VBAT采集模块电压,计算出的VBAT值偏大
各位大佬们多提提宝贵建议定位根本原因,跪谢。STM32L452 在未知情况下打开了读保护RDP?MCU无法运行,只有解除读保护后重新烧录固件
嘉立创和淘宝买的STM32L496芯片丝印不一样,能告诉我这两个丝印有什么区别吗?
STM32L433VCT6 进入STOP模式2之后,功耗依然和正常运行模式没有差别,请教大神
ADC差分采样