|
返回值是HAL_ERROR,写其他位置正常。 __set_PRIMASK(1); /* 关中断 */ /* FLASH 解锁 */ HAL_FLASH_Unlock(); HAL_StatusTypeDef status; uint64_t FlashWord = 0x0101010101010101; status = HAL_FLASH_Program(FLASH_TYPEPROGRAM_DOUBLEWORD, (0x08007800 + 0x800 - 0x08), FlashWord); if (status == HAL_OK) { printf("1\r\n"); } else if (status == HAL_ERROR) { printf("2\r\n"); } else if (status == HAL_BUSY) { printf("3\r\n"); } else if (status == HAL_TIMEOUT) { printf("4\r\n"); } /* Flash 加锁,禁止写Flash控制寄存器 */ HAL_FLASH_Lock(); __set_PRIMASK(0); /* 开中断 */ |
最后八字节全为0XFF可以直接写
调用HAL_FLASH_OB_Unlock()直接进入 HardFaultHandler
STM32 增加 WiFi + 以太网的低成本方案
stm32g071的rtc初始化后会直接进入中断怎么办?
NUCLEO G474RE无法运行程序
STM32F407VGT6 开发板Beak at address "0x0" with no debug information our outside
BootLoader 与 DFU 模式的区别
STM32G030死机问题
调度器原子变量相关问题
运行到 WRITE_REG (FLASH->OPTKEYR, FLASH_OPTKEY1)跳转 HardFaultHandler
STM32F417IG 单端外部时钟旁路HSE Bypass问题
微信公众号
手机版
我有点小好奇,你那个地址那些写是为了横跨2个页吗?注意写之前都是擦过了的。
我那个地址是为了从页的末尾开始写,需要写的位全是0xff应该是不用擦除可以直接写的吧