Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: SAM7 и ecos
Форум разработчиков электроники ELECTRONIX.ru > Cистемный уровень проектирования > Операционные системы
PsM
Только начинаю разбираться с arm-и.
Счас потихоньку пинаю Olimex SAM7-P64
Понял что без оси никак...
Приглядываюсь к ecos, вот только есть впечатление что немного тяжеловата...

Разумно ли на SAM7 использовать ecos? Встанет ли на SAM7S64?
IgorKossak
Цитата(PsM @ Mar 6 2007, 09:22) *
Только начинаю разбираться с arm-и.
Счас потихоньку пинаю Olimex SAM7-P64
Понял что без оси никак...
Приглядываюсь к ecos, вот только есть впечатление что немного тяжеловата...

Разумно ли на SAM7 использовать ecos? Встанет ли на SAM7S64?

В минималистической конфигурации встанет, а может и в default.
Попробуйте, денег ведь не платить.
Там есть очень удобный конфигуратор.
Пару тестовых примеров напишете - сразу станет ясно сколько останется места для приложения.
v_shamaev
Цитата(IgorKossak @ Mar 6 2007, 11:47) *
Цитата(PsM @ Mar 6 2007, 09:22) *

Только начинаю разбираться с arm-и.
Счас потихоньку пинаю Olimex SAM7-P64
Понял что без оси никак...
Приглядываюсь к ecos, вот только есть впечатление что немного тяжеловата...

Разумно ли на SAM7 использовать ecos? Встанет ли на SAM7S64?

В минималистической конфигурации встанет, а может и в default.
Попробуйте, денег ведь не платить.
Там есть очень удобный конфигуратор.
Пару тестовых примеров напишете - сразу станет ясно сколько останется места для приложения.


Тестов там полно в комплекте - make tests - и будет понятно, на что не хватает ресурсов, если какой тест не собирается, его можно обойти - можно закомментировать в самом make-фале.
PsM
Собрал тесты . ecos взял из из cvs, там есть порт под at91sam7s-ek (на ней тоже стоит sam7s64).

