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

 
 
> MMU + DCache, at91sam9260
ubobrov
сообщение Sep 23 2008, 05:38
Сообщение #1


Участник
*

Группа: Свой
Сообщений: 64
Регистрация: 15-08-05
Пользователь №: 7 636



Необходимо поднять DCache под операционкой uC/OS.
Из документации следует, что DCache включается только при включеном MMU.
При включеном MMU и включении DCache программа падает в undefined instruction после нескольких переключений контекста ОС, а без ОС всё работает нормально.
Пробовал делать invalidate cache и invalidate TLB для ICache и DCache отдельно и вместе при переключении контекста ОС - не помогло.
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
aaarrr
сообщение Sep 23 2008, 11:11
Сообщение #2


Гуру
******

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



Вообще-то кэш для процессора работает совершенно прозрачно, за исключением тех случаев, когда память модифицируется или читается "внешними силами".

А сам код этой "undefined instruction" не наводит на какие-либо мысли?
Go to the top of the page
 
+Quote Post
ubobrov
сообщение Sep 24 2008, 05:21
Сообщение #3


Участник
*

Группа: Свой
Сообщений: 64
Регистрация: 15-08-05
Пользователь №: 7 636



Цитата(aaarrr @ Sep 23 2008, 15:11) *
Вообще-то кэш для процессора работает совершенно прозрачно, за исключением тех случаев, когда память модифицируется или читается "внешними силами".

А сам код этой "undefined instruction" не наводит на какие-либо мысли?

Вот ICache действительно совершенно прозрачно под ОС и без ОС работает, а что касается DCache, то, как мне кажется, его надо чистить при переключении контекста т.к. данные в нём не являются валидными для нового процесса (на который переключилась ОС).
В undefined instruction падает когда очищаю ICache, если этого не делать, а чистить только DCache, то падает в data abort. Со включеным только ICache-ем всё работает и ничего чистить не надо, но хотелось бы и DCache включить.
Go to the top of the page
 
+Quote Post



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

 


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


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