Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: ARMWSD problems?
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > ARM
krofork
В общем есть такая проблема: существет некий проект успешно скомпиленный GCC под ARM (uVision3 в качестве IDE). Есть компортовая заливалка от AD - ARMWSD. в настройках указано - проверять флэш после заливки. Заливаем - выдаёт "Error at 0x0 - 0x10 Verify Aborted". Всегда. Далее (уже интереснее) - чуть чуть правим код - вместо пары функций - заглушки и т.д. - заливаем - работает..иногда :) (правда не удалось определить закоменчивание каких именно функций вызывает гарантированную работу. ГНУтый пример (ADuC Signal, идёт с Keil), компиленный этим же GCC - РАБОТАЕТ ВСЕГДА! Проблема в размере кода быть не может - мой проект (в зависимости от поставленных заглушек) - 7-9 КБ, примерный Signal - 13КБ.
Так вот ключевой вопрос - каким образом изменения в коде влияют на заливаемость исполняемого файла во флэш адука. Моя интуиция мне всегда говорила, что программатор может иметь только одно ограничение на заливаемость файла - размер, и этот фактор здесь не применим...
Paramon
Цитата(krofork @ Dec 15 2006, 06:51) *
В общем есть такая проблема: существет некий проект успешно скомпиленный GCC под ARM (uVision3 в качестве IDE). Есть компортовая заливалка от AD - ARMWSD. в настройках указано - проверять флэш после заливки. Заливаем - выдаёт "Error at 0x0 - 0x10 Verify Aborted". Всегда. Далее (уже интереснее) - чуть чуть правим код - вместо пары функций - заглушки и т.д. - заливаем - работает..иногда smile.gif (правда не удалось определить закоменчивание каких именно функций вызывает гарантированную работу. ГНУтый пример (ADuC Signal, идёт с Keil), компиленный этим же GCC - РАБОТАЕТ ВСЕГДА! Проблема в размере кода быть не может - мой проект (в зависимости от поставленных заглушек) - 7-9 КБ, примерный Signal - 13КБ.
Так вот ключевой вопрос - каким образом изменения в коде влияют на заливаемость исполняемого файла во флэш адука. Моя интуиция мне всегда говорила, что программатор может иметь только одно ограничение на заливаемость файла - размер, и этот фактор здесь не применим...



Хотелось бы узнать что за Aduc? 7024(не может использовать внешнюю память) или 7026. Также кусочек кода. Я тоже работаю в Keil. Вопрос: ULINKом заливается?
krofork
ADuC 7021. ничего внешнего (кроме аналоговой обвязки конечно smile.gif ). Ulink не использую, как и вобще ничего кроме заливки через ARMWSD. а насчёт кусочка кода...немаленький он, кусочек то smile.gif.
в кратце - чуть перелопаченный кусок fixed OpenLPC (LPC кодек в фикс. точке)
Snusmumrik
какая ревизия кристалла?

для I30 и более старых обратите внимание на err020 в документе Anomaly List rev.B
попробуйте взять самую свежую версию armwsd с ftp.analog.com

для I31 пишут, что проблема решена.
krofork
на чипе вроде написано I31 (3 строка).
ARMWSD скачал с аналог.ком - интересный эффект - ошибка повторяется но реже :) причём не "at 0x0 - 0x10" а других местах - мистика.

в аномали лист насчёт егг020 сказано, что типа ARMWSD для нормальной работы должен быть "Version 6.8 and higher", но в самом ARMWSD его версия не написана (то есть нет ни хелпа, ни эбаута, ни в своиствах ехешника версия не отображена) - как бы мне удостовериться, что мой ARMWSD - именно версии 6.8 или выше

и ещё - есть ли вероятность, что внутрях у чипа - битая флэшка (ну типа пара ячеек битых :)? (и как на зло проверить не получается - вторая плата есть но её вообще завести не могу - даунлоадер не видит :( )
Snusmumrik
Цитата(krofork @ Dec 20 2006, 06:18) *
на чипе вроде написано I31 (3 строка).
ARMWSD скачал с аналог.ком - интересный эффект - ошибка повторяется но реже smile.gif причём не "at 0x0 - 0x10" а других местах - мистика.


у меня тоже возникла такая проблема по мере разрастания кода, но возникает нерегулярно. И в разных местах флешки. Но у меня изначально неправильно была оттрассирована плата - я для УАРТа использовал mode2 и соответствующие ему ноги 0.7 и 2.0, а загружать можно только в mode1 (ноги 1.0 и 1.1). потом уже можно переключаться в mode2. Так вот пришлось проволочкой перебрасывать RXD и TXD к нужным ногам. Иногда прихдится подпаивать эти проволчки, разбалтываются со временем. Подпаял - и снова нормально загружается smile.gif И ещё, когда жарко в помещении, загружается хуже smile.gif

Цитата
как бы мне удостовериться, что мой ARMWSD - именно версии 6.8 или выше

ну я думаю, что у Вас 6.8 или выше - раз только скачали с аналог.ком
у меня ревизия I30 (с ещё непофиксеным багом) - нормально работает.

Цитата
и ещё - есть ли вероятность, что внутрях у чипа - битая флэшка (ну типа пара ячеек битых smile.gif? (и как на зло проверить не получается - вторая плата есть но её вообще завести не могу - даунлоадер не видит sad.gif )

вероятность есть всегда smile.gif
krofork
не, у меня то сразу было через 1.0 и 1.1. так что тут не та проблема :)

а вот насчёт версии вообще не понятно - в свойствах файла ARMWSD.exe написано "Изменен: 31 марта 2004 г., 16:35:50", а errata rev.B от 2006 года ...гложут смутные сомнения...


по поводу флэшки - понятно что вероятность любого события не нулевая - но просто интересно узнать -" как, аналог дев. умеет флэшки делать или через раз"?...всмысле опыта работы с другими флэшсодержащими продуктами от АД.


и ещё можно ли как успешно Вигглер попробовать для заливки прикрутить? - дебагинг то мне не нужен (пока :) ) да и заливалось до конкретного момента всё хорошо..а потом.. :)
etoja
Обязательно установите керамические конденсаторы 1uF параллельно питанию
рядом с выводами процессора.
Программирую ADUC7026 через MT-Link очень устойчиво. Длина кода: 15..20Кбайт.
Компилятор: Imagecraft C.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.