@cckyi_boxxx
Спасибо за ответ.
Я на уровне железок, мало что понимаю, но интересно :)
Я на уровне железок, мало что понимаю, но интересноя и сам к сожалению не могу назвать себя крутым спецом но если понадобиться помощь в этом плане обращайтесь - помогу
@cckyi_boxxx
я находил транслятор питонокода в ассемблерный код под 8-и битную архитектуру камня
@cckyi_boxxxссылку?
причем проект был найден на соурсфордже
@cckyi_boxxxТы действительно понимаешь о том что пишешь? Питон слишком динамичный язык и для него невозможно написать компилятор/транслятор в нативный/машинный/ассемблерный код. Можно только куски как это делает pypy.
по сути там особых сложностей возникать не должно , достаточно запилить для каждого МК свою отдельную либу в которой прописать адреса регистров , а затем самая сложная часть из-за которой я отказался от затеи сделать то-же самое под 8-и битные avr-ки это переработка логики написанной на питоне в код понятный камню , впринципе сделать возможно но пришлось-бы столько времени убить что оно того не стоит
Ты действительно понимаешь о том что пишешь? Питон слишком динамичный язык и для него невозможно написать компилятор/транслятор в нативный/машинный/ассемблерный код. Можно только куски как это делает pypy.
@cckyi_boxxx
порезанная версия питона была-бы в разы удобнее чем тот-же си
@cckyi_boxxxОно похоже еще в зачаточном состоянии. Там и не планируется поддержка всего языка, непонятно зачем оно нужно в таком виде.
вот оно http://projectproto.blogspot.ru/2009/12/python-for-pic-mcus.html
@cckyi_boxxxэто все как-раз таки можно транслировать, нельзя то, что может быть вычислено только в рантайме - setattr, globals, eval и т.п
понимаю , пусть нельзя будет юзать классы , всякие прикольные фичи типа вставления в строку переменной при помощи %s , %c , %i или лябмда выражения и оставить только самое важное - тогда такое вполне возможно хотя всеравно ужасно сложно
@cckyi_boxxxнет
я так предполагаю что вы тоже имеете дело с МК

@cckyi_boxxxнет
надеюсь что вы согласитесь что даже настолько порезанная версия питона была-бы в разы удобнее чем тот-же си
Зачем он такой нужен в этих МК? Он будет тормозной, без библиотек, без трейса исключений . Как с памятью будет работать - непонятно. Как там без типов жить можно будет? Если битность у чисел будет больше битности процессора - то все будет тормозить ведь. Если равна, то что делать если захочется больше? Все равно же придется их как то указывать. def delay(): for i in xrange(0, 255): pass

По моему опыту разработчики под контроллеры не то что питон не готовы использовать а даже c++ не используют, хотя для этого вообще ничего не надо изобретать или дописывать. Складывается впечатление что это проблема обучения а не техническая проблема написания компилятора или интерпретатора.
Для современных контроллеров, интерпретатор питона не проблемадля stm-ок и аналогичных по мощности да , а вот 8-битные avr хоть и могут работать с ним но как я писал выше падение скорости станет ощутимым и сделать можно будет уже далеко не все
Оно похоже еще в зачаточном состоянии. Там и не планируется поддержка всего языка, непонятно зачем оно нужно в таком виде.
это все как-раз таки можно транслировать, нельзя то, что может быть вычислено только в рантайме - setattr, globals, eval и т.п
нет Зачем он такой нужен в этих МК? Он будет тормозной, без библиотек, без трейса исключений . Как с памятью будет работать - непонятно. Как там без типов жить можно будет? Если битность у чисел будет больше битности процессора - то все будет тормозить ведь. Если равна, то что делать если захочется больше? Все равно же придется их как то указывать.
Я хоть и дилетант в низкоуровневом, но мне почему-то кажется это все жутко нерациональным.
там разве не должно быть соотвествующих прерываний для нормально sleep? Это же ужас