|
|
  |
uC/OS-II, Одна из популярных РТОС, все о ней |
|
|
|
Dec 7 2007, 23:33
|

инопланетянин
  
Группа: Свой
Сообщений: 236
Регистрация: 24-12-06
Из: Питер
Пользователь №: 23 832

|
Цитата(Vladimir_T @ Dec 6 2007, 12:57)  Здравствуйте, господа, подскажите, пожалуйста, где можно взять руссифицированные шрифты для uC/GUI. Думаю Вас заинтересует эта страница: http://electronix.ru/forum/index.php?act=S...134&t=30124С уважением, Legotron Цитата(Metallik @ Dec 4 2007, 22:24)  А по поводу GUев от micrium-а,- хорошая штука! Есть "оно само" в виде исходников, есть мануал (правда чуть не от той версии, но разницы почти никакой). Работает везде: хоть с операционкой в "однозадачном режиме", хоть в "многозадачном", хоть без ОСи. Обо всем этом + как конфигурить GUI+ как писать "драйвер" для своего LCD+ примеры этих драйверов написано в мануале (in English). Лично я сам все живил, - с трудом, но получилось  Да, есть глюки, но прелесть в том, что все исходники перед тобой, правь-не хочу. А я интересовался данной штукой.... и так к ней подходил и сяк (естественно проблема в написании своего драйвера)... потом плюнул и написал свою GUI, деревянную (фигуры, AA, текст), зато полностью объектную, от чего жутко кайфую  Пока мне хватает!
|
|
|
|
|
Dec 11 2007, 09:41
|
Частый гость
 
Группа: Участник
Сообщений: 91
Регистрация: 24-08-06
Из: Москва
Пользователь №: 19 809

|
Народ, где можно найти порты uCOS для LPC2378 для CrossWorks, а то все порты только для IAR и keil, а то очень хочется поработать в среде Сrossworks? Залез на сайт http://geocities.com/michaelanburaj/, я так не понял куда и какие файлы приспособачить.. Помогите плиз..
|
|
|
|
|
Dec 13 2007, 15:50
|

Гуру
     
Группа: Свой
Сообщений: 2 720
Регистрация: 24-03-05
Пользователь №: 3 659

