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

 
 
> WinAVR2007 & AVR Studio 4.13, возможно глупый вопрос, но очень важный
smk
сообщение Jan 17 2008, 22:29
Сообщение #1


Гуру
******

Группа: Свой
Сообщений: 2 246
Регистрация: 17-03-05
Из: Украина, Киев
Пользователь №: 3 446



Конечно понимаю, что это элементарно и вообще... но всетаки как прикрепить к проекту внешний файл? имеется ввиду, что если функция описана в одном файле (пусть "dva.с") , а упоминается в основном файле проекта (пусть "odin.c"), то как и что сделать чтоб не было "undefined reference to"???
В С новичок, сильно не бейте, плз. Буду очень признателен за науку!!! Заранее спасибо!


--------------------
Живи днем так, чтобы ночью ты спал спокойно.
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
smk
сообщение Jan 23 2008, 19:56
Сообщение #2


Гуру
******

Группа: Свой
Сообщений: 2 246
Регистрация: 17-03-05
Из: Украина, Киев
Пользователь №: 3 446



Цитата
.map гляну чуть позже.

Не хочу навязываться, но всеж как со временем? Оч хочется довести до ума ситуацию. Заранее благодарю!


--------------------
Живи днем так, чтобы ночью ты спал спокойно.
Go to the top of the page
 
+Quote Post
Сергей Борщ
сообщение Jan 23 2008, 22:15
Сообщение #3


Гуру
******

Группа: Модераторы
Сообщений: 8 455
Регистрация: 15-05-06
Из: Рига, Латвия
Пользователь №: 17 095



Цитата(smk @ Jan 23 2008, 21:56) *
Оч хочется довести до ума ситуацию.
Ой. Извиняюсь. Давайте смотреть .map вместе:
Код
.text           0x00000000      0x6a2  <- Итого во флеш попадает 1698 байт.
.vectors       0x00000000       0x26<- Вектора. Ненаказуемо. Заняты все.
.progmem.data  0x00000026       0x88 lcd.o <- 136 байт констант. Судя по следующей строке - знакогенератор
                0x00000026                LcdCustomChar
.text.main     0x000000e6       0x40 123.o   <- собственно main(), 64 байта
-------- дальше идут функции дисплея, которые вызываются из main или прерываний -------
.text.lcdInitHW              0x00000126       0x1a lcd.o
.text.lcdBusyWait           0x00000140       0x5c lcd.o
.text.lcdControlWrite      0x0000019c       0x64 lcd.o
.text.lcdControlRead      0x00000200       0x4e lcd.o
.text.lcdDataWrite         0x0000024e       0x64 lcd.o
.text.lcdGotoXY             0x000002b2       0x1a lcd.o
.text.lcdLoadCustomChar     0x000002cc       0x52 lcd.o
.text.lcdPrintData             0x0000031e       0x2a lcd.o
.text.lcdInit                     0x00000348       0x6e lcd.o
                                  ---------------------- итого 656 байт -----------------
а дальше ваши прерывания для таймера - 5 раз по 0x5A байт (450 байт)
.text.__vector_8           0x0000045e       0x5a timer.o
.text.__vector_6           0x00000538       0x5a timer.o
.text.__vector_7            0x00000592       0x5a timer.o
.text.__vector_5            0x000005ec       0x5a timer.o
.text.__vector_3            0x00000646       0x5a timer.o
и пара по 166 + 128 байт
.text.__vector_9            0x000003b8       0xa6 timer.o
.text.__vector_4             0x000004b8       0x80 timer.o
Мелкие секции я опустил. По имени секции в первой колонке вы можете узнать имя функции, по адресам из второй колонки можно в листинге найти получившийся код.

Зря вы решили читать флаг BUSY. Без него код получается значительно меньше.


--------------------
На любой вопрос даю любой ответ
"Write code that is guaranteed to work, not code that doesn’t seem to break" (C++ FAQ)
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- smk   WinAVR2007 & AVR Studio 4.13   Jan 17 2008, 22:29
- - Сергей Борщ   Цитата(smk @ Jan 18 2008, 00:29) Конечно ...   Jan 17 2008, 22:54
- - smk   Цитатащелчок правой кнопкой мыши на Source Files в...   Jan 18 2008, 06:31
- - smk   Наверное будет правильно подробнее объяснить ситуа...   Jan 18 2008, 07:46
- - ALexx   Цитата(smk @ Jan 18 2008, 02:29) Конечно ...   Jan 18 2008, 07:47
- - smk   ЦитатаИмена функции в вызове и реализации совпадаю...   Jan 18 2008, 07:56
|- - Сергей Борщ   Цитата(smk @ Jan 18 2008, 09:56) продубли...   Jan 18 2008, 09:10
- - smk   ЦитатаКопируете свой проект в новую папку. Удаляет...   Jan 18 2008, 11:29
|- - Сергей Борщ   Цитата(smk @ Jan 18 2008, 13:29) А в чем ...   Jan 18 2008, 11:40
- - smk   Как-то странно. программа еще не написана (всего о...   Jan 18 2008, 11:56
|- - Сергей Борщ   Цитата(smk @ Jan 18 2008, 13:56) Как-то с...   Jan 18 2008, 12:03
- - smk   Цитатав ключи компилятора добавьте -ffunction-sect...   Jan 18 2008, 19:46
- - smk   ЦитатаТеперь осталось в вашем скрипте сделать KEEP...   Jan 18 2008, 20:46
|- - Сергей Борщ   Цитата(smk @ Jan 18 2008, 22:46) почти со...   Jan 18 2008, 22:28
- - smk   ЦитатаСудя по симптомам, не выдерживаете паузу от ...   Jan 19 2008, 02:26
|- - Сергей Борщ   Цитата(smk @ Jan 19 2008, 04:26) А как мо...   Jan 19 2008, 10:07
- - smk   ЦитатаПосмотреть, какие функции включены, можно, п...   Jan 21 2008, 22:09
|- - Сергей Борщ   Цитата(smk @ Jan 22 2008, 00:09) Добавил ...   Jan 21 2008, 23:25
- - smk   ЦитатаДисплей в каком режиме используется (8 или 4...   Jan 21 2008, 23:34
|- - Сергей Борщ   Цитата(smk @ Jan 22 2008, 01:34) 4-х битн...   Jan 22 2008, 08:23
- - smk   ЦитатаГлянул исходник - там совершенно неправильно...   Jan 22 2008, 09:22
- - smk   ЦитатаThere is a problem with this Windows Install...   Jan 22 2008, 19:24
- - smk   ЦитатаПо имени секции в первой колонке вы можете у...   Jan 23 2008, 22:25
|- - Сергей Борщ   Цитата(smk @ Jan 24 2008, 00:25) Спасибо...   Jan 24 2008, 10:27
- - smk   ЦитатаА голова у кого? Согласен. ЦитатаВы находит...   Jan 24 2008, 10:46
|- - Сергей Борщ   Цитата(smk @ Jan 24 2008, 12:46) понять к...   Jan 24 2008, 11:37
- - smk   ЦитатаWinAVR\DOC\gcc, WinAVR\DOC...   Jan 24 2008, 20:43


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

 


RSS Текстовая версия Сейчас: 3rd August 2025 - 11:19
Рейтинг@Mail.ru


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