IgorKossak 0 18 сентября, 2006 Опубликовано 18 сентября, 2006 · Жалоба Скажите, можно ли в проекте uC\OS под ИАРом использовать модули написанные на С++? :blink: Если версия ОС 2.83, то можно. По крайней мере у меня получилось с компиляторами от ИАР и портами под lpc2106 и AVR. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
sCape 0 18 сентября, 2006 Опубликовано 18 сентября, 2006 · Жалоба Скажите, можно ли в проекте uC\OS под ИАРом использовать модули написанные на С++? :blink: Если версия ОС 2.83, то можно. По крайней мере у меня получилось с компиляторами от ИАР и портами под lpc2106 и AVR. не поделитесь версией ОС 2.83? :) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
sCape 0 19 сентября, 2006 Опубликовано 19 сентября, 2006 · Жалоба А как компилить проект на С++? General Options->Library Configuration->Normal или какой другой? С\С++ Compiler->Language->Embedded C++ или другой? Могет еще чего надо наколдовать ? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
zltigo 2 19 сентября, 2006 Опубликовано 19 сентября, 2006 · Жалоба Если версия ОС 2.83, то можно. А как это может завязано на версию? Ядро компилится "C" и ничему не может воспротивится. Все системные вызовы в приложении и callback естественно определяются, как "C" namespace. Все. Могет еще чего надо наколдовать ? Для каждого из файлов проекта А НЕ ДЛЯ ВСЕГО ПРОЕКТА либо явно указать компилятор, либо потребовать ему смотреть на расширение файла. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
IgorKossak 0 23 сентября, 2006 Опубликовано 23 сентября, 2006 · Жалоба Если версия ОС 2.83, то можно. А как это может завязано на версию? Ядро компилится "C" и ничему не может воспротивится. Все системные вызовы в приложении и callback естественно определяются, как "C" namespace. Все. С одной из предыдущих версий не получалось. Не стал вдаваться в подробности, просто поставил более новую и всё пошло. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
asen 0 2 октября, 2006 Опубликовано 2 октября, 2006 · Жалоба Вот пытался на выходных покавыряться с осью uC/OS -II v 2.83 с месного ФТП прочитал доки вроде но нифига так и не вышло Вобщем конфигурация такая модуль LPC-H2294 1 Mb ОЗУ 4 Mb ПЗУ дисплей PG240128 с контроллером T6963 и пару кнопок Один светодиод Цель1: Попробовать помигать светодиодом Цель 2 : попробовать что нибуть нарисовать на ЖКИ Цкль3: Попробовать организовать реальное меню с прокрутками и всякими меседж боксами что делал: читал все переводы выложенные здесь пытался сделать проект IAR и собрать все в кучу То есть на первом этапе сама ОС скачанная с местного ФТП и порт под ARM7 взятый с сайта вроде сделал все как в доке получил в итоге кучу около 80 ошибок и все как не бился и не мучался нифига!!! так вот теперь буду клянчить работал ктонеть с данной версией ОС есть у кого нибуть нормальный собранный проект под именно этот проц с подобной конфигурацией ! нужен для изучения а еще бы неплохо если бы кто неть показал примерную последовательность сборки проекта или документ где это написано а то у меня только описание что какая функция может и как они в ядре работают вкупе ! вот так всем заранее спасибо откликнувшемся Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
yaghtn 0 2 октября, 2006 Опубликовано 2 октября, 2006 · Жалоба есть у кого нибуть нормальный собранный проект под именно этот проц с подобной конфигурацией ! нужен для изучения а еще бы неплохо если бы кто неть показал примерную последовательность сборки проекта или документ где это написано а то у меня только описание что какая функция может и как они в ядре работают вкупе ! вот так всем заранее спасибо откликнувшемся Можно для начала попробовать запустить порт под 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. Вроде всё. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
asen 0 2 октября, 2006 Опубликовано 2 октября, 2006 · Жалоба Меня интересует работа с ARM в часности с LPC2294 И сильно не хватает готового внятного не на вароченого проекта под этот проц чтобы разобрать что и для чего там написано ! а то имеющийся проет под LPC2124 сильно навароченый и там все кувырком ! нужен по началу ОЧЕНЬ простой проект типа как мигание светодиодом ! Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
ubobrov 0 10 октября, 2006 Опубликовано 10 октября, 2006 · Жалоба Меня интересует работа с 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 тиков ОСи } } Таким образом создаются все задачи ОСи. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
asen 0 10 октября, 2006 Опубликовано 10 октября, 2006 · Жалоба А в кокой части надо запускать таймер для оси и что запихивается в обработчик прерывания от таймера как вообще ось поймет что произошло прерывание от таймера Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
ubobrov 0 10 октября, 2006 Опубликовано 10 октября, 2006 · Жалоба А в кокой части надо запускать таймер для оси и что запихивается в обработчик прерывания от таймера как вообще ось поймет что произошло прерывание от таймера У меня все обработчики в bsp.c, а таймер запускается при инициализации перифирии. CPU.rar Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
asen 0 10 октября, 2006 Опубликовано 10 октября, 2006 · Жалоба Хорошо буду разбиратся как разберусь так напишу здесь чуствую доку как и куда Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
potor 0 10 октября, 2006 Опубликовано 10 октября, 2006 · Жалоба господа, кому не сложно, посмотрите пожалуйста мой проект для кейла, гнутый тулчейн. немогу понять почему ругается линкер ucos_for_keil_3.rar Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
yaghtn 0 11 октября, 2006 Опубликовано 11 октября, 2006 · Жалоба господа, кому не сложно, посмотрите пожалуйста мой проект для кейла, гнутый тулчейн. немогу понять почему ругается линкер Убери из проекта файл ucos_ii.с У него внутри: #include <os_core.c> .... #include <os_time.c> , поэтому функции определяются по два раза. Потом, из старт-ап файла можно убрать блок "Relocate .data section" И заменить "B _start" на "B main" Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
potor 0 11 октября, 2006 Опубликовано 11 октября, 2006 (изменено) · Жалоба yaghtn спасибо огромное откомпилилось, вечером буду пробовать дома запускать:) Изменено 11 октября, 2006 пользователем potor Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться