Jump to content

    

Здесь можно размещять инфу, касательно uC/OS-II. Ранее информация была разбросана по форумам, так как пользователей указанной РТОС оказалось достаточно много, предлагаю всё лить сюда.

Уважаемые коллеги, прошу поделиться по теме ссылками, доками и примерами

 

Вот исходная точка, где первичная информация по теме и бесплатные порты

http://www.ucos-ii.com/

Share this post


Link to post
Share on other sites

Интересно, как много участников форума остановили свой выбор на этой ОС, и для каких MPU?

 

К примеру я имею опыт приенения OS для MSP430, х186

Share this post


Link to post
Share on other sites

У нас на фирме uC/OS портировали на MSP430, M16C, ST10, ARM

Для AVR вот только использовали OS из Ethernut-а, да на PIC-и примеривали SALVO да не нашли практического смысла.

Share this post


Link to post
Share on other sites

Вот ряд ссылок, где были замечены наши коллеги в контексте указанной РТОС :biggrin:

IAR 4.11A uCOS-II CSpy support, Проблемы у установкой

uCOS-II LPC 2124 port, Порт для 2124 (из 2129)

RTOS uC / OS - II, ARM port

uC/OS-II вопрос?

Share this post


Link to post
Share on other sites

У меня вопросы к матерым uC/OS-программистам:

"Кто каким способом решает задачу организации потока STDIO?"

 

К примеру, можно отправлять/принимать сообщения из putch()/в в getch() из/в UART. При этом ресурс UART разделяется с помощью мютекса, естественно.

 

А вот для USB обмен по одному байту смотрится не очень привлекательно.

Организация же пакетного обмена требует подхода.

Например можно использовать sprintf и отправлять сообщение драйверу.

Или же реализовать механизм накопления информации в пакеты по признаку заполнения или <CR>, и только потом передавать сообщение драйверу USB.

 

"В uC/GUI есть что поизучать по существу первого вопроса?"

Каюсь, документацию на ГУИ не читал, потому что не имею.

Share this post


Link to post
Share on other sites

Я переопределял функции _read и _write, а putch и getch оставляю в покое.

Определял глобальную переменную определяющую физический канал для _read и _write.

_write выделяет память для передаваемого блока, копирует его туда и посылает в очередь для данного физического канала. Если очередь заполнена или памяти нет, то ожидание до некоторого предела после чего аборт. Физический канал обслуживаеться в отдельной задаче.

_read соответственно ждет mbox-а от задачи физического канала.

Таким образом printf одинаково работает как с TCP/IP так и с UART-ом.

Share this post


Link to post
Share on other sites

Использую уже несколько лет с ARM-процессором EP7312/7212 фирмы Cirrus Logic, на плате навернуто много разной периферии (многоканальные SPI-контроллеры, Ethernet, и т.п.).

По мере того, как система растет, все чаще появляется желание перейти на что-нибудь более солидное.

В целом, простая и удобная ОС (конечно, в контексте решаемых задач).

Share this post


Link to post
Share on other sites

В поле зрения не попадался порт uC/OS-II v. 2.76 под Cygnal С8051F120 + Keil

Мне удалось оживить порт под C8051F020 , а под 120 - никак ( и дело не в сторожевом таймере и не в других именах регистров, управляющих таймером 0)

Помогите чем можете

--------------------------------

... нуже, люди, НЕ МОЛЧИТЕ !!!

--------------------------------

В общем разобрался. Заработало в живую. Просто в этом примере криво был заюзан системный таймер, а так этот порт уже живой и работает на С8051F120

port_to_C8051F020__8051__by_Junmin_Zheng.zip

Share this post


Link to post
Share on other sites

Port u*C*O*S для TMS470 объявлен, как "coming soon".

Кто нибудь из участников форума уже портировал ось или ждем Лабросса?

Share this post


Link to post
Share on other sites

Я использую uC/OS 2.76 для ARM7TDMI - Philips'овский LPC2214 (OS + порт для арм + LwIP TCP/IP стек). Ничего так себе ось. Хотя мой начальник утверждает что Segger лучше - ядро весит меньше и задержки меньше. Для ARM920T пользую QNX - всё-таки операционка более полноценная и функциями богаче.

 

Кто-то проводил сравнения embedded OS? Поделитесь инфой пожалуйста - очень интересная тема.

Share this post


Link to post
Share on other sites
(OS + порт для арм + LwIP TCP/IP стек).

 

А не дадите пример? А то я щас тоже прикручиваю LwIP к uc/os-ii. Посмотреть интересно :)

Share this post


Link to post
Share on other sites
А не дадите пример? А то я щас тоже прикручиваю LwIP к uc/os-ii. Посмотреть интересно

так посмотрите что свободно в инете, или чем-то неустраивает?

LwIP uC/OS-II port

http://www.geocities.com/michaelanburaj/

http://geocities.com/michaelanburaj/downlo..._ucos_1.011.zip

Share this post


Link to post
Share on other sites
(OS + порт для арм + LwIP TCP/IP стек).

 

А не дадите пример? А то я щас тоже прикручиваю LwIP к uc/os-ii. Посмотреть интересно :)

 

Пример - исходники все выслать? :)

Действительно, если посмотреть по вышеприведенным ссылкам - должно хватить информации... Вот если что получаться не будет - могу помочь!

Share this post


Link to post
Share on other sites
Я использую uC/OS 2.76 для ARM7TDMI - Philips'овский LPC2214 (OS + порт для арм + LwIP TCP/IP стек). Ничего так себе ось. Хотя мой начальник утверждает что Segger лучше - ядро весит меньше и задержки меньше. Для ARM920T пользую QNX - всё-таки операционка более полноценная и функциями богаче.

 

 

Поднял uC/OS 2.76 на at91rm9200 (OS + порт + GUI для дисплея 320x240x18bit в режиме 16bpp), файловую систему и USB сейчас поднимает DIM. Теперь понадобилось прикрутить TCP/IP стек. Смотрю на все это и думаю, что хиловата uC/OS для таких задач. Стал смотреть на QNX, действительно более полноценная, TCP/IP встроен в ядро, ну и т.п. Но вот хотелось бы узнать у тех кто с QNX работает - как писать bsp. Чего - то на оффициальном сайте я документации про это не нашел. Ткните хоть, если я просмотрел. А еще неплохо бы маленький примерчик.

Share this post


Link to post
Share on other sites
Поднял  uC/OS 2.76 на at91rm9200 (OS + порт  + GUI для дисплея 320x240x18bit в режиме 16bpp), файловую систему и USB сейчас поднимает DIM. Теперь понадобилось прикрутить TCP/IP стек. Смотрю на все это и думаю, что хиловата uC/OS для таких задач. Стал смотреть на QNX, действительно более полноценная,  TCP/IP встроен в ядро, ну и т.п. Но вот хотелось бы узнать у тех кто с QNX работает - как писать bsp. Чего - то на оффициальном сайте я документации про это не нашел. Ткните хоть, если я просмотрел. А еще неплохо бы маленький примерчик.

 

bsp как писать есть на сайте - ищите Building Embedded Systems. Сам BSP состоит из IPL (initial program loader) - по сути инициализация железа и Startup - инициализация образа ОС, системных переменных... В любом случае, чтобы разобраться - надо с исходниками работать, а они есть только в Momentics PE, который стоит денег.

 

P.S. Сори за офф - тут вроде uC/OS обсуждается... нужно с вопросами по QNX в другую ветку перелезть :)

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this