您好,
在数据表中,闪存被分为两个组,每个组被分为几个扇区,例如,扇区A从0x8万到0x81fff,扇区B从0x8.2万到0x83fff。 在cmd文件中,我是否可以将扇区A划分为0x8万到0x 80fff,将扇区B从0x8.1万划分为0x 83fff,然后将一个函数划分为扇区A,将另一个函数划分为扇区B?
不同的银行怎么样? 如果是,那么在数据表中划分闪存有什么意义?
RAM怎么样? 例如,LS0,1,2,3, 4,5,如果全部用于CPU,那么我可以根据自己的需要进行划分吗?
This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
您好,
在数据表中,闪存被分为两个组,每个组被分为几个扇区,例如,扇区A从0x8万到0x81fff,扇区B从0x8.2万到0x83fff。 在cmd文件中,我是否可以将扇区A划分为0x8万到0x 80fff,将扇区B从0x8.1万划分为0x 83fff,然后将一个函数划分为扇区A,将另一个函数划分为扇区B?
不同的银行怎么样? 如果是,那么在数据表中划分闪存有什么意义?
RAM怎么样? 例如,LS0,1,2,3, 4,5,如果全部用于CPU,那么我可以根据自己的需要进行划分吗?
霍华德
通常,用户会将不同的函数放在不同的内存部分中,这样他们就可以在不依赖另一个部分的情况下更新或不更新一个部分。 但是,当您将给定的Flash扇区拆分为两个或更多部分时,您可能认为您可以在以后根据需要更新每个部分。 闪存不能执行此操作,因为闪存擦除命令将擦除整个扇区(DS的内存映射表中提供了信息),并且由于闪存架构原因,它不能擦除给定扇区的某些部分。
另外,请注意,由于资源限制,将代码和数据(由该代码使用)放在同一扇区会降低性能。
如果需要,使用不同的存储库有助于轻松模拟EEPROM。 此外,正如David所提到的,它允许您在从另一个银行执行闪存API时擦除/编程一个银行-这样,您就不必将闪存API相关功能复制到RAM (简化您的应用程序)。
RAM:您可以根据需要进行拆分或合并。 但是,我在上面提到的将代码和数据放在同一块中的说明也适用于这里。
谢谢,此致,
Vamsi