roboforum.ru

Технический форум по робототехнике.

Python на STM32

Python на STM32

EdGull » 07 ноя 2011, 17:20

есть предположение что писать код на питоне будет простой и быстрый
давайте обсуждать

Re: Python на STM32

svp » 07 ноя 2011, 17:32

Вот некий проект питоновского интерпретатора, для кучи микроконтроллеров, включая stm32
http://code.google.com/p/python-on-a-chip/

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

Re: Python на STM32

Grem » 07 ноя 2011, 17:33

Предположение обсуждать?
А бенчмарки i/o, r/w, или хоть что-то есть?

Re: Python на STM32

dccharacter » 07 ноя 2011, 17:40

да имхо там не в языке дело. там в понимании, как это все работает. с библиотечными функциями и так пишется легко и просто на Си. Я вон в CooCox сел и за два дня кучу всего понаписал. Вот когда дальше шагнуть пытаешь, упираешься не в сложность языка, а в непонимание работы ядра, периферии и т.д. В ядре один модуль прерываний, в периферии другой, там пятое, тут десятое. Не понимаю, как какой-нить питон может упростить задачу.

Re: Python на STM32

svp » 07 ноя 2011, 17:55

Grem писал(а):А бенчмарки i/o, r/w, или хоть что-то есть?

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

Вообще-то насчет реалтаймовой обработки датчиков питоновским кодом порядка тысяч раз в секунду я бы не особо обольщался. Но общая логика поведения робота на питоне выглядеть будет объектно, понятно и очень элегантно. "Я гарантирую это"=).
Плюс ко всему масса готового кода, например, шелл, веб-морда, куча протоколов...

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

Ну на п итоне можно вынести все эти вещи на объектный уровень. Само собой от низкого уровня привязки датчиков и периферии никуда не деться, но зато скрипты верхнего уровня, после всех надлежащих обёрток, будут выглядеть конфетками.
Тут вопрос простоты вхождения в тему.
Если человек делает свой танк на атмеле и знает его вдоль и поперёк весь вместе со всей периферией, спаянной собственноручно любимым паяльником, то тут на сях надо кодить однозначно. А если надо, чтобы железкой увлеклось как можно больше народу, и чтобы железку мог программировать любой школьник, то питон тут -- самое оно.
Высокоуровневый язык не избавит от необходимости писать низкоуровневые библиотеки для связки всей периферии с абстрактным ядром, но зато потом это абстрактное ядро получится унифицированным и простым в обращении.

Добавлено спустя 4 минуты 28 секунд:
Народ, вы меня меньше слушайте=) Я тот ещё теоретик. Ни одного робота ещё не спаял. Видно возьмусь за паяльник уже на пенсии=). А если надо что-то абстрагировать и декомпозировать (не путать с компостированием), то я к вашим услугам.

Добавлено спустя 1 минуту 25 секунд:
А есть какой-нибудь внятный и простой эмулятор stm32?

Re: Python на STM32

dccharacter » 07 ноя 2011, 17:58

А почему именно stm-32? Можно посмотреть на let me google that for you: cortex-m3 simulator

Re: Python на STM32

EdGull » 07 ноя 2011, 17:59

зачем такие сложности??? пиши в личку почтовые реквизиты, я тебе STM32VLDISCOVERY подарю.

STM32VLDISCOVERY.pdf
(1.25 МиБ) Скачиваний: 0


Добавлено спустя 27 секунд:
dccharacter писал(а):А почему именно stm-32?

потому что цена!

Re: Python на STM32

svp » 07 ноя 2011, 18:20

dccharacter писал(а):Можно посмотреть на let me google that for you: cortex-m3 simulator


Да гуглить я и сам умею. Тот риторический вопрос был расчитан на отклик людей, имевших собственный опыт работы и могущих сэкономить мне лишние шишки.

EdGull писал(а):потому что цена!

А я думал потому что 32. 32 -- это же так здорово. Считай нормальный комп в распоряжении. Опять же, чисто теоретически. Не кодил под контроллеры за исключением лабораторных по микроконтроллерам в институте, где надо было крутить моторчик в разные стороны на асме.

