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

 
 
> uC/OS-II и PREFETCH ABORT exception
gbcz
сообщение Feb 3 2009, 14:15
Сообщение #1





Группа: Новичок
Сообщений: 6
Регистрация: 2-06-08
Пользователь №: 37 992



Здравствуйте, уважаемые.
При работе с TCP-стэком в uC/OS-II постоянно происходит PREFETCH ABORT exception. Может быть кто-нибудь знает, от чего это происходит (видел кто-то писал о ретаргетинге библиотек, но невнятно) или как это можно обрабатывать?
Компилятор Keil.
Процессор LPC2378.
Заранее благодарен.
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
gbcz
сообщение Feb 4 2009, 08:44
Сообщение #2





Группа: Новичок
Сообщений: 6
Регистрация: 2-06-08
Пользователь №: 37 992



Ситуация немного проясняется.
Операционка работает нормально, стабильно. Никаких зависаний. Пока не выполнишь какое-нибудь действие с микриумовским TCP-стэком.
И при работе с входящим, и при работе с исходящим TCP соединением ситуация одинаковая:
всё, что выполняется в моем таске (открытие сокета, создание соединения, чтение, запись, закрытие сокета) выполняется без ошибок. После этого дебаггером я пошагово попадаю в IDLE_TASK, в его бесконечный цикл. Там тоже на протяжении сотен итераций всё гладко. И сказать что становится причиной prefetch abort невозможно.
Брэкпоинта перед входом в экцепшен я поставить не могу, ибо не знаю где он. А брэкпоинт в самом эксцепшен-хэндлере малоинформативен. В регистре LR в режиме Abort лежит IP-адрес удалённого сервера куда я подключался. Эксцепшен-хэндлер восстанавливает режим супервизора. В LR регистре некий адрес 0x400038ac. Затем эксцепшен-хэндлер восстанавливает режим, из которого он вызван - то есть Abort, и бегает так по кругу.

Другое дело, что prefetch abort обычно симптом плохо инициализированного контроллера памяти или PLL, что ведет к сбоям при чтении FLASH
и сносит крышу на самой шине AHB.
Тут значит сбои должны проявляться еще где-то. Только нам не говорят


Это уже интереснее.
Сам я не инициализиую ни контроллер памяти, не PLL. Всё это уже прописано в микриумовских исходниках. Если баги в них, то я уже не знаю, есть ли смысл в использовании их операционки.
Go to the top of the page
 
+Quote Post
aaarrr
сообщение Feb 4 2009, 09:01
Сообщение #3


Гуру
******

Группа: Свой
Сообщений: 10 713
Регистрация: 11-12-04
Пользователь №: 1 448



Цитата(gbcz @ Feb 4 2009, 11:44) *
В регистре LR в режиме Abort лежит IP-адрес удалённого сервера куда я подключался.

Дык ведь нашли практически. Осталось установить, кто может этим адресом затереть не свою память.
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- gbcz   uC/OS-II и PREFETCH ABORT exception   Feb 3 2009, 14:15
- - aaarrr   Цитата(gbcz @ Feb 3 2009, 17:15) как это ...   Feb 3 2009, 14:33
|- - gbcz   Цитата(aaarrr @ Feb 3 2009, 17:33) Смотри...   Feb 3 2009, 15:14
|- - aaarrr   Цитата(gbcz @ Feb 3 2009, 18:14) Если име...   Feb 3 2009, 15:22
|- - AlexandrY   Не должно там быть мусора. Ставте точку останова п...   Feb 3 2009, 17:21
|- - aaarrr   Цитата(AlexandrY @ Feb 3 2009, 20:21) Не ...   Feb 3 2009, 17:35
|- - AlexandrY   Не так много мест в адресном пространстве ARM-ов к...   Feb 3 2009, 19:22
|- - aaarrr   Цитата(AlexandrY @ Feb 3 2009, 22:22) В L...   Feb 3 2009, 20:29
|- - AlexandrY   Перебор в слове "тысячи" Еслиб все было ...   Feb 3 2009, 21:02
|- - aaarrr   Цитата(AlexandrY @ Feb 4 2009, 00:02) Не ...   Feb 3 2009, 21:18
- - gbcz   Тем, кто столкнулся с описанной выше проблемой, мо...   Feb 9 2009, 12:37
- - Andy Mozzhevilov   Скорее всего у вас банальная нехватка стека для ка...   Feb 10 2009, 04:59
- - gbcz   В связи с чрезвычайной удобностью uC/OS и необходи...   Mar 18 2009, 11:34
- - Andy Mozzhevilov   Стеки можно было посмотреть и в Кейл, правда не та...   Mar 18 2009, 14:04
- - TanT   Andy Mozzhevilov, где достать эту примочку для IAR...   Mar 19 2009, 12:53
- - Andy Mozzhevilov   Она по моему в комплект IAR уже включена, во всяко...   Mar 19 2009, 14:21


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

 


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


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