|
Да... похоже загадка не для одного меня... Сегодня для сравнения собрал демо FreeRTOS: в составе: 1.собственно ось 2. uIP TCP/IP 3. HTTP sеrver 4. Read Only File system Все добро работает при любых уровнях оптимизации хоть по скорости, хоть по размеру... Занимает все это: 19 588 bytes of CODE memory 34 422 bytes of DATA memory 9 954 bytes of CONST memory - примерно 8 кБайт ресурсы WEB uc/OS-II 1. собственно ост 2. uc/TCPIP стек 3. быстро-быстро написанный WEB сервер для теста системы вот такого содержания: Код /******************************************************************************* test http server for uc/OS-II TCP/IP source file *******************************************************************************/
#include <includes.h> #include <https.h>
/* task stack array */ OS_STK HTTPS_TaskStk[HTTPS_TASK_STK_SIZE];
/* rx data array */ #define HTTPS_RX_DATA_BUF_LEN 1500 char HTTPS_rx_buf[HTTPS_RX_DATA_BUF_LEN];
/* tx data array */ char HTTPS_tx_data[1500];
/* server erro page 404 */ const char HTTPS_not_found_page[];
void HTTPS_Task(void *p_arg) { /* create socket */ int socket_id = socket(AF_INET, SOCK_STREAM, IPPROTO_TCP); if(socket_id < 0) { OSTaskDel(HTTPS_TASK_PRIO); } /* create server port */ struct sockaddr_in MySockAddr; MySockAddr.sin_family = AF_INET; MySockAddr.sin_port = htons(80); MySockAddr.sin_addr.s_addr = htonl(INADDR_ANY); int bind_stat = bind(socket_id, (struct sockaddr *)&MySockAddr, sizeof(struct sockaddr_in)); if(bind_stat < 0) { OSTaskDel(HTTPS_TASK_PRIO); } /* set socket to listen mode */ int listen_stat = listen(socket_id, 1); if(listen_stat < 0) { OSTaskDel(HTTPS_TASK_PRIO); } /* server loop */ while(1) { /* wait client connection */ int new_socket_id; int addr_len; while(0 > (new_socket_id = accept(socket_id, (struct sockaddr *)&MySockAddr, &addr_len))) { LED_On(2); OSTimeDlyHMSM(0, 0, 0, 75); LED_Off(2); OSTimeDlyHMSM(0, 0, 0, 75); } /* ok! client connection established... get data and check https protocol request */ int data_len = recv(new_socket_id, HTTPS_rx_buf, HTTPS_RX_DATA_BUF_LEN, 0); if(0 == data_len) { close(new_socket_id); continue; } /* Check for GET */ char *buf = HTTPS_rx_buf; if(0 != memcmp(buf, "GET", 3)) { close(new_socket_id); continue; } /* send page */ send(new_socket_id, (void *)HTTPS_not_found_page, strlen(HTTPS_not_found_page), 0); /* close connection */ close(new_socket_id); } }
void HTTPS_Start(void) { OSTaskCreateExt(HTTPS_Task, NULL, (OS_STK *)&HTTPS_TaskStk[HTTPS_TASK_STK_SIZE - 1], HTTPS_TASK_PRIO, HTTPS_TASK_PRIO, (OS_STK *)&HTTPS_TaskStk[0], HTTPS_TASK_STK_SIZE, NULL, OS_TASK_OPT_STK_CHK | OS_TASK_OPT_STK_CLR); }
const char HTTPS_not_found_page[] = "HTTP/1.0 200 OK\r\n\ Last-modified: Fri, 18 Oct 2002 12:04:32 GMT\r\n\ Server: AS-SAM7X256-based devboard 10/1.0\nContent-type: text/html\r\n\ Content-length: 404\r\n\ \r\n\ <HEAD>\ <TITLE>PROTTOSS test WEB Server</TITLE></HEAD>\ <BODY>\ <H2>HTTP 1.0 404 Error. File Not Found</H2>\ The requested URL was not found on this server.\ <HR>\ <BR>\ <I>\ <b>AS-SAM7X256-based devboard v.1.1</b>, 2007\ <BR>\ Web Server for Embedded Applications\ </I>\ <BR>\ <A HREF=http://www.prottoss.com>\ под ucOS-II система занимает 80кБ кода и 40 кБ данных!!! Может я где то что то не правильно делаю???  Копался в конфигах системы и TCP стека, поодключал все что можно про DEBUG - Толку мало - жир не слез...
--------------------
|
|
|
|
|
Jan 15 2008, 09:05
|
Местный
  
Группа: Свой
Сообщений: 437
Регистрация: 27-08-04
Пользователь №: 551

|
Цитата(prottoss @ Dec 13 2007, 19:50)  Да... похоже загадка не для одного меня... Сегодня для сравнения собрал демо FreeRTOS: в составе: 1.собственно ось 2. uIP TCP/IP 3. HTTP sеrver 4. Read Only File system Все добро работает при любых уровнях оптимизации хоть по скорости, хоть по размеру... Занимает все это: 19 588 bytes of CODE memory 34 422 bytes of DATA memory 9 954 bytes of CONST memory - примерно 8 кБайт ресурсы WEB uc/OS-II 1. собственно ост 2. uc/TCPIP стек 3. быстро-быстро написанный WEB сервер для теста системы вот такого содержания: под ucOS-II система занимает 80кБ кода и 40 кБ данных!!! Может я где то что то не правильно делаю???  Копался в конфигах системы и TCP стека, поодключал все что можно про DEBUG - Толку мало - жир не слез... Вы хотите получить от uc/TCPIP то же, что и от uIP  ? Это совершенно разные стеки и цели у них разные. Вот если сравнить uc/TCPIP и lwIP, то порядок цифр будет приблизительно одинаков
|
|
|
|
|
Jan 23 2008, 11:58
|
Частый гость
 
