реклама на сайте
подробности

 
 
> LPC vs STM32 cortex-M3
PraNkiSh
сообщение Sep 24 2011, 18:19
Сообщение #1


Частый гость
**

Группа: Свой
Сообщений: 120
Регистрация: 25-02-05
Из: Москва
Пользователь №: 2 889



подбираю для нового проекта процик и смотрел старшие кортексы от ST и от NXP
все вроде примерно одинаково .....

кто более глубоко в теме какая разница между ними ?
есть какие-то подводные камни (программирование, сроки поставки, глюки чипов и т.д.)


от ST смотрел stm32f2 серию
от NXP серию LPC176x , LPC178x
из периферии которая не у всех ARM поголовно есть надо ethernet, желательно вход под квадратурный датчик, желательно USB хост
Go to the top of the page
 
+Quote Post
10 страниц V  « < 6 7 8 9 10 >  
Start new topic
Ответов (105 - 119)
VslavX
сообщение Nov 5 2012, 15:23
Сообщение #106


embarrassed systems engineer
*****

Группа: Свой
Сообщений: 1 083
Регистрация: 24-10-05
Из: Осокорки
Пользователь №: 10 038



Цитата(pitt @ Nov 5 2012, 03:34) *
Добавлю еще один недостаток: качество кода, примеров, знание принципов программирования, языка С отавляет, мягко говоря, желать...Понятия bit-field, enum NXP незнакомы, количество "magic number" зашкаливает... Простие меня электрики, но это ваш стиль. Другими словами, софтвер НЕПРОФЕССИОНАЛЕН!
Да, и вайла описания битое у NXP нет! У Atmel с этим серьезных проблем не обнаружил.

Ужос-то какой! Гадский NXP не написал хидеры в приятном Вам стиле.
Если микроконтроллер берется в разработку плотно и надолго (на несколько проектов/серию, не для "халтурки"), то хидеры вообще-то желательно написать полностью "под себя" самому. Внести свою систему обзывания регистров, битов в регистрах, размещения определений в секциях, учесть особенности компилятора(-ов). Попутно, создавая хидер, внимательно прочесть документацию (когда обзываешь биты - так или иначе читаешь за что они отвечают и как работают) и получить более-менее полное представление об аппаратуре. Для начала можно описывать не все блоки - а только нужные, и потом расширять хидер по мере освоения новых блоков. Угу, это сначала долго, требует кропотливого труда, но потом проблем сильно меньше обычно и при наличии в работе полудюжины архитектур мозгам потом сильно проще работать в едином, собственноручно созданном формате.
ИМХО, если компания/разработчик профессионалы (опытные, уже занимается софтом для контроллеров некоторое время), то обычно есть свои наработки в виде выбранной RTOS, стеков USB/TCP и прочего, и от контроллера требуется только соответствовать заявленным техническим характеристикам, и иметь более-менее удобоваримую документацию. На софтовый мусор, предлагаемый производителями, как правило можно не смотреть - это для хомячков, глючное, непортируемое, часто с лицензионными ограничениями.
Go to the top of the page
 
+Quote Post
Batman
сообщение Nov 5 2012, 15:47
Сообщение #107


Частый гость
**

Группа: Участник
Сообщений: 142
Регистрация: 3-04-07
Пользователь №: 26 732



Переход на ARM ядро у меня и было обусловлено, тем что в глаза бросился STM32. Низкая цена, доступность средств разработки. Изучение заняло неделю + неделя на портирование текущих проектов. Atmel нервно курит со своими подходами (Про NXP к сожалению не скажу). А удобство программирования на лицо. Взаимозаменяемость чипов+четкая логика в наборе интерфейсов и возможностей для каждой градации контроллеров.

Сообщение отредактировал Batman - Nov 5 2012, 15:50
Go to the top of the page
 
+Quote Post
pitt
сообщение Nov 5 2012, 23:55
Сообщение #108


Местный
***

Группа: Участник
Сообщений: 328
Регистрация: 1-06-06
Из: USA
Пользователь №: 17 672



