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

 
 
> Одновременное использование RL-RTX и RL-FlashFS (LPC2478) в среде Keil., Программа виснет
Sanya_kv
сообщение Jan 21 2011, 10:51
Сообщение #1


Частый гость
**

Группа: Свой
Сообщений: 185
Регистрация: 25-02-09
Из: Россия
Пользователь №: 45 369



Столкнулся с проблемой одновременного использования в средеKeil библиотек RL-RTX и RL-FlashFS на ARM LPC2478. По отдельности обе работают нормально, но при одновременном использовании программа уходит в прерывание DAbt_Addr при вызове функции finit();. Занимаюсь сексом с этой проблемой уже прилично времени. Планирую отказаться от RL-RTX.
Заранее благодарен.
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов (1 - 10)
AlexandrY
сообщение Jan 21 2011, 12:44
Сообщение #2


Ally
******

Группа: Модераторы
Сообщений: 6 232
Регистрация: 19-01-05
Пользователь №: 2 050



Цитата(Sanya_kv @ Jan 21 2011, 12:51) *
Столкнулся с проблемой одновременного использования в средеKeil библиотек RL-RTX и RL-FlashFS на ARM LPC2478. По отдельности обе работают нормально, но при одновременном использовании программа уходит в прерывание DAbt_Addr при вызове функции finit();. Занимаюсь сексом с этой проблемой уже прилично времени. Планирую отказаться от RL-RTX.
Заранее благодарен.


Да, это будет потеря для Keil-а wink.gif
Применяю RL-RTX уже более 5-и лет. Чес скажу, в этой категории лучшей операционки не видел.

Пример применения RL-RTX
Go to the top of the page
 
+Quote Post
Artem_Petrik
сообщение Jan 21 2011, 13:09
Сообщение #3


Местный
***

Группа: Свой
Сообщений: 443
Регистрация: 22-07-06
Из: Украина, г. Харьков
Пользователь №: 19 006



Цитата(AlexandrY @ Jan 21 2011, 14:44) *

Это тонкий намек на тo, что RL-RTX = uCos II sm.gif ?
Go to the top of the page
 
+Quote Post
AlexandrY
сообщение Jan 21 2011, 14:25
Сообщение #4


Ally
******

Группа: Модераторы
Сообщений: 6 232
Регистрация: 19-01-05
Пользователь №: 2 050



Цитата(Artem_Petrik @ Jan 21 2011, 15:09) *
Это тонкий намек на тo, что RL-RTX = uCos II sm.gif ?


Запарился.
Нет, там только файловая система сделана на базе RL-FlashFS

А примеров RL-RTX полно и в самом Keil-е
Go to the top of the page
 
+Quote Post
ssergy
сообщение Jan 21 2011, 14:37
Сообщение #5


Участник
*

Группа: Участник
Сообщений: 21
Регистрация: 29-01-06
Пользователь №: 13 730



Цитата(Sanya_kv @ Jan 21 2011, 13:51) *
Столкнулся с проблемой одновременного использования в средеKeil библиотек RL-RTX и RL-FlashFS на ARM LPC2478. По отдельности обе работают нормально, но при одновременном использовании программа уходит в прерывание DAbt_Addr при вызове функции finit();. Занимаюсь сексом с этой проблемой уже прилично времени. Планирую отказаться от RL-RTX.
Заранее благодарен.


A heap инициализирован нужного размера? А retarget.c правильно сконфигурирован? Ну и само собой посмотреть в File_Config.c (на всякий случай).
Go to the top of the page
 
+Quote Post
Sanya_kv
сообщение Jan 22 2011, 20:59
Сообщение #6


Частый гость
**

Группа: Свой
Сообщений: 185
Регистрация: 25-02-09
Из: Россия
Пользователь №: 45 369



В проекте подключен Retarget.c., Размер Heap = 2048. Режим MicroLib выключен.
Причем, если разместить finit() перед вызовом os_sys_init, то инициализация проходит нормально. Мне это не подходит. Пользователь может менять носители (CDHC). Обнаружил ещё прикол когда баловался с китом, если подключить библиотеки FTP сервера, то finit() проходит нормально из любого места. Отлаживал в ассемблере, зависание происходит при загрузке данных по адресу 0xE59FF018
Сейчас копаюсь с исходниками FlashFS.

Код программы:
Код
__task void task_main (void)
{       
    finit();//Здесь виснет
    os_itv_set(100);
    while(1)
    {
        os_itv_wait ();
    }    
}
int main (void)
{           
    //finit();//Здесь не виснет
    os_sys_init(task_main);
    while (1);
}
Go to the top of the page
 
+Quote Post
Sanya_kv
сообщение Jan 22 2011, 22:21
Сообщение #7


Частый гость
**

Группа: Свой
Сообщений: 185
Регистрация: 25-02-09
Из: Россия
Пользователь №: 45 369



Кажись накопал.
Значит программа повисает при вызове:
Код
finit()
    -> START_LOCK (int); (Она же-  _mutex_acquire(&_stream_list_lock);)
        -> mutex_rel (*mutex);

Проблема в том, что _stream_list_lock == 0, а так как мы загружаем указатель то программа берёт данные по адресу 0, то есть по адресу сброса 0xE59FF018, со всеми вытекающими последствиями.
К сожалению объявление _stream_list_lock я так и не нашел. Капаю дальше.
Go to the top of the page
 
+Quote Post
Sanya_kv
сообщение Feb 3 2011, 07:29
Сообщение #8


Частый гость
**

Группа: Свой
Сообщений: 185
Регистрация: 25-02-09
Из: Россия
Пользователь №: 45 369



Нашел проблему. Достаточно в том же файле иметь вызов функции fopen(). С чем связано, так и не понял. Наверное, с чей-то умностью. Ж)
Go to the top of the page
 
+Quote Post
Shein
сообщение Feb 7 2011, 10:52
Сообщение #9


Участник
*

Группа: Участник
Сообщений: 45
Регистрация: 4-03-07
Пользователь №: 25 855



Возможно не совсем по теме, но отдельную тему создавать не хочется.
А кто-нить может подсказать, есть ли стандартный define задаваемый компилятором когда используется RTX kernel?
Если модуль используется в проекте без RTX и с RTX, чтобы можно было вставить условную компиляцию. Ищу в доках, но пока не нашел. Можно конечно задать в настройках проекта, но может есть что-то стандартное.
Go to the top of the page
 
+Quote Post
Sanya_kv
сообщение Feb 10 2011, 05:30
Сообщение #10


Частый гость
**

Группа: Свой
Сообщений: 185
Регистрация: 25-02-09
Из: Россия
Пользователь №: 45 369



Например "c:\Keil\ARM\Boards\Keil\MCB2470\RL\TCPnet\Http_demo\";
По теме: В поддержке ответили, что исправят ошибку к следующей версии.
Go to the top of the page
 
+Quote Post
VadimShum
сообщение Mar 10 2011, 16:43
Сообщение #11





Группа: Новичок
Сообщений: 1
Регистрация: 10-03-11
Пользователь №: 63 523



для ST32F107 все работает, какая версия кейла и RTOS?
Go to the top of the page
 
+Quote Post

Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


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


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