|
Внешняя SRAM, Выбор скорости |
|
|
|
 |
Ответов
|
Mar 13 2007, 05:27
|

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

|
Вот что видно в мапе: Код Memory Configuration
Name Origin Length Attributes text 0x00000000 0x00020000 xr data 0x00800060 0x0000ffa0 rw !x eeprom 0x00810000 0x00010000 rw !x *default* 0x00000000 0xffffffff
Linker script and memory map
Address of section .data set to 0x800100 LOAD C:/WinAVR/bin/../lib/gcc/avr/3.4.6/../../../../avr/lib/avr5/crtm128.o 0x0080ffff __heap_end = 0x80ffff И ещё далее по тексту вот так: Код .data 0x00800100 0xcc load address 0x0000a6f0 0x00800100 PROVIDE (__data_start, .) *(.data) .data 0x00800100 0xc at.o .data 0x0080010c 0x1a common.o 0x00800110 MainBufferWr_Rx 0x0080010c rtc .data 0x00800126 0x48 main.o .data 0x0080016e 0x20 ppp.o .data 0x0080018e 0x2 tcp.o 0x0080018e TCP_Socket .data 0x00800190 0x1 mmc.o .data 0x00800191 0x2d logger.o .data 0x008001be 0xa ff.o .data 0x008001c8 0x4 C:/WinAVR/bin/../lib/gcc/avr/3.4.6/../../../../avr/lib/avr5\libc.a(rand.o) *(.gnu.linkonce.d*) 0x008001cc . = ALIGN (0x2) 0x008001cc _edata = . 0x008001cc PROVIDE (__data_end, .)
.bss 0x008001cc 0x13d6 0x008001cc PROVIDE (__bss_start, .) *(.bss) .bss 0x008001cc 0xc common.o 0x008001d5 TimerIntCounter 0x008001cd UART0_RxBufferRd 0x008001cf UART1_RxBufferRd 0x008001ce UART0_RxBufferWr 0x008001d7 LastResetReason 0x008001d1 MainBufferWr_Tx 0x008001d3 MainBufferRd_Rx 0x008001cc GPSModeSet 0x008001d0 UART1_RxBufferWr 0x008001d6 WatchdogCounter .bss 0x008001d8 0x2 icmp.o 0x008001d8 ICMP_Header .bss 0x008001da 0x4 ppp.o 0x008001da CodeHeader 0x008001dc PPPHeader .bss 0x008001de 0x4 tcp.o 0x008001e0 TCP_TmpPort 0x008001de TCP_Header .bss 0x008001e2 0x2 udp.o 0x008001e2 UDP_Header .bss 0x008001e4 0x2 mmc.o .bss 0x008001e6 0x899 logger.o .bss 0x00800a7f 0xc time.o .bss 0x00800a8b 0x4 ff.o *(COMMON) COMMON 0x00800a8f 0x5 at.o 0x00800a8f AT COMMON 0x00800a94 0x642 common.o .... Что скажете? ХЕЛП!
|
|
|
|
|
Mar 13 2007, 10:44
|
Знающий
   
Группа: Участник
Сообщений: 596
Регистрация: 26-05-06
Из: Москва
Пользователь №: 17 484

|
Код И ещё далее по тексту вот так:[code] .data 0x00800100 0xcc load address 0x0000a6f0 0x00800100 PROVIDE (__data_start, .) *(.data) .data 0x00800100 0xc at.o .data 0x0080010c 0x1a common.o .... Секция дата расположена по адресу 0x00800100, а не нужном вам 0x00801100. Опция линкера "-Tdata" работает только для контроллеров, у которых внутренняя RAM начинается с адреса 0x60 (AT90S8515), и не работает для тех у которых начинается с 0x100 (ATmega128, ...) или 0x200(ATmega1280, ...). Для них используйте в опцию "--section-start .data=..." - она делает тоже самое и работает всегда. В LDFLAG вам нужно заменить "-Tdata=0x801100" на "--section-start,.data=0x801100". Анатолий.
|
|
|
|
|
Mar 13 2007, 11:46
|

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

