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

 
 
14 страниц V  « < 2 3 4 5 6 > »   
Reply to this topicStart new topic
> uC/OS-II, Одна из популярных РТОС, все о ней
IgorKossak
сообщение Sep 18 2006, 10:55
Сообщение #46


Шаман
******

Группа: Модераторы
Сообщений: 3 064
Регистрация: 30-06-04
Из: Киев, Украина
Пользователь №: 221



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

Если версия ОС 2.83, то можно.
По крайней мере у меня получилось с компиляторами от ИАР и портами под lpc2106 и AVR.
Go to the top of the page
 
+Quote Post
sCape
сообщение Sep 18 2006, 13:09
Сообщение #47





Группа: Новичок
Сообщений: 7
Регистрация: 7-09-06
Из: Чебоксары
Пользователь №: 20 159



Цитата(IgorKossak @ Sep 18 2006, 14:55) *
Цитата(sCape @ Sep 15 2006, 15:41) *

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

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


не поделитесь версией ОС 2.83? smile.gif
Go to the top of the page
 
+Quote Post
sCape
сообщение Sep 19 2006, 11:32
Сообщение #48





Группа: Новичок
Сообщений: 7
Регистрация: 7-09-06
Из: Чебоксары
Пользователь №: 20 159



А как компилить проект на С++?
General Options->Library Configuration->Normal или какой другой?
С\С++ Compiler->Language->Embedded C++ или другой?
Могет еще чего надо наколдовать ?
Go to the top of the page
 
+Quote Post
zltigo
сообщение Sep 19 2006, 16:16
Сообщение #49


Гуру
******

Группа: Свой
Сообщений: 13 372
Регистрация: 27-11-04
Из: Riga, Latvia
Пользователь №: 1 244



Цитата(IgorKossak @ Sep 18 2006, 13:55) *
Если версия ОС 2.83, то можно.

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


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

Для каждого из файлов проекта А НЕ ДЛЯ ВСЕГО ПРОЕКТА либо явно указать компилятор, либо потребовать ему смотреть на расширение файла.


--------------------
Feci, quod potui, faciant meliora potentes
Go to the top of the page
 
+Quote Post
IgorKossak
сообщение Sep 23 2006, 12:43
Сообщение #50


Шаман
******

Группа: Модераторы
Сообщений: 3 064
Регистрация: 30-06-04
Из: Киев, Украина
Пользователь №: 221



Цитата(zltigo @ Sep 19 2006, 19:16) *
Цитата(IgorKossak @ Sep 18 2006, 13:55) *

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

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

С одной из предыдущих версий не получалось. Не стал вдаваться в подробности, просто поставил более новую и всё пошло.
Go to the top of the page
 
+Quote Post
asen
сообщение Oct 2 2006, 05:11
Сообщение #51


Знающий
****

Группа: Свой
Сообщений: 513
Регистрация: 5-09-05
Из: Барнаул
Пользователь №: 8 220



Вот пытался на выходных покавыряться с осью uC/OS -II v 2.83 с месного ФТП прочитал доки вроде но нифига так и не вышло

Вобщем конфигурация такая
модуль LPC-H2294 1 Mb ОЗУ 4 Mb ПЗУ
дисплей PG240128 с контроллером T6963
и пару кнопок
Один светодиод

Цель1: Попробовать помигать светодиодом
Цель 2 : попробовать что нибуть нарисовать на ЖКИ
Цкль3: Попробовать организовать реальное меню с прокрутками и всякими меседж боксами

что делал:

читал все переводы выложенные здесь пытался сделать проект IAR и собрать все в кучу

То есть на первом этапе сама ОС скачанная с местного ФТП и порт под ARM7 взятый с сайта вроде сделал все как в доке получил в итоге кучу около 80 ошибок и все как не бился и не мучался нифига!!!

так вот теперь буду клянчить

работал ктонеть с данной версией ОС
есть у кого нибуть нормальный собранный проект под именно этот проц с подобной конфигурацией !
нужен для изучения

