
大家好! STM32F429IGT6芯片有一个内部flash,大小为1MB,默认是1个bank,12个sector。 手册里有说,可以设置为双bank模式,即每个bank大小为512KB,每个bank有8个sector。 HAL_StatusTypeDef SetFlashDoubleBank(void) { HAL_StatusTypeDef status = HAL_ERROR; //celar all flags __HAL_FLASH_CLEAR_FLAG(FLASH_FLAG_EOP | FLASH_FLAG_OPERR | FLASH_FLAG_WRPERR\ | FLASH_FLAG_PGAERR | FLASH_FLAG_PGPERR | FLASH_FLAG_PGSERR); /* Wait for last operation to be completed */ status = FLASH_WaitForLastOperation((uint32_t)FLASH_WAIT_TIMEOUT_VALUE); if(status != HAL_OK) return HAL_ERROR; //1 UNLOCK if(HAL_FLASH_OB_Unlock() != HAL_OK) { return HAL_ERROR; } //2 SET DOUBLE BANK BIT FLASH->OPTCR |= FLASH_OPTCR_DB1M; //3 LAUNCH THE OPTION BTYES if(HAL_FLASH_OB_Launch() != HAL_OK) { return HAL_ERROR; } //4 LOCK if(HAL_FLASH_OB_Lock() != HAL_OK) { return HAL_ERROR; } return HAL_OK; } 笔者使用这个函数将flash配置为双bank。但是问题来了,cpu经常坏掉,无法烧写,请大神们帮忙分析一下,如果在配置双bank时断电,会不会造成内部flash损坏?还有,如果内部flash损坏,将boot模式设置为ram启动,cpu能否启动? |
stm32支持canfd和dma结合使用吗
NUCLEO-F401RE板卡,连接USB,在KEIL下可以找到ST-LINK仿真器,也可以下载代码。在电脑上看不到NODE_F401RE的磁盘,有知道是什么原因?
程序进入HardFault_Handler求解
STM32CUBEIDE
This example describes how to configure the FMC controller to access the SDRAM memory in low power mode
STM32407 使用串口闲时中断+DMA方式接收最大接收字节是多少
USB_CDC_HOST 标准库里边USBH_DeAllocate_AllChannel()函数的疑问?
STM32部署机器学习算法硬件至少要使用哪个系列的芯片?
重新配置SCB->VTOR = 0x08010000后,再次复位,程序异常,发现不进tick中断,IIC读数卡死在准备查询循环中。
uboot初始化IIC1,跳转到应用程序中后,先读一字节AT24C04的数据,然后初始化IIC1(未复位),再读一字节AT24C04时,有概率一直检测到IIC处于busy状态。
评分
查看全部评分
感谢回复,电路很简单,电源部分+电机驱动+cpu,3.3v电源是正常的,电机驱动之前工作也正常。
感谢回复,保存不同参数,1个bank的话,后面的sector为128kb,分成2个bank的话,可以得到16kb的sector,操作起来方便。