|
GCC ARM + malloc-free |
|
|
|
Mar 26 2012, 12:14
|

Частый гость
 
Группа: Свой
Сообщений: 156
Регистрация: 10-03-10
Из: Уфа
Пользователь №: 55 882

|
МК STM32F207 Eclipse + GCC Yagarto Никак не могу заставить работать менеджер памяти из стандартной библиотеки си. Добавил в проект syscalls.c взятый на форуме. Скрипт линкера (flash.icf) гибрид, но вроде правильный. Всё компилируется без ошибок, но функция malloc всегда возвращает 0x00000008. syscalls.c и flash.icf прикладываю.
--------------------
Руслан
|
|
|
|
|
 |
Ответов
|
Mar 29 2012, 05:17
|

Частый гость
 
Группа: Свой
Сообщений: 156
Регистрация: 10-03-10
Из: Уфа
Пользователь №: 55 882

|
Цитата(AHTOXA @ Mar 29 2012, 00:17)  Дополнение. Проверьте ещё переменную heap, равна ли она нулю до первого вызова malloc. У меня как-то были подобные проблемы, когда стартовый код не чистил bss и не инициализировал переменные. При включении сразу чищу всё ОЗУ. Сделал тестовый вывод и выяснилось, что _sbrk() вообще не вызывается при вызове malloc heap = 0 &_heap = 536966144
Сообщение отредактировал athlon64 - Mar 29 2012, 05:24
--------------------
Руслан
|
|
|
|
|
Mar 29 2012, 06:54
|

Частый гость
 
Группа: Свой
Сообщений: 156
Регистрация: 10-03-10
Из: Уфа
Пользователь №: 55 882

|
Цитата(AHTOXA @ Mar 29 2012, 11:03)  heap и &_heap в порядке. Попробуйте опции линкера -nostdlib или -nodefaultlibs. -nostdlib у меня включен, выключение ничего не меняет. с -nodefaultlibs проект не компилируется. Не найдена функция malloc и в syscalls ругается на errno.
--------------------
Руслан
|
|
|
|
|
Mar 29 2012, 07:32
|

Частый гость
 
Группа: Свой
Сообщений: 156
Регистрация: 10-03-10
Из: Уфа
Пользователь №: 55 882

|
Цитата(AHTOXA @ Mar 29 2012, 12:19)  А -nostartfiles? Напутал в прошлом посте. -nostartfiles у меня был включен, отключение не влияет -nostdlib и --nodefaultlibs проект не компилируется как писал выше. Собственно, как я понял, nostdlib - то же что и одновременно включенные nostartfiles и nodefaultlibs.
--------------------
Руслан
|
|
|
|
Сообщений в этой теме
athlon64 GCC ARM + malloc-free Mar 26 2012, 12:14        AHTOXA Мне обычно хватает -nostartfiles.
А может это Yaga... Mar 29 2012, 07:44    XVR Цитата(athlon64 @ Mar 29 2012, 09:17) При... Mar 29 2012, 08:38 kolobochishe У меня была проблема когда в забыл установить разм... Mar 29 2012, 03:26 athlon64 Не я один столкнулся с подобной проблемой:
http://... Mar 29 2012, 07:57 Сергей Борщ zltigo выкладывал тут самописный менеджер памяти. ... Mar 29 2012, 08:42 athlon64 Заменил Yagarto на DevkitPRO, теперь процессор вис... Mar 29 2012, 09:34 Сергей Борщ QUOTE (athlon64 @ Mar 29 2012, 12:34) Спа... Mar 29 2012, 10:33  athlon64 Попробовал Codesourcery G++ Lite - результат тот ж... Mar 29 2012, 10:40   athlon64 Цитата(Сергей Борщ @ Mar 29 2012, 15:33) ... Mar 29 2012, 10:56    AHTOXA Цитата(athlon64 @ Mar 29 2012, 16:56) Mak... Mar 29 2012, 11:32  AHTOXA Если что, я занычил ссылочку на исходный вариант а... Mar 29 2012, 10:43 XVR Цитата(athlon64 @ Mar 29 2012, 13:34) Не ... Mar 29 2012, 11:51  athlon64 Цитата(XVR @ Mar 29 2012, 16:51) Смотрите... Mar 30 2012, 03:23   XVR Цитата(athlon64 @ Mar 30 2012, 07:23) В m... Mar 30 2012, 08:25
2 чел. читают эту тему (гостей: 2, скрытых пользователей: 0)
Пользователей: 0
|
|
|