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

 
 
> Выполнение кода из ОЗУ STM32F4, Хочу увеличить призводительность
Sekat
сообщение Sep 10 2013, 13:07
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 61
Регистрация: 13-02-12
Пользователь №: 70 242



Подскажите по SUBJ. Это реальный путь для STM32F4 повысить производительность?
С ходу попробовал разместить подпрограммку в ОЗУ - время выполнения осталось прежним. Я так понимаю, что число WaitStates автоматически не уменьшилось до 0. Есть ли какие элегантные способы для STM32F4 (кроме как установки числа WS вручную при входе в озушный код), с учетом многозадачной среды , с учетом того, что размещаемый код в общем случае может прерываться другими задачами не из ОЗУ, добиться требуемого результата?
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
scifi
сообщение Sep 10 2013, 16:29
Сообщение #2


Гуру
******

Группа: Свой
Сообщений: 3 020
Регистрация: 7-02-07
Пользователь №: 25 136



Цитата(Sekat @ Sep 10 2013, 17:07) *
Есть ли какие элегантные способы для STM32F4

Попробуйте замапить ОЗУ на нулевой адрес (SYSCFG_MEMRMP), должно стать быстрее. Да, ну и код выполнять из адресов 0x00******, а не 0x20******. Дело в том, что инструкции из 0x20****** идут в процессор через шину System Interface, в она вносит лишний такт задержки на каждую инструкцию и не умеет заглатывать две 16-битные инструкции в один присест, в отличие от шины ICode.
В мануале на процессор это расписано, и вот тут сегодня тоже обсуждалось.
Go to the top of the page
 
+Quote Post
jcxz
сообщение Sep 11 2013, 02:34
Сообщение #3


Гуру
******

Группа: Свой
Сообщений: 5 228
Регистрация: 3-07-08
Из: Омск
Пользователь №: 38 713



Может просто - по-старинке - переписать критичные места на асме? sm.gif
Go to the top of the page
 
+Quote Post



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

 


RSS Текстовая версия Сейчас: 23rd July 2025 - 17:58
Рейтинг@Mail.ru


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