46 lines
1.7 KiB
C
46 lines
1.7 KiB
C
/*
|
||
* @Author : stark1898y 1658608470@qq.com
|
||
* @Date : 2024-12-12 15:54:51
|
||
* @LastEditors : stark1898y 1658608470@qq.com
|
||
* @LastEditTime : 2024-12-12 16:34:01
|
||
* @FilePath : \BLE_TYQ_CH584M\BSP\inc\bsp_flash.h
|
||
* @Description :
|
||
*
|
||
* Copyright (c) 2024 by yzy, All Rights Reserved.
|
||
*/
|
||
#ifndef __BSP_FLASH_H__
|
||
#define __BSP_FLASH_H__
|
||
|
||
#include "CONFIG.h"
|
||
|
||
/*CH584具有data_flash和code flash两部分。 codeflash为448k dataflash为32k
|
||
CodeFlash读操作是有硬件加扰的,也就是擦除后读不是全FF,而是四个固定字节的循环,DataFlash读操作没有硬件加扰
|
||
CodeFlash和DataFlash都可以直接指针读数据(指针读经过硬件加扰)。
|
||
0x00000000-0x0006FFFF 用户应用程序存储区 CodeFlash 448KB
|
||
0x00070000-0x00077FFF 用户非易失数据存储区 DataFlash 32KB
|
||
0x00078000-0x0007DFFF 系统引导程序存储区 BootLoader 24KB
|
||
0x0007E000-0x0007FFFF 系统非易失配置信息存储区 InfoFlash 8KB
|
||
*/
|
||
|
||
/*BLE蓝牙falsh写入注意地址是相对于dataflash的,而dataflash的起始地址是0x3FFF,所以传入的参数是0x3FFF+offset
|
||
并且不要覆盖原有的参数
|
||
https://www.cnblogs.com/JayWellsBlog/p/18223898
|
||
|
||
接口中的读/写buff缓存在ram中的地址,一定要4字节对齐,否则可能导致hardfault复位
|
||
问题排查
|
||
https://www.cnblogs.com/iot-fan/p/16053937.html
|
||
*/
|
||
|
||
#define DATA_FALASH_START_ADDR (0X3FFF) // 传入的是相对地址,用对函数即可
|
||
#define DATA_FLASH_PAGE_SIZE (256U)
|
||
|
||
#define FLASH_INFO_ADDR (DATA_FALASH_START_ADDR)
|
||
#define FLASH_INFO_WRITE_FLAG_ADDR (DATA_FALASH_START_ADDR)
|
||
|
||
#define FLASH_INFO_WRITE_FLAG_VAL (0XAABBCCDD)
|
||
#define FLASH_INFO_WRITE_FLAG_LEN (4U)
|
||
|
||
void BSP_FLASH_Init(void);
|
||
|
||
#endif // !__BSP_FLASH_H__
|