Цитата(VslavX @ Nov 5 2012, 10:23) *
Ужос-то какой! Гадский NXP не написал хидеры в приятном Вам стиле.
Если микроконтроллер берется в разработку плотно и надолго (на несколько проектов/серию, не для "халтурки"), то хидеры вообще-то желательно написать полностью "под себя" самому. Внести свою систему обзывания регистров, битов в регистрах, размещения определений в секциях, учесть особенности компилятора(-ов). Попутно, создавая хидер, внимательно прочесть документацию (когда обзываешь биты - так или иначе читаешь за что они отвечают и как работают) и получить более-менее полное представление об аппаратуре. Для начала можно описывать не все блоки - а только нужные, и потом расширять хидер по мере освоения новых блоков. Угу, это сначала долго, требует кропотливого труда, но потом проблем сильно меньше обычно и при наличии в работе полудюжины архитектур мозгам потом сильно проще работать в едином, собственноручно созданном формате.
ИМХО, если компания/разработчик профессионалы (опытные, уже занимается софтом для контроллеров некоторое время), то обычно есть свои наработки в виде выбранной RTOS, стеков USB/TCP и прочего, и от контроллера требуется только соответствовать заявленным техническим характеристикам, и иметь более-менее удобоваримую документацию. На софтовый мусор, предлагаемый производителями, как правило можно не смотреть - это для хомячков, глючное, непортируемое, часто с лицензионными ограничениями.

Желаю всяческих успехов в переписывании всех и вся! И не жалейте времени...


--------------------
Прокричал немой глухому:"...Спасибо за внимание!"
http://www.youtube.com/watch?v=3Nnj4ky4Z_g
Go to the top of the page
 
+Quote Post
Lotor
сообщение Nov 6 2012, 04:40
Сообщение #109


Местный
***

Группа: Свой
Сообщений: 476
Регистрация: 3-07-07
Из: Санкт-Петербург
Пользователь №: 28 866



Цитата(pitt @ Nov 6 2012, 03:55) *
Желаю всяческих успехов в переписывании всех и вся! И не жалейте времени...

Жалеть время придется Вам, если будете использовать "професиональный софтвер" от производителя. Там очень часто встречаются ошибки, которые могут дорого обойтись.

PS: Работал (т.е. делал реальные проекты, а не игрался с отладками) с мк атмела, nxp и stm. Самые приятные ощущения от nxp.


--------------------
Ковырял чукча отверткой в ухе, звук в телевизоре и пропал.
Go to the top of the page
 
+Quote Post
ViKo
сообщение Nov 6 2012, 05:38
Сообщение #110


Универсальный солдатик
******

Группа: Модераторы
Сообщений: 8 634
Регистрация: 1-11-05
Из: Минск
Пользователь №: 10 362



Цитата(VslavX @ Nov 5 2012, 18:23) *
Если микроконтроллер берется в разработку плотно и надолго (на несколько проектов/серию, не для "халтурки"), то хидеры вообще-то желательно написать полностью "под себя" самому. Внести свою систему обзывания регистров, битов в регистрах, размещения определений в секциях, учесть особенности компилятора(-ов).

Не вижу смысла в переписывании заголовочных файлов. К примеру, в stm32f2xx.h все регистры и биты описаны, близко к техническому руководству, зачем же их "обзывать" иначе? Другое дело - дополнить чем-то... Лучше пройтись по этому заголовку, глядишь, на умное решение натолкнешься...
Go to the top of the page
 
+Quote Post
VslavX
сообщение Nov 6 2012, 06:20
Сообщение #111


embarrassed systems engineer
*****

Группа: Свой
Сообщений: 1 083
Регистрация: 24-10-05
Из: Осокорки
Пользователь №: 10 038



Цитата(ViKo @ Nov 6 2012, 07:38) *
Не вижу смысла в переписывании заголовочных файлов. К примеру, в stm32f2xx.h все регистры и биты описаны, близко к техническому руководству, зачем же их "обзывать" иначе? Другое дело - дополнить чем-то... Лучше пройтись по этому заголовку, глядишь, на умное решение натолкнешься...

