Кратко - для того же, для чего и в любой другой микропроцессорной системе. Декомпозиция задачи, разбиение алгоритма работы на простые алгоритмы, разделение ПО на системное и пользовательское, унификация взаимодействия программных модулей и их повторное использование. Как следствие - облегчение труда программистов и серьёзное ускорение разработки.
Доброго времени суток! /оживляю ветку/ Есть очень вялотекущий проект - переделка игрушки сына. Из "тупого" пластмассового робота-андроида в робота продвинутого, на сервах. Хотелось бы узнать практического совета по многозадачной ОСи или планировщику - кто что применяет? Желательно меньшего размера
В принципе, ОС не самоцель. Может, тогда пару слов о том, что хочу, будет понятнее, нужна ли ОС вообще. Пока андроид имеет по 3 серво на ногу. Плюс электромагнитные защелки в ступнях, которые блокируют ролики качения в подошве. Вероятно, по паре датчиков соприкосновения на передней части ступни. АВРка должна обслуживать все это хозяйство через протокол с "верхнего" уровня. В общем, "спинной мозг".
Именно обслуживать. То есть, получив команду "идти вперед" свыше - начать рулить сервами, сгибая и разгибая ноги. Если ступня ударяется в препятствие (лежащая книга, к примеру), сработает "рефлекс" - робот останавливается и поднимает ногу, стараясь поднять ее над препятствием.
В принципе, да, пожалуй, так будет просто и сердито. А как мне реализовать коммуникацию с "верхним" уровнем? I2C или SPI обрабатываются своими прерываниями?