История изменений
Исправление soslow, (текущая версия) :
Потому что он и так пишется, в алгоритмах и протоколах высокого уровня? Тем более что CMSIS это как раз кросплатформенный стандарт и кросплатформенная стандартная библиотека от ARM и расшифровывается как Common Microcontroller Software Interface Standard и это значит, что ты не в теме вообще, а тред создал чтобы позвездеть и выглядеть умным, но не получилось.
HAL у STM32 тоже достаточно высокого уровня, она в основном скрывает прямую работу с регистрами. Для байтоёбства у STM32 есть LL.
Чаще всего кросплатформенный код в Embedded никому не упал. Слава роботам здесь никто не пишет геттеры для абстрактных фабрик фабрик и прочий мусор, а за лишний оверхед бьют по лицу ногами. Ведь ограниченные ресурсы куда дороже переносимости, а в 90% случаев низкоуровневый, непереносимый код имеет свои жесткие привязки: специфическая инициализация, и/или работа с специфическими только для этого железа регистрами, способом доступа к памяти и т.д., или места критически чувствительные к производительности/задержкам.
Код, который не влез в камень и потребовал камень более дорогой приносит значительно большие убытки в производстве, чем никому не упавшая переносимость.
Тем более что у тех же STM32 между всеми сериями полная совместимость, даже распиновка одна - не влезло в F4, возьми F7 и впаяй на то же место. И в то же время влезло в F4 и много осталось - молодец, сэкономил бабки, возьми F1.
А если у тебя прямо по ходу разработки возникла потребность сменить STM32 на Freescale, то ты делаешь что-то не так или просто дебил.
Проблема из пальца высосана и обсуждать тут нечего.
Исправление soslow, :
Потому что он и так пишется, в алгоритмах и протоколах высокого уровня? Тем более что CMSIS это как раз кросплатформенный стандарт и кросплатформенная стандартная библиотека от ARM и расшифровывается как Common Microcontroller Software Interface Standard и это значит, что ты не в теме вообще, а тред создал чтобы позвездеть и выглядеть умным, но не получилось.
HAL у STM32 тоже достаточно высокого уровня, она в основном скрывает работу с регистрами.
Чаще всего кросплатформенный код в Embedded никому не упал. Слава роботам здесь никто не пишет геттеры для абстрактных фабрик фабрик и прочий мусор, а за лишний оверхед бьют по лицу ногами. Ведь ограниченные ресурсы куда дороже переносимости, а в 90% случаев низкоуровневый, непереносимый код имеет свои жесткие привязки: специфическая инициализация, и/или работа с специфическими только для этого железа регистрами, способом доступа к памяти и т.д., или места критически чувствительные к производительности/задержкам.
Код, который не влез в камень и потребовал камень более дорогой приносит значительно большие убытки в производстве, чем никому не упавшая переносимость.
Тем более что у тех же STM32 между всеми сериями полная совместимость, даже распиновка одна - не влезло в F4, возьми F7 и впаяй на то же место. И в то же время влезло в F4 и много осталось - молодец, сэкономил бабки, возьми F1.
А если у тебя прямо по ходу разработки возникла потребность сменить STM32 на Freescale, то ты делаешь что-то не так или просто дебил.
Проблема из пальца высосана и обсуждать тут нечего.
Исходная версия soslow, :
Потому что он и так пишется, в алгоритмах и протоколах высокого уровня? Тем более что CMSIS это как раз кросплатформенный стандарт и кросплатформенная стандартная библиотека от ARM и расшифровывается как Common Microcontroller Software Interface Standard и это значит, что ты не в теме вообще, а тред создал чтобы позвездеть и выглядеть умным, но не получилось.
HAL у STM32 тоже достаточно высокого уровня, она в основном скрывает работу с регистрами.
Чаще всего кросплатформенный код в Embedded никому не упал. Слава роботам здесь никто не пишет геттеры для абстрактных фабрик фабрик и прочий мусор, а за лишний оверхед бьют по лицу ногами. Ведь ограниченные ресурсы куда дороже переносимости, а в 90% случаев низкоуровневый, непереносимый код имеет свои жесткие привязки: специфическая инициализация, и/или работа с специфическими только для этого железа регистрами, способом доступа к памяти и т.д., или места критически чувствительные к производительности/задержкам.
Код, который не влез в камень и потребовал камень более дорогой приносит значительно большие убытки в производстве, чем никому не упавшая переносимость.
Тем более что у тех же STM32 между всеми сериями полная совместимость, даже распиновка одна - не влезло в F4, возьми F7 и впаяй на то же место. И а то же время влезло в F4 и много осталось - возьми F1.
А если у тебя прямо по ходу разработки возникла потребность сменить STM32 на Freescale, то ты делаешь что-то не так или просто дебил.
Проблема из пальца высосана и обсуждать тут нечего.