Сайт | Скачать | Видео | Wiki

Автор Тема: AVR + STM32 + PuppyRus  (Прочитано 8899 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Apparatchik

  • Новичок
  • *
  • Сообщений: 17
  • Репутация: +1/-0
  • Автор темы
AVR + STM32 + PuppyRus
« : 07 Январь 2014, 18:33:31 »
Было бы здорово на основе PuppyRus создать систему для разработки програмного обеспечения под микроконтроллеры AVR и STM32. Нет, новый дистрибутив делать ненужно если сложно, просто добавить недостающие компоненты например в PuppyRus 13.12 IceWM. Хочется бы быть не привязаным к одному компьютеру. Все это есть в ubuntu, но она быстро убивает флешку и более тяжеловесная, да и нравится мне PuppyRus. Я бы рад и сам, да только новичок в Linux, пока что на уровне пользователя.

Уважаемый Pro подсказал что запустить Eclipse не составляет большого труда и действительно все заработало на PuppyRus 13.12 IceWM.
Нормальным русским языком объясните что за программы вам нужны, я пока сделал только avr-gcc, avr-libc, dbg, binutils.

что такое stm32 я незнаю но если для него надо пересобрать gcc (т.е. если avr-gcc не годится), то все печально, сборка gcc это пиндец для моего компа, места на жестком диске не хватает катастрофически.

отдельную легковесную систему пилить не могу, но iso переделать и положить в него пакеты которые я дам - вам никто не мешает.

И так для AVR нужен необходимый минимум:

gcc-avr - это та часть мощной GNU Complier Collection (GCC), которая будет осуществлять кросс-компиляцию для целевой архитектуры микроконтроллеров AVR. GCC используется для сборки самого Linux, он поддерживает стандарты языка Си ISO C90 (ANSI-C), ISO C99, а также собственные расширения языка Си. GCC поддерживает огромное количество архитектур процессоров. Код, скомпилированный с помощью GCC для одной из платформ, потребует минимальных правок (или не потребует правок вообще) при компиляции для другой целевой платформы.

binutils-avr - ассемблер, компоновщик и некоторые полезные утилиты.

avr-libc - стандартная библиотека Си для Atmel AVR.

avrdude - утилита для работы с программаторами.

Необязательно:

gdb-avr - отладчик для AVR.

avarice - интерфейс между avr-gdb и AVR JTAG ICE.

simulavr - симулятор Atmel AVR.

Ну и в качестве среды разработки Eclipse с необходимыми плагинами, которая уже работает нормально и плагин сама подтягивает. Я был бы рад и минимуму.

Конечно же готов предоставить для помощи как свое время, так и вычислительные ресурсы (если это возможно и поможет), вы только скажите что нужно делать. Для stm32 поищу что нужно и отпишусь так, как работал с ними только из под windows, но также на Eclipse.

P.S. на основе этой статьи сделал выводы что для STM32 необходимо:
Sourcery CodeBench Lite - компилятор, им же пользуюсь в windows.

набор утилит texane/stlink. В этот набор входит утилита st-flash, для обычной прошивки hex-файлов в контроллер, а также debug-server st-util (необязательно).

Не пользовался, поэтому не уверен, нужно пробовать.
« Последнее редактирование: 07 Январь 2014, 19:16:11 от Apparatchik »

Оффлайн sfs

  • Администратор
  • Ветеран
  • *****
  • Сообщений: 34035
  • Репутация: +231/-0
    • PuppyRus-A
Re:AVR + STM32 + PuppyRus
« Ответ #1 : 07 Январь 2014, 19:45:38 »
В репе arch все это есть. Берите PRA и pacman2pfs. Полученные модули положите в /modules

Оффлайн Pro

  • Активный участник
  • Ветеран
  • ****
  • Сообщений: 10737
  • Репутация: +113/-2
Re:AVR + STM32 + PuppyRus
« Ответ #2 : 08 Январь 2014, 07:00:46 »
sfs прав, если есть возможность, то лучше использовать PRA.

хотя в принципе у меня почти все готово, я выдам вам пакет, но PRA таки лучше.
Я загружаю новые пакеты сюда: http://file.puppyrus.org/users/ а дальше можно найти самостоятельно.

Оффлайн Pro

  • Активный участник
  • Ветеран
  • ****
  • Сообщений: 10737
  • Репутация: +113/-2
Re:AVR + STM32 + PuppyRus
« Ответ #3 : 08 Январь 2014, 08:45:18 »
http://cdn.2safe.com/633570033760/stlink-14.01git-i486.pfs пакет чисто с stlink, Sourcery CodeBench Lite думаю лучше вручную скачать и поставить.

http://cdn.2safe.com/633575033760/avr-toolchain-14.01.pfs - комплект для разработки под avr, состав пакетов можно увидеть в каталоге /etc/packages/mount/
Для корректной работы наверное надо добавить в PATH путь к каталогу /usr/avr/bin (я делал добавление 2мя командами:
Код
PATH="$PATH:/usr/avr/bin"
export PATH

Eclipse стоит ли сделать пакетом?
Я загружаю новые пакеты сюда: http://file.puppyrus.org/users/ а дальше можно найти самостоятельно.

Оффлайн sfs

  • Администратор
  • Ветеран
  • *****
  • Сообщений: 34035
  • Репутация: +231/-0
    • PuppyRus-A
Re:AVR + STM32 + PuppyRus
« Ответ #4 : 08 Январь 2014, 10:07:30 »
sfs прав, если есть возможность, то лучше использовать PRA.
В PRA эта задача для пользователя. В PR для разраба. Вам повезло, что Pro ведется. А если бы не повелся...
Если нужен результат, а не весело провести время - начните с готовых пакетов. Если результат устроит - тогда уже можно пилить под PR
Только есть ли еще пользователи PR, которым это надо...

Оффлайн Pro

  • Активный участник
  • Ветеран
  • ****
  • Сообщений: 10737
  • Репутация: +113/-2
Re:AVR + STM32 + PuppyRus
« Ответ #5 : 08 Январь 2014, 10:28:30 »
нету, но я давно хотел проверить работают ли среды разработки, Eclipse выяснили - работает.
Я загружаю новые пакеты сюда: http://file.puppyrus.org/users/ а дальше можно найти самостоятельно.

Оффлайн Apparatchik

  • Новичок
  • *
  • Сообщений: 17
  • Репутация: +1/-0
  • Автор темы
Re:AVR + STM32 + PuppyRus
« Ответ #6 : 10 Январь 2014, 16:17:37 »
http://cdn.2safe.com/633575033760/avr-toolchain-14.01.pfs - комплект для разработки под avr, состав пакетов можно увидеть в каталоге /etc/packages/mount/
Для корректной работы наверное надо добавить в PATH путь к каталогу /usr/avr/bin (я делал добавление 2мя командами:
Код
PATH="$PATH:/usr/avr/bin"
export PATH

Eclipse стоит ли сделать пакетом?
Попробовал AVR, пока что Eclipse не видит тулчейна, В PATH путь добавил с помощью терминала и приведенных вами команд. Буду ковырять дальше.

По поводу надо ли делать пакетом, я незнаю как лучше, мне главное чтоб небыло обращений к флешке во время работы и чтоб она имела возможность скачивать плагины и обновления. Наверно можно так оставить, только куда положить? И как создать ярлык на рабочий стол?
Еще хотел спросить в каком каталоге создать рабочее пространство чтоб оно грузилось также в оперативную память и сохранялось в save файл при выходе с ОС? В нем хранятся проекты (исходники и т.д.).
Только есть ли еще пользователи PR, которым это надо...
На этом форуме может и нету, а вообще думаю найдутся.
« Последнее редактирование: 10 Январь 2014, 16:34:03 от Apparatchik »

Оффлайн Pro

  • Активный участник
  • Ветеран
  • ****
  • Сообщений: 10737
  • Репутация: +113/-2
Re:AVR + STM32 + PuppyRus
« Ответ #7 : 10 Январь 2014, 17:07:53 »
Цитата
Попробовал AVR, пока что Eclipse не видит тулчейна,
ну это в eclipse надо выставлять наверное в настройках, автоматически он может и не обязан подхватить ничего.

насчет чтобы все в память, посмотрите темы тестирования puppyrus-13.11 и 13.12 там вроде выяснилось что параметр pfix=copy не так как надо отрабатывает. Но рецепты есть, если что есть кому подсказать.
Я загружаю новые пакеты сюда: http://file.puppyrus.org/users/ а дальше можно найти самостоятельно.

Оффлайн Apparatchik

  • Новичок
  • *
  • Сообщений: 17
  • Репутация: +1/-0
  • Автор темы
Re:AVR + STM32 + PuppyRus
« Ответ #8 : 10 Январь 2014, 18:02:56 »
Переменную PATH смотрю командой set. Ваши две команы там ничего не меняют. С помощью
Код
export PATH=$PATH:/usr/avr/bin
меняет, но только до перезапуска терминала. Как быть?

Оффлайн Pro

  • Активный участник
  • Ветеран
  • ****
  • Сообщений: 10737
  • Репутация: +113/-2
Re:AVR + STM32 + PuppyRus
« Ответ #9 : 11 Январь 2014, 06:08:45 »
а я смотрю командой export без параметров, а вручную забить можно найдя PATH в файле /etc/profile

если сохраненка сделана то после перезагрузки все будет хорошо.
Я загружаю новые пакеты сюда: http://file.puppyrus.org/users/ а дальше можно найти самостоятельно.

Оффлайн Apparatchik

  • Новичок
  • *
  • Сообщений: 17
  • Репутация: +1/-0
  • Автор темы
Re:AVR + STM32 + PuppyRus
« Ответ #10 : 19 Январь 2014, 23:02:43 »
В репе arch все это есть. Берите PRA и pacman2pfs. Полученные модули положите в /modules
Выкачал все с помощью PacmanXG, оно появилось в var/lib/pacman/local. Подскажите как теперь собрать в модуль, подробной инструкции как пользоваться pacman2pfs я не нашол. Что значит собрать с dev и без него?

P.S. Попробовал с помощью pkg2pfs. Команда
Код
sudo pacman -Syw пакет
сработала и качнула несколько архивов вероятно пакет и зависимости. Далее ввожу
Код
sudo pkg2pfs /var/cache/pacman/pkg/пакет
и пишет
Код
xz: ..//var/cache/pacman/pkg/avr-gcc-4.8.0-2-i686.pkg.tar.xz: Нет такого файла или каталога
хотя он там есть, а далее много строк в конце которых тоже самое нет такого файла и каталога. Папка и файл .pfs создаются, но правильные ли они? dep-find показывает ноль зависимостей, но ведь они должны быть.

Еще подскажите как включить автопереключатель раскладки клавиатуры как в PR.
« Последнее редактирование: 20 Январь 2014, 02:16:39 от Apparatchik »

Оффлайн sfs

  • Администратор
  • Ветеран
  • *****
  • Сообщений: 34035
  • Репутация: +231/-0
    • PuppyRus-A
Re:AVR + STM32 + PuppyRus
« Ответ #11 : 20 Январь 2014, 11:18:42 »
как теперь собрать в модуль, подробной инструкции как пользоваться pacman2pfs я не нашол.
http://wiki.puppyrus.org/puppyrus/pra#pacman2pfs http://forum.puppyrus.org/index.php/topic,14993.0.html http://forum.puppyrus.org/index.php/topic,14994.0.html http://forum.puppyrus.org/index.php/topic,15091.msg84785.html#msg84785
Если по итогу поможете доработать инструкцию буду благодарен
Что значит собрать с dev и без него?
В каком контексте. Если не компилируете исходники - Devx не нужен и даже вреден
Нет такого файла или каталога
Это от trim - не обращайте внимания
Папка и файл .pfs создаются, но правильные ли они?
Гарантированный, но не оптимизированный результат дает только pacman2pfs
Получите сначала им рабочие модули

Оффлайн Apparatchik

  • Новичок
  • *
  • Сообщений: 17
  • Репутация: +1/-0
  • Автор темы
Re:AVR + STM32 + PuppyRus
« Ответ #12 : 20 Январь 2014, 14:45:38 »
Если по итогу поможете доработать инструкцию буду благодарен
Нужно написать для таких как я, тоесть только ступивших с винды в линукс. Многие незнают что такое собрать и тем более как это сделать и т.д., вот я пошарившись на форуме и в интернете, а также поиском по каталогам (искал где что появляется), потренировался на опере:

1. Вводим команду pacman2pfs с параметром названия пакета например opera. Для того чтоб она могла стереть кеш выполняем от имени суперпользователя ставя перед командой sudo
Код
sudo pacman2pfs opera
При первом запуске она спросит синхронизировать ли базу пакетов, нужно согласится введя 'Y' и нажав Enter, также соглашаемся на очистку кеша и на загрузку файла. Кеш это каталог /var/cache/pacman/pkg куда и загрузится пакет, в данном случае это файл opera-12.16.1860-1-i686.pkg.tar.xz. Далее в каталоге /home/live появится католог с именем нашего пакета.

2. Водим команду mkpfs также от суперпользователя, и в параметре укажем наш созданый каталог. Она соберет из каталога пакет pfs.
Код
sudo mkpfs /home/live/opera-12.16.1860-1

3. В каталоге /home/live появился пакет opera-12.16.1860-1.pfs который уже можно подключать и использовать.
« Последнее редактирование: 20 Январь 2014, 15:05:53 от Apparatchik »

Оффлайн sfs

  • Администратор
  • Ветеран
  • *****
  • Сообщений: 34035
  • Репутация: +231/-0
    • PuppyRus-A
Re:AVR + STM32 + PuppyRus
« Ответ #13 : 20 Январь 2014, 16:38:44 »
Нужно написать для таких как я, тоесть только ступивших с винды в линукс.
Хорошо бы. Но если увлекаться документацией (которую обычно новички все равно не читают) - некогда будет писать скрипты
Надеюсь на : разобрался с помощью автора или сам - описал для других
Что Вы и сделали. Спасибо и +
http://wiki.puppyrus.org/puppyrus/pra?&#pkg2pfs

Оффлайн Apparatchik

  • Новичок
  • *
  • Сообщений: 17
  • Репутация: +1/-0
  • Автор темы
Re:AVR + STM32 + PuppyRus
« Ответ #14 : 27 Январь 2014, 21:01:50 »
Пробовал те пакеты, что дал Pro для PR и сделаные самостоятельно для PRA и даже ставил чистый Arch (на виртуалку) везде одна и таже проблема: почему-то нету утилиты make. Я её искал поиском и вручную нигде ненашол.

В ubuntu с этим проблем нет и make, как и всё остальное, находится в usr/bin. В PR Eclips ничего не увидел, но я ему указал, в PRA и Arch также Eclips не увидел Headers Files но я нашол их и указал. А вот как быть с make?