chibios 1.2kb-5kb freertos 9kb-??? mrtos около 1kb rtos osa 0.2kb-0.8kb но не для stm32 я планирую потратить около 1кб-5кб на ядро. менее - не думаю что я сохраню рассудок, больше - задавит жаба подходит chibios и mrtos осталось узнать поддерживает ли кто-то из них что-то похожее на eval()

Комментарии: 113

  1. Sergy

    eval() ?

    • Defragmented

      меня устроят любые варианты из этих. отбор по критериям которые мне важны - eval() и размер 1-5кб (10кб). из периферии мне интересны gpio, adc, таймеры, spi, i2c, uart возможность читать код из исходника (текст) и исполнять (байткод)

      • Sergy

        приветствую в секте)

        • Roman

          не надо использовать плагины

          • Sergy

            какие плагины?)

            • Roman

              ты еще не написал интерпретатор? для браузера

              • Defragmented

                ну. я пишу свой для браузера. но к мк это не имеет отношения

                • Roman

                  не надо делать плагины для браузера. при eval ты открываешь дыру в безопасности пользователя

                  • Defragmented

                    ваще пофиг. это очень удобно )

                    • Roman

                      к тебе же и залезут в первую очередь

                      • Defragmented

                        код локально исполняется у того кто открыл сайт. пускай себя и ломают ) на моем сервере только мой код исполняется

                      • Nikolay

                        Принцип неуловимого Джо, не?

                        • Roman

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

                          • Defragmented

                            валидные ссылки показывают полезную страницу невалидные ссылки генерируются на лету и показывают бред список ссылок не найдут )

                            • Roman

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

                              • Defragmented

                                а зачем люди розовые дилдо печатают на 3д принтерах? весело жеж ну и по работе помогает. эдакий онлайн матлаб. показывать свои решения коллегам )

                                • Roman

                                  тебе тоже нужен калькулятор?

                                  • Defragmented

                                    да

                                    • Roman

                                      купи в магазине

                                      • Defragmented

                                        онлайн калькулятор )

                                        • Roman

                                          купи в интернет магазине

                                          • Defragmented

                                            а ты хорош

                                            • Roman

                                              отож

              • Anonim

                Ну, так и скажи мол, мы сразу и поймем :) А то эвал поди угадай, что это... Наверняка уже есть А, вот дочитал :) МикроПитон это не интерпретатор случайно?

                • Sergy

                  да только он там целой средой ставиться на мк, по идее

                  • Anonim

                    Поверх RTOS? Или вместо?

                    • Sergy

                      вместо

      • Nikolay

        Периферия к ОС вообще напрямую практически не относится.

      • Sergy

        байткод или исполнять нативный код?

        • Defragmented

          брать текст который я пишу и мигать светодиодом согласно тексту)

          • Sergy

            в sata нельзя если есть на плате mPCI-e - то на него искать USB контроллер и колхозить прокладку шлейфов это уже называется интерпретатор lua или что-то подобное искать, реализацю для мк для ардуины что-то было, может получится утянуть

      • Anonim

        Вообще-то это называется интерпретатор vs компилятор. Или я что-то не уловил?

        • Defragmented

          ну, да я хочу интерпретатор для мк

          • Roman

            интерпретатор чего на мк?

            • Anonim

              Бейсика? :)

              • Sergy

                если eval() то наверное JS

            • Defragmented

              чего угодно пока ядро занимает порядка <1кб оперативки меня устроит нечто между асм и с

              • Sergy

                asm, c - это уже ну обязательно интерпретатор

                • Roman

                  и компилятор в мк встроить

                  • Sergy

                    можно как раньше в машинных кодах или asm кодить

                • Anonim

                  А так бывает??

                  • Sergy

                    я ковырял q3wm но там в оригинале расход оперативки много для stm32, esp32 по идее можно разобраться как нативный код выполнять но тут уже повозиться с окружением для компилирования такого кода нужно будет и с загрузкой кода на исполнение разобраться

                    • Roman

                      и редактор кода туда встроить

                      • Anonim

                        IDE?

                        • Roman

                          дыа на пк такое есть, надо и в мк запердолить

                          • Anonim

                            Ну или jvm

                            • Roman

                              нет

                      • Defragmented

                        пока можно без этого )

                        • Roman

                          надо меньше 1кб как диды делали

                          • Sergy

                            тогда надо брать 8051

                            • Defragmented

                              можно больше в флеш и можно держать весь интерпретатор в флеш и грузить его только когда новый код есть сколько минимум кб на самый тупой интерпретатор? 10кб? 100кб? любого языка который человек может читать

                              • Sergy

                                оверлейный код - та же задача, что и это надо разобраться с этим)

                              • Roman

                                если мк будет угадывать то, что хочет обезьяна - то одна функция random

                                • Anonim

                                  Commodore 64

                                • Defragmented

                                  можно для слегка обученной обезьяны решение взять

                                  • Roman

                                    обученный мк будет хранить часто угадываемые решения

                                    • Defragmented

                                      асм: помнить что символ + значит оп код 8487. и так все опкоды (100 байт?) помнить таблицу с названиями переменных (100 б?) помнить что функция это джамп в код и обратно (300б?) хотя бы это

                                      • Roman

                                        любая операция с математикой это работа с памятью

                                      • Sergy

                                        зачем? что за основная задача?

                                        • Defragmented

                                          упрощение тулчейна с мк мне не нравится идея гонять код на 1 гб чтобы скомпилировать код на 1 кб ну и возможность быстро обновлять код для упрощения обучения

                                          • Sergy

                                            упрощения не выйдет)

                                          • Roman

                                            предлагаю тасовать двоичный код до получения нужного эффекта

                                            • Anonim

                                              https://en.m.wikipedia.org/wiki/Commodore_BASIC

                                            • Defragmented

                                              на 1 кб шанс получить нужный код 1е-2000 ) возьмем как решение для сравнения

                                              • Roman

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

                                                • Defragmented

                                                  время генерации все еще 1е2000

                                                  • Roman

                                                    все зависит от генератора кода, как ты будешь определять способ

                                                    • Defragmented

                                                      ну хорошо думаю наши задачи совпадают. если кто-то из нас найдет решение - расскажет второму ) по любой метрике это больше времени существования вселенной )

                                                      • Roman

                                                        это уменьшит время передачи на мк мне не понятно практическое применение

                                                        • Defragmented

                                                          комбинация лени, рукожопства, излишней оптимизации, больших амбиций частый use case кстати

                                                          • Roman

                                                            если у мк будет интерпретатор скриптов - то понадобится средство ввода этих скриптов. Тебе надо флешку с кодом?

                                                            • Defragmented

                                                              ввод через светосенсор или микрофон. все продумано

                                                              • Roman

                                                                чо бля ты собрался по ик передавать код для мк?

                                                                • Defragmented

                                                                  ну да. ты во мне сомневался? я могу написать подсчет контрольных сумм

                                                                  • Roman

                                                                    интерпретация высокоуровнего языка на малом объеме озу, малом месте хранения основной программы. Интересная задача.

                                                                    • Defragmented

                                                                      я уже согласен на асм с функциями. питон не обязательно

                                                                      • Roman

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

                                                                        • Defragmented

                                                                          сколько нужно оперативки на операнды (+-*), переменные, функции, простейшее управление памятью(массив), gpio\adc\api\usart\i2c команды, плюс интерпретатор всего этого?

                                                                          • Roman

                                                                            сложно сказать. на парсер уйти может полкило это основа

                                                                            • Defragmented

                                                                              можно разделить код на ядро + интерпретатор? чтобы он либо жрал текст и составлял программу, либо исполнял программу? и обе части в пределах 2 кб оперативки каждая

                                                                              • Roman

                                                                                а) жрать текст и записывать последовательность выполнения функций в озу. б) выполнять на лету сразу функции ядра можно и так и так в первом случае можно отловить ошибки

                                                                                • Anonim

                                                                                  Велосипед уже изобрели. Можно расслабиться...

                                                                                  • Defragmented

                                                                                    я думаю вариант а намного проще ну так дай название

                                                                                    • Roman

                                                                                      он видимо про диалог

                                                                                    • Anonim

                                                                                      См выше

                                                                                      • Roman

                                                                                        бэйсик, фу

                                                                                        • Anonim

                                                                                          Удовлетворяет все заявленные спецификации кроме 'фу'

                                                                                          • Roman

                                                                                            foo

                                                                                            • Anonim

                                                                                              Bar

                                                                                              • Roman

                                                                                                не удовлетворяет условию: функциональное программирование у него же матлаб в мк нужно запихать видимо

                                                                                                • Anonim

                                                                                                  "С перламутровыми пуговицами"

                                                                                          • Defragmented

                                                                                            ну тогда жс есть. 20кб оперативки https://jeelabs.org/book/1548e/index.html это верно. я сначала подумал что это шутка. поэтому и не стал смотреть но почитал сейчас - он делает все что я хочу. немного примитивен потому что функций нет. но пережить можно ну и читая про этот tiny basic и чудовищные методы оптимизации уже даже forth кажется неплохим вариантом

                                                                                            • Anonim

                                                                                              Это просто направление, в котором нужно копать. Если ресурсы ограничены, то надо посмотреть, как это делалось на ограниченных ресурсах в прошлом.

                                                                                              • Defragmented

                                                                                                понимаю. оооочень интересно. буду читать все связанное

                                                                                                • Sergy

                                                                                                  я все же доиграюсь с q3wm и надо будет аналогию сделать, более компактную. у меня больше вопросов вызывает кросскомпилятор gcc или llvm , для него надо бэкенд сделать для кастомной архитектуты в q3wm используется lcc 1. это чистый C, без C++ 2. у него лицензия некоммерческая)

                                                                                                • Anonim

                                                                                                  https://youtu.be/SrwlxcEZC4Q

                                                                                                  • Defragmented

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

                                                                      • Vladimir

                                                                        ФОРТ

                                                                        • Defragmented

                                                                          не могу найти сколько весит компилятор\ интерпретатор я писал на форт и он кажется слишком крутым. субрутины и прочие радости. в тайни бейсик их нет

                                                                          • Vladimir

                                                                            Он как раз мизерный И расширяемый под любую задачу Главное на нем кроме логики ничего не писать

                                                                          • Vladimir

                                                                            https://tuxotronic.org/post/mecrisp-forth/ compiletoflash compiletoram Усе есть Запись только наркоманская команд

                                                                            • Defragmented

                                                                              It fits into 11 kb of flash or fram and runs with at least 512 bytes of ram отлично ничо, я уже привык. играл в игру где форт был основным языком

                                                                              • Vladimir

                                                                                У него плюс в жуткой расширяемости

                                                                      • Vladimir

                                                                        Очевидными областями применения этого языка являются встраиваемые системы управления. За счёт простоты транслятор, а зачастую и компилятор Форта легко реализуется для подавляющего числа микроконтроллеров, также используется как кросс-средство программирования.

                                          • Sergy

                                            у меня желание получить байткодовую vm мелкую (единственный вариант для AVR) либо выполнение загружаемого из вне кода в RAM ( esp8266/esp32, stm32) для меня кажеться, что первое немного проще по изучению а задачи : для удалённых контроллеров, что бы не убить прошивку через OTA, либо кастомный код (игры, если делать игровую консольку, например)

                              • Sergy

                                человеки разные языки могут читать например, китайский правда не все его знают)

                                • Defragmented

                                  ну отлично. сделаем мк который исполняет китайский в команды

                                  • Roman

                                    в языке общения могут быть конструкции, которые не являются командами выглядит как команда, пахнет как команда, но не команда

                                    • Sergy

                                      от контекста зависит

                                  • Anonim

                                    Остапа несло...(с)

Не нашли ответ?

Вам также может быть интересно

По логике там должно быть 2 бута один основной и один запасной ,но если ты прошьешь в бут не то что надо как ты там не экспериментируй... Читать далее