Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: AT91R40807 (ARM7TDI) проблемы с JTAGом (Unable to halt CPU core)
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > ARM
snab
Имеется древний контроллер AT91R40807 (ядро ARM7TDI). Работаю с ним через J-LINK v. 8. ИД ядра считывается нормально. Но это единственное, что можно с ним сделать. В остальном вылезает ошибка "Unable to halt CPU core"

Ошибка вылезает как при попытке залить прогу так и просто попытавшись "за-halt-ить" ядро ( команда "h" в jlink.exe).
Та же самая ошибка после всех вариантов ресетов (хотя если уж быть точнее то только хардверный ресет срабатывает
после которого так же не удаётся застопить ядро).

Изменение скорости шины не помогает (игрался в диапазоне с 1 кГЦ до 12 МГц). На плате 20 МГц кварцевый генератор.
В разводке ошибки нет (уверен на 150%).
Программатор рабочий.
Контроллер рабочий, чистый (только со склада поступил). Более того, подобное поведение отмечается на
5 контроллерах (2 мк с одной партии, 3 с другой).
Наличие пина NTRI учёл.
Статикой не пожог,с этим делом строго.

В общем, прошу помощи, друзья!

ПО: jlink.exe (v. 5.10d), а также IAR и Keil. (везде Unable to halt CPU core).
Программатор: J-link ARM v.8 IAR.

nvn
Ух как давно это было... могу уже напутать
Пользовался таким в связке Multi2000 + LPT JTAG (просто буферы)
Такое было вроде когда проц не заводился с кварца, смотрел частоту
NWAIT в каком состоянии?
Иногда было непонятно почему, игрался с кнопкой ресет и одновременным подкл.
snab
Цитата(nvn @ Oct 4 2016, 14:54) *
NWAIT в каком состоянии?



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

ЗЫ
Кстати в названии темы опечатка(и в топике кстати) ядро- ARM7TDMI. (Модеры/админы, если есть возможность подправьте пжл, а то я что то не нашел как топик править)
nvn
Цитата(snab @ Oct 4 2016, 20:01) *
А это играет роль при отладке/прошивке? Предполагал что это важно при работе с шиной адрес-данных для внешних приблуд (внешней памяти и тд тп).
Но попробую вверху подержать его (до этого был низким всё время), спасибо.

Лет 14 минуло, как им пользовался, потому могу и напутать.
У процессора нет своей флэш, значит прошивать вы можете либо внутреннюю SRAM либо внешнюю SRAM/FLASH.
А какая схема включения у вас, т.е. откуда при включении стартует проц, где храниться прошивка? Во внешней флэш по CS0?
Внешние памяти как подключены? 8, 16 бит?
Если так, то я это к тому, что возможно он "успевает" при старте обратиться к внешней шине (флэш) а NWAIT в ноле, лучше сразу привести его в порядок и если не поможет то отмести этот вариант, да и дальше не будет проблем.
Вроде бы для прошивки надо было еще конфигурить какие-то регистры, чтобы открыть доступы к шинам.
Но Вам до этого еще рано, у вас не стопится похоже ядро. Я тогда первым делом пробовал прочитать регистры проца.
Сейчас гляну в архивах может найду чего.

не знаю как с jlink и т.п. но на всякий случай вот мой стратовый скрипт был такой:
CODE
halt
# Disable all AIC interrupts
memwrite long 0xfffff124 0xffffffff

# Disable all USART0 interrupts
memwrite long 0xfffd000c 0xffffffff

reg cpsr 0x60000010

# Setup script for the Ateml AT91 board
# This is only required if the Angel ROM monitor does not do the board setup
# EBI_CSR0
memwrite long 0xffe00000 0x01002529
memwrite long 0xffe00004 0x02002121
memwrite long 0xffe00008 0x0300253D
memwrite long 0xffe0000c 0x30000000
memwrite long 0xffe00010 0x0400253E
memwrite long 0xffe00014 0x05002536
memwrite long 0xffe00018 0x06002536
memwrite long 0xffe0001c 0x70000000

# REMAP Done
memwrite long 0xffe00020 0x00000001

#2M bytes per CS
memwrite long 0xffe00024 0x00000006

#Disable Extended-SRAM write protection
memwrite long 0xfff0000c 0x00000001


зы: а раньше вы их шили нормально, или впервые с ними?
snab
Прошивка шьётся во внутреннюю память.
Вы были правы по поводу NWAIT, большое спасибо.

Проблема решена.

Зашился на 4 МГц

На будущее для тех кто еще столкнется с подобными контроллерами:
- NWAIT и NTRI держать вверху;
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.