FR8016HA内部flash



  • 如何把数据对内部的FLASH进行操作,有哪些相关的函数或者demon吗



  • 看example里面 有个 ble_drivers_demo 里面有定时器 串口 PWM FLASH的应用举例 注意观察哦。



  • 感谢,找到了,库里面只给了.h接口文件没有.c文件



  • #include "driver_flash.h"

    SysInfo_t SysInfo;

    #define NEED_SAVE_BYTES 128
    #define FLASH_PAGE_SIZE (0x1000) //4K 0~9x0FFF
    #define USER_FLASH_MAX_PAGE_ADDR 0x07200 //注意 有的最后几页 被系统拿去使用了,用户空间不能用

    void my_globe_variable_init(void)
    {
    uint8_t n;
    qspi_flash_init(2);
    flash_read(USER_FLASH_MAX_PAGE_ADDR, NEED_SAVE_BYTES, (uint8_t *)&SysInfo);
    if(0x07 != SysInfo.Factory_burn_flg)
    {
    flash_erase(USER_FLASH_MAX_PAGE_ADDR, FLASH_PAGE_SIZE);
    SysInfo.Factory_burn_flg = 0x07; //
    SysInfo.HipWashing_time = 60; //15S
    SysInfo.WomWashing_time = 50; //12S
    flash_write(USER_FLASH_MAX_PAGE_ADDR, NEED_SAVE_BYTES, (uint8_t *)&SysInfo);
    printf("flash is Burn Successful !\r\n");
    }
    else
    printf("flash is Read Successful !\r\n");
    }

    我的这个 只有第1个字节读出来是对的



  • 我也遇到读取1字节是正确的,其它有问题的,你找到问题了吗



  • @zzw FLASH地址要注意 , 我测试下 0x072000是可以的。
    系统 在lash_usage_config.h里面看下 后面几个地址保留使用,那我们用户估计是不好用了。



  • 好的,这个地址会不会被覆盖,假如我的代码增多.