分区表h中*对齐*的含义是什么?
以4M\partition\u table.h为例。
#define NVMS\u FIRMWARE\u PART\u START 0x002000/*与512KB的对齐由默认的FLASH\u REGION\u大小决定。*/#定义NVMSŠU固件ŠU部件ŠU大小0x07E000/*+------------512KB----------------+*/Š定义NVMSŠU通用ŠU部件ŠU开始0x0e000Š定义NVMSŠU通用ŠU部件ŠU大小0x020000
固件部分从0x2000开始,没有与512KB对齐,通用部分也没有。为什么通用部分突然跳转到0xE0000,而固件部分的结束地址是0x80000?
另一个问题是,我能否为我的辅助引导程序安排一个较小的固件部分(约128KB),同时为我的应用程序安排一个较大的分区部分(约2MB)?如何修改分区表.h?
谢谢!
关键词:
设备:
关羽99,
默认情况下,SDK和芯片配置都支持运行大小高达512 kB的应用程序映像。为此,固件和通用分区条目(分别是NVMS\u固件和NVMS\u通用\u部分)都应该是512MB对齐的。NVMS\u PRODUCT\u头条目应始终从0x0000开始,其大小应为0x2000。其余的分区条目可以根据用户的需要进行修改。请查看我们支持网站上的以下教程:
http://lpccs-docs.dialog-semiconductor.com/tutorial\u da1469x\u supporting\u fw\u images\u bigger\u than\u 512kb/index.html
谢谢,下午好
嗨,PM\U对话,
是的,我读过它,它也把我弄糊涂了。为什么有时必须设置为512KB对齐,而有时可以设置为1MB对齐?什么是“偏移量”高达0x4000允许”意味着什么?
For the partition, can I set the partition to 128KB alignment? Which will be more flexible for me.
分区表.h可能如下所示。
谢谢!
关羽99,
NVMS\ U固件和NVMS\ U通用\ U部件应分别与闪存\ U区域\ U大小对齐。本教程旨在提供有关如何在DA1469x上支持不同大小的FW映像的步骤。具体而言,提供执行大小为1 MB的应用程序映像所需的步骤。请检查CACHE\u FLASH\u REG[FLASH\u REGION\u SIZE],您将看到哪些可用选项。这就是为什么NVMS\u GENERIC\u部分是1MB对齐的。NVMS\u PRODUCT\u头条目应始终从0x0000开始,其大小应为0x2000。其余的分区条目可以根据用户的需要进行修改。如果你有锁塔功能。
谢谢,下午好
嗨,下午好,
1据我所知,我不能访问超过FLASH\u REGION\u大小的地址,否则我将得到一个未定义的结果。因此,如果我的项目是制作一个能够跳转到应用程序的辅助引导加载程序,我必须将FLASH\u REGION\u大小设置为大于这两个大小之和。是这样吗?
2为了满足“对齐”和“闪存区域大小”的要求,我可能需要将闪存区域大小设置为2MB,并使NVMS固件的结束地址对齐为2MB。对吗?
三。在该分区设置下,如果我只删除在该2MB分区内分配的应用程序区域,它会影响该分区内的其他区域吗?
谢谢!
关羽99,
抱歉耽搁了。您希望闪存的固件大小是多少?它有索塔实现吗?如果将FLASH\u REGION\u SIZE设置为2MB,则固件和通用分区条目(即分别为NVMS\u固件和NVMS\u通用\u部分)都应对齐2MB。
谢谢,下午好
嗨,PM\U对话,
我可能使用1MB或2MB,我可能理解分区结构。主要的问题是FLASH\u REGION\u大小应该与内存访问问题的固件大小一致。
我猜您的意思是NVMS\u FW\u EXEC\u部分和NVMS\u FW\u UPDATE\u部分应该具有相同的大小对齐,就像4M/suota/partition\u table.h示例一样。但是不管分区名是什么,SUOTA只会查找更新的图像头,对吗?
关羽99,
谢谢你接受我的回答。我的意思是NVMS\ U固件和NVMS\ U通用\ U部件都应该与闪存\区域\大小对齐。你能澄清一下你的最后一个问题吗?
谢谢,下午好