Comments 28
а вот после линковки - всё, адреса прибиты гвоздями к получившемуся коду.
Есть подход под названием ELF FDPIC. Это стандартный ELF, просто слинкованный не совсем стандартным образом. Весь код остается не зависящим от адреса загqрузки, вся зависимость от адреса загрузки уходит в PLT. В итоге сегмент кода так и остается read only и может шариться между задачами на MMU-less системах.
Сборка с флагом -fPIC у меня не прошла. Не смог я подобрать правильные ключики...
-mfdpic
, а не просто -fPIC
.
Еще, было бы интересно узнать, чем ZephyrOS не понравилась
А к ней есть порт под RP2040?
спасибо, почитаю, поизучаю. эту штуку я в своё время пропустил.
просмотрел доку по-быстрому. пока принципиальных отличий от FreeRTOS не нашёл.
Очень смелое заявление. FreeRTOS -- это, скорее, фреймворк по переключению задач. А Zephyr -- это полноценная ось с сетевым стеком на несколько протоколов, драйверов оборудования и т.п.
Добыть PS/2 клавиатуру...
В одном сетевом магазине:
Bluetooth (193), PS/2 (4) USB (539)
Плату с микронтроллером сделать гораздо легче чем фреймворк с осью, middleware и драйверами. Поэтому по уму выбирают сначала ось с фреймворком, а потом берут то железо под которое она портировна. Так проще и быстрее.
Под Raspberry Pi Pico пока не видно нигде полноценных фреймворков.
Ну, тут задача была обратная - аппаратура уже есть, а ОСи - нет )
Не, ошибся.
Там оказывается все есть в виде Raspberry Pi Pico SDK. Там же и RTOS, WiFi, BLE, USB.
Единственно нет графического движка.
Но сам чип слабый, даже RP2350 будет все еще сильно слабее лидеров от ST, Renesas, NXP.
"Ничего не понял, но очень интересно"
Вот, допустим, пилю я портативку на rp2040 с spi экранчиком 128х128. Смогу я этот мурмулятор использовать в своем проекте?
Не надо такое в школы детям. Когда дитё придет на урок информатики с телефоном, в котором и мощности, и возможностей гораздо больше - желание слушать информатичку улетучится мгновенно. А кто (где и когда?) будет учить информатичку, выкормленную Виндой? Даже в вузах показывать подобные вещи нужно только отдельным специальностям, а учить - тем более. В системе образования даже перевод с Винды на Линукс вызвал такой шторм... А тут, по сути - совсем другая идеология.
Это не другая идеология, а общая база для всех ОС. Командной строке надо учить всех, а не одних задротов, иначе мы никогда не выберемся из "поколения-ЕГ".
Командная строка - удел слабых архаичных архитектур. В сильных архитектурах используют командные приложения с GUI и голосовым вводом.
Сейчас даже дешевые Wi-Fi extender-ы выполняют голосовые команды для управления сетевыми настройками. Учебные проекты однозначно должны поддерживать взаимодействие с AI и IoT.
Для AI нужны нужны хорошие объемы RAM, для IoT тоже нужно больше RAM чем в RP2350/54 .
Вывод - RP2350/54 не для базы учебного проекта, это просто экстендеры для их базы на Raspberry Pi 5. Потому у RP2xxx и нет графического движка.
Наличие же интерфейса HSTX для реализации DVI и HDMI говорит, что да, для эмуляторов ретрокомпьютеров RP235x годен, но не более.
Тут я с Вами согласен, но даже в техническом ВУЗе в 90-х прошлого века изучение Микролаба К580 (про него есть статья на Хабре) вызывало у студентов непонимание, зачем вот это всё - регистры, биты, мнемокоды... тогда еще не было смартфонов и персональные ПК были редкостью, но программирование на языке ассемблера наверное у 95% однокурсников вызывало отвращение :)
У меня мурмулятор лежит на рабочем столе, используется в основном для прослушки честной чиптюн музыки, под которую люблю работать Иногда - для ностальгических игр на эмуляторе, на телевизоре. И вот по поводу игр была мысль - что это же готовая игровая консоль, с джойстиками и подключением к телевизору. Если даже просто набросать фреймворк, который позволяет собирать простые игры (arcanoid, tetris и т.п.), это может быть вполне себе увлекательная обучающая среда для детей, т.к. ты можешь модифицировать игру, и тут же попробовать её с приятелем. Ради этого, кстати хотел посмотреть на Murmulator OS, и вот, кажется пришло время.
ZX Murmulator OS