Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Микроконтроллеры (MCU) и микропроцессоры (MPU) > Помогите советом Please...ATmega128 - не работает


Автор: Leonid43 23.3.2006, 18:32
Уважаемые Хелп!
Начинаю сходить с ума .-((
При программировании ATmega128 столкнулся с неожиданной проблемой - не работает стек. Я настраиваю указатель на верхушку ОЗУ и в симуляторе всё работает нормально. Когда же я загоняю прогр. в контроллер она зависает на первом же ret.
Работаю в AVR Studio ver.4.12. Какая-то полная чушь! Заткнулся на ерунде!

Начальство бесится, я туплю, сроки срываются.
С респектом
Leonid43

Автор: PILOT 23.3.2006, 20:20
Исходник кинь...
Скорее всего проблема с адресацией регистров ввода вывода.
И еще вопрос: как ты проверяешь что именно ret вызывает зависание???

СУВ.

Автор: Alex1984 24.3.2006, 02:42
Как и где ты стек указываешь, напиши адрес.
Что у тебя за схема, может у тебя просто првал по току (напряжение просидает и МК начинает самовольно скокать по прогамме или постоянно збрасываться)

Автор: PILOT 24.3.2006, 12:43
Еще, как вариант, случайная установка бита "использование внешнего ОЗУ".

СУВ.

Автор: Leonid43 24.3.2006, 14:49
СПАСИБО ЗА УЧАСТИЕ!
Всё оказалось просто, аж противно!!!
Эти умники из Atmel сконфигурировали контроллер по умолчанию под ATmega103 у которой память меньше. В результате я присваивал указателю стека верхушку как-бы несуществующей памяти
ldi u_tmp,low(RAMEND)
out SPL,u_tmp ;
ldi u_tmp,high(RAMEND)
out SPH,u_tmp
Удалось это установить благодаря отладчику JTAG ICE mk-2. Работаю на нём 3 дня. Похоже хорошая штука.
Когда отлаживался вслепую, ставил метки при помощи sbi port..,..
Этот контроллер у меня на новенького, так что, чувствую, он мне скучать не даст.
Мужики!
Спасибо за участие. smile
Leonid
leonid-sk/собако/mail.ru

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)