Jump to content

    

Здравствуйте, господа, подскажите, пожалуйста, где можно взять руссифицированные шрифты для uC/GUI.

Share this post


Link to post
Share on other sites
Если еще нужно, то в архиве есть.

Спасибо. Посмотрел uC/Clk - разочаровал :( поддержки таймзон и летнего времени нет в принципе.

Share this post


Link to post
Share on other sites
Здравствуйте, господа, подскажите, пожалуйста, где можно взять руссифицированные шрифты для uC/GUI.

Думаю Вас заинтересует эта страница: http://electronix.ru/forum/index.php?act=S...134&t=30124

 

С уважением,

 

Legotron

 

 

А по поводу GUев от micrium-а,- хорошая штука! Есть "оно само" в виде исходников, есть мануал (правда чуть не от той версии, но разницы почти никакой). Работает везде: хоть с операционкой в "однозадачном режиме", хоть в "многозадачном", хоть без ОСи. Обо всем этом + как конфигурить GUI+ как писать "драйвер" для своего LCD+ примеры этих драйверов написано в мануале (in English). Лично я сам все живил, - с трудом, но получилось :07: Да, есть глюки, но прелесть в том, что все исходники перед тобой, правь-не хочу.

А я интересовался данной штукой.... и так к ней подходил и сяк (естественно проблема в написании своего драйвера)... потом плюнул и написал свою GUI, деревянную (фигуры, AA, текст), зато полностью объектную, от чего жутко кайфую :) Пока мне хватает!

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites

Вчера попробовал ucOS-II/TCPIP. Собрал под AT91SAM7X256 + IAR 4.30 . При отключенной оптимизации - работает. При включенной - хоть по размеру кода, хоть по скрости - не работает:-( В чем прикол?

Я думал, раз ось продается за относительно приличные деньги, могли бы сделать все железно надежно хотя бы в плане сборки...

Share this post


Link to post
Share on other sites

Да... похоже загадка не для одного меня...

 

Сегодня для сравнения собрал демо 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 кБ данных!!! :07:

 

Может я где то что то не правильно делаю??? :05: Копался в конфигах системы и TCP стека, поодключал все что можно про DEBUG - Толку мало - жир не слез...

Share this post


Link to post
Share on other sites

Отключите "лишние" сетевые буфера в net_cfg.h - там их по умолчанию слишком много и слишком больших :)

Share this post


Link to post
Share on other sites
Да... похоже загадка не для одного меня...

 

Сегодня для сравнения собрал демо 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 кБ данных!!! :07:

 

Может я где то что то не правильно делаю??? :05: Копался в конфигах системы и TCP стека, поодключал все что можно про DEBUG - Толку мало - жир не слез...

 

Вы хотите получить от uc/TCPIP то же, что и от uIP :07: ?

Это совершенно разные стеки и цели у них разные. Вот если сравнить uc/TCPIP и lwIP, то порядок цифр будет приблизительно одинаков

Share this post


Link to post
Share on other sites

Здравствуте, корефеи ЮКОСа!

Сразу предупреждаю: я новичок в 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 от микриума. Мож у кого завалялось?

 

С уважением,

Андрей.

Share this post


Link to post
Share on other sites

А есть практика (примеры) загрузки uCOS на целевую платформу (AT91SAM92...) через сеть?

Share this post


Link to post
Share on other sites

Привет народ!

Вот бьюсь тут с мюкосом, есть такая проблема.

Решил опробовать очереди сообщений, для этого создал простой проект с одной задачей, которая ждет сообщения через OSQPend и моргает светодиодом когда оно приходит. Для посылки сообщения запустил таймер-счетчик, и в обработчике прерывания вызываю OSQPost.

Но нифга не работает :( судя по светодиодам, обработчик прерывания вызывается два раза, а сообщение до задачи вообще не доходит. Когда запускаю в отладчике, то криво коряво но иногда работает.

Пробовал посылать сообщение из другой задачи - все ОК и нормально работает. Почему не работает посылка сообщений из ISR ?

Share this post


Link to post
Share on other sites
Пробовал посылать сообщение из другой задачи - все ОК и нормально работает. Почему не работает посылка сообщений из ISR ?

 

А что за порт и процессор?

Share this post


Link to post
Share on other sites

мюкос 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

Share this post


Link to post
Share on other sites
мюкос 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 или их неверным использованием.

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