«CPU не остановлен» и «APB-AP не найден» ошибка - PullRequest
2 голосов
/ 03 сентября 2010

Когда я использую JTAG для загрузки своего кода C на оценочную плату, он загружается успешно. Однако, когда я выполнил свой код из main (), я сразу же получил ошибку «CPU is not halted», а затем ошибка «No APB-AP found».

Мне удалось загрузить и выполнить код, связанный с USB, прежде чем я получил эту ошибку.

Я гуглил по нему и использую команду JTAG "rx 0" для сброса цели, но она не вносит никаких изменений.

Я использую процессор ARM Cortex-M3, J-Link ARM V4.14d, интегрированную среду разработки IAR.

Спасибо за вашу помощь.

Ответы [ 3 ]

3 голосов
/ 06 сентября 2010

Одна возможность: сторожевой таймер

Если на вашем оборудовании есть сторожевой таймер, вы должны убедиться, что он не сбрасывает процессор, когда JTAG хочет остановить его.Если сторожевой таймер сбрасывает ЦП, вы, как правило, получаете описанную вами ошибку типа «ЦП не остановлен».

Если ЦП имеет внутреннюю сторожевую схему, на некоторых ЦП он автоматически «останавливается», когда JTAG останавливаетсяпроцессор.Но в других случаях этого не происходит, и вам необходимо убедиться, что сторожевой таймер отключен во время отладки JTAG.

Если ваша схема имеет сторожевую схему, внешнюю по отношению к ЦП, то обычно вам необходимоможет каким-то образом отключить его (обычно разработчик аппаратного обеспечения для этого предоставляет на плате какие-то переключатели / перемычки).

0 голосов
/ 08 декабря 2016

Убедитесь, что у вас есть эта строка в коде:

WatchdogStallEnable (WATCHDOG0_BASE); // остановить сторожевой таймер, когда процессор остановился

0 голосов
/ 01 октября 2010

вы повторно используете линии jtag в качестве линий gpio и лишаете jtags возможности взаимодействовать с чипом?Таким образом, я забросил звездную доску.

...