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

 
 
 
Reply to this topicStart new topic
> свежак avr-gcc, gcc4.3.0-20070928 binutils-cvs20070724 libc1.4.6
klen
сообщение Oct 4 2007, 11:59
Сообщение #1


бессмертным стать можно тремя способами
*****

Группа: Свой
Сообщений: 1 405
Регистрация: 9-05-06
Из: Москва
Пользователь №: 16 912



Всем привет.
собрал свежак. кое че поправил. Теперь сборка должна работать без установки - то есть взял всю папку со всем барахлом, записал в любое место любого компа, прописал путь к (папка с барахлом)/bin и наслаждайся. для этого я периписал вычисление путей либов и нидеров относительно путевого имени avr-gcc.exe, это я делаю чтоб была возможность устанавливать хоть мильон версий GCC и небыло конфликтов и глюков - например папки с одним компиллером но разными библами и тд.

для возможности работы с AVRStudio до кучи засунуто еще 4 файда: make sh rm msys-1.0

тестировал под AVRStudio build 557 и на тестовой плате c mega88 все работает

Архив в формате 7z (4.56 Mb)
http://www.klen.org/Files/kgp_avr_gcc4.3-2...vrlibc-1.4.6.7z
Архив в формате 7z-exe (4.69 Mb)
http://www.klen.org/Files/kgp_avr_gcc4.3-2...rlibc-1.4.6.exe

найдутся глюки с путями - пишите, буду истреблять нещадно.
Go to the top of the page
 
+Quote Post
oll
сообщение Oct 4 2007, 16:38
Сообщение #2


Частый гость
**

Группа: Участник
Сообщений: 163
Регистрация: 10-10-05
Пользователь №: 9 463



Спасибо!!! a14.gif
А это весь GCC? Чего-то мал архив.
Go to the top of the page
 
+Quote Post
klen
сообщение Oct 4 2007, 17:48
Сообщение #3


бессмертным стать можно тремя способами
*****

Группа: Свой
Сообщений: 1 405
Регистрация: 9-05-06
Из: Москва
Пользователь №: 16 912



Цитата(oll @ Oct 4 2007, 20:38) *
А это весь GCC?

абсалютно весь GCC + binutils + avr-libc

еслиб не весь то я фиг скомпилял примеры.

алгоритм 7z очнь хорошо жмет.
Go to the top of the page
 
+Quote Post
ReAl
сообщение Oct 4 2007, 19:36
Сообщение #4


Нечётный пользователь.
******

Группа: Свой
Сообщений: 2 033
Регистрация: 26-05-05
Из: Бровари, Україна
Пользователь №: 5 417



Цитата(klen @ Oct 4 2007, 13:59) *
вычисление путей либов и нидеров относительно путевого имени avr-gcc.exe
О, отлично. Спасибо. Пока живьём не проверял, железки под рукой нет.

Ещё одно пожелание есть.
В комплекте WinAVR идёт модифицированный avr-size, он знает ключ --format=avr и при этом выдаёт вот такое:

AVR Memory Usage
----------------
Device: atmega64

Program: 5502 bytes (8.4% Full)
(.text + .data + .bootloader)

Data: 1466 bytes (35.8% Full)
(.data + .bss + .noinit)

несколько удобнее, чем стандартный формат.
Сейчас я каждый раз копирую его из самого свежего WinAVR, но как-то некузяво.


--------------------
Ну, я пошёл… Если что – звоните…
Go to the top of the page
 
+Quote Post
klen
сообщение Oct 5 2007, 02:41
Сообщение #5


бессмертным стать можно тремя способами
*****

Группа: Свой
Сообщений: 1 405
Регистрация: 9-05-06
Из: Москва
Пользователь №: 16 912



Цитата(ReAl @ Oct 4 2007, 23:36) *
Ещё одно пожелание есть.
В комплекте WinAVR идёт модифицированный avr-size, он знает ключ --format=avr и при этом выдаёт вот такое:

AVR Memory Usage
----------------
Device: atmega64

Program: 5502 bytes (8.4% Full)
(.text + .data + .bootloader)

Data: 1466 bytes (35.8% Full)
(.data + .bss + .noinit)


07.gif А как avr-size этот avr-size определяет по одному ключу --format=avr размер флеша и озу? в ELF образе такой инфы не сохраняется, или я чето мимо кассы уехал??? 07.gif

Я эту проблему решил проще - чтоб не корежить то что работает написал утилиту которая принимает поток из avr-size и рисует вывод как мне надо (почти также как у Вас), но я ей передаю тип кристалла, чтоб она знала как проценты рисовать:
В makefile пишу чтото типа:
Код
...
FLASHSIZE = 524288
RAMSIZE=32768
...

app:
            .....
            ..... сборка elf образа
            .....
    size -B -t $(OUTDIR)/image.elf | memutz $(FLASHSIZE) $(RAMSIZE)


