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

 
 
> Загрузка функций в RAM
Мусатов Констант...
сообщение Feb 7 2017, 18:37
Сообщение #1


Частый гость
**

Группа: Участник
Сообщений: 188
Регистрация: 10-10-06
Пользователь №: 21 172



Есть толпа функций обработки данных, из которых работает только одна, в зависимости от настроек. При этом матобработка критична по скорости, потому им бы лежать в ОЗУ. Но их много и хчется сэкономить место в ОЗУ.
У всех функций один и тот же программный интерфейс.
Код
typedef void (*DataTransfer_t)( uint32_t );

После компиляции всех функций я посмотрел в мэп файле наиболее длинную из них и сделал с небольшим запасом буфер
Код
char FuncBuffer[512] @ ".itcmram";

Потом копирую в буфер тело функции
Код
memcpy( FuncBuffer, (char*)DataTransfer1, 512 );

После чего пытаюсь запустить
Код
((DataTransfer_t)FuncBuffer)( FirAskSlot );

Но не тут то было, вываливаюсь в Hard_fault.
Что я сделал неправильно?
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
jcxz
сообщение Feb 7 2017, 21:11
Сообщение #2


Гуру
******

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



Цитата(Мусатов Константин @ Feb 7 2017, 20:37) *
Но не тут то было, вываливаюсь в Hard_fault.

А Вы чего ожидали?
Go to the top of the page
 
+Quote Post
Мусатов Констант...
сообщение Feb 7 2017, 21:18
Сообщение #3


Частый гость
**

Группа: Участник
Сообщений: 188
Регистрация: 10-10-06
Пользователь №: 21 172



Цитата(jcxz @ Feb 8 2017, 00:11) *
А Вы чего ожидали?

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



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

 


RSS Текстовая версия Сейчас: 29th July 2025 - 06:52
Рейтинг@Mail.ru


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