Группа: Свой
Сообщений: 147
Регистрация: 5-07-04
Из: Обнинск
Пользователь №: 261

|
Здравствуте, корефеи ЮКОСа! Сразу предупреждаю: я новичок в ARM, IAR и uC/OS.  )) Начал "щупать" uc/os применительно к плате LPC-P2378 от OLIMEX. Скачал порт оси (v285) с микриума под нее и под IAR (v4.41A), запустил в плату MT-Link'ом, работает (моргает светодиодом, читает нажимаемые кнопки). Погрузился в чтение скаченных материалов по UCOS... Есть несколько вопросов: 0. Куда делся ресурс ucos-ii.com? Много ссылок на него, а его самого нет. 1. OS-View и OS-Probe - чем отличаются от боевого релиза? 2. В недалекой перспективе понадобится реализация имеющегося протокола обмена на UART. Как пример реализации интересует modbus от микриума. Мож у кого завалялось? С уважением, Андрей.
|
|
|
|
|
Mar 4 2008, 11:50
|
Участник

Группа: Новичок
Сообщений: 15
Регистрация: 10-01-08
Пользователь №: 33 967

|
Привет народ! Вот бьюсь тут с мюкосом, есть такая проблема. Решил опробовать очереди сообщений, для этого создал простой проект с одной задачей, которая ждет сообщения через OSQPend и моргает светодиодом когда оно приходит. Для посылки сообщения запустил таймер-счетчик, и в обработчике прерывания вызываю OSQPost. Но нифга не работает  судя по светодиодам, обработчик прерывания вызывается два раза, а сообщение до задачи вообще не доходит. Когда запускаю в отладчике, то криво коряво но иногда работает. Пробовал посылать сообщение из другой задачи - все ОК и нормально работает. Почему не работает посылка сообщений из ISR ?
|
|
|
|
|
Mar 4 2008, 12:07
|
Участник

Группа: Новичок
Сообщений: 15
Регистрация: 10-01-08
Пользователь №: 33 967

|
мюкос 2.84, камень lpc2148
вот из шапки: Generic ARM Port @ File : OS_CPU_A.ASM @ Version : V1.81 @ By : Jean J. Labrosse @ Jean-Denis Hatier @ @ For : ARM7 or ARM9 @ Mode : ARM or Thumb @ Toolchain : GNU GCC
|
|
|
|
|
Mar 4 2008, 12:16
|

Знающий
   
Группа: Свой
Сообщений: 877
Регистрация: 26-01-05
Из: Екатеринбург
Пользователь №: 2 206

|
Цитата(gaidin @ Mar 4 2008, 17:07)  мюкос 2.84, камень lpc2148
вот из шапки: Generic ARM Port @ File : OS_CPU_A.ASM @ Version : V1.81 @ By : Jean J. Labrosse @ Jean-Denis Hatier @ @ For : ARM7 or ARM9 @ Mode : ARM or Thumb @ Toolchain : GNU GCC я пускаю порт под IAR ; File : OS_CPU_A.ASM ; Version : V1.60 ; By : Jean J. Labrosse ; ; For : ARM7 or ARM9 ; Mode : ARM or Thumb ; Toolchain : IAR's EWARM V4.11a and higher никаких проблем нет. Гцц не пользовал. Попробую предположить, что опции оптимизации у компилятора отключены, а порт может быть написан из рассчета того, что они импользуются. Попробуйте сделать то же самое с семафором. Если получиться, то возможно что-то у вас с инициализацией Que или их неверным использованием.
--------------------
Пасу котов...
|
|
|
|
|
  |
2 чел. читают эту тему (гостей: 2, скрытых пользователей: 0)
Пользователей: 0
|
|
|