Управляем чем угодно откуда угодно

Прошивка с GCC на uclibc и как собрать свою программу

Релизы официальных прошивок, обзоры, обсуждение фичей и багов

Прошивка с GCC на uclibc и как собрать свою программу

Сообщение lyxstv » 13 фев 2014, 12:04

К сожалению сколько я не пытался, не удалось мне собрать GCC на родном SDK, да и родной функционал сборки GCC не работает если подключен сторонний тулчайн.
Я вообще сомневаюсь что codesourcery который идет с v2r, собирает под armv5, все говорит об armv4, даже если ставить -march.
Ничего не оставалось как отказаться от codesourcery и собрать все на родном uclibc и gcc.

Собственно вот результат, 2 прошивки.
Это тестовый прошивки, возможно что-то не будет работать.

Облегченная, практически копия что в SDK
http://rcstv.ru/static/v2r/v2r-uclibc-lite-1.0.img.bz2
Тяжелая, с GCC и необходимыми dev файлами и утилитами.
http://rcstv.ru/static/v2r/v2r-uclibc-full-1.0.img.bz2

Процесс установки аналогичен стандартной прошивки.
Скачиваем, распаковываем и img файл заливаем на micro-sd, допустим это /dev/sdf
Код: Выделить всё
bunzip2 v2r-uclibc-lite-1.0.img.bz2
dd if=./v2r-uclibc-lite-1.0.img of=/dev/sdf


кстати у dd во время заливки можно узнать прогресс, послав например из другой консоли сигнал USR1
Код: Выделить всё
killall -USR1 dd


Так же я подготовил пример C программы и скелет для сборки в SDK.
http://rcstv.ru/static/v2r/example_hello.tar.bz2

Как им пользоваться.

Качаем, распаковываем, получаем папку hello.
В ней файлы hello.mk, Config.in, hello-0.1.tar.bz2 необходимы для сборки в родной SDK, как это сделать я опишу далее.
Папка hello-0.1 ваш проект на C, с примером программы и Makefile.

Для тестов на моей full прошивке достаточно папки hello-0.1, редактируем hello.c, собираем проект make, устанавливаем make install, очищаем make clean, все стандартно.

Это очень удобно, пишем и проверяем работу сразу же на устройстве.

Как все готово, всю папку hello копируем в SDK в fs/package.
Запускаем скрипт make_dist_file.sh, который делает архив из вашего проекта hello-0.1, необходимый для сборки buildroot.
В SDK заходим в папку fs и в ней делаем make hello, проект должен собраться в папке fs/output/build/hello-0.1 и проинсталируется в fs/output/target/usr/bin/hello это будущая ваша прошивка.

Рекомендую делать сборку своих пакетов, после того как сделали make build всего SDK, для того чтобы все необходимые библиотеки были уже собраны.
Если вам необходимо пересобрать ваш проект, необходимо удалить из папки dl файл hello-0.1.tar.bz2, лично я делаю симлинк на него из packages и удалить папку fs/output/build/hello-0.1
lyxstv
 
Сообщения: 42
Зарегистрирован: 13 сен 2013, 16:02

Re: Прошивка с GCC на uclibc и как собрать свою программу

Сообщение Gol » 14 фев 2014, 10:04

lyxstv писал(а):Я вообще сомневаюсь что codesourcery который идет с v2r, собирает под armv5, все говорит об armv4, даже если ставить -march.

А можно поподробнее??? CodeSourcery рекомендован производителем (не нами), правда, у них только старая версия (2009q1).

readelf про собранные бинарники говорит "Tag_CPU_arch: v5TE", т.е. вроде норм armv5

DVSDK пробовал своим тулчейном собирать? Ибо кодеки эт самое геморойное. Если соберутся, тогда можно будет попробовать всё увести к CodeSourcery, но пока - нет.
Аватара пользователя
Gol
 
Сообщения: 507
Зарегистрирован: 17 фев 2012, 01:44
Откуда: Тула-Свободный-Щёкино-Тула-Москва

Re: Прошивка с GCC на uclibc и как собрать свою программу

Сообщение lyxstv » 14 фев 2014, 18:57

Все собрано родным тулчайном и кодеки в том числе, собрать ооочень большой геморой )
Про CodeSourcery не утверждаю, но например если собирать GCC им, то GCC берет спеки из компилятора собирающего его и там armv4
lyxstv
 
Сообщения: 42
Зарегистрирован: 13 сен 2013, 16:02


Вернуться в Готовые прошивки

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1

cron