а еще бы неплохо если бы кто неть показал примерную последовательность сборки проекта или документ где это написано а то у меня только описание что какая функция может и как они в ядре работают вкупе ! вот так всем заранее спасибо откликнувшемся
Go to the top of the page
 
+Quote Post
yaghtn
сообщение Oct 2 2006, 05:42
Сообщение #52


Участник
*

Группа: Свой
Сообщений: 52
Регистрация: 7-11-05
Из: Чебоксары
Пользователь №: 10 546



Цитата(asen @ Oct 2 2006, 09:11) *
есть у кого нибуть нормальный собранный проект под именно этот проц с подобной конфигурацией !
нужен для изучения

а еще бы неплохо если бы кто неть показал примерную последовательность сборки проекта или документ где это написано а то у меня только описание что какая функция может и как они в ядре работают вкупе ! вот так всем заранее спасибо откликнувшемся


Можно для начала попробовать запустить порт под Win32 + Visual Studio (an1032).
Этот порт сделан для 2.80, но для 2.83 править надо не много.
Нужно добавить определения OS_TMR_xxx в os_cfg.h (можно взять из сырцов 2.83 файл os_cfg_r.h и сконфигурить по аналогии),
в app.c изменить OS_IDLE_PRIO на OS_TASK_IDLE_PRIO,
в app_cfg.h добавить определение OS_TASK_TMR_PRIO.
Вроде всё.
Go to the top of the page
 
+Quote Post
asen
сообщение Oct 2 2006, 05:49
Сообщение #53


Знающий
****

Группа: Свой
Сообщений: 513
Регистрация: 5-09-05
Из: Барнаул
Пользователь №: 8 220



Меня интересует работа с ARM в часности с LPC2294
И сильно не хватает готового внятного не на вароченого проекта под этот проц чтобы разобрать что и для чего там написано !
а то имеющийся проет под LPC2124 сильно навароченый и там все кувырком ! нужен по началу ОЧЕНЬ простой проект типа как мигание светодиодом !
Go to the top of the page
 
+Quote Post
ubobrov
сообщение Oct 10 2006, 05:54
Сообщение #54


Участник
*

Группа: Свой
Сообщений: 64
Регистрация: 15-08-05
Пользователь №: 7 636



Цитата(asen @ Oct 2 2006, 09:49) *
Меня интересует работа с ARM в часности с LPC2294
И сильно не хватает готового внятного не на вароченого проекта под этот проц чтобы разобрать что и для чего там написано !
а то имеющийся проет под LPC2124 сильно навароченый и там все кувырком ! нужен по началу ОЧЕНЬ простой проект типа как мигание светодиодом !


