![]() |
Модераторы: PILOT, ManiaK, Mazzi |
![]() ![]() ![]() |
|
kot34 |
|
|||
Новичок Профиль Группа: Участник Сообщений: 7 Регистрация: 23.10.2008 Репутация: нет Всего: нет |
Написал(1/2содрал) драйвер для управления жк знакосинтезирующим индикатором. Оформил в виде програмки и тестирую. МК - mega64 ЖК - 16100 (на hd44780(предположительно)) При отладке в АВстудии без подключения к МК программа работает без ошибок(не выдает). При отладке с подключенным МК(JTAG интерфейс) - отладчик возвращается из первой же функции(MainIni();) по ложному адресу(в Program counter адрес ~ 0x001000, а вызывалась функция с адреса ~ 0x0000b9) Так происходит с любой первой функцией. В чем может быть ошибка/проблема ?
|
|||
|
||||
Mazzi |
|
|||
![]() Правильный ![]() ![]() Профиль Группа: Комодератор Сообщений: 825 Регистрация: 3.4.2003 Репутация: 9 Всего: 21 |
Указатель стека правильно настроен?
-------------------- Мне нужны помощники. |
|||
|
||||
kot34 |
|
|||
Новичок Профиль Группа: Участник Сообщений: 7 Регистрация: 23.10.2008 Репутация: нет Всего: нет |
Так и есть:
avrstudio записывает в него 0x10ff - у mega64 это граница озу => дело не в SP ? Это сообщение отредактировал(а) kot34 - 23.10.2008, 17:27 |
|||
|
||||
Mazzi |
|
|||
![]() Правильный ![]() ![]() Профиль Группа: Комодератор Сообщений: 825 Регистрация: 3.4.2003 Репутация: 9 Всего: 21 |
Запустив отладку перейди в окошко дизассемблированного кода и посмотри что выполняется сразу после ресета.
В атмеге64 указатель стека располагается по адресам 0x3E (0x5E) SPH (Старший байт указателя) 0x3D (0x5D) SPL (младший байт указателя) Указатель следует настраивать на конечные адреса ОЗУ. -------------------- Мне нужны помощники. |
|||
|
||||
kot34 |
|
|||
Новичок Профиль Группа: Участник Сообщений: 7 Регистрация: 23.10.2008 Репутация: нет Всего: нет |
Попробовал задать другой адрес для указателя стека, и методом научного тыка выяснил программа работает при установки SP на адреса менее 0x1000
ммм... это здорово, но расходится с офф. версией границы озу ![]() |
|||
|
||||
kot34 |
|
|||
Новичок Профиль Группа: Участник Сообщений: 7 Регистрация: 23.10.2008 Репутация: нет Всего: нет |
Дело было в том что стоял режим совместимости с ATmega103
- в нем нет памяти под доп регистры в/в => граница озу = 0х1000 тема закрыта. |
|||
|
||||
![]() ![]() ![]() |
Правила форума "Микроконтроллеры (MCU) и микропроцессоры (MPU)" | |
|
На данный раздел помимо Правил форума распространяются текже следующие правила:
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, PILOT, ManiaK, UniBomb, Mazzi. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Микроконтроллеры (MCU) и микропроцессоры (MPU) | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |