Кому как...Для меня эти вопросы не спорные. Для эмбеддед приложений переносимость софта, на мой взгляд, дело десятое.
Переносимость ладно - не так часто нужно одно и тоже на разных ядрах запускать. Но Си должон быть (и желательно с плюсами и нормальной оптимизацией и бесплатный).
писаной на АСМ, код больше 50кб.
И зачем такой объём на асме писать? Не понимаю. Тем более из 128 кБ больше половины свободно...
А в тонкости АСМ вникать придётся, даже, писая на Ц, бо прерывания и критические секции кода остаются.
Да ладно, где там асм? Разве что instrinsinc функции компилятора, но это от написания на ассемблере как от Земли до Луны.
прерывания и критические секции кода остаются.
Прерывания обычно через регистры периферии и NVIC настраиваются - си хватает.
Критические секции - ну да там асм нужен - cli/sei вызвать. Больше он никчему. А ещё писать на асме муторнее.