vak: (Default)
Serge Vakulenko ([personal profile] vak) wrote 2023-02-07 06:33 am (UTC)

Юникс для таких процессоров я уже делал. Для PIC32 с архитектурой MIPS есть RetroBSD: https://github.com/RetroBSD/retrobsd/wiki

Недавно его затащили на ARM Cortex-M4 под названием DiscoBSD: https://github.com/chettrick/discobsd

Но как-то Юникс не приживается. Есть несколько причин.

1. Для Юникса требуется место для swap, а его нету. Без swap не реализуется основополагающий механизм создания процессов fork(). Хотя бы два мегабайта нужно для RetroBSD. Приходится создавать специальный раздел на SD-карточке. В результате без SD-карточки ядро вовсе не может стартовать.

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

3. Доступ к периферии микроконтроллера из юниксного процесса весьма затруднённый. Условно говоря, под каждый чих приходится драйвер писать. Просто так из программы ножками GPIO не подёргаешь.

Многозадачность как раз для народа некритична. Думаю, что подобие CP/M или PC-DOS подошло бы лучше.

Post a comment in response:

This account has disabled anonymous posting.
If you don't have an account you can create one now.
HTML doesn't work in the subject.
More info about formatting

If you are unable to use this captcha for any reason, please contact us by email at support@dreamwidth.org