Print this page

scmRTOS для AVR. "Установка". Вариант для IAR`a

10/08/2010 - 20:04
 
   Для начала я бы рекомендовал вам почитать документацию на scmRTOS. Там много полезной информации по операционным системам в целом и про устройство и работу scmRTOS.

   Если вы уже ознакомились с этим документом, у вас есть какие-то начальные знания или просто не терпится начать использовать ОСРВ, давайте начнем с установки  операционной системы.

Процесс установки включает в себя:

    1. Копирование файлов scmRTOS в заданную папку,
    2. Создание проекта в IAR,
    3. Копирование конфигурационных файлов scmRTOS в папку проекта,
    4. Подключение файлов scmRTOS к проекту,
    5. Настройка проекта.


Итак, приступаем.

 1.  Скачиваем архив с ScmRTOS и открываем его. Папки с номерами 1, 2, 3 – это демонстрационные примеры. Папка scmRTOS – файлы нашей ОСРВ. Операционная система состоит из двух наборов файлов – общая часть (папка Common) и платформеннозависимая часть (папка AVR).
   Создаем папку, в которой у нас будут храниться все проекты, использующие эту ОСРВ. Например - scmRTOS-proj. Записываем в нее папку scmRTOS.

2. Открываем IAR и создаем новый проект.
Project > Create New Project
Выбираем Project templates – C++ >main.
Затем Ок и сохраняем проект в папке scmRTOS-proj\test под именем test.

3. Из любой папки с демо примером копируем файлы scmRTOS_TARGET_CFG.h и scmRTOS_CONFIG.h в папку нашего проекта, то есть в scmRTOS-proj\test.
scmRTOS_CONFIG.h – это конфигурационный файл scmRTOS. В нем задаются различные настройки операционной системы – количество процессов, механизм переключения контекста, разрешение вложенных прерываний и т.п. Это все мы потом рассмотрим.
   Не знаю, почему этих файлов нет в «дистрибутиве» scmRTOS. Или я что-то не нашел, или я что-то не понимаю.

4. Подключаем к нашему проекту файлы scmRTOS.
Project > Add files…

OS_Kernel.cpp
OS_Services.cpp
OS_Target_cpp.cpp
OS_Target_asm.s90
usrlib.cpp

Эти файлы лежат в scmRTOS\AVR и scmRTOS\Common
 
5. Задаем настройки проекта Project > Options.

General Options
         Target
               Processor configuration > ATMega8535
               Memory model > small
          System
               Ставим галочку Enable bit definition..

С/С++ Compiler
           Language
               Extended Embedded C++
           Optimizations
               Speed > High
           Preprocessor
                В поле Additional include directories прописываем пути к файлам
                scmRTOS               
         
                $PROJ_DIR$\..\scmRTOS\Common\
                $PROJ_DIR$\..\scmRTOS\AVR\
                $PROJ_DIR$\

Assembler
            Preprocessor
                $TOOLKIT_DIR$\INC\
                $PROJ_DIR$\

Linker
          Output file
                 Test.hex
          Format > other > intel-standart

    Ну вот, все готово. Теперь мы можем создать свой первый проект на основе scmRTOS, но об в другой раз.

Архив с  scmRTOS-IARAVR
Документация на scmRTOS
Демонстрационный проект для IAR`a
Проект для Proteus`a.

P.S.: Только не надо ругаться, что я стреляю из пушки по воробьям, используя RTOS для моргания светодиодами. Я просто отдаю дань традициям :)  С WINAVR пока не разобрался, но ученые бьются над этим...

Related items