我用6713先运行一个“程序1”,运行过程中将另外一个“程序2”搬到内部ram中跳转到0地址,这个时候是不是要清空L1D和L1P,以保证“程序2”能够正常运行下去?
noaming:
这个应该是不用的。
Tony Tang:
#1. 应该程序2不能在0地址吧,因为1是从0地址放的。这样在的运行的时候,搬2把1盖掉了,通常会导致程序跑飞的。
#2. 如果存在前面的覆盖的情况下,或者搬运“2”是用的EDMA,你说的跳转前清一下Cache则是必要的,或者不需要,因为Cache是按地址记录的。
LiHua Xu:
回复 Tony Tang:
是程序1已经正常运行的某一时刻,搬运“程序2”的前1k程序到内部ram的0地址,也就是“程序2”的boot loader搬进来,然后跳转到cn0地址,这个时候如果不清空L1D,发现“程序2”的boot loader有时不能正常搬运后面的程序进来。所以我觉得这种情况必须得清cache。
TI中文支持网
