История изменений
Исправление KivApple, (текущая версия) :
Я тебе хотел сказать, что AVR не предназначен для запуска чего-то сложнее FreeRTOS и имеет определённые принципиальные архитектурные ограничения (например, отсутствие аппаратной защиты памяти), в которые ты обязательно упрёшься, если будешь пытаться сделать аналог полноценных ОС. И если даже сейчас ты это не понимаешь, то когда поймёшь тебе будет очень обидно за потраченное время. Если хочется экзотики в виде запуске ОС на микроконтроллере (понимаю, это интересно, ведь ты можешь контролировать всю аппаратуру и на всё есть даташиты), то посмотри в сторону ARM (и уже как совет - линейка STM32 как наиболее распиаренная и про которую есть куча статей).
Я это говорю тебе не просто так. Я сам когда-то писал свою ОС. И не одну. Действовал итерациями «написать до того момента, когда она начинает падать и никак не можешь найти причину - психануть и забить - начать сначала». Правда, я писал ОС для x86. И как ни странно, в это время я тоже был школьником. Классе в 7-8 наверное начал. Убийцы винды так и не получилось, но максимум, чего я достигал была ОС, которая грузилась с дискетки, умела виртуальные терминалы, можно было ходить по каталогам на дискете с помощью командной строки и запускать новые приложения (однако приложение было только одно - командная строка). И это всё в 64-битном режиме, да. А ещё архитектура была микроядерной. То есть у меня был отдельный процесс отвечающий за консоль, отдельный процесс отвечающий за дисковод, за файловую систему и, наконец, командная строка, которая со всеми этими процессами обменивается сообщениями.
В качестве пруфа - однажды мне стало скучно и я решил поделиться своей мудростью и родил цикл статей на тему разработки ОС - http://subscribe.ru/catalog/comp.soft.myosdev.
Сейчас я разработкой ОС в привычном смысле этого слова не занимаюсь, меня больше тянет к микроконтроллерам и роботам. И тут опять же я много чего тыкал. Я работал с AVR (это были мои первые микроконтроллеры), MSP430 и STM32. Причём для MSP430 и ARM я писал свою реализацию USB-стека и она успешно работала. Опять же пруф (реализация USB Device для MSP430) - https://github.com/KivApple/libmsp430usb.
Я мечтаю разработать свой фреймворк для программирования микроконтроллеров, который был бы не сильно сложнее Arduino, однако открывал доступ ко всем возможностям конкретных архитектур. В настоящий момент я занимаюсь разработкой своего компилятора (точнее транслятора с моего языка на plain C), потому что C++ меня не удовлетворяет по некоторым причинам.
Я не призываю тебя присоединиться ко мне, тем более что я не знаю твой уровень квалификации и не уверен в том, что ты не забьёшь на всё это через небольшой период времени. Но если ты таки запилишь свою ОС общего назначения на микроконтроллере (то есть с оконной подсистемой, USB и т. д.), то я очень хотел бы посмотреть на это чисто из любопытства. Поэтому я прошу тебя прислушаться к моим словам и либо забить на эту затею, либо выбрать другой микроконтроллер нежели AVR.
И да, объективных причин использовать AVR для данной конкретной задачи у тебя нет (если бы ты просто хотел помигать светодиодиком или сделать электронный замок, то я бы промолчал - на вкус и цвет все фломастеры разные). Только «я так привык». Однако помни, что эта фраза является одним из самых мощных тормозов прогресса.
Исправление KivApple, :
Я тебе хотел сказать, что AVR не предназначен для запуска чего-то сложнее FreeRTOS и имеет определённые принципиальные архитектурные ограничения (например, отсутствие аппаратной защиты памяти), в которые ты обязательно упрёшься, если будешь пытаться сделать аналог полноценных ОС. И если даже сейчас ты это не понимаешь, то когда поймёшь тебе будет очень обидно за потраченное время. Если хочется экзотики в виде запуске ОС на микроконтроллере (понимаю, это интересно, ведь ты можешь контролировать всю аппаратуру и на всё есть даташиты), то посмотри в сторону ARM (и уже как совет - линейка STM32 как наиболее распиаренная и про которую есть куча статей).
Я это говорю тебе не просто так. Я сам когда-то писал свою ОС. И не одну. Действовал итерациями «написать до того момента, когда она начинает падать и никак не можешь найти причину - психануть и забить - начать сначала». Правда, я писал ОС для x86. И как ни странно, в это время я тоже был школьником. Классе в 7-8 наверное начал. Убийцы винды так и не получилось, но максимум, чего я достигал была ОС, которая грузилась с дискетки, умела виртуальные терминалы, можно было ходить по каталогам на дискете с помощью командной строки и запускать новые приложения (однако приложение было только одно - командная строка). И это всё в 64-битном режиме, да. А ещё архитектура была микроядерной. То есть у меня был отдельный процесс отвечающий за консоль, отдельный процесс отвечающий за дисковод, за файловую систему и, наконец, командная строка, которая со всеми этими процессами обменивается сообщениями.
В качестве пруфа - однажды мне стало скучно и я решил поделиться своей мудростью и родил цикл статей на тему разработки ОС - http://subscribe.ru/catalog/comp.soft.myosdev.
Сейчас я разработкой ОС в привычном смысле этого слова не занимаюсь, меня больше тянет к микроконтроллерам и роботам. И тут опять же я много чего тыкал. Я работал с AVR (это были мои первые микроконтроллеры), MSP430 и STM32. Причём для MSP430 и ARM я писал свою реализацию USB-стека и она успешно работала. Опять же пруф (реализация USB Device для MSP430) - https://github.com/KivApple/libmsp430usb.
Я мечтаю разработать свой фреймворк для программирования микроконтроллеров, который был бы не сильно сложнее Arduino, однако открывал доступ ко всем возможностям конкретных архитектур. В настоящий момент я занимаюсь разработкой своего компилятора (точнее транслятора с моего языка на plain C), потому что C++ меня не удовлетворяет по некоторым причинам.
Я не призываю тебя присоединиться ко мне, тем более что я не знаю твой уровень квалификации и не уверен в том, что ты не забьёшь на всё это через небольшой период мнения. Но если ты таки запилишь свою ОС общего назначения на микроконтроллере (то есть с оконной подсистемой, USB и т. д.), то я очень хотел бы посмотреть на это чисто из любопытства. Поэтому я прошу тебя прислушаться к моим словам и либо забить на эту затею, либо выбрать другой микроконтроллер нежели AVR.
И да, объективных причин использовать AVR для данной конкретной задачи у тебя нет (если бы ты просто хотел помигать светодиодиком или сделать электронный замок, то я бы промолчал - на вкус и цвет все фломастеры разные). Только «я так привык». Однако помни, что эта фраза является одним из самых мощных тормозов прогресса.
Исходная версия KivApple, :
Я тебе хотел сказать, что AVR не предназначен для запуска чего-то сложнее FreeRTOS и имеет определённые принципиальные архитектурные ограничения (например, отсутствие аппаратной защиты памяти), в которые ты обязательно упрёшься, если будешь пытаться сделать аналог полноценных ОС. И если даже сейчас ты это не понимаешь, то когда поймёшь тебе будет очень обидно за потраченное время. Если хочется экзотики в виде запуске ОС на микроконтроллере (понимаю, это интересно, ведь ты можешь контролировать всю аппаратуру и на всё есть даташиты), то посмотри в сторону ARM (и уже как совет - линейка STM32 как наиболее распиаренная и про которую есть куча статей).
Я это говорю тебе не просто так. Я сам когда-то писал свою ОС. И не одну. Действовал итерациями «написать до того момента, когда она начинает падать и никак не можешь найти причину - психануть и забить - начать сначала». Правда, я писал ОС для x86. И как ни странно, в это время я тоже был школьником. Классе в 7-8 наверное начал. Убийцы винды так и не получилось, но максимум, чего я достигал была ОС, которая грузилась с дискетки, умела виртуальные терминалы, можно было ходить по каталогам на дискете с помощью командной строки и запускать новые приложения (однако приложение было только одно - командная строка). И это всё в 64-битном режиме, да. А ещё архитектура была микроядерной. То есть у меня был отдельный процесс отвечающий за консоль, отдельный процесс отвечающий за дисковод, за файловую систему и, наконец, командная строка, которая со всеми этими процессами обменивается сообщениями.
В качестве пруфа - однажды мне стало скучно и я решил поделиться своей мудростью и родил цикл статей на тему разработки ОС - http://subscribe.ru/catalog/comp.soft.myosdev.
Сейчас я разработкой ОС в привычном смысле этого слова не занимаюсь, меня больше тянет к микроконтроллерам и роботам. И тут опять же я много чего тыкал. Я работал с AVR (это были мои первые микроконтроллеры), MSP430 и STM32. Причём для MSP430 и ARM я писал свою реализацию USB-стека и она успешно работала. Опять же пруф (реализация USB Device для MSP430) - https://github.com/KivApple/libmsp430usb.
Я мечтаю разработать свой фреймворк для программирования микроконтроллеров, который был бы не сильно сложнее Arduino, однако открывал доступ ко всем возможностям конкретных архитектур. В настоящий момент я занимаюсь разработкой своего компилятора (точнее транслятора с моего языка на plain C), потому что C++ меня не удовлетворяет по некоторым причинам.
Я не призываю тебя присоединиться ко мне, тем более что я не знаю твой уровень квалификации и не уверен в том, что ты не забьёшь на всё это через небольшой период мнения. Но если ты таки запилишь свою ОС общего назначения на микроконтроллере (то есть с оконной подсистемой, USB и т. д.), то я очень хотел бы посмотреть на это чисто из любопытства. Поэтому я прошу тебя прислушаться к моим словам и либо забить на эту затею, либо выбрать другой микроконтроллер нежели AVR.