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

 
 
> IAR оператор new - как задать область памяти?
AlphaLaiman
сообщение Apr 17 2018, 15:58
Сообщение #1





Группа: Участник
Сообщений: 11
Регистрация: 1-11-15
Пользователь №: 89 126



Пишу на C++ под STM32. Проблема в следующем - пытаюсь задействовать в проекте одновременно CCMRAM и DMA. Соответствующим образом скорректировал .icf файл, без DMA все работает, все объекты создаются в памяти CCMRAM.
Но, как известно, DMA-контроллер не работает с памятью, размещенной в области CCMRAM. Как мне сделать так, чтобы нужные мне объекты классов, которые я собираюсь использовать с DMA, создавались оператором new не в CCMRAM, а в обычной RAM?
Всякие #pragma location не помогают
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
AlphaLaiman
сообщение Apr 17 2018, 17:05
Сообщение #2





Группа: Участник
Сообщений: 11
Регистрация: 1-11-15
Пользователь №: 89 126



Цитата(jcxz @ Apr 17 2018, 16:33) *
Так уберите из new функцию выделения памяти, оставьте только вызов конструктора. Читайте что такое placement new. А потом выделяйте память где душе угодно.

PS: А вообще - для embedded-применений лучше не использовать без динамическую память. Без лишней необходимости.

Спасибо, placement new помогло. А почему динамическую лучше не использовать?
Go to the top of the page
 
+Quote Post



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

 


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


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