完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
请教一下: #if !defined(FAL_PART_TABLE_FLASH_DEV_NAME) 请问提示的这两个宏定义的都是什么数据呀!? |
|
相关推荐
9个回答
|
|
在fal_cfg.h文件里面定义,打开这个头文件就看到了
|
|
|
|
#include
#include "rtdef.h" #define NOR_FLASH_DEV_NAME "stm32_onchip" /* ===================== Flash device Configuration ========================= */ extern const struct fal_flash_dev stm32f1_onchip_flash; extern const struct fal_flash_dev fram; /* flash device table */ #define FAL_FLASH_DEV_TABLE { &stm32f1_onchip_flash, &fram, } /* ====================== Partition Configuration ========================== */ #ifdef FAL_PART_HAS_TABLE_CFG /* partition table */ #define FAL_PART_TABLE { {FAL_PART_MAGIC_WORD, "bl", "stm32_onchip", 0, 32 * 1024, 0}, {FAL_PART_MAGIC_WORD, "app1", "stm32_onchip", 32 * 1024, 112 * 1024, 0}, {FAL_PART_MAGIC_WORD, "app2", "stm32_onchip", 32 * 1024, 112 * 1024, 0}, {FAL_PART_MAGIC_WORD, "blel", "fram", 0, 4 * 1024, 0}, {FAL_PART_MAGIC_WORD, "appel", "fram", 4 * 1024, 12 * 1024, 0}, } #endif /* FAL_PART_HAS_TABLE_CFG */ #endif /* _FAL_CFG_H_ */ 这个文件里并没有在这两个呢宏的说明; |
|
|
|
#define FAL_PART_HAS_TABLE_CFG这个宏定义是在rtconfig.h里面的
FAL_PART_TABLE是在fal_cfg.h里面的 参考下面的分区表,修改为自己需要的就可以了 #ifdef FAL_PART_HAS_TABLE_CFG /* partition table */ #define FAL_PART_TABLE { {FAL_PART_MAGIC_WORD, "bl", "stm32_onchip", 0, 32 * 1024, 0}, {FAL_PART_MAGIC_WORD, "app1", "stm32_onchip", 32 * 1024, 112 * 1024, 0}, {FAL_PART_MAGIC_WORD, "app2", "stm32_onchip", 32 * 1024, 112 * 1024, 0}, {FAL_PART_MAGIC_WORD, "blel", "fram", 0, 4 * 1024, 0}, {FAL_PART_MAGIC_WORD, "appel", "fram", 4 * 1024, 12 * 1024, 0}, } #endif /* FAL_PART_HAS_TABLE_CFG */ #endi |
|
|
|
我的目的是不想使用FAL_PART_TABLE,去初始化fal设备分区;想在上电后从外部储存介质中,读取参数,根据参数来划分FAL分区
|
|
|
|
这样改动就大了,不只是添加宏了。你需要自己添加接口, 修改 fal 内部两个变量的初始化。
|
|
|
|
你的这个功能是可以实现的,无非就是把FAL_PART_TABLE修改为从外部存储介质中获取,需要修改下原有的程序了
|
|
|
|
还想再次请教一个问题,关于easyflash,env定义的默认环境变量,是不是每次上电偶会会被初始化为默认值
|
|
|
|
不是啊,你得处理,保证只初始化一次
|
|
|
|
FAL_PART_HAS_TABLE_CFG宏的作用:FAL组件使用了自定义分区表,即FAL_PART_TABLE,需要手动定义分区表的内容
FAL_PART_TABLE_FLASH_DEV_NAME宏的作用:FAL_PART_TABLE分区表中某分区的flash设备名 FAL_PART_TABLE_END_OFFSET宏的作用:FAL_PART_TABLE在flash中的最大结束地址(一般设置为FAL自定义分区表FAL_PART_TABLE所在分区的大小,存在于SECTION("FalPartTable")段),如果没有自定义分区表,需要定义该宏来启用自动查找分区表的功能 |
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
786 浏览 0 评论
4210 浏览 0 评论
如何使用python调起UDE STK5.2进行下载自动化下载呢?
2520 浏览 0 评论
开启全新AI时代 智能嵌入式系统快速发展——“第六届国产嵌入式操作系统技术与产业发展论坛”圆满结束
2926 浏览 0 评论
获奖公布!2024 RT-Thread全球巡回线下培训火热来袭!报名提问有奖!
31442 浏览 11 评论
72894 浏览 21 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-22 00:25 , Processed in 0.855858 second(s), Total 87, Slave 71 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号