ИМХО, готовые хидеры тоже как бы имеют право на жизнь. Тогда разработчик их принимает "как есть", не парится насчет их формата и не устраивает "хомячковых драм онлайн" типа "гадский разработчик не знает про битовые поля".
С другой стороны, если есть уже куча своего софта, уже отлаженного и вылизанного, портируемого на разные чипы, и все уже разложено по полочкам - то почему бы новый контроллер не встроить в эту систему полочек.
Это как штаны - можно открыть шкаф и бросить комом, а можно аккуратно сложить и положить на полку (или даже повесить на вешалку). Результат то один - штаны в шкафу, вот только слегка по-разному они там лежат.
Собственно писать свои хидеры недолго, у меня основное время тратится на чтение документации и вникание в нее. Новополученная информация закрепляется еще и в письменном виде - такая вот особенность со студенческих лет у меня - при подготовке к экзаменам исписывал еще бумаги в 2-3 раза больше чем объем конспекта. Поэтому лично для меня переписывание хидеров достаточно полезно - дальше работать с контроллером мне проще. Ну и удовольствие от того, что "мои штаны аккуратно висят на вешалке". (Не, в реальном шкафу джинсы таки часто комом biggrin.gif)
И еще момент. Софт-то усложняется и усложняется. Сотни тысяч сишных строк. И если постоянно "пихать штаны комом" то в шкафу появляется неряшливая куча, которую может оказаться достаточно тяжело разгребать.
Go to the top of the page
 
+Quote Post
scifi
сообщение Nov 6 2012, 06:43
Сообщение #112


Гуру
******

Группа: Свой
Сообщений: 3 020
Регистрация: 7-02-07
Пользователь №: 25 136



Цитата(VslavX @ Nov 6 2012, 10:20) *
Собственно писать свои хидеры недолго, у меня основное время тратится на чтение документации и вникание в нее.

+1. Сам так же делаю. Время написания своих хедеров пренебрежимо мало по сравнению с остальными этапами разработки. Кстати, устраняется зависимость от компилятора (keil/iar/...). Ну и эстетический эффект немаловажен: иногда чужие хедеры вызывают омерзение.
Go to the top of the page
 
+Quote Post
Flexz
сообщение Nov 6 2012, 07:55
Сообщение #113


Местный
***

Группа: Свой
Сообщений: 252
Регистрация: 9-10-08
Из: Московская обл.
Пользователь №: 40 797



Цитата(scifi @ Nov 6 2012, 10:43) *
Кстати, устраняется зависимость от компилятора (keil/iar/...).

Это у кого хидеры такие классные, что от компилятора зависят?
PS переписывание хидеров считаю делом неблагодарным, в отличие от библиотек, кои часто оставляют желать лучшего.
Go to the top of the page
 
+Quote Post
IgorKossak
сообщение Nov 6 2012, 08:03
Сообщение #114


Шаман
******

Группа: Модераторы
Сообщений: 3 064
Регистрация: 30-06-04
Из: Киев, Украина
Пользователь №: 221



Предлагаю вернуться к теме, а не обсуждать привычки написания хидеров и использования готовых библиотек.
Модератор.
Go to the top of the page
 
+Quote Post
mempfis_
сообщение Nov 6 2012, 10:52
Сообщение #115


Профессионал
*****

Группа: Свой
Сообщений: 1 001
Регистрация: 27-06-06
Пользователь №: 18 409



Цитата(Lotor @ Nov 6 2012, 07:40) *
Работал (т.е. делал реальные проекты, а не игрался с отладками) с мк атмела, nxp и stm. Самые приятные ощущения от nxp.


+1 в пользу NXP - LPC17 - основной процессор для серийных проектов
+1 в пользу KINETIS - хороший набор периферии при малопотребляющем ядре M0, много режимов сна с огромными возможностями по выхода.

-1 против STM32 - кто пользуется CMSIS начнут защищать что это упрощает/ускоряет разработку - IMHO забивает голову, раздувает код, снижает производительность - один раз попробовал - впечатления ужасные.

Go to the top of the page
 
+Quote Post
HHIMERA
сообщение Nov 6 2012, 11:41
Сообщение #116


Местный
***

Группа: Участник
Сообщений: 226
Регистрация: 10-07-09
Пользователь №: 51 126



Цитата(mempfis_ @ Nov 6 2012, 14:52) *
-1 против STM32 - кто пользуется CMSIS начнут защищать что это упрощает/ускоряет разработку - IMHO забивает голову, раздувает код, снижает производительность

А вы, случаем, CMSIS с SPL не перепутали??? ))))
Цитата
один раз попробовал - впечатления ужасные.

