Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Help! Очень нужен фулл ewarm 430А или новее
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > Cредства разработки для МК > IAR
Alx_D
Help! Очень нужен фулл ewarm 430А или новее. Или исходники стандартных библиотек от 430.
Мне надо их перекомпилировать для поддержки многопоточности, чтобы heap и файлы использовали мутексы.
Alx_D
Ну очень надо!!! На иаровском ftp что-то все закрыто. Может кто подскажет где взять EV-440a и Patch-ewarm-440a-P060613 ?
Мое мыло Alx_DсобакаTUT.BY
zltigo
1. Pro версию из свежих, полагаю не раздобудете здесь.
2. В IAR "файловые" функции никакой ценности не представляют, ибо болванки или обертки.
3. "heap" тоже очень так себе.
Вполне можно обойтись без всего этого.
4. А зачем 4.40 и патч при наличии 4.41?
Alx_D
Я давно не ходил на ftp-шник IAR-а и поэтому у меня есть EV430а.
Но на ftp сейчас ничего нет sad.gif где можно взять 4.41? Хотя-бы EV.
А патч Patch-ewarm-440a-P060613 патчит EV440 до фулл.
zltigo
Цитата(Alx_D @ Jul 1 2007, 14:42) *
Но на ftp сейчас ничего нет sad.gif где можно взять 4.41? Хотя-бы EV.

Так пойдите официальным путем через сайт и регистрацию, а не через левые ссылки, и возьмите 4.41A
Цитата
А патч Patch-ewarm-440a-P060613 патчит EV440 до фулл.

Только и радости от этого патча, что MISRA активизируется. Исходников библиотек он-же не содержит. Зато баги отсутствующие в 4.41 наличествуют.
Alx_D
Цитата(zltigo @ Jul 1 2007, 14:21) *
3. "heap" тоже очень так себе.


Да вроде нормально работает. А чем плох?
Я традиционно использую FreeRTOS на всех моих проектах. И heap защищаю, переписывая stdlib.h
Что-то типа

#pragma inline
void * malloc(size_t _S)
{
void * pvResult;
vTaskSuspendAll();
pvResult = _GLUE(__DEF_PTR_MEM__,_malloc(_S));
xTaskResumeAll();
return pvResult;
}

вместо

#pragma inline
void * malloc(size_t _S)
{
return _GLUE(__DEF_PTR_MEM__,_malloc(_S));
}

и все замечательно.
Это для того, чтобы остальные исходники, которые используют heap просто включали
stdlib.h и были по возможности максимально переносимыми.
Понятно, что можно в них вместо malloc можно использовать макрос, но очень не хочется.

Цитата(zltigo @ Jul 1 2007, 14:21) *
2. В IAR "файловые" функции никакой ценности не представляют, ибо болванки или обертки.

Под обертки очень удобно подсунуть свои _read(), _write() ....
причина таже, что и с heap. Но если включать прекомпилированные full библиотеки - там даже sprintf хипом пользуется, вызывая _data_malloc и включена нафиг не нужная мне поддержка wchar.



Цитата
Вполне можно обойтись без всего этого.

Можно конечно, но очень не хочется sad.gif
zltigo
Цитата(Alx_D @ Jul 1 2007, 18:03) *
Да вроде нормально работает. А чем плох?

Примитивен. Никаих попыток дефрагментации. Нет доступа к внутренней информации. Требует явного выделения фиксированной области памяти. Не позволяет менеджировать несколько кусков памяти.
Цитата
Я традиционно использую FreeRTOS на всех моих проектах. И heap защищаю, переписывая stdlib.h

Аналогично -FreeRTOS, только менеджер свой.
Цитата
Под обертки очень удобно подсунуть свои _read(), _write() ....

Удобно, только искать и править - хлопотно и спокойнее свои обертки написать, благо ничего существенного там нет.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.