Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: RTX51
Форум разработчиков электроники ELECTRONIX.ru > Cистемный уровень проектирования > Операционные системы
sergey sva
Хочу попробовать поработать с операционной системой RTX51 . Девайс на мк at89c51ed2, мк рабочий.
сделал тестовую программку которая должна изменять состояние P0_7. в дебаггере от keil все работает
а в мк заливаю не работает, в протеусе тоже не хочет работать. Может кто имел дела с rtx51 , может
нужно что настроить ? Тип процессора указал в файле rtxsetup.ini. остальное все оставил по умолчанию.
Код
//----------------------------------------------------------------------------------------------
void INIT_DEVICE (void) _task_ 1 _priority_ 0
{    
os_set_slice (10000);
os_create_task (2);
os_delete_task (1);

}//END task 0
//----------------------------------------------------------------------------------------------
void JOB_1(void) _task_ 2  _priority_ 1
{      
while(1)
{
P0_7 = 0;
os_wait(K_TMO,250,0);
P0_7 = 1;
os_wait(K_TMO,250,0);      

}  


}
//----------------------------------------------------------------------------------------------
void  main (void)
{
os_start_system (1);
}//!
//----------------------------------------------------------------------------------------------
редактор
Года два назад пытал RX-51 tyny на AT89S8252 проблем не было
Я с этими контроллерами не работал, но как вариант можно проверить
сброс например не проходит или наоборот WDT постоянно пересбрасывает.
tag
...дайте код посмотреть (весь проект). Успешно применял эту операционку на 1816ВЕ31 и на at89s252.
Massaew
2sergey sva

Я тоже хочу попробовать эту ОС, только для МК C166(RTX166, которая Full)

Где ее достать? Я так понял версии, которые не tiny, надо отдельно покупать или нет?
tag
Цитата(Massaew @ Apr 11 2008, 09:55) *
Где ее достать? Я так понял версии, которые не tiny, надо отдельно покупать или нет?


...да, версия Full существует отдельно. Для 166 не встречал, а вот для 51 могу выложить.
Massaew
Цитата(tag @ Apr 11 2008, 10:28) *
...да, версия Full существует отдельно. Для 166 не встречал, а вот для 51 могу выложить.


Спасибо, но мне нужно для С166.
Я темку создал о RTX166 Full, но никто пока не откликнулся

А если покупать во сколько это обойдется?
tag
Цитата(Massaew @ Apr 11 2008, 10:53) *
А если покупать во сколько это обойдется?


...думаю от 1000$, попробуйте поискать по Москве. Я как то обращался в одну из Московских контор по поводу embOS (стоила 3000 евро), но вот адрес не помню. Нашел я их тогда через инет.
sergey sva
Цитата(tag @ Apr 11 2008, 08:52) *
...дайте код посмотреть (весь проект). Успешно применял эту операционку на 1816ВЕ31 и на at89s252.

Код
#include <at89c51xd2.h>
#include <RTXCONF.h>
#include <rtx51.h>

//----------------------------------------------------------------------------------------------
void INIT_DEVICE (void) _task_ 1 _priority_ 0
{    
os_set_slice (10000);
os_create_task (2);
os_delete_task (1);

}//END task 0
//----------------------------------------------------------------------------------------------
void JOB_1(void) _task_ 2  _priority_ 1
{      
while(1)
{
P0_7 = 0;
os_wait(K_TMO,250,0);
P0_7 = 1;
os_wait(K_TMO,250,0);      

}  


}
//----------------------------------------------------------------------------------------------
void  main (void)
{
os_start_system (1);
}//!
//----------------------------------------------------------------------------------------------



это и есть весь проект, smile.gif

Да еще, если программу загружаю в протеус и моделирую, то порт P0 и P2 WR RD постоянно перемигиваются так как при работе с внешней памятью. Можетв RTX есть настройка для работы с внешней памятью ?
sergey sva
Может для работы с RTX51 нужно еще озу внешнее использовать?
sergey sva
Как всегда блин, причину нашел почему не работала прога как и бывает косяк сам сделал в файл стартап. smile.gif

Но это еще не совсем все, с системой еще не совсем умею работать поэтому есть еще вопросик
может что подскажите, вот код:
Код
void LSD_RESET() _task_ 100  _priority_ 1
{
for(;;)
{
os_wait(K_SIG,255,0);
PORT_RESET(0)
PORT_E2(0)
PORT_E1(0)
PORT_A0(0)
PORT_RDWR(0)
PORT_E(0)
os_wait(K_TMO,1,0);
PORT_RESET(1)
os_wait(K_TMO,1,0);



}//end for!
}//end LSD_RESET


это задача сбрасывает дисплей, есть еще задачи которые тоже работают с дисплеем. но они могут запустится пока в этой задаче действует os_wait(K_TMO,1,0); как бы сделать так что бы когда одна задача для работы с дисплеем работает, другие задачи которые тоже работают с дисплеем не могли бы запустится ?
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.