|
Цитата(aesok @ Mar 13 2007, 13:44)  Код И ещё далее по тексту вот так:[code] .data 0x00800100 0xcc load address 0x0000a6f0 0x00800100 PROVIDE (__data_start, .) *(.data) .data 0x00800100 0xc at.o .data 0x0080010c 0x1a common.o .... Секция дата расположена по адресу 0x00800100, а не нужном вам 0x00801100. Опция линкера "-Tdata" работает только для контроллеров, у которых внутренняя RAM начинается с адреса 0x60 (AT90S8515), и не работает для тех у которых начинается с 0x100 (ATmega128, ...) или 0x200(ATmega1280, ...). Для них используйте в опцию "--section-start .data=..." - она делает тоже самое и работает всегда. В LDFLAG вам нужно заменить "-Tdata=0x801100" на "--section-start,.data=0x801100". Анатолий. Кусочек мэйк файла: Код ## Linker flags LDFLAGS = $(COMMON) LDFLAGS += -Wl,-u,vfprintf -Wl,-Map=ppp.map LDFLAGS += -Wl,-section-start=.data=0x801100,--defsym=__heap_end=0x80ffff Кусочек мапа: Код Linker script and memory map
Address of section .data set to 0x800100 LOAD C:/WinAVR/bin/../lib/gcc/avr/3.4.6/../../../../avr/lib/avr5/crtm128.o Address of section .data set to 0x801100 0x0080ffff __heap_end = 0x80ffff
....
.data 0x00801100 0xd0 load address 0x0000abb0 0x00801100 PROVIDE (__data_start, .) *(.data) .data 0x00801100 0xc at.o .data 0x0080110c 0x1a common.o Ща буду пробовать что получилось.
|
|
|
|
|
Mar 13 2007, 12:32
|

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

|
Получилась полная фигня. Берём и начинаем отлаживать JTAG'ом. Видим, что все переменные лежат >=0x1100 адресах, но в то же время их начальные значения: Код unsigned char str[]="Test"; JTAG'ом видны во внутреней памяти. Если же обратиться к переменной, то возвращается значение из внешней памяти, где конечно же помойка. Запись опять же идёт во внешнюю память. Короче прикольно как-то. Это я что-то не так делаю? Кстати. Если эмулировать AVRStudio Emulator'ом, то всё как надо.
|
|
|
|
|
Mar 14 2007, 14:48
|
Знающий
   
Группа: Участник
Сообщений: 596
Регистрация: 26-05-06
Из: Москва
Пользователь №: 17 484