EdGull писал(а):пиши в личку

Это dccharacter адресовалось?

Re: Python на STM32

EdGull » 07 ноя 2011, 18:21

нет, тебе.

Re: Python на STM32

dccharacter » 07 ноя 2011, 18:30

svp писал(а):Это dccharacter адресовалось?

У меня есть уже дискавери :-))))

Добавлено спустя 2 минуты 12 секунд:
svp писал(а):А я думал потому что 32. 32 -- это же так здорово. Считай нормальный комп в распоряжении. Опять же, чисто теоретически. Не кодил под контроллеры за исключением лабораторных по микроконтроллерам в институте, где надо было крутить моторчик в разные стороны на асме.

Гыг. Сам так думал, даже спрашивал тут народ как андроид вкорячить на дискавери.

Фиг там. Комп - это Cortex-M7, Cortex-M9
А М3 - это микроконтроллер. И М0 - микроконтроллер. Хотя и крутой (после мид-ренжей микрочиповских. не знаю, может 32-битные ПИКи такие же крутые).

Добавлено спустя 1 минуту 20 секунд:
Во: http://www.arm.com/products/processors/index.php
Мы в зелененькой зоне. Компы - синенькие.

Добавлено спустя 2 минуты 59 секунд:
http://www.gaw.ru/html.cgi/txt/doc/micr ... /index.htm
Вот, очень рекомендую

Re: Python на STM32

svp » 07 ноя 2011, 20:10

dccharacter писал(а):Во: http://www.arm.com/products/processors/index.php
Мы в зелененькой зоне. Компы - синенькие.

А в роутерах дешевых что-то из синенького крутится? Там вполне себе линукс. Дорого на таком кристалле собрать плату?
Понятно, что в гугл мне дорога, но вдруг кто-то уже исследовал вопрос.=)

Re: Python на STM32

Michael_K » 07 ноя 2011, 20:26

svp писал(а):Дорого на таком кристалле собрать плату?

На коленке - дорого. Покупать.
Вернее на семерке-то еще нормально, но и линукс там... очень-очень условно :)

Re: Python на STM32

svp » 07 ноя 2011, 21:01

Michael_K писал(а):Вернее на семерке-то еще нормально, но и линукс там... очень-очень условно :)

Да никто же про иксы и не говорит. SSH есть, IP-стек полноценный (если не ошибаюсь), usb-host (с поддержкой HID, storage, audio), даже торрент клиент (ту же трансмиссию) запустить можно.
А роботу, ИМХО, особо много и не надо:
- управление периферией (можно какой-нибудь дополнительный контроллер приделать);
- последовательная шина;
- TTY, чтобы командовать снаружи;
Если с IP-стеком заморочиться, то:
- Веб интерфейс на основе СGI,
- SSH/telnet
- usb-wifi dongle

Как-то на словах всё просто. На деле там масса подводных камней и вопросов.
Иногда даже кажется, что проще купить самый дешевый WIFI роутер, поставить на него кастомную прошивку DD-WRT, на свободный последовательный интерфейс (разведённый, но не задействованный на плате) повесить атмелку с драйверами для движков.
Вот а дальше уже коннектиться по ssh и рулить всем на уровне файловой системы и чтения/записи в конкретные последовательные порты.

Re: Python на STM32

Grem » 07 ноя 2011, 21:14

Иногда даже кажется, что проще купить самый дешевый WIFI роутер, поставить на него кастомную прошивку DD-WRT, на свободный последовательный интерфейс (разведённый, но не задействованный на плате) повесить атмелку с драйверами для движков.

Так и делают те, кто так делает. По форуму ищите.

Re: Python на STM32

Angel71 » 07 ноя 2011, 22:19

дайте ссыль плиз на m7 и m9, а то то поисковики сегодня после множества неудачных запросов забанили. :oops: :cry: до бана успел только выяснить, что в cortex m серии точно есть m4, m3, m1 и m0
http://www.arm.com/products/processors/index.php


Rambler\'s Top100 Mail.ru counter