ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Пятница
5 июля
131365 Топик полностью
Evgeny_CD, Архитектор (14.09.2008 16:20, просмотров: 150) ответил Михаил Е. на Кажется пришло время осваивать какую-нибудь ОС. USB, файловая система - изобретать велосипед смысла нет. Не знаю какую ОС выбрать. Процессоры АРМ. В ИАРе посмотрел - там больше всего µCOS-II поддерживается, в Кейле RTX. С ИАРом давно работаю. Кейл
Мухи отдельно, котлеты тоже. Итак, что такое ОСь: * ОСь - это НЕ -- файловая система -- USB -- TCP/IP -- компилятор, линкер, make, etc -- IDE -- что-то еще аналогичное * ОСь - ЭТО -- управление памятью ….. malloc() ….. callock() ….. free() ….. memory pool, или fixed-size-blocks allocation http://en.wikipedia.org/wiki/Memory_pool -- управление процессами -- межпроцессное взаимодействие ….. семафоры ….. мютексы ….. сигналы (редко применяются в embedded системах) ….. различные механизмы обмена данными между процессами – очереди сообщений, совместно используемая память и пр. Основное назначение ОСи: * поддержка стандартных механизмов взаимодействия между частями кода, исполняемого на машине. Если писать программу для какого-то сложного устройства целиком, например USB + Ethernet + файловая система + GUI, и рассматривать эту программу как одно целое – сложность такой программы не даст отладить ее до конца. По этому на практике разбивают программу на куски, и эти куски взаимодействуют между собой ограниченным числом стандартных способов, а внутри себя каждый кусок живет сам по себе. Оси бывают разные: вытесняющая многозадачность, кооперативная многозадачность, много чего еще http://ru.wikipedi …0%BE%D1%81%D1%82%D1%8C Очень часто файловая система, USB, TCP/IP тесно интегрированы с Осью, и внешнему наблюдателю кажется, что это одно и то же, но это не так. Цель разработчиков – иметь некую универсальную Ось, к которой можно прикрутить различные компоненты из своих | чужих проектов. Цель продавцов Осей – сделать так, чтобы ты не забыл кроме самой Оси купить и USB, TCP/IP и т.д. Цель продавцов компиляторов еще страшнее – чтобы Ось и ее компоненты жили только в одной правильное IDE. В этой кровавой схватке есть некие правила приличия – общепринятые стандарты и методы. Они происходят из здравого смысла и исторически сложившихся вещей. Все их придерживаются. Многие и многие Оси сильно похожи друг на друга, но переносимости кода в режиме «нажми на кнопку – получишь результат» почти никогда нет. uCOS – не зависит от компиляторов, работает «на всем, что шевелится». Keil – его Ось берет свое начало из uCOS + LwIP, в настоящее время уже сильно докручена. Среда и компилер у Keil просто отличные, времени сэкономите немало, но вот перескочить на другую архитектуру или другу среду будет непросто. Выбор можете сделать только Вы. Внимательно осознайте Ваши цели и поймите: * быстрый старт можно означать немало неоптимальностей в решении, которые Вы просто не успеете понять * академический, правильный старт – очень часто коммерческий проигрыш в нашем суровом мире. Ибо Вы будете не первым. Думать, думать, и еще раз думать. Пробовать, читать, и еще раз думать. На этом разрешите воскресную проповедь считать законченной :)