В итоге, если вы используете C, вы можете вручную оптимизировать его позже, я не буду использовать ничего, кроме C или ассемблера (без C ++ и т. Д.).
Ключ - это набор инструкций микроконтроллера, если вы используете PIC или даже 8051, я бы использовал только ассемблер. Если это дружественный к компилятору isa, такой как arm или avr или msp430, тогда используйте C, чтобы сохранить некоторую типизацию, но вы, вероятно, будете иметь некоторые подпрограммы в ассемблере по разным причинам. Точно так же вы, вероятно, хотите избежать библиотеки C, даже newlib может быть слишком громоздким, заимствовать код или идеи из них, но не просто ссылаться на них. О, вернемся к вопросу, посмотрите, какие компиляторы C доступны для цели, снова Рука и AVR у вас не будет никаких проблем. Скорее всего, MSP тоже хорошо. Тот факт, что Keil или Iar продадут вам компилятор, не означает, что вы должны его купить или использовать, и результаты оплаты, и бесплатных компиляторов могут быть ужасными. В любом случае вам нужно хорошо разбираться в asm и изучать вывод (для этого вам, вероятно, придется написать дизассемблер).
Итог (еще одна нижняя строка), нет глобального ответа (хорошо, избегайте всего, что выше C - это глобальный ответ), это всегда зависит от того, что представляет собой платформа, каковы ваши ресурсы, какова ваша задача, каковы требования к производительности, что требования переносимости (если он действительно встроен в микроконтроллер, большая часть которого по определению не является переносимой), какие компиляторы, отладчики, jtag и т. д. доступны, даже если то, на какой операционной системе хоста вы разрабатываете, может иметь большое значение .