您好!
能够引起重新加载的3种复位方式均是对所有核复位,对吧?如果想在加载完成后程序运行过程中替换某个core的程序代码,而不影响其他核的运行,请问如何完成此操作呢
Bruce Chen1:
您好!
CPU reset 可以 单独对某个核 进行 reset
ally:
回复 Bruce Chen1:
您好!
cpu local reset 不会加载程序啊。
ally:
回复 ally:
请专家解答下,谢谢。
Yu Liu:
回复 ally:
ally,
替换代码时这个核还需要运行吗?
ally:
回复 Yu Liu:
需要加载程序的这个核不需要运行。但是希望不影响其他核的运行。
Yu Liu:
回复 ally:
ally,
这个时候ROM code不会工作了。可以让一个不需要更新的核代替boot中核0的进行代码加载,被更新的核自己进入idle态,代码被更新后被IPC唤醒。总之就是模仿boot时的动作,请参考下面的ROM code源代码。
www.deyisupport.com/…/6352.aspx
ally:
回复 Yu Liu:
Yu Liu
感谢回复。可不可以这样实现呢。
在要加载程序的core(比如是core 7)复位之前,利用core7的程序把要新加载的程序搬到MSMC的起始地址,并设置寄存器的值使core7复位后从MSMC的起地址开始执行。然后对core7 local reset 。
Yu Liu:
回复 ally:
Ally,
我原来想的是比如核X帮助核7搬运代码,然后核7自己进入idle,核7被唤醒后取magic address的指针然后跳过去。核X
负责搬运代码和IPC唤醒核7.
reset可能可以,不过不是特别确定复位地址是否可以。您可以试试。
枕水:
回复 Yu Liu:
请问如何让核7进入IDLE?