Введение
В данной статье описывается структура библиотеки, использующийся в проекте.
Актуальность данной библиотеку будет заключаться в том, что различные драйверы для работы с uart, i2c и другими необходимыми библиотеками я буду писать для RTOS OSA, как компактной и имеющей всю документацию на русском языке. Архитектура микроконтроллера STM8 максимально оптимизирована для использования RTOS. На сайте pic24.ru в разделе скоростные характеристик увидите, что скорость переключения задач у STM8 при использовании компилятора COSMIC максимально быстрая.
Создание проекта
Для создания проекта необходимо:
- Создать Рабочее пространство (Workspace)
- Создать Проект и Выбрать необходимый контроллер
- Скачать Библиотеку stm8l15x_osa или stm8s_osa.
- Скопировать все файлы и папки библиотеки с заменой файлов.
- Обязательно проверить в файле stm8l15x.h класс контроллера и раскомментировать необходимый контроллер.
- Включить необходимую периферию в файле stm8l15x_conf.h
- Скомпилировать проект
После данных манипуляций у вас должен собраться проект.
Структура библиотеки
Библиотека в настоящее время является склейкой двух библиотек в одну. За основу взята стандартная библиотека StdPeriph_Lib c сайта st.com. В качестве планировщика я выбрал RTOS OSA.
Рассмотрим библиотеку StdPeriph_Lib. Она состоит из следующих файлов и папок.
- Главный файл main.c - содержит вход в программу, а также подключение главного заголовочного файла stm8l15x.h.
- Главный заголовочный файл stm8l15x.h включает в себя все заголовочные файлы драйверов и определения всех периферийных регистров.
- Главный конфигурационный файл stm8l15x_conf.h содержит подключаемые заголовочные файлы, которые необходимы для настройки модулей.
- Главный исходный код stm8l15x_it.c - включает все исходные тексты драйверов, а также содержит заготовки обработчиков прерываний. Данный файл необходимо включать в проект в ручную.
- Заголовочный файл stm8l15x_it.h - необходим для работы с прерываниями.
- Системный файл stm8_interrupt_vector.c - создается при создании проекта для описания таблицы прерываний.
- Папка inc - содержит заголовочные файлы всех драйверов
- Папка src - содержит исходные коды всех драйверов
Структура библиотеки RTOS OSA.
- Заголовочный файл osa.h - подключается в файле stm8l15x_conf.h
- Исходные коды osa.c - включает все исходные коды файлов RTOS OSA
- Конфигурационный файл OSAcfg.h содержит все настройки для RTOS OSA
- Папка kernel - содержит платформо-независимый код для RTOS OSA
- Папка port - содержит платформо-зависимый код для RTOS OSA
Если вы используете другой контроллер не забудьте настроить библиотеку в файле stm8l15x.h.
Для контроллеров семейства STM8S структура будет аналогичной.
Расширение библиотеки
Все модули, которые я планирую дописывать, должны будут находится в папке inc и src. Подключение всех модулей будет находится в папке stm8l15x_conf.h. По мере добавления библиотек я постараюсь публиковать статьи.
Литература и ссылки
1. pic24.ru - сайт с описанием и исходниками RTOS OSA
2. https://github.com/acc1408/stm8l15x_osa - репозиторий с исходным кодом библиотеки
3. STSW-STM8016 - стандартная библиотека от stm
Комментарии (0) | Я собрал (0) | Подписаться
Для добавления Вашей сборки необходима регистрация