SapegoAL 0 6 ноября, 2012 Опубликовано 6 ноября, 2012 · Жалоба Не совсем понимаю как CMSIS раздувает код. Я оттуда пользуюсь определениями, и, на мой взгляд, удобно. Библиотеки тоже не все свои пишу. То что вызывается единожды - типа инициализации PLL, кое-какие настройки часов ещё мелочь, я оставил. Ту переферию, что используется во всём проекте, а не только при инициализации - полностью переписал. Тем более, что жизнь заставляет. Всё равно стандартными библиотеками пользоваться невозможно. Даже если плюнуть на то, что они избыточны и раздуты. Во вторых сложно говорить о "раздувании кода", когда минимум на кристалле 512к. Его ещё заполнить надо... )) Некоторые вещи понравились у NXP. Вполне их можно оттуда и перетянуть. С другой стороны есть очень сильные стороны у STM. 1. Упоминалось уже - совместимость по ногам. + конструктор который они предлагают. Очень удобная фича. Достаточно сказать, что как правило развития у NXP просто нет. Применили 1764 - ну 1765 можно поставить. И то ... Применил я stm32f103 (в 100 ножном)- могу поставить и 207 и 405, и 100 и f0 из последних. Да там есть некоторые вопросы по периферии, но почти все решаемы. Это десятки кристаллов с разной периферией и разными объёмами FLASH/RAM. Ну очень удобно. Так в текущем проекте я применил 407. Отлаживаю. В последствии думаю выпустить урезанную версию прибора без Ethernet на 103. Задействованы почти все ноги, а всего то придётся только один SPI программный сделать и как-то выкрутится с выходом калибратора часов. 207 так вообще один к одному. Результирующий проект перекомпилю, если всё OK, то на нём и выпускаться будет полная версия. 1.1. Хорошо продуманная совместимость по периферии... Мне понравилось больше чем в NXP. Особенно в старших моделях. Там на одну ногу до 7 ф-ций альтернативных выкатывается. Почти любой вариант раскладки прокатывает. Очень большое количество периферии куча таймеров USART и прочее. И очень хорошо совмещаются друг с другом. При грамотном написании библиотек - просто молодцы. 2. С периферией всё в принципе не плохо. Слегка ADC перекручен. А так всё неплохо. I2C запустили и в мастере и в слэйве. Да есть там некоторые нюансы. Например мультимастер неотключаемый. То есть если SLAVE не обработает подтверждение, то мастер отвалится без спроса - потеря шины. Ну и немного они намутили в SLAVE. Короче надо вводить мультимастер и всё работает. Зато есть бонус. ST по крайней мере принимает критику и пытается улучшать и развивать периферию. Например RTC в 103 так убого сделаны ... И вот в 20x/40x - вполне прилично. А с учётом хранения данных от часов - ещё и пендаль для NXP. В NXP 4 регистра... Чаще всего этого мало. В ST их помоему 11 (по памяти не помню) + в старших камнях кусок ОЗУ. В NXP тоже есть такие камни, но это некоторые камни, а здесь все старшие ... Разница однако ... А посмотрите какой убогий CAN у NXP. И они его благополучно перетащили на CM3. Я специально смотрел. Например SAE J1939 аппаратно невозможно. Нужна маска, а у них коридор. A ST позволяет и так и так. Единственное, что конечно является бестселером это контроллер TFT. Здесь 2478/1788/1850 рулят. Альтернативы у ST нет. 3. Ну и цена - достовабельность не последние вещи. Понравилось мне и качество/ надёжность/ устойчивось. Пусть и субъективно, но всё таки осталось хорошее ощущение ... Нет непоняток... Хорошо отлаживается ... --- Короче посовокупности мне больше stm нравится. KINETIS хорош безусловно. Понравилась аппаратная обработка сенсорных кнопок, АЦП/ ЦАП ... Но всётаки дорог ... Да и семейство пока ещё .... Короче немного задержались они с выходом ... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
IgorKossak 0 6 ноября, 2012 Опубликовано 6 ноября, 2012 · Жалоба ... Применил я stm32f103 (в 100 ножном)- могу поставить и 207 и 405, и 100 и f0 из последних... Тут Вы слегка погорячились, 100-ножечных f0 пока нет и не предвидятся, но основная мысль понятна. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Артём__ 0 6 ноября, 2012 Опубликовано 6 ноября, 2012 · Жалоба Например SAE J1939 аппаратно невозможно. Нужна маска, а у них коридор. То есть в автомобильные приложения не годится? О какой конкретно серии речь? CAN вреде разный на разных семействах? Нужна маска, а у них коридор. А все сообщения не получится обрабатываться на предмет их совпадения с небольшим списком интересующих? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
VslavX 0 6 ноября, 2012 Опубликовано 6 ноября, 2012 · Жалоба развития у NXP просто нет. Применили 1764 - ну 1765 можно поставить ИМХО, не все там так гладко. По софту с LPC1768 на LPC1788 переходится довольно коряво. Куча мелких не бросающихся в глаза изменений. Регистры потасовали, GPIO настраивается по-другому, тактирование другое и еще всякое. При переходе 1768->1788 разочаровался - ожидался мгновенный запуск, а пришлось таки повозиться. У ST32F2xx однозначно лучше Ethernet контроллер (тут в этой ветке про это писал уже, на сегодня плюшки все опробованы практически - реально вкусные). А вот USB device у STM32F2xx довольно самобытные. Первый раз такое вижу - все принимаемые пакеты валят в одно FIFO, с вытекающими последствиями, когда надо выполнить SET FEATURE STALL например (и есть у меня некоторое подозрение что в ST-шной библиотеке код написан для этой функции не очень верно). Прикручивал USB-device Intel/Samsung/Atmel/Freescale/NXP - везде конечные точки отдельные, со своими независимыми FIFO. Про хост вообще молчу - тоже самобытное извращение вместо стандартных OHCI/EHCI. Там вообще, похоже USB куплен у Синопсиса в виде IP-модуля и прикручен с далеко не косметическими швами (модуль походу 64-битным выглядит). Документация тоже явно патчилась с готовой - много незаимплеменченого выкинуто, но пара непонятных/нерабочих битов в документации осталась. Еще SPI у STM32 помедленнее - без DMA (не подходит DMA - надо в потоке принятые данные анализировать) тормозит, не получается без пропусков его загрузить в режиме поллинга. У LPC там FIFO было встроенное в SSP, шустро работало - пока анализируем очередной байт, SPI работает параллельно. KINETIS хорош безусловно. Сейчас Атмел еще "поднимает голову". Из Cortex-M3 у них SAM3X интересный - SDRAM контроллер, Ethernet (старый, правда, без плюшек), USB HS (трансивер на борту). Но традиционно - питание наружу торчит в двух уровнях (оно с SAM7 все так тянется - цоколевка такая же у новых серий). Еще пугают новым комбайном - SAM4E - где будет "все-все-все". Поживем - увидим. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
MK2 0 7 ноября, 2012 Опубликовано 7 ноября, 2012 · Жалоба +1 в пользу KINETIS - хороший набор периферии при малопотребляющем ядре M0, много режимов сна с огромными возможностями по выхода. -1 против STM32 - кто пользуется CMSIS Freescale делает свои камни на М4 и все-таки вы имели ввиду SPL. Последний конечно не везде радует, но инициилизацией обойтись можно Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
_Pasha 0 7 ноября, 2012 Опубликовано 7 ноября, 2012 · Жалоба 1.1. Хорошо продуманная совместимость по периферии... Мне понравилось больше чем в NXP. Особенно в старших моделях. Там на одну ногу до 7 ф-ций альтернативных выкатывается. Почти любой вариант раскладки прокатывает. Вот что-то не получается "прочувствовать", скорее - наоборот, так "продумано", что постоянно не хватает нескольких нужных ног, думал в 100+ корпусах попустит - куда там! Все те же грабли, главным образом из-за того, что стратегически важный АЦП висит на не менее стратегических по функциям пинах. Беда... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
topkin 0 7 ноября, 2012 Опубликовано 7 ноября, 2012 · Жалоба Вот что-то не получается "прочувствовать", скорее - наоборот, так "продумано", что постоянно не хватает нескольких нужных ног, думал в 100+ корпусах попустит - куда там! Все те же грабли, главным образом из-за того, что стратегически важный АЦП висит на не менее стратегических по функциям пинах. Беда... Может все дело в прокладке, а не в руле? Атмел последнее время все чаще стал мелькать перед глазами. Правда после смены SAM7 на LPC2x нет веры в него, что касается армов конечно... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
_Pasha 0 7 ноября, 2012 Опубликовано 7 ноября, 2012 · Жалоба Может все дело в прокладке, а не в руле? Глубокомысленно.. Не подскажете, где разрулить MII + ADC 16 каналов из обозначенных 24? 144 ноги не помогают. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
SapegoAL 0 8 ноября, 2012 Опубликовано 8 ноября, 2012 · Жалоба Не подскажете, где разрулить MII + ADC 16 каналов из обозначенных 24? 144 ноги не помогают. Всегда хочется чего-то большего. Если Ethernet включаешь или контролер SDRAM (LCD), то отрубается куча ног. Конечно не есть хорошо, но как без этого? Этож не система на кристалле. :rolleyes: Мыж в сравнении. У NXP при таком раскладе тоже всё не лучшим образом абстоит. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Allregia 9 9 ноября, 2012 Опубликовано 9 ноября, 2012 · Жалоба Всегда хочется чего-то большего. Если Ethernet включаешь или контролер SDRAM (LCD), то отрубается куча ног. Конечно не есть хорошо, но как без этого? Этож не система на кристалле. :rolleyes: Мыж в сравнении. У NXP при таком раскладе тоже всё не лучшим образом абстоит. Все это так, но если ST сделали по мультиплексору 16:1 на ножках, что им стоило сделать это на всех I/O ? Оно же места в кристалле много не занимает, а у них на куч ножек и половины нет! Конечно это еще надо оттрассировать в кристалле, но неужели это сложнее ядра, FPU/MPU/DSP и всей периферии? И есть вещи, которые просто бесят - например использование некоторых функций вообще только на одной ножке, без альтернативы, что сразу отменяет совместное использование двух периферий в полном обьеме. Ну ладно еще, когда речь идет о многоногих интерфйсах типа MII, ULPI, LCD/ExtMem, но например - внешнее тактирование I2S сразу отменяет 4-х битный режим SDIO, потому что вход тактовой только один, и совмещен с D1 SDIO, ни тому ни тому альтернативы нет, и таких примеров много. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
polyname 0 9 ноября, 2012 Опубликовано 9 ноября, 2012 · Жалоба Не совсем понимаю как CMSIS раздувает кодне только, даже у stdlib ужасный код. Посмотрите на листинг memset/memcpy и т.д. - каждая функция под несколько сотен байт. Для чипа с 512К Flash может и приемлемо, но для STM32F100C4 пришлось переписать. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
VslavX 0 9 ноября, 2012 Опубликовано 9 ноября, 2012 · Жалоба не только, даже у stdlib ужасный код. Посмотрите на листинг memset/memcpy и т.д. - каждая функция под несколько сотен байт. Он не ужасный - приличная (с учетом взаимного выравнивания источника и приемника, и с использованием копирования блоками) memcpy() не может быть крошечной. Для чипа с 512К Flash может и приемлемо, но для STM32F100C4 пришлось переписать. Ну если размер кода совсем критичен, то такой вариант вполне возможен. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
scifi 1 9 ноября, 2012 Опубликовано 9 ноября, 2012 · Жалоба Он не ужасный - приличная (с учетом взаимного выравнивания источника и приемника, и с использованием копирования блоками) memcpy() не может быть крошечной. +1. У кейла на этот случай есть опция microlib. Может быть, ничего переписывать тогда и не пришлось бы. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
_Pasha 0 9 ноября, 2012 Опубликовано 9 ноября, 2012 · Жалоба Все это так, но если ST сделали по мультиплексору 16:1 на ножках, что им стоило сделать это на всех I/O ? Это уже находится в области маркетологии энд-юзера. Они ж не могут составить карту IO так, чтобы угробить выпуск камней в каком-либо корпусе, уронив на них спрос целесообразностью применения? А что реально бесит - на порт А и В ложится весь функционал, - но это понятно, линейка растет от мелконогих корпусов, но ремап можно было бы и нарастить, для более равномерного распределения. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Boken 0 16 ноября, 2012 Опубликовано 16 ноября, 2012 · Жалоба Возвращаясь к основному вопросу - LPC(17 и 18-серии) или STM32(Х серии)? Выбираем под новый проект проц., хотел бы спросить: 1. какой максимальной скорости по SPI могут достигать аппоненты (60Мгц-SPI CLK)? 2. По итогам выбора п.1. - Насколько просто/сложно будет реализовать поддержку USB (HOST), у кого больше ресурсов для этого? P.S. Может кто слышал про 18Х серию NXP с 1МБ флешкой на борту - когда предположительно появятся? Прошу помощи, заранее благодарен. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться