Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: uC/OS-II
Форум разработчиков электроники ELECTRONIX.ru > Cистемный уровень проектирования > Операционные системы > uC/OS-II
Страницы: 1, 2, 3, 4
one_man_show
Здесь можно размещять инфу, касательно uC/OS-II. Ранее информация была разбросана по форумам, так как пользователей указанной РТОС оказалось достаточно много, предлагаю всё лить сюда.
Уважаемые коллеги, прошу поделиться по теме ссылками, доками и примерами

Вот исходная точка, где первичная информация по теме и бесплатные порты
http://www.ucos-ii.com/
stremglav
Интересно, как много участников форума остановили свой выбор на этой ОС, и для каких MPU?

К примеру я имею опыт приенения OS для MSP430, х186
AlexandrY
У нас на фирме uC/OS портировали на MSP430, M16C, ST10, ARM
Для AVR вот только использовали OS из Ethernut-а, да на PIC-и примеривали SALVO да не нашли практического смысла.
one_man_show
Вот ряд ссылок, где были замечены наши коллеги в контексте указанной РТОС biggrin.gif
IAR 4.11A uCOS-II CSpy support, Проблемы у установкой
uCOS-II LPC 2124 port, Порт для 2124 (из 2129)
RTOS uC / OS - II, ARM port
uC/OS-II вопрос?
stremglav
У меня вопросы к матерым uC/OS-программистам:
"Кто каким способом решает задачу организации потока STDIO?"

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

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

"В uC/GUI есть что поизучать по существу первого вопроса?"
Каюсь, документацию на ГУИ не читал, потому что не имею.
AlexandrY
Я переопределял функции _read и _write, а putch и getch оставляю в покое.
Определял глобальную переменную определяющую физический канал для _read и _write.
_write выделяет память для передаваемого блока, копирует его туда и посылает в очередь для данного физического канала. Если очередь заполнена или памяти нет, то ожидание до некоторого предела после чего аборт. Физический канал обслуживаеться в отдельной задаче.
_read соответственно ждет mbox-а от задачи физического канала.
Таким образом printf одинаково работает как с TCP/IP так и с UART-ом.
si21
Использую уже несколько лет с ARM-процессором EP7312/7212 фирмы Cirrus Logic, на плате навернуто много разной периферии (многоканальные SPI-контроллеры, Ethernet, и т.п.).
По мере того, как система растет, все чаще появляется желание перейти на что-нибудь более солидное.
В целом, простая и удобная ОС (конечно, в контексте решаемых задач).
Yra
В поле зрения не попадался порт uC/OS-II v. 2.76 под Cygnal С8051F120 + Keil
Мне удалось оживить порт под C8051F020 , а под 120 - никак ( и дело не в сторожевом таймере и не в других именах регистров, управляющих таймером 0)
Помогите чем можете
--------------------------------
... нуже, люди, НЕ МОЛЧИТЕ !!!
--------------------------------
В общем разобрался. Заработало в живую. Просто в этом примере криво был заюзан системный таймер, а так этот порт уже живой и работает на С8051F120
stremglav
Port u*C*O*S для TMS470 объявлен, как "coming soon".
Кто нибудь из участников форума уже портировал ось или ждем Лабросса?
klogg
Я использую uC/OS 2.76 для ARM7TDMI - Philips'овский LPC2214 (OS + порт для арм + LwIP TCP/IP стек). Ничего так себе ось. Хотя мой начальник утверждает что Segger лучше - ядро весит меньше и задержки меньше. Для ARM920T пользую QNX - всё-таки операционка более полноценная и функциями богаче.

Кто-то проводил сравнения embedded OS? Поделитесь инфой пожалуйста - очень интересная тема.
SergeyL
Цитата(klogg @ Jun 21 2005, 09:31)
(OS + порт для арм + LwIP TCP/IP стек).
*


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

так посмотрите что свободно в инете, или чем-то неустраивает?
LwIP uC/OS-II port
http://www.geocities.com/michaelanburaj/
http://geocities.com/michaelanburaj/downlo..._ucos_1.011.zip
klogg
Цитата(SergeyL @ Jun 21 2005, 16:00)
Цитата(klogg @ Jun 21 2005, 09:31)
(OS + порт для арм + LwIP TCP/IP стек).
*


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



Пример - исходники все выслать? smile.gif
Действительно, если посмотреть по вышеприведенным ссылкам - должно хватить информации... Вот если что получаться не будет - могу помочь!
Brukkel Dmitry
Цитата(klogg @ Jun 21 2005, 10:31)
Я использую 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. Чего - то на оффициальном сайте я документации про это не нашел. Ткните хоть, если я просмотрел. А еще неплохо бы маленький примерчик.
klogg
Цитата(Brukkel Dmitry @ Jul 5 2005, 15:11)
Поднял  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 в другую ветку перелезть smile.gif
FreeCoderr
Подскажите, плз, можно ли в инете найти книгу "MicroC/OS-II, The Real-Time Kernel" Jean J. Labrosse? Очень хочу почитать, что умный дядька написал =)
Evgeny_CD
Цитата(FreeCoderr @ Aug 25 2005, 19:08)
"MicroC/OS-II, The Real-Time Kernel" Jean J. Labrosse?
1. Она лежит на местном ФТП.
2. Но поскольку доступа у Вас нет - напишите мне на esp1 псюг kbkcc.ru - вышлю.
kpv
не надо такие хорошие книжки прятать далеко
тем более, что копирайтами самой книги не возбраняется
http://kpv.nnov.ru/books.html
Ken@t
Выкачено из осла ,
ucos segger gui 45М ( gui406kg952)
ucos 26M (arm)

+
Searching ZIP: UCOS-II.ZIP

Length Method Size Ratio Date Time Name
------ ------ ----- ----- ---- ---- ----
22043 Implode 4856 78% 09-04-98 18:39 BLOCKS/PC/SOURCE/PC.C
3261 Implode 1016 69% 09-04-98 18:39 BLOCKS/PC/SOURCE/PC.H
16352 Implode 9993 39% 09-04-98 18:39 HPLISTC/EXE/HPLISTC.EXE
16089 Implode 3409 79% 09-04-98 18:39 HPLISTC/SOURCE/HPLISTC.C
18583 Implode 11224 40% 09-04-98 18:39 TO/EXE/TO.EXE
414 Implode 174 58% 09-04-98 18:39 TO/EXE/TO.TBL
11522 Implode 2404 80% 09-04-98 18:39 TO/SOURCE/TO.C
7553 Implode 1919 75% 09-04-98 18:39 UCOS-II/EX1_X86L/EX1L.C
2559 Implode 775 70% 09-04-98 18:39 UCOS-II/EX1_X86L/EX1L.DSK
6527 Implode 1698 74% 09-04-98 18:39 UCOS-II/EX1_X86L/EX1L.PRJ
901 Implode 326 64% 09-04-98 18:39 UCOS-II/EX1_X86L/INCLUDES.H
60842 Implode 30276 51% 09-04-98 18:39 UCOS-II/EX1_X86L/OBJ/EX1L.EXE
30312 Implode 6493 79% 09-04-98 18:39 UCOS-II/EX1_X86L/OBJ/EX1L.MAP
4280 Implode 2730 37% 09-04-98 18:39 UCOS-II/EX1_X86L/OBJ/EX1L.OBJ
1493 Implode 1083 28% 09-04-98 18:39 UCOS-II/EX1_X86L/OBJ/OS_CPU_A.OBJ
2393 Implode 1393 42% 09-04-98 18:39 UCOS-II/EX1_X86L/OBJ/OS_CPU_C.OBJ
5173 Implode 3222 38% 09-04-98 18:39 UCOS-II/EX1_X86L/OBJ/PC.OBJ
13768 Implode 8434 39% 09-04-98 18:39 UCOS-II/EX1_X86L/OBJ/UCOS_II.OBJ
3497 Implode 948 73% 09-04-98 18:39 UCOS-II/EX1_X86L/OS_CFG.H
15823 Implode 3126 81% 09-04-98 18:39 UCOS-II/EX2_X86L/EX2L.C
2997 Implode 1040 66% 09-04-98 18:39 UCOS-II/EX2_X86L/EX2L.DSK
6533 Implode 1678 75% 09-04-98 18:39 UCOS-II/EX2_X86L/EX2L.PRJ
903 Implode 328 64% 09-04-98 18:39 UCOS-II/EX2_X86L/INCLUDES.H
61668 Implode 32051 49% 09-04-98 18:39 UCOS-II/EX2_X86L/OBJ/EX2L.EXE
30478 Implode 6607 79% 09-04-98 18:39 UCOS-II/EX2_X86L/OBJ/EX2L.MAP
6989 Implode 4127 41% 09-04-98 18:39 UCOS-II/EX2_X86L/OBJ/EX2L.OBJ
1493 Implode 1083 28% 09-04-98 18:39 UCOS-II/EX2_X86L/OBJ/OS_CPU_A.OBJ
2471 Implode 1435 42% 09-04-98 18:39 UCOS-II/EX2_X86L/OBJ/OS_CPU_C.OBJ
5166 Implode 3219 38% 09-04-98 18:39 UCOS-II/EX2_X86L/OBJ/PC.OBJ
15165 Implode 9230 40% 09-04-98 18:39 UCOS-II/EX2_X86L/OBJ/UCOS_II.OBJ
3493 Implode 953 73% 09-04-98 18:39 UCOS-II/EX2_X86L/OS_CFG.H
19282 Implode 3810 81% 09-04-98 18:39 UCOS-II/EX3_X86L/EX3L.C
2988 Implode 1009 67% 09-04-98 18:39 UCOS-II/EX3_X86L/EX3L.DSK
6533 Implode 1675 75% 09-04-98 18:39 UCOS-II/EX3_X86L/EX3L.PRJ
2073 Implode 561 73% 09-04-98 18:39 UCOS-II/EX3_X86L/INCLUDES.H
56103 Implode 26906 53% 09-04-98 18:39 UCOS-II/EX3_X86L/OBJ/EX3L.EXE
30755 Implode 6765 79% 09-04-98 18:39 UCOS-II/EX3_X86L/OBJ/EX3L.MAP
8592 Implode 5089 41% 09-04-98 18:39 UCOS-II/EX3_X86L/OBJ/EX3L.OBJ
1493 Implode 1083 28% 09-04-98 18:39 UCOS-II/EX3_X86L/OBJ/OS_CPU_A.OBJ
1491 Implode 928 38% 09-04-98 18:39 UCOS-II/EX3_X86L/OBJ/OS_CPU_C.OBJ
5173 Implode 3223 38% 09-04-98 18:39 UCOS-II/EX3_X86L/OBJ/PC.OBJ
19356 Implode 11560 41% 09-04-98 18:39 UCOS-II/EX3_X86L/OBJ/UCOS_II.OBJ
3495 Implode 957 73% 09-04-98 18:39 UCOS-II/EX3_X86L/OS_CFG.H
20992 Implode 5021 77% 09-04-98 18:39 UCOS-II/IX86L/DOC/ROM-RAM.XLS
4992 Implode 1319 74% 09-04-98 18:39 UCOS-II/IX86L/OS_CPU.H
14372 Implode 2566 83% 09-04-98 18:39 UCOS-II/IX86L/OS_CPU_A.ASM
7875 Implode 1939 76% 09-04-98 18:39 UCOS-II/IX86L/OS_CPU_C.C
39383 Implode 8161 80% 09-04-98 18:39 UCOS-II/SOURCE/OS_CORE.C
12112 Implode 2660 79% 09-04-98 18:39 UCOS-II/SOURCE/OS_MBOX.C
10872 Implode 2478 78% 09-04-98 18:39 UCOS-II/SOURCE/OS_MEM.C
20644 Implode 3926 81% 09-04-98 18:39 UCOS-II/SOURCE/OS_Q.C
11287 Implode 2588 78% 09-04-98 18:39 UCOS-II/SOURCE/OS_SEM.C
35573 Implode 7180 80% 09-04-98 18:39 UCOS-II/SOURCE/OS_TASK.C
9269 Implode 2532 73% 09-04-98 18:39 UCOS-II/SOURCE/OS_TIME.C
1178 Implode 383 68% 09-04-98 18:39 UCOS-II/SOURCE/UCOS_II.C
22813 Implode 4343 81% 09-04-98 18:39 UCOS-II/SOURCE/UCOS_II.H
------ ------ --- -------
749437 265912 65% 56


открытые

унутри

вышлю по мылу или выложу на фтп ?
выложил
на http://old.coral-club.com/kn/arm/
ek74
На сахаре появилась версия 2.80. Спасибо Evgeny_CD
ig_z
Цитата(Ken@t @ Aug 26 2005, 10:20)
Выкачено из осла ,
ucos segger gui 45М ( gui406kg952)
ucos 26M (arm)



Вроде последняя версия гуи 3.9х. В архиве по моему 33201.
Evgeny_CD
Цитата(ek74 @ Aug 30 2005, 12:03)
На сахаре появилась версия 2.80. Спасибо Evgeny_CD
Это круто, но я тут ни при чем. Я ж эту 2.80 с этого сайта взял biggrin.gif Ну а запустить добытое счастье в народ - это святое. cheers.gif
ek74
Цитата(Evgeny_CD @ Aug 31 2005, 21:26)
Это круто, но я тут ни при чем. Я ж эту 2.80 с этого сайта взял  biggrin.gif  Ну а запустить добытое счастье в народ - это святое. cheers.gif


Я это понял, после того как посмотрел вот это smile.gif

Просто я редко заглядываю в раздел "Программное обеспечение (Soft, FTP) > Есть программа - I have a program". Надо будет почаще blush.gif
Velund
Уже спрашивал, но может хоть здесь кто прочитает... ;-)

Свежий KA плагин иаровский кто нибудь видел? 1.0 вроде бы более не живет со свежими версиями. Во всяком случае я не смог побороть.
ig_z
Цитата(Velund @ Sep 5 2005, 04:30)
Уже спрашивал, но может хоть здесь кто прочитает... ;-)

Свежий KA плагин иаровский кто нибудь видел? 1.0 вроде бы более не живет со свежими версиями. Во всяком случае я не смог побороть.
*


Блин вроде бы уже отвечал на этот вопрос blink.gif Дежавю какое то

На сахаре один товарищ раздавал сам плагин, без инсталятора. Раздавал прямо в руки, тк Лябрус у него сосед.
Evgeny_CD
Цитата(Velund @ Sep 5 2005, 05:30)
Свежий KA плагин иаровский кто нибудь видел? 1.0 вроде бы более не живет со свежими версиями. Во всяком случае я не смог побороть.

/upload/OS/IAR_ARM_KA_Plug/
uC/OS-II: V2.62
uC/OS-II Kernel Awareness Plug-in in C-SPY: V2.00
IAR Embedded Workbench: 4.1
Andy Mozzhevilov
Есть ю к о с 2 . 8 1
на ftp лить не умею sad.gif
могу кинуть умеющим на email
ITPuls
да, книга действительно отличная...
lvitaly
Цитата(Andy Mozzhevilov @ Sep 28 2005, 11:40)
Есть    ю к о с 2 . 8  1
на ftp лить не умею sad.gif
могу кинуть умеющим на email
*

Она там уже есть
fontp
Порт для Blackfin

http://www.ucos-ii.com/contents/products/u.../adsp_BF533.zip

дают за так

Кто нибудь пробовал портировать? Для звуковых приложений, ОС, кажется, слишком preemtive
http://www.blackfin.org/code.php?id=19
kuk
help.gif Народ я хочу тоже попробывать ось заюзать
Не мог бы кто подсказать как она собирается в IAR или дать доку где это было описано хочу юзать с ARM7 LPC2294 Зарание благодарен!!!
asen
Да меня тоже интересует вопрос в каких фаилах и как производится конфигурирование и настройка системы под конкретную аппаратную структуру
uDAV
Кто встречал реализацию uC/USB.
И еще в этой ветке прочитал что "реализацией USB занимается DIM", хотелось бы поинтересоваться результатом.
_artem_
Цитата(kuk @ Jan 31 2006, 11:11) *
help.gif Народ я хочу тоже попробывать ось заюзать
Не мог бы кто подсказать как она собирается в IAR или дать доку где это было описано хочу юзать с ARM7 LPC2294 Зарание благодарен!!!



Сюда смотрели ?
http://micrium.com/arm/index.html
http://www.ucos-ii.com/products/fl/ports.html#LPC2XXX
http://www.semiconductors.philips.com/acro...s/AN10413_1.pdf


Возможно кое что подправить придется , потому что для упомянутого процессора порта нет . Внутри зип файла должна быть документция с описанием .
sp3ctr00m
Очень нужен µC/USB (µC/USB-MSD)!!! поделитесь у кого есть!!! вышлите плиз на мыло sp3ctr00m@gmail.com или выложите на рапидшару!
bombastic
Вчера вот нашел интузиаста, котрый переводит книгу под uCOS-II - lifeslice.narod.ru
e-moe
Вот тут присуцтвует перевод текстов uCOS-II-RefMan и CfgMan, (16 и 17 Главы соотвественно)
http://spbguap.narod.ru/kursoviki/kursoviki.htm
Так же, тут же на форуме http://electronix.ru/forum/index.php?showt...966&#entry16966 перевод 8 главы - портирование...

Эх где бы найти остальное не русском, для тех кто не дружит с английским? unsure.gif
ДДН
Кто-нибудь портировал uC/OS-II на Infineon XC167?
На микриуме есть только часть порта для C167.
ubobrov
Личный опыт: при работе с uC/OS на Keil надо помимо всех функций сделать реентрантными часть библиотечных: malloc и free, они есть в исходниках, иначе ось падает.
Dvorkin
Цитата(ДДН @ Aug 15 2006, 17:29) *
На микриуме есть только часть порта для C167.


И те порты, имхо, кривые. Только примерчики и работают. Или я не прав?
ДДН
Цитата(Dvorkin @ Aug 24 2006, 11:31) *
Цитата(ДДН @ Aug 15 2006, 17:29) *

На микриуме есть только часть порта для C167.

И те порты, имхо, кривые. Только примерчики и работают. Или я не прав?


Без правки руками не компилятся. Что касается C167, то во-первых, там используются #include исходников оси, которые в сам порт не включили (каталог есть, но он пустой). После того как я достал исходники в другом месте, все равно посыпались ошибки компиляции, потому что в той части порта, что имеется в наличии, не описаны некоторые процессоро-зависимые функции. По ходу дела я понял, что они не очень-то и нужны, но формально присутствуют в ядре, и просто так с ходу все равно не получается скомпилить, нужно немного разбираться и править ядро руками.
sCape
Изучаю ОСи. Хотим применить к AT91SAM7X256.
Когда читал Лабросса микроСи/ОС-2 натолкнулся на книгу
“Элементы встроенных систем, модули на Си” или Embedded Systems Building Blocks, Complete and Ready-to-Use Modules in C, Jean О. Labrosse
Нет ли у кого-нибудь ебука, на рус или англ?
jorikdima
Скажите пожалуйста, кто нить использовал порт под MIPS?
Когда компилишь GNU компилятором, то все ОК, а когда под MULTI то пишет ошибки в коде файла os_cpu_c.c.
Не понимает фразу
Код
register U32 $GP __asm__ ("$28");

и
Код
wGP = $GP


Так как с MULTI 1 день вожусь, а с MIPS - второй smile.gif то не очень представляю как исправить. Ошибки такие:
Код
error #149: a global-scope declaration may not have this storage class register U32 $GP __asm__ ("$28");

и
Код
error #65: expected a ";"  register U32 $GP __asm__ ("$28");


Сам ассемблера не знаю, а вникнуть разобраться как всегда времени нет. Кто нибудь знает как скомпилить не только под GNU?

Спасибо
sCape
Скажите, можно ли в проекте uC\OS под ИАРом использовать модули написанные на С++? blink.gif
zltigo
Цитата(sCape @ Sep 15 2006, 15:41) *
Скажите, можно ли в проекте uC\OS под ИАРом использовать модули написанные на С++? blink.gif

Как и в абсолютно любом друом проекте - можно.
IgorKossak
Цитата(sCape @ Sep 15 2006, 15:41) *
Скажите, можно ли в проекте uC\OS под ИАРом использовать модули написанные на С++? blink.gif

Если версия ОС 2.83, то можно.
По крайней мере у меня получилось с компиляторами от ИАР и портами под lpc2106 и AVR.
sCape
Цитата(IgorKossak @ Sep 18 2006, 14:55) *
Цитата(sCape @ Sep 15 2006, 15:41) *

Скажите, можно ли в проекте uC\OS под ИАРом использовать модули написанные на С++? blink.gif

Если версия ОС 2.83, то можно.
По крайней мере у меня получилось с компиляторами от ИАР и портами под lpc2106 и AVR.


не поделитесь версией ОС 2.83? smile.gif
sCape
А как компилить проект на С++?
General Options->Library Configuration->Normal или какой другой?
С\С++ Compiler->Language->Embedded C++ или другой?
Могет еще чего надо наколдовать ?
zltigo
Цитата(IgorKossak @ Sep 18 2006, 13:55) *
Если версия ОС 2.83, то можно.

А как это может завязано на версию? Ядро компилится "C" и ничему не может воспротивится. Все системные вызовы в приложении и callback естественно определяются, как "C" namespace. Все.


Цитата(sCape @ Sep 19 2006, 14:32) *
Могет еще чего надо наколдовать ?

Для каждого из файлов проекта А НЕ ДЛЯ ВСЕГО ПРОЕКТА либо явно указать компилятор, либо потребовать ему смотреть на расширение файла.
IgorKossak
Цитата(zltigo @ Sep 19 2006, 19:16) *
Цитата(IgorKossak @ Sep 18 2006, 13:55) *

Если версия ОС 2.83, то можно.

А как это может завязано на версию? Ядро компилится "C" и ничему не может воспротивится. Все системные вызовы в приложении и callback естественно определяются, как "C" namespace. Все.

С одной из предыдущих версий не получалось. Не стал вдаваться в подробности, просто поставил более новую и всё пошло.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.