Делал по инструкции ( http://ecos.sourceware.org/docs-latest/use...user-guide.html )
без GUI (на машине не стоят X-сы).


ecosconfig new at91sam7sek
ecosconfig tree
ecosconfig check
make
make tests


В результате получилось что все бинарники в install/tests ~700кб а некоторые и аж 1Mb ...

Подскажите что я делал не так ?
IgorKossak
Цитата(PsM @ Mar 12 2007, 08:37) *
В результате получилось что все бинарники в install/tests ~700кб а некоторые и аж 1Mb ...

О какого типа бинарниках идёт речь?
Если это файлы с отладочной информацией типа *.elf, то их размер намного больше того, что будет реально записываться в память МК.
Существует утилита, позволяющая выяснить реальный размер программы из файла *.elf. Сейчас не вспомню какая sad.gif
Andrew2000
Цитата(IgorKossak @ Mar 12 2007, 11:58) *
выяснить реальный размер программы из файла *.elf. Сейчас не вспомню какая sad.gif

objcopy.exe - позволяет отладочную инфу порезать
v_shamaev
Цитата(PsM @ Mar 12 2007, 09:37) *
Собрал тесты . ecos взял из из cvs, там есть порт под at91sam7s-ek (на ней тоже стоит sam7s64).

Делал по инструкции ( http://ecos.sourceware.org/docs-latest/use...user-guide.html )
без GUI (на машине не стоят X-сы).


ecosconfig new at91sam7sek
ecosconfig tree
ecosconfig check
make
make tests


В результате получилось что все бинарники в install/tests ~700кб а некоторые и аж 1Mb ...

Подскажите что я делал не так ?


Посмотрите файл target.ld в install/lib - там описаны секции памяти, если все в пределах реального, значит за пределы памяти ничего не выходит, иначе линкер не даст собрать elf.
Если нет - расскажу, что поправить.
PsM
Там не под мой SAM7S64 ... sad.gif
Код
MEMORY
{
    ram : ORIGIN = 0x00200000, LENGTH = 0x10000
    rom : ORIGIN = 0x00100000, LENGTH = 0x40000
}



Это от SAM7S256, а у SAM7S64 64 Флеша и 16 оперативки
v_shamaev
Цитата(PsM @ Mar 12 2007, 15:00) *
Там не под мой SAM7S64 ... sad.gif
Код
MEMORY
{
    ram : ORIGIN = 0x00200000, LENGTH = 0x10000
    rom : ORIGIN = 0x00100000, LENGTH = 0x40000
}



Это от SAM7S256, а у SAM7S64 64 Флеша и 16 оперативки

Ну для начала - прям тут и попрвить длину, снести каталог с собранными тестами и make tests еще раз - будет обьективная картина.
PsM
Цитата
Ну для начала - прям тут и попрвить длину, снести каталог с собранными тестами и make tests еще раз - будет обьективная картина.


Сделал. Ничего не собралось sad.gif

Код

arm-elf-gcc -L/opt/ecos/ecos-work/install/lib -Ttarget.ld -o /opt/ecos/ecos-work/install/tests/hal/common/current/tests/context tests/context.o -mcpu=arm7tdmi -Wl,--gc-sections -Wl,-static -g -nostdlib
/opt/ecos/gnutools/arm-elf/bin/../lib/gcc-lib/arm-elf/3.2.1/../../../../arm-elf/bin/ld: address 0x2067f0 of /opt/ecos/ecos-work/install/tests/hal/common/current/tests/context section .bss is not within region ram
collect2: ld returned 1 exit status
v_shamaev
Цитата(PsM @ Mar 13 2007, 09:17) *
Цитата
Ну для начала - прям тут и попрвить длину, снести каталог с собранными тестами и make tests еще раз - будет обьективная картина.


Сделал. Ничего не собралось sad.gif

Код

arm-elf-gcc -L/opt/ecos/ecos-work/install/lib -Ttarget.ld -o /opt/ecos/ecos-work/install/tests/hal/common/current/tests/context tests/context.o -mcpu=arm7tdmi -Wl,--gc-sections -Wl,-static -g -nostdlib
/opt/ecos/gnutools/arm-elf/bin/../lib/gcc-lib/arm-elf/3.2.1/../../../../arm-elf/bin/ld: address 0x2067f0 of /opt/ecos/ecos-work/install/tests/hal/common/current/tests/context section .bss is not within region ram
collect2: ld returned 1 exit status



Тогда objdump-ом (или nm) - любой утилитой, что читает секции elf - посмотрите в собранных тестах - склько для какго теста используется RAM, или еще проще - make -k tests, может что и соберется.
PsM
Наконецто поставил машину с X-ами.
Поигравшись полдня GUI-евой конфигурилкой ecos-а даю свою резолюцию:

ecos, даже в минимальной конвигурации и запуском из ROM без RedBoot-а не встанет на SAM7S64.
А если как нибуть его удасться еще дополнительно кастрировать, то толку от него все равно не будет.
Основная проблемка нехватка RAM.
v_shamaev
Цитата(PsM @ Mar 22 2007, 14:01) *
Наконецто поставил машину с X-ами.
Поигравшись полдня GUI-евой конфигурилкой ecos-а даю свою резолюцию:

ecos, даже в минимальной конвигурации и запуском из ROM без RedBoot-а не встанет на SAM7S64.
А если как нибуть его удасться еще дополнительно кастрировать, то толку от него все равно не будет.
Основная проблемка нехватка RAM.


Ну для работы может и хватит - для basic теста (проверяются все IPC) - ок 20к RAM используется,
а вот отлаживаться из флеша весьма...
PsM
Цитата(v_shamaev @ Mar 22 2007, 17:30) *
Ну для работы может и хватит - для basic теста (проверяются все IPC) - ок 20к RAM используется,
а вот отлаживаться из флеша весьма...


мне не удалось собрать context тест, даже когда я у него зарезал stack с 8kb до 1kb и interrup stack уменьшил с 4Kb до 512b, для меня загадка куда он скушал 16kb RAM-а ...



Во всяком случае, мне нужно lwip_ppp и теперь точно ясно что нужен SAM7S256 ...
v_shamaev
Цитата(PsM @ Mar 23 2007, 08:43) *
мне не удалось собрать context тест, даже когда я у него зарезал stack с 8kb до 1kb и interrup stack уменьшил с 4Kb до 512b, для меня загадка куда он скушал 16kb RAM-а ...
Во всяком случае, мне нужно lwip_ppp и теперь точно ясно что нужен SAM7S256 ...

Наиболее быстрый способ проверить - собрать при линк-файле с фиктивным обьемом, а потом arm-elf-objdump смотреть, кто память потребляет.
PsM
Перепаяли мне проц, теперь радуюсь smile.gif sam7s256 ...
Залил туда:
http://ecos.sourceware.org/ecos/boards/red...redboot_rom.bin

кстати SAM-BA почемут не смогла залить такой большой файл, а SAM-PROG - без проблем...

Пробую по мануалу:
http://ecos.sourceware.org/docs-latest/use...ion-target.html
Код
arm-elf-gdb

(gdb) set remotebaud 38400    
(gdb) target remote /dev/ttyS0


На последней команде подвисает ....

Шнурок взял обычного внешнего модема ...

Что можно предпринять что бы узнать в чем проблемка ?
PsM
Разобраля, собрал сам RedBoot...
параметр Debug serial port - по умолчанию там стоит 2,
а он что на Olimex-е, что Atmel EB даже не разведен ...
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.