Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: SAM7 + IAR 4.41 - непонятки с проектом
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > Cредства разработки для МК > IAR
_dem
Добрый день.

С утра не заладилось с IAR-ом и at91sam7 X/S 256. После добавления в проект нового файла (в котором никакой работы с конф. регистрами или динамической памятью, только логика верхнего уровня) перестал работать отладчик. После перезапуска МК не шьется - 'unable to halt ARM core'...

После 10-й переустановки драйверов решил попробовать пин ERASE. Стер кристалл, все зашилось - до первого запуска.

Поднимаем из бекапа старый проект - все прекрасно работает (кристалл перешивается и работает отладчик).

Начал по шагам восстанавливать свои действия. На текущий момент ситуация такова, что после добавления файла в проект, отладчик доходит до строки в cstartup.s79

ldr r0, =0x00000007 ;PMC_MCKR = AT91C_PMC_CSS_PLL_CLK |

после чего "error.... jtag speed is to high". И кристалл опять уходит в себя sad.gif До следующего воздействия на ногу ERASE перемычкой на +3.3.

Изъятие исходника из проекта "прошиваемость" не возвращает. Судя по мап-файлу, памяти валом и никто не на кого не залезает....

Никто не сталкивался ? Хотя бы выяснить, где именно происходит прокол...
InsolentS
У меня такая же фигня. Обычно спасает установка 10мс hardware reset в свойствах отладчика
Calculator
Цитата(_dem @ Apr 18 2007, 18:51) *
На текущий момент ситуация такова, что после добавления файла в проект, отладчик доходит до строки в cstartup.s79

ldr r0, =0x00000007 ;PMC_MCKR = AT91C_PMC_CSS_PLL_CLK |

после чего "error.... jtag speed is to high". И кристалл опять уходит в себя sad.gif

Эта команда переключает тактирование ядра на частоту PLL, поделенную пополам (CSS=3, PRES=1). Возможно к этому моменту PLL еще не запустилась, тогда ядро перестает что-либо делать. Кстати, по еррате на SAM7S, биты CSS и PRES регистра PMC_MCKR нужно изменять в разных командах. То есть при переключении с Slow clock на PLL сначала установить делитель (PRES), дождаться бита готовности MCKRDY регистра PMC_SR, затем установить источник тактирования (CSS) и опять дождаться бита готовности MCKRDY.
_dem
Всем спасибо, причина проблемы найдена.

Виноват оказался IAR. Подняли проект из бекапа, пошагово вносили изменения....

При добавлении в проект очередного исходника (причем функции из него не использовались, т.е. пропущены компилятором по оптимизации), ИАР генерил код, который просто убивал камень. Помогает только ERASE.

Проблема локализована однозначно, несколько раз перепроверяли.

Причина - совпадение имен, длинные имена файлов..... хз. В папке лежат четыре файла - IPFSServer.c/h и SPIFSServer.c/h - с первым все отлично, при добавлении второго - получаем вот такое.

В map-файле полный порядок, нет залезаний на чужие адреса или вообще за пределы памяти...

Переименовнаие файла не помогает, проблема решилась только после разнесения функций по другим файлам (благо, их всего три было). Функции простые, без прагм и директив... в общем - cranky.gif
IgorKossak
Цитата
Виноват оказался IAR

Сдаётся мне, что до истинной причины так и не докопались.
Работаю с этим камнем и IAR 4.41 давно и на такое не напарывался.
_dem
Цитата(IgorKossak @ Apr 27 2007, 00:59) *
Сдаётся мне, что до истинной причины так и не докопались.
Работаю с этим камнем и IAR 4.41 давно и на такое не напарывался.


Повторюсь,
Цитата
Проблема локализована однозначно, несколько раз перепроверяли.


Исключили все... cranky.gif
IgorKossak
Если не сложно, приложите свой проект в минимальном виде когда "баг" ИАРа всё ещё проявляется с указанием этого места.
Проверю - сообщу.
_dem
Цитата(IgorKossak @ May 7 2007, 20:07) *
Если не сложно, приложите свой проект в минимальном виде когда "баг" ИАРа всё ещё проявляется с указанием этого места.
Проверю - сообщу.


Не сложно, на работе проверю бекапы - должен быть snapshot именно для того случая. Если будет - выложу.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.