Цитата(LightElf @ Apr 25 2015, 14:36)

Возьмите Nuvoton n32926, стоит $8 в розницу. ARM9 240мГц + 64МБ DDR2, все в корпусе LQFP128. Снаружи нужна только SPI флешка. Фарш полный. Хошь линукса ставь, хошь на асме пиши.
По моим ассоциациям выражение "можно ставить Линукс" - сродни ругательству

, поскольку толсто намекает, что данный девайс скорее процессор, чем контроллер.
Смотрим, что есть у этих Nuvoton'ов кроме возможности ставить на них Linux.
N3290x:
* Timer - 2x32-bit, 4 PWM
* USB - 1 port (device+host)
* UART - 1 port
* SPI - 1 channel (master+slave)
* I2C - 1 channel
* I2S - 1 channel
* ADC - 10-bit (multi-channel)
* DAC - 1x16-bit stereo
N3292x:
* Timer - 4x32-bit, 4 PWM
* USB - 1 port (device+host)
* UART - 1 port
* SPI - 2 channel (master+slave)
* I2C - 1 channel
* I2S - 1 channel
* ADC - 1x16-bit (audio only)
* DAC - 1x16-bit stereo
причем все это жестко привязано к конкретным пинам.
Глядучи на это, можно сказать, что это не контроллер, а какой-то медиа-плейер (при этих словах смачно сплевываю на пол

). Т.е. это годится только для того, что музычку и ролики крутить. А Линукс там только для того, чтобы записи из списка выбирать.
Я понимаю, что AVR не идеал, но с ролью контроллера справляется неплохо, хотя и видики крутить не умеет. Скажем, у Xmega таймеров по две штуки на каждом порту! UART, SPI, I2C - по штуке на порт. ADC и DAC - по штуке на первые два порта. Т.е. почти на каждом порту (это 8 торчащих наружу пинов) можно программно задать, который из пинов будет счетным сходом таймера, какой спускает захват, какие выдают наружу PWM. Входы ADC и выход DAC тоже присоединяются к пинам по выбору (внутри своего порта). Правда выводы UART, SPI и I2C жестко фиксированы, но это не напрягает, поскольку их клоны есть на каждом порту.
В идеале контроллер должен уметь не только дрыгать ножками своих рабочих портов, но и иметь программную возможность использовать любую из этих ножек, как интерфейс из списка всех имеющихся. И требуется это вовсе не затем, чтобы обеспечивать совместимость с предшественником на старой плате, а, главным образом, затем, чтобы каждую из ограниченного числа ножек можно было бы использовать по тому назначению, которое в данном проекте актуально. Тогда как попытки процессоро-ваятелей закрепить на каждой ножкой определенную функцию приводят к тому, что число ног растет до 256 и выше, большая часть из которых в конкретных задачах не используется.
Кстати, в этом отношении примером могут служить многие автомобильные контроллеры, которым по штату положено контролировать большое число параметров и активно заниматься управлением жизненными функциями автомобиля. Вот это настоящие контроллеры! Хотя, к сожалению, там перебдели с безопасностью, сильно удорожив изделие. В этой связи атмеловский
SAM V71 (автомобильный Cortex-M7, который на
демо-плате стоит) оставляет очень хорошее впечатление. Т.е. это действительно контроллер без всяких скидок, по сравнению с которым Nuvoton'ы и близко не стоят.