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

 
 
> Как работать с внешней памятью?, ATMega128 + 64k SRAM
Spider
сообщение Jan 25 2007, 11:23
Сообщение #1


В поисках истины
***

Группа: Свой
Сообщений: 431
Регистрация: 7-01-06
Из: Россия
Пользователь №: 12 923



Вот понадобилось использовать внешнюю память. Со стороны железа вроде вопросов больше нет - в даташите всё описано. А вот с компиляцией возникли проблемы.
По коду получилось что используется аж 6085 байт оперативной памяти. Но я всё пишу с расчёта на внешнюю оперативку. Так вот посли сборки проекта (WinAVR) получаю такую статистику:
Код
Size after:
main.elf  :
section            size      addr
.data              3910   8388864
.text             31176         0
.bss               2175   8392774
.noinit               0   8394949
.eeprom              66   8454144
.stab              1032         0
.stabstr            132         0
.debug_aranges      160         0
.debug_pubnames    5433         0
.debug_info       23623         0
.debug_abbrev      3722         0
.debug_line       14811         0
.debug_str         5416         0
Total             91656


AVR Memory Usage:
-----------------
Device: atmega128

Program:   35086 bytes (26.8% Full)
(.text + .data + .bootloader)

Data:       6085 bytes (148.6% Full)
(.data + .bss + .noinit)


-------- end --------

Видно, что 149% аж занято. Как же так? В результате программа не стратрует.
В Makefile сделал такое объявление:
Код
EXTMEMOPTS = -Wl,-Tdata=0x801100,--defsym=__heap_end=0x80ffff

И пробовал делать тестовую программу для проверки памяти отлично пишет и читает в адреса далее 0x1100. Может ещё что-то надо указать?
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
SasaVitebsk
сообщение Jan 25 2007, 13:50
Сообщение #2


Гуру
******

Группа: Свой
Сообщений: 2 712
Регистрация: 28-11-05
Из: Беларусь, Витебск, Строителей 18-4-220
Пользователь №: 11 521



Цитата(Alexey Belyaev @ Jan 25 2007, 12:23) *
Видно, что 149% аж занято. Как же так? В результате программа не стратрует.
В Makefile сделал такое объявление:
Код
EXTMEMOPTS = -Wl,-Tdata=0x801100,--defsym=__heap_end=0x80ffff

И пробовал делать тестовую программу для проверки памяти отлично пишет и читает в адреса далее 0x1100. Может ещё что-то надо указать?


Я так понимаю, что 149% относительно внутренней, хотя тоже не выходит.
А нет вижу. Она EEPROM приплюсовала. Похоже ты не в тот сегмент разместил. Она считает что это EEPROM и, должна в прошивку размещать.
Go to the top of the page
 
+Quote Post



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

 


RSS Текстовая версия Сейчас: 18th July 2025 - 21:14
Рейтинг@Mail.ru


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