на выходе :
Код
Building custom example...
arm-elf-gcc -T ../../scripts/lpc2148-rom.ld -L../../lib -nostartfiles --warn-common  crt.o startup.o main.o armVIC.o usbdev.o dac.o iap.o -lusbstack -lm -o ../../out/image.elf -Wl,-Map,../../out/image.map
arm-elf-objcopy -O ihex ../../out/image.elf ../../out/image.hex
arm-elf-objcopy -O binary -S ../../out/image.elf ../../out/image.bin
arm-elf-objdump -x --syms ../../out/image.elf > ../../out/image.dmp
arm-elf-objdump -D -S ../../out/image.elf > ../../out/image.lss
arm-elf-size -B -t -x ../../out/image.elf
   text       data        bss        dec        hex    filename
0x43334        0x4     0x50c4     295932      483fc    ../../out/image.elf
0x43334        0x4     0x50c4     295932      483fc    (TOTALS)
arm-elf-size -B -t ../../out/image.elf | memutz 524288 32768
size [byte]
  .text: 275252 (93.0057%)
  .data: 4 (0%)
  .bss : 20676 (0%)
utilization [%]
  ram  : 63.1104 (0%)
  flash: 52.5002 (48.8281%)
Go to the top of the page
 
+Quote Post
ReAl
сообщение Oct 5 2007, 08:34
Сообщение #6


Нечётный пользователь.
******

Группа: Свой
Сообщений: 2 033
Регистрация: 26-05-05
Из: Бровари, Україна
Пользователь №: 5 417



Да-да-да, виноват, не всё сказал.
Полностью в makefile ключи такие:

--format=avr --mcu=$(MCU)

передаётся тот же MCU, что и в gcc
Т.е. они знание про объёмы FLASH/EEPROM/RAM затолкали в avr-size


--------------------
Ну, я пошёл… Если что – звоните…
Go to the top of the page
 
+Quote Post
Dibor
сообщение Oct 7 2007, 21:22
Сообщение #7


Участник
*

Группа: Свой
Сообщений: 56
Регистрация: 12-04-06
Из: Haifa
Пользователь №: 16 042



Цитата(klen @ Oct 4 2007, 15:59) *
Всем привет.
собрал свежак. кое че поправил. Теперь сборка должна работать без установки - то есть взял всю папку со всем барахлом, записал в любое место любого компа, прописал путь к (папка с барахлом)/bin и наслаждайся. для этого я периписал вычисление путей либов и нидеров относительно путевого имени avr-gcc.exe, это я делаю чтоб была возможность устанавливать хоть мильон версий GCC и небыло конфликтов и глюков - например папки с одним компиллером но разными библами и тд.

для возможности работы с AVRStudio до кучи засунуто еще 4 файда: make sh rm msys-1.0

тестировал под AVRStudio build 557 и на тестовой плате c mega88 все работает

Архив в формате 7z (4.56 Mb)
http://www.klen.org/Files/kgp_avr_gcc4.3-2...vrlibc-1.4.6.7z
Архив в формате 7z-exe (4.69 Mb)
http://www.klen.org/Files/kgp_avr_gcc4.3-2...rlibc-1.4.6.exe

найдутся глюки с путями - пишите, буду истреблять нещадно.




Я думаю что в пакете не хватает mkdir.exe , конечно он находится в указанном пути от WinAVR, но так как указатель на WinAVR находится за (папка с барахлом)/bin у меня выскакивает ошибка.
Переписав mkdir.exe из WinAVR в (папка с барахлом)/bin все заработало как надо.
Go to the top of the page
 
+Quote Post
klen
сообщение Oct 8 2007, 02:51
Сообщение #8


бессмертным стать можно тремя способами
*****

Группа: Свой
Сообщений: 1 405
Регистрация: 9-05-06
Из: Москва
Пользователь №: 16 912



Цитата(Dibor @ Oct 8 2007, 01:22) *
Я думаю что в пакете не хватает mkdir.exe , конечно он находится в указанном пути от WinAVR, но так как указатель на WinAVR находится за (папка с барахлом)/bin у меня выскакивает ошибка.
Переписав mkdir.exe из WinAVR в (папка с барахлом)/bin все заработало как надо.


А кто пытается mkdir запустить?
Go to the top of the page
 
+Quote Post
ReAl
сообщение Oct 8 2007, 08:39
Сообщение #9


Нечётный пользователь.
******

Группа: Свой
Сообщений: 2 033
Регистрация: 26-05-05
Из: Бровари, Україна
Пользователь №: 5 417



А любой makefile, который создаёт каталоги для obj и т.п.
Но у меня издавна какая-то версия этого добра на компе живёт, или из unxutils, или сам MSYS полностью, я и не замечаю отсутствия sh/rm/mkdir в конкретных сборках компиляторов


--------------------
Ну, я пошёл… Если что – звоните…
Go to the top of the page
 
+Quote Post

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

 


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


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