Дык... "один раз" - ещё не... эксперт по STM32...
Go to the top of the page
 
+Quote Post
_Pasha
сообщение Nov 6 2012, 12:18
Сообщение #117


;
******

Группа: Участник
Сообщений: 5 646
Регистрация: 1-08-07
Пользователь №: 29 509



Цитата(mempfis_ @ Nov 6 2012, 14:52) *
-1 против STM32 - кто пользуется CMSIS начнут защищать что это упрощает/ускоряет разработку - IMHO забивает голову, раздувает код, снижает производительность - один раз попробовал - впечатления ужасные.

Я сейчас смирился с хедерами. Там того HALа с гулькин нос... Ну в 500 строчек попаду, ну в 1000 - максимум. Хотя, желание потихоньку рихтовать хедеры осталось.
Go to the top of the page
 
+Quote Post
HHIMERA
сообщение Nov 6 2012, 13:04
Сообщение #118


Местный
***

Группа: Участник
Сообщений: 226
Регистрация: 10-07-09
Пользователь №: 51 126



Тем более, что по рукам за это никто и не бьёт... а в случае с STM32F0XX... там явно придётся ручёнки шаловливые приложить...
Go to the top of the page
 
+Quote Post
IgorKossak
сообщение Nov 6 2012, 13:07
Сообщение #119


Шаман
******

Группа: Модераторы
Сообщений: 3 064
Регистрация: 30-06-04
Из: Киев, Украина
Пользователь №: 221



Цитата(mempfis_ @ Nov 6 2012, 12:52) *
-1 против STM32 - кто пользуется CMSIS начнут защищать что это упрощает/ускоряет разработку - IMHO забивает голову, раздувает код, снижает производительность - один раз попробовал - впечатления ужасные.

1. CMSIS есть и для LPC.
2. Никто не заставляет пользоваться CMSIS применительно к STM32. Я, например, не пользуюсь и более чем доволен (имеется в виду STM32).
Go to the top of the page
 
+Quote Post
SyncLair
сообщение Nov 6 2012, 15:03
Сообщение #120


Местный
***

Группа: Свой
Сообщений: 209
Регистрация: 6-01-12
Пользователь №: 69 197



Цитата(IgorKossak @ Nov 6 2012, 17:07) *
CMSIS есть и для LPC.
Никто не заставляет пользоваться CMSIS ......


Тут следует, наверное, уточнить, что CMSIS определяет поддержку ядра, и определяет поддержку периферии.
Те макросы и функции что относятся к ядру наверное использовать следует, так как они распространяются на ВСЕ Cortex-M3 а также скорее всего пригодны и для M4 и для M0.

А вот поддержка перифирии, да она у NXP не идеальна, код местами написан кривовато, тем не менее всё тщательно задоксигенено и примеры и библиотека.

Еще пару слов об NXP ибо в рабочей обстановке имел дело только с ними. В своё время выбор был сделан в пользу LPC2478 ибо такой комбайн из периферии был только у голландцев.
Периферия у них неплохая UART сделан аля '550, SPI имеет поддержку DMA, I2C ясное дело сделано лучше всех так как это детище Philips-а(как и компакт диски biggrin.gif ).

Разработчики стараются соблюсти наследсвенность, совместимость софта. Начиная с LPC2101...03 заканчивая LPC23xx 24xx.
При переходе на Cortex-M3 -- были сохранены многие модули почти неизменёнными или доработанными чуть-чуть. Поэтому LPC23xx--LPC176x,175x а LPC24xx -- LPC177x. Другое дело что не во всех случаях эта совместимость приятна и радует. Благодоря этой совместимости мне удалось примеры (UART, USB HOST) для LPC176x запустить на LPC2468, чему и посвящен мой проект
USB device правда пока у меня не запустился. (

Сообщение отредактировал SyncLair - Nov 6 2012, 15:03


--------------------
Go to the top of the page
 
+Quote Post

10 страниц V  « < 6 7 8 9 10 >
Reply to this topicStart new topic
2 чел. читают эту тему (гостей: 2, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 20th July 2025 - 20:35
Рейтинг@Mail.ru


Страница сгенерированна за 0.01512 секунд с 7
ELECTRONIX ©2004-2016