реклама на сайте
подробности

 
 
> RTOS для STR912fw44 RTOS, планировщик задач
Новичек
сообщение Apr 6 2013, 17:31
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 18
Регистрация: 6-04-13
Пользователь №: 76 382



Всем доброго времени суток!
Мне нужно реализовать планировщик задач. Для начала самый простой: без приоритетов через квант времени переключать два какие-нибудь процесса.
p.s. извините что если это глупый вопрос)

Сообщение отредактировал Новичек - Apr 6 2013, 17:33
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Новичек
сообщение Apr 30 2013, 14:03
Сообщение #2


Участник
*

Группа: Участник
Сообщений: 18
Регистрация: 6-04-13
Пользователь №: 76 382



Спасибо Александр.
Как я понял там 3 проекта: Flash, Ram, extRam. Когда компилируешь выдает кучу ошибок. Мне кается что в проектах не хватает файлов Ekernel и EkernelComps. Можешь ещё сказать какие файлы что означает а то я их открываю и голова сразу взрывается... Не понимаю как связь организована между ними и что каждый из них может делать. Какие из этих файлов представляют особую важность для начального освоения. с чего начать? может быть где то лежит документация на русском что означают сокращения? Можете ещё объяснить как по схеме что нибудь понять) хот бы одну логическую цепочку.
p.s. где мигалка то? ))) и какие файлы для её работы необходимы?

Сообщение отредактировал Новичек - Apr 30 2013, 14:07
Go to the top of the page
 
+Quote Post
AlexandrY
сообщение Apr 30 2013, 19:39
Сообщение #3


Ally
******

Группа: Модераторы
Сообщений: 6 232
Регистрация: 19-01-05
Пользователь №: 2 050



Цитата(Новичек @ Apr 30 2013, 17:03) *
Спасибо Александр.
Как я понял там 3 проекта: Flash, Ram, extRam. Когда компилируешь выдает кучу ошибок. Мне кается что в проектах не хватает файлов Ekernel и EkernelComps. Можешь ещё сказать какие файлы что означает а то я их открываю и голова сразу взрывается... Не понимаю как связь организована между ними и что каждый из них может делать. Какие из этих файлов представляют особую важность для начального освоения. с чего начать? может быть где то лежит документация на русском что означают сокращения? Можете ещё объяснить как по схеме что нибудь понять) хот бы одну логическую цепочку.
p.s. где мигалка то? ))) и какие файлы для её работы необходимы?


Эт потому что взялись компилировать последним Keil-ом, а я ж говорил, что проект старый. Значит и компилировать надо старыми тулсами. biggrin.gif
Но ничего, я исправил. Снова скачайте по старой ссылке.
Keil в последних своих хидерах RTL.h взялся объявлять BSD сокеты, а в проекте они уже были в TCP стеке микриума.
Ekernel я убрал чтоб не мешал, это был движок логического контроллера.

Еще я добавил схему верхней платы поскольку светодиоды находились на ней. Платы связаны через 40-а пиновый разъем X5 (на main board) и X14 (на AddOn board).
Светодиоды управляются с помощью микросхемы расширителя портов по I2C (U5 на AddOn board, MCP23016-I/SS). I2C идет по линиям SDA1, SCL1 на контакты 13, 14 разъема X14 (на AddOn board) и приходит к микроконтроллеру (U2, STR912FW44X6) на ноги 33, 35 на main board.

Все начинается с файла app.c, там процедура main. В ней создается задача AppManTask в которой инициализируется расширитель портов, драйвер UART, виртуальный COM порт по USB, WEB сервер, VT100 терминал и проч. и кроме этого создается задача LedTask в которой то и производится циклическое включение и выключение всех светодиодов.

Сама RTOS находится в директории UCOS. Я ее скомпилировал в библиотеку. Там найдете проект для компиляции библиотеки.
Тут же и самый важный и самый хитрый и самый критичный файл RTOS - os_cpu_a.asm.
Это ручная работа, которая выполняется для каждой платформы индивидуально, переключатель контекстов RTOS. От надежности и оптимальности этого переключателя зависит стабильность и быстродействие всей оси и то насколько быстро будут обрабатываться все прерывания.

На втором по важности месте находятся файлы в директории BSP. Там собраны процедуры низкоуровневой работы с периферией. В других осях их бы называли драйверами, но в UCOS нет выраженной концепции драйверов, поэтому там просто наборы функций для работы с интерфейсами, портами, таймерами и проч. В частности за работу с расширителем портов по I2C отвечает файл MCP23016_IOexp.c

