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

 
 
> Компилятор, оптимизация, error (keil, STM32), Вопрос
Нортон
сообщение Oct 8 2013, 13:25
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 41
Регистрация: 9-04-11
Пользователь №: 64 246



Здравствуйте.

Программирую под STM32 в keil. Есть два куска программы, писали два человека. При их объединении возникают такие ошибки:
1. No space in execution regions with .ANY selector matching startup_stm32l1xx_md.o(HEAP).
2. .\other\AMT_net.axf: Error: L6407E: Sections of aggregate size 0x1000 bytes could not fit into .ANY selector(s).

Какая-то проблема с heap, но если честно я не знаю зачем, где и как на микроконтроллере используется куча (может, кто объяснит).

Но если убрать оптимизацию в настройках компилятора, эти ошибки исчезают.

Объясните, пожалуйста, что происходит, как используется куча, ну можно еще интересное что-то есть чего я не знаю)))

Заранее благодарю за любые ответы.
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Golikov A.
сообщение Oct 8 2013, 19:14
Сообщение #2


Гуру
******

Группа: Свой
Сообщений: 4 256
Регистрация: 17-02-06
Пользователь №: 14 454



Цитата(Нортон @ Oct 8 2013, 17:25) *
Какая-то проблема с heap, но если честно я не знаю зачем, где и как на микроконтроллере используется куча (может, кто объяснит).


Да вроде куча также используется как и везде.
new, malloc, realloc, free, delete, и прочие операторы динамического выделения памяти берут ее из кучи. Если вы явно не используете такие штуки, то туда могут полезть библиотечные функции, от которых вы этого можете не ждать, типа stdio, printf и так далее...

Go to the top of the page
 
+Quote Post



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

 


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


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