|
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, 09:34
|

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

|
Заменил Yagarto на DevkitPRO, теперь процессор виснет при вызове malloc  На Yagarto пробовал BGET, у него функция bget() всё время возвращала чушь типа 0x801C0000, т.е. вообще не из области ОЗУ. Цитата(XVR @ Mar 29 2012, 13:38)  Гм. А не стоит ли у вас в libc вместо malloc затычка (как в syscalls.c) ? Не знаю. Как уточнить? Newlib в yagarto в виде объектных файлов... хотя исходники тоже отдельно выложены. Цитата(Сергей Борщ @ Mar 29 2012, 13:42)  zltigo выкладывал тут самописный менеджер памяти. Использую его вместо штатного - компактный, не тянет за собой кучу ненужного из библиотек. Обернул его в плюсы, добавил Mutex для многопотчности. Прилагаю. Спасибо, но, к сожалению, с плюсами у меня пока не очень. Попробую вариант zltigo тоже
Сообщение отредактировал athlon64 - Mar 29 2012, 09:44
--------------------
Руслан
|
|
|
|
|
Mar 29 2012, 10:33
|

Гуру
     
Группа: Модераторы
Сообщений: 8 455
Регистрация: 15-05-06
Из: Рига, Латвия
Пользователь №: 17 095

|
QUOTE (athlon64 @ Mar 29 2012, 12:34)  Спасибо, но, к сожалению, с плюсами у меня пока не очень. Его довольно просто вернуть обратно в обычный С - переименовать класс в структуру, вынести из него функции, заменить конструктор на функцию инициализации, которую вызывать при старте программы и, собственно, все. P.S. Хотя нет, не все так просто. Попробую сделать сам. Вот такое получилось. Не проверял, но кажется сломать там что-то было трудно.
--------------------
На любой вопрос даю любой ответ"Write code that is guaranteed to work, not code that doesn’t seem to break" ( C++ FAQ)
|
|
|
|
|
Mar 29 2012, 10:40
|

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

|
Попробовал Codesourcery G++ Lite - результат тот же, malloc возвращает 0х00000008. Так что дело не в тулчейне Цитата(Сергей Борщ @ Mar 29 2012, 15:33)  Вот такое получилось. Не проверял, но кажется сломать там что-то было трудно. О, спасибо, сейчас попробую.
--------------------
Руслан
|
|
|
|
|
Mar 29 2012, 10:56
|

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

|
Цитата(Сергей Борщ @ Mar 29 2012, 15:33)  Вот такое получилось. Не проверял, но кажется сломать там что-то было трудно. Отлично работает! Цитата(AHTOXA @ Mar 29 2012, 15:43)  Если что, я занычил ссылочку на исходный вариант аллокатора от zltigo: здесь. Выкладывайте тогда makefile, помозгуем. MakeFile во вложении
--------------------
Руслан
|
|
|
|
Сообщений в этой теме
athlon64 GCC ARM + malloc-free Mar 26 2012, 12:14 athlon64 неужели никто не может подсказать? Mar 28 2012, 16:47 AHTOXA Посмотрите (выдайте на отладочную печать) значение... Mar 28 2012, 18:14  AHTOXA Дополнение. Проверьте ещё переменную heap, равна л... Mar 28 2012, 19:17   athlon64 Цитата(AHTOXA @ Mar 29 2012, 00:17) Допол... Mar 29 2012, 05:17    AHTOXA heap и &_heap в порядке. Попробуйте опции линк... Mar 29 2012, 06:03     athlon64 Цитата(AHTOXA @ Mar 29 2012, 11:03) heap ... Mar 29 2012, 06:54      AHTOXA А -nostartfiles? Mar 29 2012, 07:19       athlon64 Цитата(AHTOXA @ Mar 29 2012, 12:19) А -no... Mar 29 2012, 07:32        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  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
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|