这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » 综合技术 » 物联网技术 » 【武汉芯源CW32】OTA升级系列之八启动AB区基础设置

共5条 1/1 1 跳转至

【武汉芯源CW32】OTA升级系列之八启动AB区基础设置

助工
2024-10-12 13:09:14     打赏

为了实现不同FLASH区来实现不同APP的起启,这一篇需要规划一下CW32L083的启动的一些基础配置,主要配置FLASH总扇区、AB起始地址等。

首先我们找到CW32L083的用户手册,找到FLASH的说明部分,其描述如下:

主 FLASH 存储器,共 256KB,地址空间为 0x00000000 - 0x0003 FFFF。该区域主要用于存放应用程序代码

W32L083 内部集成 256KB 用户可访问的 FLASH 存储器,按每页 512 字节进行分页管理,共 512 页,用户可以对 FLASH 进行整页擦除和逐字节编程操作。

因此,我在main.h中做宏定义如下:

/* 配置APP起动的地址  */

#define CW32L083_FLASH_START_ADDR  0x00000000  /*256K,0x0000 0000 - 0x0003 FFFF */
#define CW32L083_PAGE_SIZE         512         /* 按每页 512 字节进行分页管理,共 512 页 */
#define CW32L083_PAGE_NUM          512   
#define CW32L083_B_PAGE_NUM        40          /* BOOT区 20K  */
#define CW32L083_A_PAGE_NUM        CW32L083_PAGE_NUM - CW32L083_B_PAGE_NUM   /* APP区 扇区总数  */
#define CW32L083_A_START_PAGE      CW32L083_B_PAGE_NUM                       /* APP起始扇区编号 */
#define CW32L083_A_START_ADDR      CW32L083_FLASH_START_ADDR + CW32L083_A_START_PAGE * CW32L083_PAGE_SIZE  /* APP 开始地址 */







关键词: 武汉     芯源     FLASH    

专家
2024-10-12 22:54:47     打赏
2楼

感谢分享


院士
2024-10-13 15:39:39     打赏
3楼

谢谢分享,资料还比较系统的。


专家
2024-10-13 18:30:24     打赏
4楼

一直担心像这种在运行中写Flash的操作,会不会由于某些原因造成紊乱,导致程序代码被写覆盖。


高工
2024-10-15 10:38:40     打赏
5楼

嗯嗯,有点没有讲明白的感觉


共5条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]