|
|
  |
STM32 или LPC17xx?, для нового проекта надо |
|
|
|
Sep 17 2010, 16:19
|
Гуру
     
Группа: Свой
Сообщений: 2 712
Регистрация: 28-11-05
Из: Беларусь, Витебск, Строителей 18-4-220
Пользователь №: 11 521

|
Цитата(starmos @ Sep 17 2010, 14:33)  Оба семейства мне подходят (и на сейчас есть что выбрать и на перспективу). Я было выбрал STM32F103 по цене, но прочитал здесь про STM отзывы аж с 2008 сколько смог и приуныл. Глюки в документации, работа с периферией через библиотеки, а если нет (как я обычно), то недокументировано и т.д. Версия ядра с глюками... Кто сейчас активно их использует - изменилось что-нибудь в лучшую сторону или только цена привлекает по прежнему? Или LPC понадежней будет? Приунывать - не стоит. Правда я не работал с LPC17xx, но документация на STM32F (user manual) вполне приличная. Просто сам контроллер, в плане переферии, уж больно навороченный. Поэтому сложно разобраться и нюансов возникает куча. Есть и некоторые вопросы к разработчикам. Например по целессообразности и т.п. Работа с библиотеками - ваше дело. Я попробовал работать ч/з них. С одной стороны - общий подход и стиль. Развитие дальнейшее. Очень большой объём описаний. Особенно учитывая что средний переферийный блок - 20-30 регистров. То есть с одной стороны - большой объём проделанной работы за вас. С другой - они не могут писать на все случаи жизни. То есть иногда - хочется переписать либо изменить. Универсальность также привела к большому колличеству избыточного кода. Ещё один очень отрицательный момент - это очень слабое описание ф-ций. Точнее - функции описаны не до уровня работы железа. Таким образом для работы с библиотекой один фиг надо сначала прочитать мануал, разобраться в нём, понять что нужно сделать, потом перечитать описание библиотеки и подобрать средства - как именно сделать то, что ты хочешь, с помощью данной библиотеки. Не помешает также посмотреть и примеры приведённые. Отдельный момент, что очень слабо в мануале просматриваются взаимосвязи. Ну скажем, читаешь какой-нибудь АЦП. Разобрался - настроил - а он не работает. Оказывается в RCC надо ему частоту подать. И там это описано, а в самом ADC - нет. (Это я для примера). Ошибку я одну нашёл но только не в библиотеке, а в примере. Причём пример какой-то левый. Я не претендую на полноту картины, и, пока, мало работал с контроллером, но, просто объективности ради хотел пару слов здесь привести. Ну и ещё из того что мне нравится - один кристалл - много корпусов. Кристалл достаточно дубовый. Так мне на порт завели 8 ног 24V ч/з резистор 1к (входы). Я практически полностью отладил прогу, покак он задымился. Понравилась мне и возможность работы с 5V сигналами. В частности на плате MBI5168, полевики с 5V, и умудрились ресивер CAN поставить 5V. Всё удалось запустить лишь навесив резисторы подпоры.
|
|
|
|
|
Sep 18 2010, 06:14
|
Профессионал
    
Группа: Свой
Сообщений: 1 047
Регистрация: 2-12-06
Из: Kyiv, Ukraine
Пользователь №: 23 046

|
Цитата работа с периферией через библиотеки, а если нет (как я обычно), то недокументировано Цитата По поводу STM32 - необходимость расковыривать библиотеки для того, чтобы написать нормальный код, действительно огорчает. тоесть хотите сказать,что в документации регистры периферии не описаны? посмотрел док. "RM0008 Reference manual STM32F101xx, STM32F102xx, STM32F103xx, STM32F105xx and STM32F107xx advanced ARM-based 32-bit MCUs" - описание регистров есть. сильно не вникал правда с либами работать не планирую, все чиство вручную... пс. я тоже сейчас выбираю кортексы ибо AT32UC3 атмел зажал, со складов пропали... STM32 - более доступные, есть на складах, LPC17xx - доступны только LPC1752FBD80 пока
|
|
|
|
|
Sep 18 2010, 07:09
|
Гуру
     
Группа: Свой
Сообщений: 2 712
Регистрация: 28-11-05
Из: Беларусь, Витебск, Строителей 18-4-220
Пользователь №: 11 521

|
Цитата(starmos @ Sep 17 2010, 20:03)  ... а вот хорошее описание, пусть и на английском - да. .... Кроме этого я тут обнаружил что не все выводы портов STM32 совместимы с 5V. Цитата(brag @ Sep 18 2010, 09:14)  тоесть хотите сказать,что в документации регистры периферии не описаны? Ещё раз повторю - описание очень даже не плохое. По-моему - всё внятно, чётко, достаточно детально. Сначала идёт полное описание узла, потом режимы работы и, в конце, регистры. Не совместимы с 5V линии ADC. По-моему, там этого и не должно быть. PS: Посмотрел LPC13xx - действительно у них все ноги толерантны.
|
|
|
|
|
Sep 18 2010, 07:32
|
Профессионал
    
Группа: Свой
Сообщений: 1 047
Регистрация: 2-12-06
Из: Kyiv, Ukraine
Пользователь №: 23 046

|
Цитата Ещё раз повторю - описание очень даже не плохое. По-моему - всё внятно, чётко, достаточно детально. Сначала идёт полное описание узла, потом режимы работы и, в конце, регистры. спасибо. прикуплю парочку данных девайсов на пробу  Цитата Не совместимы с 5V линии ADC. По-моему, там этого и не должно быть. согласен
|
|
|
|
|
Sep 18 2010, 08:01
|
Местный
  
Группа: Свой
Сообщений: 480
Регистрация: 21-11-04
Пользователь №: 1 188

|
Цитата(brag @ Sep 18 2010, 10:14)  тоесть хотите сказать,что в документации регистры периферии не описаны?... Описаны, конечно... Только мне этого не хватило. Без текстов библиотек до нужной степени не разобрался. Но допускаю, что это только мои проблемы...
|
|
|
|
|
  |
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|