реклама на сайте
подробности

 
 
> WinAVR и ELPM, ставит lpm вместо elpm
ZyBEX
сообщение Sep 30 2008, 21:39
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 54
Регистрация: 5-05-08
Пользователь №: 37 279



Столкнулся с такой проблемой:

ATmega1280,
пишу bootloader, в 0 адресе все работает. Передвигаю на 0x01E000 - не запускается.
Смотрю дебагером и обнаруживаю, что там, где должна быть инструкция ELPM - стоит LPM (хотя RAMPZ установлен верно). Соответственно данные читаются не из того места, и переход выполняется в адрес где-то за пределами кода. Пока программа лежала в 0 адресе, не было переполнения на 16-й бит адреса и все работало нормально.

Кто нибудь сталкивался? Может какие ключи компиляции помогут? Или вручную опкоды править?
Эскизы прикрепленных изображений
Прикрепленное изображение
 
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
demiurg_spb
сообщение Oct 1 2008, 07:33
Сообщение #2


неотягощённый злом
******

Группа: Свой
Сообщений: 2 746
Регистрация: 31-01-08
Из: Санкт-Петербург
Пользователь №: 34 643



Что за версия компилятора?
Приведите хоть кусочек исходника с подозреваемой проблемой.
А так Вам никто не поможет...


--------------------
“Будьте внимательны к своим мыслям - они начало поступков” (Лао-Цзы)
Go to the top of the page
 
+Quote Post
ZyBEX
сообщение Oct 1 2008, 10:06
Сообщение #3


Участник
*

Группа: Участник
Сообщений: 54
Регистрация: 5-05-08
Пользователь №: 37 279



Цитата(demiurg_spb @ Oct 1 2008, 11:33) *
Что за версия компилятора?

WinAVR-20080610, последняя. До этого использовал 200804xx, то же самое...

Цитата(demiurg_spb @ Oct 1 2008, 11:33) *
Приведите хоть кусочек исходника с подозреваемой проблемой.
А так Вам никто не поможет...

В том то и дело, что до самого кода программы дело еще не доходит, затык в начальной инициализации. После старта сначала идет инициализация памяти данных, затем в Z регистр грузится начальный адрес видимо какой-то таблицы (сразу после векторов прерываний) и должно считываться первое значение, судя по всему адрес, по которому должен происходить переход (это видно из приведенного скрина). Но этого не происходит, т.к. адрес читается некорректно, не той командой.
Это все происходит до начала функции main(), и я не знаю что из кода на это может повлиять. Весь код программы я выложить не могу. Но могу сказать что он использует операционную систему scmRTOS (gcc).

Кто-то может сказать "зачем в бутлоадере ОС?". Просто я использую те-же драйвера внешних устройств, что и в основной программе, заточеные под эту ОС и переписывать все не хотелось бы. Тем более все что нужно вместе с ОС влезают в 8 кб. Кстати, программа под С++ (а не чистый С), может это важно...

Сообщение отредактировал ZyBEX - Oct 1 2008, 10:10
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- ZyBEX   WinAVR и ELPM   Sep 30 2008, 21:39
|- - aesok   Цитата(ZyBEX @ Oct 1 2008, 14:06) Весь ко...   Oct 1 2008, 10:20
|- - ZyBEX   Цитата(aesok @ Oct 1 2008, 14:20) А фрагм...   Oct 1 2008, 10:41
|- - Сергей Борщ   Цитата(ZyBEX @ Oct 1 2008, 13:41) Я же го...   Oct 1 2008, 10:50
|- - ZyBEX   Цитата(Сергей Борщ @ Oct 1 2008, 14:50) Д...   Oct 1 2008, 14:11
|- - aesok   GCC Bugzilla Bug 29141 static constructors beyond ...   Oct 1 2008, 15:23
- - ZyBEX   Я понял что у меня за таблица, по которой бродит t...   Oct 1 2008, 15:54
- - ZyBEX   Проблема датируется 2006 годом. Странно что до сих...   Oct 1 2008, 17:09
- - ZyBEX   По идее проблему можно решить, создавая объекты то...   Oct 1 2008, 18:33
|- - Сергей Борщ   Цитата(ZyBEX @ Oct 1 2008, 21:33) По идее...   Oct 1 2008, 20:04
||- - ZyBEX   [SOLVED] Цитата(Сергей Борщ @ Oct 2 2008, 00...   Oct 2 2008, 20:22
||- - aesok   Цитата(ZyBEX @ Oct 3 2008, 00:22) (хотя c...   Oct 2 2008, 20:32
||- - Сергей Борщ   Цитата(aesok @ Oct 2 2008, 23:32) PS: Без...   Oct 2 2008, 21:04
||- - aesok   Цитата(Сергей Борщ @ Oct 3 2008, 01:04) У...   Oct 2 2008, 21:10
||- - ZyBEX   Цитата(Сергей Борщ @ Oct 3 2008, 01:04) У...   Oct 3 2008, 00:40
||- - Сергей Борщ   Цитата(ZyBEX @ Oct 3 2008, 03:40) Тогда л...   Oct 3 2008, 08:04
||- - ZyBEX   Цитата(Сергей Борщ @ Oct 3 2008, 12:04) Н...   Oct 3 2008, 12:54
||- - Сергей Борщ   Цитата(ZyBEX @ Oct 3 2008, 15:54) Если r1...   Oct 3 2008, 13:41
|- - aesok   Цитата(ZyBEX @ Oct 1 2008, 22:33) Временн...   Oct 2 2008, 06:45
|- - ZyBEX   Цитата(aesok @ Oct 2 2008, 10:45) А Вы та...   Oct 2 2008, 08:21
- - ZyBEX   Цитата(C:/WinAVR/Doc/avr-libc/avr-li...   Oct 3 2008, 14:00


Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 23rd July 2025 - 12:12
Рейтинг@Mail.ru


Страница сгенерированна за 0.0139 секунд с 7
ELECTRONIX ©2004-2016