На главную Наши проекты:
Журнал   ·   Discuz!ML   ·   Wiki   ·   DRKB   ·   Помощь проекту
ПРАВИЛА FAQ Помощь Участники Календарь Избранное RSS
msm.ru
  
    > Как устанавливаются встраиваемые операционные системы на встраиваемые устройства , А также еще ряд вопросов.
      Допустим решил я разработать устройство, со сложным функционалом, с устройствами ввода (миниклавиатура), устройства вывода (дисплей), интерфейсы rs-232 и т. д. Понятно что тут речь идет не об обыкновенном программировании на С микроконтроллеров AVR, а тут уже нужно использовать какую-то встраиваемую операционную систему для таких сложных устройств и уже разрабатывать функционал, интерфейс поверх ее.

      Откуда ряд вопросов:

      1. Как устанавливаются на такое специализированное железо подобные встраиваемые операционные системы, ведь это не классический компьютер с дисками, дисководами и т. д.


      2. Как и с помощью каких инструментов ведется разработка программы на такие устройства.

      3. Обязательно ли делать "железную" часть самому, имею в виду платы конструировать и изготавливать или можно воспользоваться готовыми решениями, например готовая плата с контроллером и его обвязкой, соответственно только присоединяешь дисплей и устройства ввода вывода, все это заключить в корпус и разработать программную часть.

      И чего-нибудь бы еще почитать если знаете более подробно на эту тему. Потому что литературы по программированию avr без всяких операционных систем полно, а вот что-то посложнее со встраиваемыми операционными системами "на борту" я чего-то и не нашел.
        Цитата SNN @
        Допустим решил я разработать устройство, со сложным функционалом, с устройствами ввода (миниклавиатура), устройства вывода (дисплей), интерфейсы rs-232 и т. д. Понятно что тут речь идет не об обыкновенном программировании на С микроконтроллеров AVR,

        Вовсе нет.
        Возможно, изучение встраиваемой OC и ее использование
        будет делом более сложным, чем программирование
        вышеуказанных устройств "напрямую".

        RTOS для микроконтроллера может быть представлена в виде
        исходников или статических библиотек. Вместе с твоими исходниками
        все собирается в единый исполняемый файл который "прошивается"
        в микроконтроллер. А как иначе ?

        Можно почитать и посмотреть :
        раз
        два
        три
        четыре
        пять
        Сообщение отредактировано: ЫукпШ -
          Цитата
          Возможно, изучение встраиваемой OC и ее использование
          будет делом более сложным, чем программирование
          вышеуказанных устройств "напрямую".


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

          Цитата

          Вместе с твоими исходниками
          все собирается в единый исполняемый файл который "прошивается"
          в микроконтроллер. А как иначе ?


          Ничего себе, то есть обычным программатором этот готовый исполняемый файл вшивается в память и все готово. А мне казалось, что там что-то сверхсложное, видимо названия "операционная сиситема" просто меня "напугало".
          Сообщение отредактировано: SNN -
            Там от операционной системы по сути только планировщик задач.
              Помимо планировщика, как правило, есть передача сообщений между процессами и что нибудь типа семафоров

              Задачи компилируются вместе с самой операционной системой в один исполняемый модуль. Скорость переключения между процессами низкая, порядка миллисекунд. Съедает заметное количество оперативной памяти и памяти программ. Для чего нибудь путного трудно использовать. В принципе, можно использовать для быстрого переноса отлаженной задачи между разными контроллерами или разными типами контроллеров для которых есть одни и та же РТОС

              Даже если посмотреть на первые микрокомпьютеры типа Спектрума, там операционка занималась по сути только загрузкой программы, плюс программа могла использовать готовые подпрограммы операционки. Разделения ресурсов между задачами и смены контента задач там не было.

              На мой взгляд, операционную систему нужно использовать начиная с задач где есть работа с файлами (прием, передача, хранение, обработка), а это уже на контроллерах другого уровня, ни как не на восьми килобайтах озу и в пару десятков мегагерц тактовой.
                Цитата
                а это уже на контроллерах другого уровня, ни как не на восьми килобайтах озу и в пару десятков мегагерц тактовой


                То для ARM-ов хотя-бы?
                Сообщение отредактировано: SNN -
                  Цитата SNN @
                  То для ARM-ов хотя-бы?
                  да

                  Добавлено
                  необязательно АРМ, есть и другие процессоры и микроконтроллеры достаточной производительности. АРМ это ядро и оно становится фактически стандартом для подобного уровня процессоров
                    Для 8-битных AVR-ок ОС не особо-то и нужна, ибо сама ОС будет жрать не мало ресурсов.

                    Цитата SNN
                    Обязательно ли делать "железную" часть самому, имею в виду платы конструировать и изготавливать или можно воспользоваться готовыми решениями, например готовая плата с контроллером и его обвязкой, соответственно только присоединяешь дисплей и устройства ввода вывода, все это заключить в корпус и разработать программную часть.


                    При разработке устройств, очень часто используют готовые отладочные платы (есть много производителей, Olimex,Embedded Artist etc...), на которых установлено много всякой периферии (очень часто не нужной), разрабатывают код, потом уже на основе этой отладочной платы делают окончательный вариант железки, выкидывая все лишнее с платы, оставляя только необходимую периферию...

                    Цитата SNN
                    Как и с помощью каких инструментов ведется разработка программы на такие устройства.


                    Обычные средства разработки, которыми производится разработка программ без ОС.

                    Цитата ЫукпШ
                    Возможно, изучение встраиваемой OC и ее использование
                    будет делом более сложным, чем программирование
                    вышеуказанных устройств "напрямую".


                    Дело все в том, что в маленьких ОС, типа FreeRTOS,scmRTOS, ни какой абстракции оборудования нет, и программирование железа и работа с ним, мало чем отличается от однопоточных программ, просто появляются нюансы связанные с многопоточностью (разрешение конфликтов при одновременном доступе). Вот в крупных ОС типа Linux, работа с железом напрямую не ведется. Поэтому изучать железо все равно необходимо.
                      Спасибо.
                      0 пользователей читают эту тему (0 гостей и 0 скрытых пользователей)
                      0 пользователей:


                      Рейтинг@Mail.ru
                      [ Script execution time: 0,0301 ]   [ 15 queries used ]   [ Generated: 2.05.24, 04:52 GMT ]