Цитата(b-volkov @ Dec 13 2016, 18:44)

А что, в самом деле сейчас основная масса разработчиков пользует M4 и М7 от STM? Несколько лет назад пришлось по необходимости столкнуться с их первыми M0 и M3 (точно чипы не вспомню). Впечатление осталось не приятное: периферия какая-то у них показалась не продуманная, если не сказать - кривоватая.
Надеюсь, у "старших братьев" она получше? Мало-ли, вдруг жизнь заставит....
Ваши надежды беспочвенны. Ничего не изменилось. Из всех линеек МК уровня Cortex-M, с которыми мне доводилось плотно работать в последнее время (NXP LPC17xx и LPC43xx, Tiva, Infineon) STM32 обладают наиболее бедной пеииферией. Местами и кривоватой.
А то, что большинство разрабов используют именно STM32 - это похоже на правду. По крайней мере в РФ.
Но это заслуга не инженеров STM, а его менеджмента (политика дешёвых и бесплатных отладок например к тому же сразу со встроенными эмуляторами). Эта политика нацелена на привлечение максимального количества любительских "масс" к своим продуктам. Для профессионалов это конечно не является критерием (цена отладки). Но любители и студенты приучаются и "подсаживаются" на продукцию STM, потом ничего другого не знают, приходят на работу и внушают начальству что "нужно делать на STM", но не от того, что он более подходит к задаче, а потому, что ничего другого не знают, а изучать лень.
Поэтому мнеджерам других производителей стоило бы поучиться у манагеров STM. А вот инженерам STM наоборот стоит оторвать руки.
Так что оставайтесь на LPC43xx - контроллер хороший, оставил о себе хорошие впечатления. Да и какие ему STM старшие братья-то???? С их максимум 180МГц на одном ядре, против 204МГц помноженных на 3 ядра LPC4370??? И периферия у 43-х мощнее.
Цитата(aaarrr @ Dec 13 2016, 20:58)

Местами бывает кривовато, но жить вполне можно. В конце концов, никто не без греха.
Да ладно бы кривовато, действительно - все не безгрешны.
Но почему так нищебродски реализована периферия?
Взять тот же SPI на вроде бы казалось лидере линейки - STM32F4xxx: ни FIFO, ни возможности выбрать длину отличную от 8/16 бит, ни гибкой установки скорости (чтобы подобраться к макс. возможной скорости работы с нужной периферией, придётся частоту всего МК подбирать), ни режимов Bi- и Quad-SPI, которые уже вроде бы почти все чипы SPI-памяти поддерживают. Не говоря уже о таких возможностях как аппаратное управление несколькими CS из потока данных ( и не на каждый байт дёргать, а как нужно) или переменной длине разрядности данных внутри пакета без участия CPU или точного конфигурирования таймингов (программируемые паузы в начале и конце пакета между данными и CS, между отдельными словами и между двумя соседними пакетами при CS=high).
Единственный плюс тут - изучать такую периферию нужно меньше времени. Описание 2-3 регистров прочитал и вперёд. И это тоже по-моему - реверанс в сторону любителей, чтобы сделать попроще. Это не сравнить например с Infineon-ом, где в последовательном интерфейсе только к работе с FIFO канала относятся с десяток регистров! Да любитель ни в жизнь такое не осилит.