Стек TCP микриума находится в директории TCP
В USB находится понятно все что связано с USB.
Дальше уж как нибудь сами разбирайтесь.
В проекте есть файл proj.vpw это рабочее пространство редактора SlickEdit, я всегда им пользуюсь для написания и изучения исходников. Рекомендую.

Проект Keil карту адресов берет из диалога в IDE.
.sct файлы не используются.
Проект грузится во Flash и выполняется с адреса 0.
Там сами смотрите STR91x_startup.s если что пойдет не так с инициализацией памяти.
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- Новичек   RTOS для STR912fw44 RTOS   Apr 6 2013, 17:31
- - SII   А в чём сложность-то? Заводите области сохранения ...   Apr 6 2013, 17:35
- - Ruslan1   Цитата(Новичек @ Apr 6 2013, 20:31) Всем ...   Apr 6 2013, 17:48
- - Новичек   У меня курсовая работа. Научник сказал написать пл...   Apr 6 2013, 18:26
|- - haker_fox   QUOTE (Новичек @ Apr 7 2013, 03:26) Я не ...   Apr 7 2013, 06:24
|- - AlexandrY   Цитата(Новичек @ Apr 6 2013, 21:26) У мен...   Apr 7 2013, 16:32
|- - Новичек   Цитата(AlexandrY @ Apr 7 2013, 20:32) Ква...   Apr 7 2013, 17:37
- - Новичек   Где найти этот таймер или есть какая та определенн...   Apr 7 2013, 15:45
- - Новичек   Где можно скачать uCOS-II? Никак не могу найти.   Apr 13 2013, 17:13
|- - _Артём_   Цитата(Новичек @ Apr 13 2013, 20:13) Где ...   Apr 13 2013, 17:46
- - Новичек   Помогите создать проект в Keil для str912 мигания ...   Apr 29 2013, 13:17
|- - AlexandrY   Цитата(Новичек @ Apr 29 2013, 16:17) Помо...   Apr 29 2013, 19:55
- - =AK=   Цитата(Новичек @ Apr 7 2013, 03:01) Мне н...   Apr 30 2013, 23:03
- - Новичек   А что на основной плате нет диодов? ОЧень много ф...   May 2 2013, 13:10
|- - AlexandrY   Цитата(Новичек @ May 2 2013, 16:10) А что...   May 2 2013, 13:58
- - Новичек   У меня курсовая работа. Научник сказал рабирайся с...   May 2 2013, 14:32
|- - AlexandrY   Цитата(Новичек @ May 2 2013, 17:32) ... ч...   May 2 2013, 19:30
- - Новичек   Разбирал пример RTX_Blinky. Возникли следующие воп...   May 3 2013, 18:08
|- - AlexandrY   Цитата(Новичек @ May 3 2013, 21:08) Разби...   May 3 2013, 19:31
- - Новичек   Спасибо за ваши ответы! по 1 вопросу. получае...   May 5 2013, 13:28
|- - AlexandrY   Цитата(Новичек @ May 5 2013, 16:28) Спаси...   May 5 2013, 20:09
- - Новичек   ЦитатаСмотрите схему платы На какую схему смотрет...   May 6 2013, 11:09
|- - AlexandrY   Цитата(Новичек @ May 6 2013, 14:09) На ка...   May 8 2013, 13:01
- - Новичек   Цитатаили попробовать запустить проект в симулятор...   May 9 2013, 13:26
|- - AlexandrY   Цитата(Новичек @ May 9 2013, 16:26) Как э...   May 9 2013, 13:58
- - Новичек   Шаг 1. Выбирает конфигурацию симулятора Шаг 2. Зап...   May 12 2013, 19:07
- - Новичек   У меня появилась плата MCB-STR9. Запустил на нее м...   May 16 2013, 14:46
- - Новичек   В проекте Measure есть описание как подключить кно...   May 18 2013, 19:23
|- - toweroff   Цитата(Новичек @ May 18 2013, 23:23) Что ...   May 19 2013, 08:04
- - Новичек   В мануале только написано что POR бит установления...   May 23 2013, 19:32
- - Новичек   В примере где задействов­ан потенциоме­тр blinky.p...   May 24 2013, 17:10


Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 31st July 2025 - 00:38
Рейтинг@Mail.ru


Страница сгенерированна за 0.01421 секунд с 7
ELECTRONIX ©2004-2016