ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Воскресенье
22 декабря
477744
VVB (02.01.2014 09:12 - 16:20, просмотров: 56924)
Подскажите по MPU http://www.embeddedrelated.com/usenet/embedded/show/101803-1.php
Дано: 1. процессор с MPU (платформа Hercules от TI, Cortex-R4F, например, RM48L952) 2. порт FreeRTOS, генерируемый Halcogen, с возможностью использования MPU 3. newlib+GCC или Dinkum+ARMCC (скорее, последнее, потому что с GCC будет очень дорого работать -- доказывать с помощью тестов, что он делает то, что надо, смотри http://www.nxtbook …7/index.php?startpage2 главу compiler verification for safety-critical applications) 4. требование разработать программу в соответствии с критериями безопасности (safety-critical system) IEC 62304 5. предпочтительный язык С++ 6. задачи должны работать в пользовательском режиме 7. требуется использовать методы XP и TDD Требуется: заставить работать это всё вместе. Я так думаю, что задача в принципе нерешима, по причине того, что malloc не интегрирован в RTOS (нет соответствующего вызова через SVC). Соответственно, огромный пласт готового ПО или стандартных библиотек будет невозможно использовать (любую команду new или любой класс, требующий динамическое выделение памяти). Теоретически, при использовании newlib можно создать структуру реентрабельности для каждой задачи, но там имеются указатели на память, выделяемую malloc(), и не получится работать, настроив канал MPU на эу структуру реентрабельности. Кто-нибудь решал подобную задачу? Что-то мне совсем не хочется отказываться от стандартной библиотеки языка Си.