1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/personal_chenjl-AnOs

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Клонировать/Скачать
Внести вклад в разработку кода
Синхронизировать код
Отмена
Подсказка: Поскольку Git не поддерживает пустые директории, создание директории приведёт к созданию пустого файла .keep.
Loading...
README.md

Введение

Встроенное в реальном времени операционное разделение системы, разработанное на основе серии ARM M4. Разработано по образцу VxWorks653.
Среда разработки: Keil uVersion5.
Пример программы работает на контроллере STM32F427.
Эта система предназначена для использования в качестве операционной системы в области высоконадёжных приложений.

Архитектура программного обеспечения

Система состоит из следующих компонентов: BOOT, OS, APP1, APPN и т. д.
BOOT отвечает за настройку системных часов при запуске, переход в режим прошивки для прошивки OS или задач каждого раздела; либо прямой переход к OS.
OS представляет собой операционную систему реального времени с разделением по времени, которая отвечает за планирование задач каждого модуля, предоставляет драйверы для внешних аппаратных интерфейсов и защищает выполнение задач каждого раздела.
APPn — это задачи каждого раздела, разработанные соответствующим образом в соответствии с фактическими требованиями приложения.

Задачи каждого раздела взаимодействуют друг с другом через общую память.

Руководство по установке

Исходный код предоставляет два примера задач раздела, одна из которых отвечает за управление состоянием работы светодиода с периодом 1 с; другая задача раздела отвечает за вывод строки «abc» с периодом 1 с через последовательный порт 1.
Драйвер предоставляет пример интерфейса управления светодиодом GPIO и COM1.

Используйте загрузчик для загрузки BOOT в адрес FLASH 0x0800000, загрузки OS в 0x08008000, загрузки APP1 в 0x08020000 и загрузки APP2 в 0x08040000. Затем перезагрузите устройство для запуска целевой программы.

Перенос

Основные сведения

Текущая среда разработки использует Keil, а тестовая платформа — STM32F42X. В настоящее время большинство серий ARM-3 и ARM-4 поддерживаются теоретически, но требуется аппаратное обеспечение с плавающей точкой и опциональное MPU (блок защиты памяти).

BOOTLOADER

Целевая плата должна иметь как минимум USART1 для облегчения обновления BOOTLOADER. Это текущий способ обновления, поддерживаемый этой версией.
Адрес прошивки BOOTLOADER — 0x08000000. Занимает 32 КБ пространства. Выполняется после включения питания и сброса.
Основная функция BOOTLOADER заключается в настройке системных часов, таких как использование внешних часов и настройка рабочих частот и основных частот каждой шины.

OS

OS необходимо настроить диапазон использования ROM, RAM и общей памяти для каждого приложения, а также права доступа к общей памяти. Если используется MPU, он будет включён для защиты доступа; настроить рабочий цикл, приоритет и размер стека каждого приложения; предоставить интерфейсы драйверов для основных аппаратных устройств, таких как светодиоды и последовательные порты.

Адрес загрузки OS — 0x08008000, занимает 32 КБ пространства.
Во время выполнения OS динамически проверяет безопасность пространства стека и, при условии включения функции MPU, защищает пространство выполнения каждой задачи раздела.

APP

Разрабатывайте приложения в соответствии с потребностями задач, и доступ к базовым ресурсам осуществляется путём вызова функций интерфейса операционной системы. Передача данных между приложениями осуществляется через общую память, или можно использовать события, предоставляемые операционной системой, для передачи уведомлений.
При настройке каждого проекта приложения обратите внимание на использование библиотеки OS и настройте правильные адреса ROM и RAM в соответствии с заранее определёнными областями. В противном случае операционная система не запустит незаконные задачи разделов.

Параметры по умолчанию

  • Использование внешнего кристалла 12 МГц
  • Настройка основной частоты на 168 МГц
  • Управление светодиодами с помощью GPIOC.Pin3
  • USART1 использует GPIOA.Pin9 и GPIOA.Pin10 в качестве интерфейса устройства

Пример процесса демонстрации

  1. Откройте рабочую область MultiTask в каталоге RTOS_APP.uvmpw.
  2. Измените макрос PLL_M в файле Boot/start/boot.c в проекте osBOOT в зависимости от частоты кристалла, затем скомпилируйте.
  3. Измените конфигурацию аппаратного обеспечения в файлах AnOs/Drv/DrvLed.c и DrvUart.c, затем скомпилируйте.
  4. Установите проекты osBoot, AnOs, App1 и App2 как активные проекты, затем загрузите их на целевую плату.
  5. Сбросьте целевую плату, светодиод будет мигать каждые 2 секунды, и последовательный порт будет выводить строку «abc» каждые 1 секунду.

Комментарии ( 0 )

Вы можете оставить комментарий после Вход в систему

Введение

Описание недоступно Развернуть Свернуть
MIT
Отмена

Обновления

Пока нет обновлений

Участники

все

Недавние действия

Загрузить больше
Больше нет результатов для загрузки
1
https://api.gitlife.ru/oschina-mirror/personal_chenjl-AnOs.git
git@api.gitlife.ru:oschina-mirror/personal_chenjl-AnOs.git
oschina-mirror
personal_chenjl-AnOs
personal_chenjl-AnOs
master