Форум Микро-Чип
Поиск и заказ электронных компонентов
 

Вернуться   Форум Микро-Чип > Продукция MICROCHIP

Продукция MICROCHIP Технические вопросы по всей продукции Microchip

Ответ
 
Опции темы Опции просмотра
Старый 22.08.2010, 23:20   #1
Vanizma
Senior Member
 
Аватар для Vanizma
 
Регистрация: 30.04.2008
Адрес: Pskov
Сообщений: 4,131
Вес репутации: 4577/127
Vanizma has a reputation beyond reputeVanizma has a reputation beyond reputeVanizma has a reputation beyond reputeVanizma has a reputation beyond reputeVanizma has a reputation beyond reputeVanizma has a reputation beyond reputeVanizma has a reputation beyond reputeVanizma has a reputation beyond reputeVanizma has a reputation beyond reputeVanizma has a reputation beyond reputeVanizma has a reputation beyond repute
Отправить сообщение для Vanizma с помощью ICQ
По умолчанию PIC32. TNkernel. Bus Exception.

В общем, в проекте используется массив, и создан мютекс. Так вот, когда освобождаю мютекс, то вылетает исключение EXCEP_BUS_ERR (сообщ. CORE-E0003: Bus Exception. Unimplemented RAM memory access, from instruction at 0x9d001804).
Как только убираю массив - всё становится нормально. Опять же, если в мютексе используется протокол наследования приоритетов - тоже всё ок.
В аттаче проект с багой, урезанный до некуда.
Может разберется кто?
Вложения
Тип файла: rar pic32_test.rar (678.1 Кб, 11 просмотров)
__________________

Vanizma вне форума   Ответить с цитированием
Старый 23.08.2010, 02:00   #2
Alex B.
Super Moderator
 
Аватар для Alex B.
 
Регистрация: 25.02.2007
Адрес: Russia, SPb
Сообщений: 1,674
Вес репутации: 1729/78
Alex B. has a brilliant futureAlex B. has a brilliant futureAlex B. has a brilliant futureAlex B. has a brilliant futureAlex B. has a brilliant futureAlex B. has a brilliant futureAlex B. has a brilliant futureAlex B. has a brilliant futureAlex B. has a brilliant futureAlex B. has a brilliant futureAlex B. has a brilliant future
Отправить сообщение для Alex B. с помощью Skype™
По умолчанию Re: PIC32. TNkernel. Bus Exception.

посмотрю, спасибо

На будущее:
http://www.microchip.su/showpost.php?p=30451&postcount=1
__________________
даташит читать до того , а не после

Последний раз редактировалось Alex B.; 23.08.2010 в 19:09.
Alex B. вне форума   Ответить с цитированием
Старый 23.08.2010, 20:09   #3
Alex B.
Super Moderator
 
Аватар для Alex B.
 
Регистрация: 25.02.2007
Адрес: Russia, SPb
Сообщений: 1,674
Вес репутации: 1729/78
Alex B. has a brilliant futureAlex B. has a brilliant futureAlex B. has a brilliant futureAlex B. has a brilliant futureAlex B. has a brilliant futureAlex B. has a brilliant futureAlex B. has a brilliant futureAlex B. has a brilliant futureAlex B. has a brilliant futureAlex B. has a brilliant futureAlex B. has a brilliant future
Отправить сообщение для Alex B. с помощью Skype™
По умолчанию Re: PIC32. TNkernel. Bus Exception.

Цитата:
Сообщение от Vanizma Посмотреть сообщение
Опять же, если в мютексе используется протокол наследования приоритетов - тоже всё ок.
http://dl.dropbox.com/u/1749478/tnkernel_2_5_676.rar
попробуй, должно работать. Похоже системная ошибка родной tnkernel - мало кто использует ceiling мютексы, они долгие, поэтому ее не стазу увидели.
__________________
даташит читать до того , а не после
Alex B. вне форума   Ответить с цитированием
Старый 23.08.2010, 21:43   #4
Vanizma
Senior Member
 
Аватар для Vanizma
 
Регистрация: 30.04.2008
Адрес: Pskov
Сообщений: 4,131
Вес репутации: 4577/127
Vanizma has a reputation beyond reputeVanizma has a reputation beyond reputeVanizma has a reputation beyond reputeVanizma has a reputation beyond reputeVanizma has a reputation beyond reputeVanizma has a reputation beyond reputeVanizma has a reputation beyond reputeVanizma has a reputation beyond reputeVanizma has a reputation beyond reputeVanizma has a reputation beyond reputeVanizma has a reputation beyond repute
Отправить сообщение для Vanizma с помощью ICQ
По умолчанию Re: PIC32. TNkernel. Bus Exception.

Цитата:
Сообщение от Alex B. Посмотреть сообщение
http://dl.dropbox.com/u/1749478/tnkernel_2_5_676.rar
попробуй, должно работать. Похоже системная ошибка родной tnkernel - мало кто использует ceiling мютексы, они долгие, поэтому ее не стазу увидели.
не, как только втыкаю использование массива:
Код:
    unsigned int cnt=0;
    for (cnt=0;cnt<256;cnt++)
    {
        BufferToOut[cnt] = 5;
    }
вылетает бага "CORE-E0002: Exception due to misaligned word access, from instruction at 0x9d001824" в той же функции (при отладке в железе - код 0x00000004 == EXCEP_ADDR_ERR_L). Причем, в не урезанной проге бага та же.
Заметил, что если
Код:
 for (cnt=0;cnt<a;cnt++)
, где a<17 - то опять же нет баги, а если а>16 - вылетает.

Эх, может и правда нах эти ceiling мютексы.

