|
目前flash模拟EEPROM是参考的官方的flash读写代码,但C语言中attribute ((at())绝对定位的应用 网上的一段代码如下 1、定位到flash中,一般用于固化的信息,如出厂设置的参数,上位机配置的参数,ID卡的ID号,flash标记等等。 1 const u16 gFlashDefValue[512] attribute((at(0x0800F000))) = {0x1111,0x1111,0x1111,0x0111,0x0111,0x0111};//定位在flash中,其他flash补充为00 2 const u16 gflashdataattribute((at(0x0800F000))) = 0xFFFF; 请问这种可以直接写flash,但官方代码写flash先要解锁。 请问这种操作可以不?
谢谢! |
STM32F407 USB 发送数据 上位机接受不到
请问我的CubeMX为什么初始界面没有ai选项,进去之后也没有addnetwork?
ST Motor Control Workbench卡在如图界面,生成不了代码
SDIO 标致位 没有变
程序卡死在USB_EPStartXfer这里
SDIO 初始化 死在 __HAL_RCC_SDIO_CLK_ENABLE语句上
我现在使用STM32F446ZET6芯片,外挂了16m的片外SDRAM。想把程序在SDRAM中运行,一直尝试没有成功,希望得到帮助,是否有相关的例子或参考的文档
MotorControl Workbench 6.4.1 生成 FOC 项目代码后运行死机。
STM32F405rgt6 I2S DMA输入会造成卡死,这个芯片有BUG
USBX在F407上创建CDC不能正常使用
微信公众号
手机版
运行程序时通过STM32的Flash控制器API(如HAL库的HAL_FLASH_Program)对Flash特定地址进行擦写操作。
需要先解锁Flash写保护,执行擦除(通常是页擦除),然后写入数据,最后重新上锁。
这是对Flash存储器的实时地动态修改,可以在程序运行过程中改变Flash内容。
这个做法灵活,适合支持多次写入和更新Flash内容的场合,相对操作复杂些。
2、通过定义const变量编译时写入Flash
这个做法是在程序编译链接时将数据写入Flash,程序运行时为只读。
可视为静态存储。
这个操作简单方便,无需运行时进行Flash操作。适合存储固定数据,
如查表数据、固件版本号、常量配置等。
一般来讲,这类数据不适合在程序运行时更新,往往需要重新编译和烧录才能改变数据。
理解 谢谢您的解答