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

 
 
> Help! Очень нужен фулл ewarm 430А или новее, или исходники стандартных библиотек от 430
Alx_D
сообщение Jul 1 2007, 01:27
Сообщение #1





Группа: Новичок
Сообщений: 6
Регистрация: 31-05-06
Пользователь №: 17 643



Help! Очень нужен фулл ewarm 430А или новее. Или исходники стандартных библиотек от 430.
Мне надо их перекомпилировать для поддержки многопоточности, чтобы heap и файлы использовали мутексы.

Сообщение отредактировал Alx_D - Jul 1 2007, 01:27
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Alx_D
сообщение Jul 1 2007, 15:03
Сообщение #2





Группа: Новичок
Сообщений: 6
Регистрация: 31-05-06
Пользователь №: 17 643



Цитата(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
Go to the top of the page
 
+Quote Post



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

 


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


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