|
Цитата(Alexey Belyaev @ Mar 13 2007, 12:32)  Получилась полная фигня. Берём и начинаем отлаживать JTAG'ом. Видим, что все переменные лежат >=0x1100 адресах, но в то же время их начальные значения: Код unsigned char str[]="Test"; JTAG'ом видны во внутреней памяти. В какой внутреней памяти: в RAM или FLASH? По каким адресам?
|
|
|
|
Сообщений в этой теме
zorromen Внешняя SRAM Nov 22 2006, 22:50 defunct Цитата(zorromen @ Nov 22 2006, 22:50) Вап... Nov 23 2006, 00:04 =GM= Цитата(zorromen @ Nov 22 2006, 19:50) Воп... Nov 23 2006, 16:36  defunct Цитата(=GM= @ Nov 23 2006, 16:36) Зачем н... Nov 23 2006, 18:07   singlskv Цитата(defunct @ Nov 23 2006, 18:07) Свой... Nov 23 2006, 18:22   =GM= Цитата(defunct @ Nov 23 2006, 15:07) Цита... Nov 23 2006, 20:14    defunct Цитата(=GM= @ Nov 23 2006, 20:14) Минимал... Nov 24 2006, 00:52     =GM= Цитата(defunct @ Nov 23 2006, 21:52) Цита... Nov 24 2006, 14:04      defunct Цитата(=GM= @ Nov 24 2006, 14:04) Не, сме... Nov 24 2006, 16:10       =GM= Цитата(defunct @ Nov 24 2006, 13:10) Дост... Nov 24 2006, 16:55        defunct Цитата(=GM= @ Nov 24 2006, 16:55) Зато он... Nov 25 2006, 02:34         =GM= Цитата(defunct @ Nov 24 2006, 23:34) Цита... Nov 26 2006, 13:49          defunct Цитата(=GM= @ Nov 26 2006, 13:49) Но даже... Nov 27 2006, 14:02           =GM= Цитата(defunct @ Nov 27 2006, 11:02) Цита... Nov 27 2006, 17:41        I_AM_WINER Реально пользуем память 55 нс с полным временем 3 ... Jan 31 2007, 22:55         Alexey Belyaev Цитата(I_AM_WINER @ Feb 1 2007, 01:55) А ... Feb 2 2007, 06:52 zorromen Тогда ставим более конкретный вапрос ... мега 162 ... Nov 23 2006, 19:21 zorromen Я сандалил W24257-70L но он не шел на 16мгц а толь... Nov 23 2006, 21:33 Nanobyte Цитата(zorromen @ Nov 23 2006, 22:33) ...... Nov 24 2006, 00:35 zorromen Ура...нарыл память с 35нс доступом...думаю теперь ... Nov 24 2006, 07:53 ps1x Я конечно не очень разбираюсь в памяти для АВР, но... Nov 24 2006, 14:26 Alexey Belyaev ребят, не пинайте больно если что не так, но у мен... Jan 30 2007, 15:00 defunct Цитата(Alexey Belyaev @ Jan 30 2007, 14:0... Jan 30 2007, 15:42  Alexey Belyaev Цитата(defunct @ Jan 30 2007, 18:42) Цита... Jan 31 2007, 13:06 Alexey Belyaev В общем проблема у меня. Ресетится устройство. Пон... Mar 10 2007, 16:41 aesok Цитата(Alexey Belyaev @ Mar 10 2007, 16:4... Mar 10 2007, 17:41 zorromen Привет...Вот собрал макет на меге162 16 МГц ... па... Mar 11 2007, 11:51 zorromen Вчера решил проверить осциллографом сигналы ... вы... Mar 12 2007, 11:41 SasaVitebsk Цитата(zorromen @ Mar 12 2007, 12:41) Вче... Mar 12 2007, 12:14     Alexey Belyaev Цитата(aesok @ Mar 14 2007, 17:48) В како... Mar 15 2007, 05:41 zorromen Привет ... я заметил интересную весч ... что ноги ... Mar 14 2007, 12:05 zorromen Ахтунг ...
Ша я обнаружил интересный факт ... Ноги... Mar 14 2007, 15:39 =GM= Цитата(zorromen @ Mar 14 2007, 12:39) Ахт... Mar 14 2007, 19:10 Handler Извените за ламерские вопросы, но все таки хочеть... Apr 20 2007, 20:19 Nanobyte Цитата(Handler @ Apr 20 2007, 21:19) ... ... Apr 20 2007, 20:32 Alexey Belyaev А можно вернуться к моим папугаям? В смысле могу л... Apr 25 2007, 20:42 IgorKossak Цитата(Alexey Belyaev @ Apr 25 2007, 20:4... Apr 27 2007, 11:35  Alexey Belyaev Цитата(IgorKossak @ Apr 27 2007, 15:35) В... Apr 27 2007, 13:18   aesok Цитата(Alexey Belyaev @ Apr 27 2007, 14:1... Apr 27 2007, 13:25   IgorKossak Цитата(Alexey Belyaev @ Apr 27 2007, 13:1... Apr 27 2007, 14:18
2 чел. читают эту тему (гостей: 2, скрытых пользователей: 0)
Пользователей: 0
|
|
|