Попробуйте для начала AN-1138 для lpc2138 (http://www.ucos-ii.com/downloads/appnotes/)
запустить.
Я обычно делаю следующим образом:

1. Создать проект в IAR и подключить необходимые файлы ОСи в прект (os_core.c, os_mbox.c, os_q.c,
os_sem.c, os_task.c, os_time.c), указать путь к ucos_ii.h.
2. Подключить файлы порта (os_cpu_a.asm и os_cpu_c.c).
3. Подключить bsp (bsp.c, lpc2xxx_csturtup.s79) и в линкере указать путь к (LPC2148_flash.xcl в моём случае) для вашего процессора.
4. Поправить файл os_cfg.h так как вам нужно (я обычно убираю callback таймер если 2.83, отключаю то, что не использую: флаги, мьютексы и т.д., чтобы поменьше весила). Если вы хотите включить к примеру флаги, то вам придётся добавить в проект файл os_flag.c и т.д.
5. Создайте тестовую задачу которая ничего не будет делать и попробуйте откомпилить.

#define APP_TASK_START_STK_SIZE 128
INT32U TaskStartStk [APP_TASK_START_STK_SIZE];
static void TaskStart (void *p_arg);

void main()
{

BSP_IntDisAll(); //запрет прерываний
OSInit(); // тнициализация uC/OS

OSTaskCreateExt(TaskStart, // создаётся тестовая задача с наивысшим преоритетом 0 и номером 0
(void *)0, // аргумент
(OS_STK *)&TaskStartStk[APP_TASK_START_STK_SIZE - 1],
0, // преоритет
0, // номер
(OS_STK *)&TaskStartStk[0],
APP_TASK_START_STK_SIZE,
(void *)0,
OS_TASK_OPT_STK_CHK | OS_TASK_OPT_STK_CLR); // опции

OSStart(); // запуск ОС

}


static void TaskStart (void *p_arg)
{

p_arg = p_arg;

BSP_Init(); // инициализация перефирии (bsp.c)

for (;;) {

/* что-нибудь делаем */

OSTimeDly(100); // задержка на 100 тиков ОСи
}
}

Таким образом создаются все задачи ОСи.
Go to the top of the page
 
+Quote Post
asen
сообщение Oct 10 2006, 07:57
Сообщение #55


Знающий
****

Группа: Свой
Сообщений: 513
Регистрация: 5-09-05
Из: Барнаул
Пользователь №: 8 220



А в кокой части надо запускать таймер для оси и что запихивается в обработчик прерывания от таймера как вообще ось поймет что произошло прерывание от таймера
Go to the top of the page
 
+Quote Post
ubobrov
сообщение Oct 10 2006, 08:09
Сообщение #56


Участник
*

Группа: Свой
Сообщений: 64
Регистрация: 15-08-05
Пользователь №: 7 636



Цитата(asen @ Oct 10 2006, 11:57) *
А в кокой части надо запускать таймер для оси и что запихивается в обработчик прерывания от таймера как вообще ось поймет что произошло прерывание от таймера


У меня все обработчики в bsp.c, а таймер запускается при инициализации перифирии.
Прикрепленные файлы
Прикрепленный файл  CPU.rar ( 42.07 килобайт ) Кол-во скачиваний: 204
 
Go to the top of the page
 
+Quote Post
asen
сообщение Oct 10 2006, 08:36
Сообщение #57


Знающий
****

Группа: Свой
Сообщений: 513
Регистрация: 5-09-05
Из: Барнаул
Пользователь №: 8 220



Хорошо буду разбиратся как разберусь так напишу здесь чуствую доку как и куда
Go to the top of the page
 
+Quote Post
potor
сообщение Oct 10 2006, 19:29
Сообщение #58


Участник
*

Группа: Участник
Сообщений: 20
Регистрация: 22-07-05
Пользователь №: 7 022



господа, кому не сложно, посмотрите пожалуйста мой проект для кейла, гнутый тулчейн.
немогу понять почему ругается линкер
Прикрепленные файлы
Прикрепленный файл  ucos_for_keil_3.rar ( 158.68 килобайт ) Кол-во скачиваний: 192
 
Go to the top of the page
 
+Quote Post
yaghtn
сообщение Oct 11 2006, 07:40
Сообщение #59


Участник
*

Группа: Свой
Сообщений: 52
Регистрация: 7-11-05
Из: Чебоксары
Пользователь №: 10 546



Цитата(potor @ Oct 10 2006, 23:29) *
господа, кому не сложно, посмотрите пожалуйста мой проект для кейла, гнутый тулчейн.
немогу понять почему ругается линкер


Убери из проекта файл ucos_ii.с

У него внутри:
Код
#include <os_core.c>
....
#include <os_time.c>

, поэтому функции определяются по два раза.

Потом, из старт-ап файла можно убрать блок "Relocate .data section"
И заменить "B _start" на "B main"
Go to the top of the page
 
+Quote Post
potor
сообщение Oct 11 2006, 07:45
Сообщение #60


Участник
*

Группа: Участник
Сообщений: 20
Регистрация: 22-07-05
Пользователь №: 7 022



yaghtn спасибо огромное
откомпилилось, вечером буду пробовать дома запускатьsmile.gif

Сообщение отредактировал potor - Oct 11 2006, 07:57
Go to the top of the page
 
+Quote Post

14 страниц V  « < 2 3 4 5 6 > » 
Reply to this topicStart new topic
6 чел. читают эту тему (гостей: 6, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 20th July 2025 - 17:41
Рейтинг@Mail.ru


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