Например TDA7294

Форум РадиоКот • Просмотр темы - stm32 MPU
Форум РадиоКот
Здесь можно немножко помяукать :)

Текущее время: Вс дек 28, 2025 20:50:59

Часовой пояс: UTC + 3 часа


ПРЯМО СЕЙЧАС:



Начать новую тему Ответить на тему  [ Сообщений: 6 ] 
Автор Сообщение
Не в сети
 Заголовок сообщения: stm32 MPU
СообщениеДобавлено: Пт май 24, 2019 14:08:38 
Открыл глаза

Зарегистрирован: Ср май 14, 2014 15:46:02
Сообщений: 55
Откуда: Харьков
Рейтинг сообщения: 0
Доброго всем времени суток!

Кто может подсказать, где я что не понимаю? Задача такая: есть камень stm32f745, ПО не использует ОС. Кэширование данных включено. Мне необходимо закрыть область буфера в ОЗУ от кэширования, дабы избежать недопониманий с ДМА. Скопировал решение с Куба, но все равно сразу влетаю в HardFault ((

Код:
    MPU_Region_InitTypeDef MPU_InitStruct = {0};

    // Disables the MPU
    HAL_MPU_Disable();
    // Initializes and configures the Region and the memory to be protected
    MPU_InitStruct.Enable = MPU_REGION_ENABLE;
    MPU_InitStruct.Number = MPU_REGION_NUMBER0;
    MPU_InitStruct.BaseAddress = (uint32_t) &dh_buffer;
    MPU_InitStruct.Size = MPU_REGION_SIZE_256B;
    MPU_InitStruct.SubRegionDisable = 0x0;
    MPU_InitStruct.TypeExtField = MPU_TEX_LEVEL1;
    MPU_InitStruct.AccessPermission = MPU_REGION_FULL_ACCESS;
    MPU_InitStruct.DisableExec = MPU_INSTRUCTION_ACCESS_DISABLE;
    MPU_InitStruct.IsShareable = MPU_ACCESS_SHAREABLE;
    MPU_InitStruct.IsCacheable = MPU_ACCESS_NOT_CACHEABLE;
    MPU_InitStruct.IsBufferable = MPU_ACCESS_NOT_BUFFERABLE;

    HAL_MPU_ConfigRegion(&MPU_InitStruct);
    /* Enables the MPU */
    HAL_MPU_Enable(MPU_PRIVILEGED_DEFAULT);


http://prntscr.com/nst006
(нельзя просто картинку вставить?)


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: stm32 MPU
СообщениеДобавлено: Пт май 24, 2019 14:36:27 
Это не хвост, это антенна
Аватар пользователя

Карма: -16
Рейтинг сообщений: -136
Зарегистрирован: Чт фев 19, 2015 12:41:04
Сообщений: 1405
Рейтинг сообщения: 0
А Вы Ератту читали, может там сразу об этом сказано. А у Вас тип uchar не смущает? для 32 бит процессора? И вот это меня смущает MPU_InitStruct.DisableExec = MPU_INSTRUCTION_ACCESS_DISABLE; Как согласуется с отсутствием кеширования ?

_________________
"Every profession is a conspiracy against the uninitiated" (B. Shaw)
"A textbook can be defined as a book unsuitable for reading" (B. Shaw)
Tautology is humor in "this" place (Vigo Carpathian)


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: stm32 MPU
СообщениеДобавлено: Пт май 24, 2019 14:48:50 
Открыл глаза

Зарегистрирован: Ср май 14, 2014 15:46:02
Сообщений: 55
Откуда: Харьков
Рейтинг сообщения: 0
Еррату не догадался почитать, спасибо! Сейчас посмотрю
uchar - это прикол Кейла. объекта нет, он ему такой тип присваивает. То такое
MPU_INSTRUCTION_ACCESS_DISABLE или ENABLE на кэширование не влияет, но что-то надо туда поставить. Пробовал оба варианта - результат одинаков (

------

в эррате про MPU ничего нет


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: stm32 MPU
СообщениеДобавлено: Пт май 24, 2019 15:11:28 
Это не хвост, это антенна
Аватар пользователя

Карма: -16
Рейтинг сообщений: -136
Зарегистрирован: Чт фев 19, 2015 12:41:04
Сообщений: 1405
Рейтинг сообщения: 0
У меня та-же фигня 8 раз прочитал так и не заработало. Вот такие они современные процики. У меня не получается сгенерировать прерывание от АЦП, хотя запуск АЦП вроде по событию заставил работать, процик TMS320F280xx.

_________________
"Every profession is a conspiracy against the uninitiated" (B. Shaw)
"A textbook can be defined as a book unsuitable for reading" (B. Shaw)
Tautology is humor in "this" place (Vigo Carpathian)


Вернуться наверх
 
Эиком - электронные компоненты и радиодетали
Не в сети
 Заголовок сообщения: Re: stm32 MPU
СообщениеДобавлено: Сб май 25, 2019 14:46:58 
Открыл глаза

Зарегистрирован: Ср май 14, 2014 15:46:02
Сообщений: 55
Откуда: Харьков
Рейтинг сообщения: 0
Я понял. Нельзя управлять MPU при включенном кэше


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: stm32 MPU
СообщениеДобавлено: Вс май 26, 2019 18:47:37 
Прорезались зубы
Аватар пользователя

Карма: 5
Рейтинг сообщений: 30
Зарегистрирован: Пн июл 04, 2016 16:51:22
Сообщений: 234
Откуда: Россия, Омск
Рейтинг сообщения: 0
Без ОС и проблемы с кэшированием?
Мне кажется, в таком случае лучше использовать кольцевой буфер - пока заполняется одна половина, вторая будет гарантировано свободной и синхронизированой.

Так же, попробуйте найти из-за чего вылетает исключение.
Либо как-то иначе решать задачу.


Вернуться наверх
 
Показать сообщения за:  Сортировать по:  Вернуться наверх
Начать новую тему Ответить на тему  [ Сообщений: 6 ] 

Часовой пояс: UTC + 3 часа


Кто сейчас на форуме

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 24


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

Найти:
Перейти:  


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB
Extended by Karma MOD © 2007—2012 m157y
Extended by Topic Tags MOD © 2012 m157y