-------------------------------------------
поправлюсь: контроллер PIC32MX795F512H, компилятор С32 v1.11a
Вложения
Тип файла: rar pic32_test_1.rar (265.7 Кб, 3 просмотров)
__________________


Последний раз редактировалось Vanizma; 23.08.2010 в 21:56.
Vanizma вне форума   Ответить с цитированием
Старый 24.08.2010, 03:06   #5
Alex B.
Super Moderator
 
Аватар для Alex B.
 
Регистрация: 25.02.2007
Адрес: Russia, SPb
Сообщений: 1,674
Вес репутации: 1729/78
Alex B. has a brilliant futureAlex B. has a brilliant futureAlex B. has a brilliant futureAlex B. has a brilliant futureAlex B. has a brilliant futureAlex B. has a brilliant futureAlex B. has a brilliant futureAlex B. has a brilliant futureAlex B. has a brilliant futureAlex B. has a brilliant futureAlex B. has a brilliant future
Отправить сообщение для Alex B. с помощью Skype™
По умолчанию Re: PIC32. TNkernel. Bus Exception.

1) скачай вот это, нашел еще один баг - автор не проверял статус очереди. Видимо ceiling mutex действительно никто не использовал =)
http://dl.dropbox.com/u/1749478/tnkernel_2_5_677.rar

2) никогда так не делай:
Код:
tn_sys_interrupt(_CORE_TIMER_VECTOR)
{
    INTClearFlag(INT_CT);                   // clear the interrupt flag
    UpdateCoreTimer(cSysTime);     // update the period
    tn_tick_int_processing();
    tn_event_iset(&evSystemFlag, Times_flag);
}
В прерывании системного таймера нельзя вызывать сервисы RTOS - только функцию tn_tick_int_processing(). Это связано с хаком, который автор применил для вызова задачи таймера сразу после выхода их этого прерывания.
Добавил по этому поводу предупреждение в доку. Мне почему-то это казалось очевидным... хотя конечно это не так

P.S. жду обратной связи чтоб выложить релиз
__________________
даташит читать до того , а не после

Последний раз редактировалось Alex B.; 24.08.2010 в 03:11.
Alex B. вне форума   Ответить с цитированием
Старый 24.08.2010, 08:11   #6
Vanizma
Senior Member
 
Аватар для Vanizma
 
Регистрация: 30.04.2008
Адрес: Pskov
Сообщений: 4,131
Вес репутации: 4577/127
Vanizma has a reputation beyond reputeVanizma has a reputation beyond reputeVanizma has a reputation beyond reputeVanizma has a reputation beyond reputeVanizma has a reputation beyond reputeVanizma has a reputation beyond reputeVanizma has a reputation beyond reputeVanizma has a reputation beyond reputeVanizma has a reputation beyond reputeVanizma has a reputation beyond reputeVanizma has a reputation beyond repute
Отправить сообщение для Vanizma с помощью ICQ
По умолчанию Re: PIC32. TNkernel. Bus Exception.

Цитата:
Сообщение от Alex B. Посмотреть сообщение
1) скачай вот это, нашел еще один баг - автор не проверял статус очереди. Видимо ceiling mutex действительно никто не использовал =)
http://dl.dropbox.com/u/1749478/tnkernel_2_5_677.rar
Прогнал в симуляторе и в железе - все работает (во всяком случае больше не вылетает и мютекс работает). Спасибо.

Цитата:
Сообщение от Alex B. Посмотреть сообщение
2) никогда так не делай:
Код:
tn_sys_interrupt(_CORE_TIMER_VECTOR)
{
    INTClearFlag(INT_CT);                   // clear the interrupt flag
    UpdateCoreTimer(cSysTime);     // update the period
    tn_tick_int_processing();
    tn_event_iset(&evSystemFlag, Times_flag);
}
В прерывании системного таймера нельзя вызывать сервисы RTOS - только функцию tn_tick_int_processing(). Это связано с хаком, который автор применил для вызова задачи таймера сразу после выхода их этого прерывания.
Добавил по этому поводу предупреждение в доку. Мне почему-то это казалось очевидным... хотя конечно это не так
Спасибо, учту. Действительно не очевидно. Извращенцев типа меня хватает
__________________

Vanizma вне форума   Ответить с цитированием
Старый 26.08.2010, 18:47   #7
Vanizma
Senior Member
 
Аватар для Vanizma
 
Регистрация: 30.04.2008
Адрес: Pskov
Сообщений: 4,131
Вес репутации: 4577/127
Vanizma has a reputation beyond reputeVanizma has a reputation beyond reputeVanizma has a reputation beyond reputeVanizma has a reputation beyond reputeVanizma has a reputation beyond reputeVanizma has a reputation beyond reputeVanizma has a reputation beyond reputeVanizma has a reputation beyond reputeVanizma has a reputation beyond reputeVanizma has a reputation beyond reputeVanizma has a reputation beyond repute
Отправить сообщение для Vanizma с помощью ICQ
По умолчанию Re: PIC32. TNkernel. Bus Exception.

Цитата:
Сообщение от Alex B. Посмотреть сообщение
1) скачай вот это, нашел еще один баг - автор не проверял статус очереди. Видимо ceiling mutex действительно никто не использовал =)
http://dl.dropbox.com/u/1749478/tnkernel_2_5_677.rar
Так этот порт можно использовать как рабочий релиз? Или там есть какие либо отладочные затычки?
__________________

Vanizma вне форума   Ответить с цитированием
Ответ


Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 
Опции темы
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
TNKernel для PIC32 Alex B. Продукция MICROCHIP 11 15.07.2010 13:29
modbus and ccs picc gladkih Вопросы начинающих 1 03.10.2008 09:34


Часовой пояс GMT +3, время: 16:53.


Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, Jelsoft Enterprises Ltd. Перевод: zCarot