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.

TMS570LC4357: 在Flash擦写的同时执行(POM相关)

Part Number: TMS570LC4357


当前我在片内Flash的Bank 0和Bank 1放两个软件版本(两个软件映像, software image),且这两个软件版本共同使用一个异常向量表(从0x0开始)。

两个软件版本彼此互相升级(直接擦除并写入),在升级过程中不会关中断。

在Bank 0的软件版本升级在Bank 1中的软件版本不会有问题,但在Bank 1中的软件版本升级在Bank 0中的软件版本时无法使用中断,因为无法在擦写Bank 0的同时执行异常向量表的代码


当前我们想使用片内flash的pom机制,将异常向量表保存在sram中,并替换flash的异常向量表;具体的做法就是在系统开启中断之前,将Flash中的异常向量表拷贝到SRAM中,然后配置POM,使得访问Flash的内容和SRAM中的一致。

但我们这么做之后并没有取得想要的结果,在执行Bank 0相关的擦除/写入时,板子会卡死。

我们的问题是:

1. 是否可以通过POM机制,让系统在跳转到异常向量表的时候,实际访问的是SRAM而不是片内Flash使得不会出现停止行为呢。

2. 在擦除/写入片内Flash时,无法同时读取/执行同一个Bank的内容,实现上是怎么检测到正在对同一个Bank同时进行擦/写与读取,然后CPU Stall的呢,具体的机制如何