Я работаю с Zynq So C. Он содержит 2 процессора Cortex-A9.
У меня проблемы с перезагрузкой процессора. Я использую частный сторожевой таймер для сброса CPU 0 (slcr.RS_AWDT_CTRL{0} = 1)
. Причина, по которой я использую этот вид сброса, заключается в том, что PL
должен быть активен.
Сброс работает до сих пор, но после некоторого сброса процессор зависает во время перезагрузки. Кажется, что процессор не запускается на address 0
или загружает неправильные инструкции. Кеши MMU, L1 и L2 активны. Прежде чем вызвать сброс, я перезагружаю загрузчик и делаю кеш flu sh, а также делаю недействительными кеши.