Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: С чего начать?
Форум разработчиков электроники ELECTRONIX.ru > Сайт и форум > В помощь начинающему > ARM, 32bit
Страницы: 1, 2, 3
ViKo
Цитата(A. Fig Lee @ Jan 7 2015, 23:35) *
Вы кстати, с ним чего нибудь запустили? Я в итоге отказался от LPC1143.
Не понравился он мне.

Я и не хотел. Я STM фанат. У меня обработкой панели управления занимается PIC, но он мне уже надоел, будет другой простой STM32.
A. Fig Lee
Цитата(internal enemy @ Jan 7 2015, 11:52) *
Скажите пожалуйста, а зачем в одном контроллере комбинируют два ядра M4 и M0? В общих чертах, в каких областях это применимо?

Я, например, хотел разделить Ethernet и 802.15.4, Ethernet загружал проц левыми данными по самые помидоры. Данные приходилось выбрасывать
AlexandrY
Цитата(A. Fig Lee @ Jan 7 2015, 22:35) *
А я отрабатываю. Первый раз поймал кнопку на прерывании, запретил, завел переменную для таймера.
Таймер отщелкал по прерыванию, установил флажок, поймал его - кнопка нажата. Или не установил.

А правильные пацаны как? В лупе крутятся 20 миллисекунд?


Да как то небезопасно.
Прерывания могут и от глитчей проскочить и просто от программных глюков.
И что от первого же фронта начинать целую бодягу с сохранением контекста, обработкой прерывания, передачей ивента в тело основной задачи и проч. и все из-за случайной помехи?

Нее... пацаны тратят пару тактов в цикле задачи обработки кнопок. Все равно это одна из задач в контексте RTOS и она еще кучу других дел делает и всегда крутится с определенным приоритетом.
Стандартный loop RTOS - 10 мс
Ruslan1
Цитата(A. Fig Lee @ Jan 7 2015, 22:39) *
Демоплаты они для демонстрации, зачем им мелкий размер?
На STM3210C-EVAL чего только нет, например..

Чего нет, чего нет.... Цены там маленькой нет. 328 долларов "для демонстрации"-это деньги. Я у китайцев за 180 побольше функционала прикупил. И все отдельными модульками. Когда нулевую плату делали для прототипа - так эти же модули и использовал для штатных функций (езернет, SD-диск, RS-232, RS-485, кнопочки), они ж все на разъемчиках к китайскому киту стыкуются. И сейчас иногда что-то пользую из модулей.
А тут- вещь в себе, ни отпилить ни допаять. Демо из европы.
=AK=
Цитата(SII @ Jan 7 2015, 23:51) *
Не соглашусь -- хотя б потому, что кто-то же должен разрабатывать эти самые стандартные библиотеки или там микросхемы.

Не всем нужны эти знания и умения, поскольку разработчиков стандартных библиотек и микросхем нужно немного. Не надо изо всех новичков растить энциклопедистов, современный мир стоит на разделении труда и узкой специализации.

Цитата(SII @ Jan 7 2015, 23:51) *
Т.е. я использую готовое, но когда-то я его освоил на куда более глубоком уровне, чем требуется для простого использования.

Очень хорошо, но зачем советовать остальным быть точно таким же, как вы? Даже при том, что вы обрисовали свои знания, вы не упомянули, какие на практике вы получаете выгоды от их использования. Вот я, к примеру, до сих пор наизусть помню цоколевку советских германиевых транзисторов, всяких МП13 и иже с ним, в молодости мне это было нужно. А сейчас какой с этого прок? Никакого.

Цитата(SII @ Jan 7 2015, 23:51) *
Ну и про критерии успеха. Результат и сроки -- оно хорошо, конечно, но Вы забыли ещё про качество. Вряд ли наспех собранный из готовых кусков проект будет им обладать.

Это не аргумент. Наспех написанный самопальный код тоже не будет обладать качеством. А при равных затратах времени, где качество будет выше? У кулибиных, заново изобретающих велосипед, или у тех, кто изучит доку и применит отлаженные либы и операционную систему?
A. Fig Lee
Цитата(Ruslan1 @ Jan 7 2015, 17:43) *
Чего нет, чего нет.... Цены там маленькой нет. 328 долларов "для демонстрации"-это деньги. Я у китайцев за 180 побольше функционала прикупил. И все отдельными модульками. Когда нулевую плату делали для прототипа - так эти же модули и использовал для штатных функций (езернет, SD-диск, RS-232, RS-485, кнопочки), они ж все на разъемчиках к китайскому киту стыкуются. И сейчас иногда что-то пользую из модулей.
А тут- вещь в себе, ни отпилить ни допаять. Демо из европы.

Я не впечатлен китайскими. Поделки/самоделки. И дисковери 3 штуки валящтся, даром достались.
Вот СТМовские платы и библиотеки имеют и мануаль и куча периферии.
Мне бесплатно 2 штуки досталось, когда компания развалилась. Очень я зауважал дорогие платы.
Ruslan1
Цитата(A. Fig Lee @ Jan 8 2015, 03:52) *
Я не впечатлен китайскими. Поделки/самоделки. И дисковери 3 штуки валящтся, даром достались.
Вот СТМовские платы и библиотеки имеют и мануаль и куча периферии.
Мне бесплатно 2 штуки досталось, когда компания развалилась. Очень я зауважал дорогие платы.

А что именно из продукции WaveShare Вы использовали, какое семейство CPU/PLD ? И чем оно не понравилось?
Я только для STM32F4Discovery у них платы брал, очень понравилось. Может, Xilinx или LPC или еще кто-то из десятков поддерживаемых ими семейств гораздо хуже сделано, не знаю. Но собираюсь кое-что еще брать, так что скажите заранее с каким семейством у них не так.
jcxz
Цитата(AlexandrY @ Jan 8 2015, 02:25) *
Да ну, это мелочь. Да и никто (т.е. Я laughing.gif ) дребезг по прерываниям не отрабатывает.
А то так можно любой процессор завалить.
Дребезг может длиться десятки миллисекунд с полным заполнением микросекундными импульсами.

Дребезг по уму подавляют не по прерываниям от источника дребезга, а по таймерным прерываниям.
Запускаете периодическое прерывание ~50Гц и в нём опрашиваете кнопы.Тогда даже самый дохый AVR не завалите.

Цитата(A. Fig Lee @ Jan 8 2015, 02:35) *
Вы кстати, с ним чего нибудь запустили? Я в итоге отказался от LPC1143.
Не понравился он мне.
Поддержка у NXP на форуме никакая.

LPC хорош тем, что поддержка не нужна - как в доках написано так всё и работает laughing.gif
A. Fig Lee
Цитата(Ruslan1 @ Jan 8 2015, 03:46) *
А что именно из продукции WaveShare Вы использовали, какое семейство CPU/PLD ? И чем оно не понравилось?
Я только для STM32F4Discovery у них платы брал, очень понравилось. Может, Xilinx или LPC или еще кто-то из десятков поддерживаемых ими семейств гораздо хуже сделано, не знаю. Но собираюсь кое-что еще брать, так что скажите заранее с каким семейством у них не так.

Open4337-C. У них в пакете нет примеров для двойных ядер. Только на уровне мигнуть светодиодом.
Я попробовал сходить на lpcware, сдаунлодил примеры, но запустить для своих целей не смог.
Примеры только для определенных плат, как описать свою плату, неясно, документации нет - "download and build it".

Во первых, примеры для Keil, не IAR.
Как работать с 2мя корами тоже не совсем понятно. Скомпилил я для М0, загрузил через JLink,
М0 сам по себе не стартует, его должен стартануть M4, значит я должен скомпилить для М4,
загрузить его, как теперь мне дебагить M0, если я соединен с М4?
Я пробовал детачнутся от М4и после ресета аттачнутся к М0. Jlink не может соединится.
Както ненадежно и непонятно.
Остановился на варианте:
стереть все FlashMagicом, загрузить им же M0, потом можно дебагить M4.
Но как дебагить второй кор, М0, так и не понял.
Мрак, в общем..
Чашу переполнила невозможность аттачмента JLinkом..
Начальство на это не решилось.

Мой вопрос на их форуме висит неотвеченным с октября прошлого года.



Цитата(jcxz @ Jan 8 2015, 12:20) *
LPC хорош тем, что поддержка не нужна - как в доках написано так всё и работает laughing.gif

Читал. На lpcware.com:
"download, install, and it will build"
Угу.. crying.gif
Ruslan1
Цитата(A. Fig Lee @ Jan 8 2015, 22:03) *
Open4337-C. У них в пакете нет примеров для двойных ядер. Только на уровне мигнуть светодиодом.
...
Мой вопрос на их форуме висит неотвеченным с октября прошлого года.
....

Жестко, сочувствую. У меня с STM32F407 с ними наоборот все срослось: и кейл до этого был выбран как среда проектирования (Еще когда Стеларис пробовали). И кит просто штатно обеспечивал подключение всего, что только возможно (разумеется, в пределах возможностей которые втыкаемая плата F4Discovery дает). Ну и соответственно библиотеки и аппноуты просто подходят, схемы соответствовали купленному реальному железу. Что-то переопределял по мелочи (не так как в примерах на сайте ST), не более того. То есть к киту претензий было ноль.
jcxz
Цитата(Xenia @ Jan 7 2015, 16:59) *
Что же касается вашего впечатления от "китов некитайских продавцов", то что-то такое действительно есть. Поскольку демонстрационные платы производителей МК, чаще всего, не только бедны периферией, но и почти демонстративно ее не содержат.

Далеко не всем нужны LCD, SD-карты и пр. компоненты ширпотребовских устройств, которые как правило и напиханы в таких отладках. Отладки вроде как предназначены для макетирования своих устройств до этапа разводки платы. А в этом случае компоненты своего целевого устройства выбираются из всего их многообразия существующих в настоящее время на рынке наиболее подходящие под задачу в соответствии с требованиями ТЗ. Какова вероятность что на отладке окажется именно та микросхема, которая будет в целевом устройстве? Правильно - эта вероятность стремится к нулю.
Нафаршированная отладка полезна, имхо, только в случае если не хочется вообще делать свою плату, а хочется конечное устройство сделать на такой отладке. В других случаях гораздо удобнее именно пустая отладка с гребёнками по краям. В моей практике практически никогда не пригождалось почти ничего из того, что есть на отладках кроме разъёмов.
Есть ещё кстати другой вариант - поставить на отладку ширпотребовскую периферию и коммутаторы, позволяющие коммутировать выводы CPU на эту периферию или же на внешние разъёмы с помощью джамперов. Так сделано например на отладках от Spectrum Digital. Но это конечно дорогое решение.
А в китайских отладках главный минус - отсутствие их принципиальных схем.
Xenia
Цитата(jcxz @ Jan 9 2015, 07:21) *
Нафаршированная отладка полезна, имхо, только в случае если не хочется вообще делать свою плату, а хочется конечное устройство сделать на такой отладке.


Так в том-то и дело, что топикстартер пишет: "Я программист, однако, к сожалению, с "железом" никогда не работал.". Именно по этой причине мы и ищем ему уже готовую плату, чтобы в ней, по возможности, уже было напихано периферии под завязку. Кроме того, его желание иметь на плате Ethernet и CAN ощутимо сужают возможные варианты, практически исключая из них демо-платы производителей МК, т.к. эти интерфейсы они устанавливают на своих платах редко (хотя иногда случается). Тогда как китайские платы зачастую выглядят, как новогодние елки, радуя глаз обилием прибамбасов. У меня у самой порой слюнки текут только на рекламные картинки глядючи. sm.gif
Ruslan1
Цитата(jcxz @ Jan 9 2015, 06:21) *
Далеко не всем нужны LCD, SD-карты и пр. компоненты ширпотребовских устройств, которые как правило и напиханы в таких отладках. Отладки вроде как предназначены для макетирования своих устройств до этапа разводки платы. А в этом случае компоненты своего целевого устройства выбираются из всего их многообразия существующих в настоящее время на рынке наиболее подходящие под задачу в соответствии с требованиями ТЗ. Какова вероятность что на отладке окажется именно та микросхема, которая будет в целевом устройстве? Правильно - эта вероятность стремится к нулю.
Нафаршированная отладка полезна, имхо, только в случае если не хочется вообще делать свою плату, а хочется конечное устройство сделать на такой отладке. В других случаях гораздо удобнее именно пустая отладка с гребёнками по краям. В моей практике практически никогда не пригождалось почти ничего из того, что есть на отладках кроме разъёмов.
Есть ещё кстати другой вариант - поставить на отладку ширпотребовскую периферию и коммутаторы, позволяющие коммутировать выводы CPU на эту периферию или же на внешние разъёмы с помощью джамперов. Так сделано например на отладках от Spectrum Digital. Но это конечно дорогое решение.
А в китайских отладках главный минус - отсутствие их принципиальных схем.

Следует хотя бы открыть ссылку и посмотреть о чем я пишу, до того как комментировать.
ну хотя бы тут пару фотографий посмотрите, если на сайт упомянутого китайского производителя не хотите заходить:
http://electronix.ru/forum/index.php?showt...t&p=1147387
И все-таки посмотрите на табличку выпускаемых модулей расширения, она немаленькая:
http://www.wvshare.com/help-pages/Compatib...peripherals.htm

В том ките про который я писал, все с точностью наоборот к Вашему мнению о "навороченности и немодульности". И платы расширения выбираете нужные (я купил десяток интересных мне, от LCD до SPI расширителя входов, всякие RS232,485,CAN,Ethernet,USB,FLASH,EEPROM,FRAM, MEMS accelerometer...). И схемы есть, и компоненты применяют именно те, которые широко распространены. Ну и, разумеется, документация в виде схем и сопроводительных исходников присутствует.
И что заманчиво- они кучу других платформ поддерживают, нужно просто другую материнскую плату купить (она дешевая, так как часто не содержит ничего кроме разъемов и джамперов: например, у меня она стоила $30), а большинство уже имеющихся модулей напрямую подходят.

У меня такое ощущение, что я с каким-то другим Китаем общаюсь, чем большинство пишущих на этом форуме. И киты китайские мне попадаются качественные и удобные, и печатные платы в Китае мне делают несколько штук быстро и недорого, и собрать даже десяток плат могут неплохо и опять же недорого. Что-то я делаю не так... sm.gif
jhm
Цитата(Ruslan1 @ Jan 9 2015, 12:38) *
печатные платы в Китае мне делают несколько штук быстро и недорого, и собрать даже десяток плат могут неплохо и опять же недорого.

А где заказываете платы и сборку?
Ruslan1
Цитата(jhm @ Jan 9 2015, 11:41) *
А где заказываете платы и сборку?

Уже обсуждалось, например тут.
http://electronix.ru/forum/index.php?showt...t&p=1152721
Ну и поиск по форуму сделайте по "Кевин", почитайте сами.
Пр сборку: в последнее время Кевин собирает все лучше и лучше, но робота ждать при заказе десятка плат не нужно. Да, паста через трафарет, да, паяли в печке- но расставлял не робот.
Изготовление плат- однозначно советую (делает не в подвале). Сборка- не знаю: мне нравится, но ни BGA ни платы сложнее 4 слоев я пока не применяю.
P.S. Пора у него скидку просить за рекламу....
A. Fig Lee
Да, дорогие девелопмент платы от производителя брать необязательно. Но. К ним желательно присмотрется.
Они хорошо знают свои микросхемы, поэтому периферию раскидывают довольно оптимально.
Я стараюсь разбрасывать по тем же ногам, что и на их плате желательно.
Дает гарантию что не пропустил какуюто еррату, чегото недочитал, недопонял, закажешь платы а они не работают.
Ну и всегда можно посмотреть их примеры как они инициализируют микросхемы и работают с ними.
Xenia
Цитата(A. Fig Lee @ Jan 9 2015, 14:52) *
Да, дорогие девелопмент платы от производителя брать необязательно. Но. К ним желательно присмотрется.
Они хорошо знают свои микросхемы, поэтому периферию раскидывают довольно оптимально.


Так если бы они еще и "периферию раскидывали", то цены бы им не было sm.gif.
А то продают вот такую фигню:

А оно, между прочим, Cortex-M0+.

Вот, Olimex в таких случаях хотя бы сгребает все в одну сторону, а на пустом месте делает дырочки, как у макетки. Такое решение еще можно считать приемлемым.

Что же касается "пристраиваемых модулёчков", то в автономном виде каждый из них стоит порой дороже самой платы. Из-за чего полный набор из рассыпухи становится весьма дорог. Тогда как, глядя на китайские изделия, создается впечатление, что цену им устанавливают на вес sm.gif, точнее - за квадратные дециметры площади, не ценя периферию ни за грош.
A. Fig Lee
Цитата(Xenia @ Jan 9 2015, 07:23) *
Так если бы они еще и "периферию раскидывали", то цены бы им не было sm.gif.
А то продают вот такую фигню:

А оно, между прочим, Cortex-M0+.

Вот, Olimex в таких случаях хотя бы сгребает все в одну сторону, а на пустом месте делает дырочки, как у макетки. Такое решение еще можно считать приемлемым.

Девелопмент специально напичкана перефирией, чтобы протестировать узлы в программе, разработать, ас потом перебрасывать.
У СТМ Это EVAL платы.

http://www.digikey.ca/product-search/en?FV...amp;pageSize=25
jcxz
Цитата(Xenia @ Jan 9 2015, 18:23) *
А то продают вот такую фигню:

А мне такие нравятся! sm.gif
Сколько не смотрел нафаршированных плат, ни разу не видел попадания более чем на ~10% из требуемой нам периферии.
А нафиг потом разбираться - влияет-ли как-то неиспользуемая но висящая на ногах периферия на работу с навешиваемой сверху
на проводах моей периферией? С пустыми разъёмами удобнее и надёжнее.
У нас то 5 UART-ов нужно, то несколько микросхем FLASH на одном SPI, то специализированный АЦП, то dual-MAC Ethernet, то ещё
какую напасть.
Неужто здесь все только подобия смартфонов со стандартным набором их периферии разрабатывают????
Обычно у нас из предустановленной периферии оказываются полезны только светодиоды да UART на отладку laughing.gif

Даже в некоторых случаях наши железячники такую минимальную макетку с минимальной нужной воткнутой периферией уже могут
на ЭМС погонять. А с навороченной платой с кучей лишней периферии это не особо получится.

PS: Кстати - отладки от производителя хороши ещё тем, что часто бесплатны, так как нам их дарят rolleyes.gif
А вот китайцы почему-то не хотят дарить sad.gif
Xenia
Пожалуй, существует компромиссное решение, если на китайцев такая уж аллергия. Как раз в соседней теме "atmel sam4e evaluation kit" упоминается плата, имеющая все характеристики, требуемые топикстартеру. А вот тут описание этой платы на сайте компании-производителя МК (Atmel). К тому же она точно такая же синенькая, как и та, что некоторым понравилась sm.gif.

Только стоит она дорого - $250 на сайте компании, а через дилеров еще дороже.
A. Fig Lee
Такие платы того стоят, ИМХО. Я после них дисковери не могу себя заставить взять в руки.


Цитата(jcxz @ Jan 9 2015, 13:38) *
Неужто здесь все только подобия смартфонов со стандартным набором их периферии разрабатывают????
Обычно у нас из предустановленной периферии оказываются полезны только светодиоды да UART на отладку laughing.gif

Даже в некоторых случаях наши железячники такую минимальную макетку с минимальной нужной воткнутой периферией уже могут
на ЭМС погонять. А с навороченной платой с кучей лишней периферии это не особо получится.

PS: Кстати - отладки от производителя хороши ещё тем, что часто бесплатны, так как нам их дарят rolleyes.gif
А вот китайцы почему-то не хотят дарить sad.gif


Ну скажем, USB, Ethernet, CAN частенько. Плюс всякие флаши и так далее. Большинство уже висит.
ну и не забываем, что все выводы выведены отдельно и почти вся перефирия отцепляемая. Или переключателем или
выпаиванием чип резистора 0 Ом.

Да, это плата для эвалуейшн/софтвар девелопмента. Убедился, что подходит, периферия работает - дальше разводишь и заказываешь свою.
Ruslan1
Цитата(A. Fig Lee @ Jan 10 2015, 04:49) *
Да, это плата для эвалуейшн/софтвар девелопмента. Убедился, что подходит, периферия работает - дальше разводишь и заказываешь свою.

Я еще иногда промежуточную итерацию делаю, когда на плате развожу только нестандартную периферию, а в качестве стандартной подключаю модули из моего кита, получается экономия средств и времени.
вроде того как на рисунке ниже: все специфическое- на плате, все стандартное-через разъемы (синенькие-это от китайского кита, большая зеленая- это тоже из Китая, но уже мое).
Нажмите для просмотра прикрепленного файла
A. Fig Lee
Цитата(Ruslan1 @ Jan 10 2015, 05:12) *
Я еще иногда промежуточную итерацию делаю, когда на плате развожу только нестандартную периферию, а в качестве стандартной подключаю модули из моего кита, получается экономия средств и времени.
вроде того как на рисунке ниже: все специфическое- на плате, все стандартное-через разъемы (синенькие-это от китайского кита, большая зеленая- это тоже из Китая, но уже мое).

Согласен
ViKo
Что вы демо-платами размахалися? Топикстартер, возьмите STM32 Discovery за $десяток-другой, и будет вам счастье, отвечаю!
Xenia
Цитата(ViKo @ Jan 10 2015, 15:20) *
Что вы демо-платами размахалися? Топикстартер, возьмите STM32 Discovery за $десяток-другой, и будет вам счастье, отвечаю!


А вы на "STM32 Discovery" Ethernet и CAN видели? Подскажите, у какой из них эти интерфейсы есть.
ViKo
Цитата(Xenia @ Jan 10 2015, 15:58) *
А вы на "STM32 Discovery" Ethernet и CAN видели? Подскажите, у какой из них эти интерфейсы есть.

А, такого нет. Перечитал стартовое сообщение, забираю Дискавери назад. Научиться программировать Cortex - это одно, а чтобы сразу все на плате поиметь (еще и не зная, что нужно) - это другое. Тогда надо брать самую дорогую, на что денег найдется. С STM32 на борту. rolleyes.gif
Xenia
Цитата(ViKo @ Jan 10 2015, 16:08) *
Тогда надо брать самую дорогую, на что денег найдется. С STM32 на борту.


А что скажете про китаянку, которую я еще на 1-ой странице темы предложила? Я бы ее и особенно дорогой не назвала - $95, зато вместе с дисплеем и богатой периферией.

Сверху выглядит так:


Но если отстегнуть дисплей, по под ним обнаружится это:



Увы! Там слишком много китайских надписей, но гнездо Ethernet узнается легко, и CAN там в двух экземлярах. А USB-то сколько! Всех сортов!
А еще SRAM и Flash (как NOR, так и NAND), SD-карта, RS-232 и 485! DAC выведен под наушник, ADC на линейных вход. Для 2.4G/WIFI только разъем, видимо только извне подключаются. Лампочки, кнопочки, пищалка, кабелёчки до кучи.
Мало периферии? - Так все выводы МК на дырочки выведены, можно подключить напрямую все, что захочешь.

Опять же DVD дают, где Schematic, User Manual, Example, Library, Software, Document и даже Operating System! Документы по-китайски - это минус, но принципиальная схема интернациональна - а чего еще надо?
A. Fig Lee
Цитата(Xenia @ Jan 10 2015, 09:03) *
А что скажете про китаянку, которую я еще на 1-ой странице темы предложила? Я бы ее и особенно дорогой не назвала - $95, зато вместе с дисплеем и богатой периферией.

IMHO, хороший кандидат. Я бы сделал следующее:
1) Сравнил распределение ресурсов по схеме с СТМовскими платами (если совпадают, возможно, примеры подойдут)
2) Проверил бы наличие примеров, на что они у них есть.

После этого делал выводы. Скорее да, вряд ли здесь будет что нибудь заковыристое, как я на грабли наступил.
internal enemy
Цитата(SII @ Jan 6 2015, 14:26) *
Если работать с АРМами, то брать надо, думается, только Segger'овский программатор/отладчик (J-Link). Они поддерживаются практически во всех средах разработки, а сами работают с любыми АРМами, а не только конкретного производителя. Да и глюков у самого отладчика довольно мало, хотя и имеются.

Эх, я боюсь не потяну J-Link Segger-а по деньгам, еще и LPCExpresso IDE не поддерживает из коробки J-Link. Китайскую подделку я боюсь, потому что прочел как один товарищ попытался использовать J-Link V8 с Segger GDB Server-ом и прошить свой контроллер из LPCExpresso, после чего погас отладчик и возникли проблемы с контроллером. Их LPC-Link 2 из коробки дружит с LPCExpresso и, если надо, для него есть официальная прошивка от Segger.

STM я перестал рассматривать из-за того, что ругают несуразности. Сам я не способен оценить критику, но меня это насторожило. Конечно, понятное дело, что грамотная библиотека способна все это сгладить, но меня обязательно понесет в изучение контроллера.

Про китайские платы. Я с самого начала пошел изучать WaveShare c NXP LPC1788, но производитель говорит, что все примеры у них сделаны под старую библиотеку NXP, которая соответствует CMSIS V2.10, а не на LPCOpen. NXP говорят, что ничего кроме LPCOpen больше не поддерживают и не рекомендуют в новых проектах. С платами на LPC4357 видимо тоже самое у WaveShare.

Еще раз напишу, что я хочу освоить. Мне интересно научиться работать с сервомоторами, освоить АЦП, USB, попробовать встраиваемую ОС (пока не имею представления о них), поработать с Ethernet и научиться работать с экраном. Я готов все осваивать - мне нравится все. Но я боюсь, что если я чего-то с самого начала не докуплю, то придется докупить и переплачивать за пересылку. Стоимость отдельной микросхемы на меня никак не влияет, потому что в промышленных масштабах производить нечего. Цель только обучение. Пока читая документацию к LPC и ковыряясь в библиотеке, я понял, как обрабатывать кнопку, мигать светодиодом (с GPIO начал читать) и в общих чертах, как работать с системным таймером.

Плата AlexandrY выглядит заманчиво, но, наверное, не будет примеров и появляется потребность купить какой-то отладчик. Боюсь что закопаюсь на старте.

Спасибо всем за помощь! Прошу прощения за то что сделал тему не в той ветке.
A. Fig Lee
.
jcxz
Цитата(A. Fig Lee @ Jan 10 2015, 08:49) *
Ну скажем, USB, Ethernet, CAN частенько. Плюс всякие флаши и так далее. Большинство уже висит.
ну и не забываем, что все выводы выведены отдельно и почти вся перефирия отцепляемая. Или переключателем или
выпаиванием чип резистора 0 Ом.

Вот как раз о том и речь - в новом, сейчас стартуемом проекте, ожидается:
и USB, но нужно чтобы он был не нативный МК, а через что-то типа CP2102; а на отладках обычно распаян нативный.
и Ethernet, но специфический - с двумя MAC, а Phy для такого на отладках не ставят sad.gif
и SPI-флешь тоже будет, но опять-же не попадание - нужно 2 шт. на одном SPI (чтобы именно 2 микросхемы были,
к тому-же ещё определённые микрухи (любые не подойдут), которые недавно у производителя появились и не ширпотреб).

Вот так вот всегда и получается. Остаются полезными одни только светодиоды wink.gif

Цитата(internal enemy @ Jan 11 2015, 18:44) *
грамотная библиотека способна все это сгладить, но меня обязательно понесет в изучение контроллера.

А может буква 'л' в слове 'сгладить' лишняя? rolleyes.gif
Как тут писали некоторые товарищи, работающие без библиотек с STM32 - "всё работает".
У меня кста тоже был небольшой опыт с STM32 и всё, что я пробовал - работало без каких-то проблем.
Единственный минус периферии STM32, имхо, это её какая-то "недоделанность" (FIFO нигде нет и т.п.).
Ruslan1
Цитата(internal enemy @ Jan 11 2015, 14:44) *
Эх, я боюсь не потяну J-Link Segger-а по деньгам, еще и LPCExpresso IDE не поддерживает из коробки J-Link. Китайскую подделку я боюсь, потому что прочел как один товарищ попытался использовать J-Link V8 с Segger GDB Server-ом и прошить свой контроллер из LPCExpresso, после чего погас отладчик и возникли проблемы с контроллером. Их LPC-Link 2 из коробки дружит с LPCExpresso и, если надо, для него есть официальная прошивка от Segger.

STM я перестал рассматривать из-за того, что ругают несуразности. Сам я не способен оценить критику, но меня это насторожило. Конечно, понятное дело, что грамотная библиотека способна все это сгладить, но меня обязательно понесет в изучение контроллера.

Я бы советовал все-таки STM32. Неважно на какой плате. На нем просто очень много работает, странно что Вас что-то отпугнуло, какие такие несуразности....
Берите какой-нибудь из STM32 Discovery плат. Он и программатор имеет на плате. Причем этот программатор позволяет шить и другие платы.
Уже на плате за 15 долларов есть все что нужно- и программатор, и обвязка, и кучка периферии. RTOS плюс куча много чего отлично и на внутренней RAM памяти крутится (если это F407, на младших просто не пробовал).
Право, уже бы потратили пару десятков долларов и сами убедились, работает оно или правильно что "ругают несуразности". Цена вопроса (если это STM32)- очень низка.

Segger, как и собственно JTAG- это Вам не нужно. Сейчас вполне достаточно двух сигналов для полноценной отладки и программирования (SWD), и эти программаторы (для STM32, по крайней мере) стоят копейки (в составе демо-плат- бесплатно, как отдельное изделие из Китая- 3-4 доллара). Глупо выделять кучу ног на JTAG для простого программирования-отладки, это расточительно и не нужно, случаи когда это нужно- крайне специфичны и редки (например, цепочное программирование или тестирование).
Сами имеем давно купленный дорогой настоящий Segger (раньше на AT91 пользовали), но теперь он просто не нужен.
A. Fig Lee
Нападки на СТМ32 есть, но мне ни попадалось ничего конкретного и никакой проблемы.
Все в стиле "какие идиоты на СТМ32, пишут названия функций с маленькой буквы"..

Но в любом случае, ТС выбор уже сделал еще до нашей дискусии, похоже.
Ну NXP тоже ничего.
Xenia
Эврика! Раз уж топикстартер такой привереда, что китаянки и STM32 ему не нравятся, то мы подыщем ему другую невесту! sm.gif А именно - красавицу Тиву! Вот она какая:


Tiva TM4C129X Development Board ($199)

Контроллер серии "Tiva C" (TM4C129XNCZAD), Cortex-M4F, 120 MHz.
http://www.compel.ru/lib/ne/2013/7/4-bolsh...yadre-cortex-m/ (реклама по-русски)
http://www.ti.com/product/TM4C129XNCZAD?ke...earch=Search-EN (даташит)
http://www.ti.com/tool/dk-tm4c129x?keyMatc...earch=Search-EN (плата для разработчика)
http://www.element14.com/community/communi...o-polo-rebooted (пример применения)

Описание платы здесь: Tiva TM4C129X Development Board User's Guide
Но уже по картинке видно, что все, что было нужно топикстартеру, здесь есть и даже с большим избытком.

Программатор в этом случае отдельно покупать не надо - эта плата позволяет прошивать и отлаживать себя через USB-шнурок, брошенный на компьютер. Т.е. можно считать, что программатор/отладчик в эту плату уже встроен.

Библиотеки и описание максимально полные - все-таки сам Texas Instrument делал, а не какая-то мелкая китайская фирмочка.

На первый взгляд может огорчить рабочая частота контроллера: 120 MHz у TIVA против 180 HMz у STM32F4, однако у TIVA и команды порой за меньшее число тактов выполняются, и шина с памятью шире. Да и FPU покруче будет. Впрочем, будет лучше, если я сошлюсь на авторитетное мнение, которое на нашем форуме уже высказывалось:
Цитата(jcxz @ Aug 29 2014, 07:58) *
А на форумы не смотрите. Подавляющее большинство их обитателей - чайники, а для чайников самый главный критерий - дешёвая(бесплатная) отладка. Поэтому они и выбирают ST.

Почему-то большинство народу смотрит только на саму цифру в МГц и совсем не думает, что за ней скрывается.
И как работает prefetch и кеш, и какая ширина шины до флеш и какова её частота.
А ведь может оказаться что эти 180МГц будут тратиться на тупое ожидание данных из флеш.
И окажется что Tiva (TI) на 120МГц с 256-битной шиной к флеши гораздо быстрее ST со 128-битной.
А ведь есть ещё и периферия. И хроническое отсутствие буферов в UARTах и SPI у STM32, резко ужесточит требования к латентности обслуживания периферии (а значит - сожрёт МГц и увеличит потребление).

PS: Мы, для своей новой разработки скорей всего выберем Tiva. Из-за требований к кол-ву периферии, интенсивности работы с ней (все UART и SPI имеют FIFO у Tiva),
удобству DMA-контроллера для работы с периферией (у STM32 получается затык с его большой потребностью к каналам DMA, ограниченностью их кол-ва и жёсткой привязкой каналов к периферии). А лишние +60МГц STM32 думаю нивелируются удвоенной шириной шины к флеш у Tiva.
internal enemy
Цитата(Xenia @ Jan 12 2015, 00:52) *
Эврика! Раз уж топикстартер такой привереда, что китаянки и STM32 ему не нравятся, то мы подыщем ему другую невесту! sm.gif А именно - красавицу Тиву! Вот она какая:

Нет, я не привередливый! Это я рассказал как искал микроконтроллер/плату самостоятельно.

A. Fig Lee
Я тоже про STM ничего конкретно плохого не читал - просто ругают.
jcxz
Цитата(Xenia @ Jan 12 2015, 05:52) *
На первый взгляд может огорчить рабочая частота контроллера: 120 MHz у TIVA против 180 HMz у STM32F4, однако у TIVA и команды порой за меньшее число тактов выполняются, и шина с памятью шире. Да и FPU покруче будет. Впрочем, будет лучше, если я сошлюсь на авторитетное мнение, которое на нашем форуме уже высказывалось:

biggrin.gif
SII
Цитата(internal enemy @ Jan 11 2015, 15:44) *
Эх, я боюсь не потяну J-Link Segger-а по деньгам


Повторю, что писал где-то ранее: посмотрите на J-Link от Starterkit'а. Понятно, что это клон (потому и стоит недорого), но у меня и у всех коллег/знакомых никогда никаких проблем с ними не возникало.
adnega
Цитата(internal enemy @ Jan 12 2015, 08:55) *
Я тоже про STM ничего конкретно плохого не читал - просто ругают.

По своему опыту скажу, что всегда в таких случаях оказывается не прав программист.
На форуме много подобных тем, я стараюсь принимать в них участие, но ни разу дальше errata проблем не было.
Насчет STM32 и обучения - они созданы друг для друга. На STM32 такие "хаки" возможны благодаря аппаратным блокам (взять тот же таймер), что дух захватывает!
Да, блоки сложные, но никто не заставляет выжимать весь потенциал. Взять LPC - там, если не изменяет память, DMA к чему попало не прицепишь)
И таймеры простецкие. А у STM32 гораздо больше потенциал для обучения. И еще момент: "старые" и "новые" STM32 очень сильно отличаются.
Советую использовать серии не старее F407, а еще лучше F429. Отладка 32F429IDISCOVERY - маст хэв: серво, дисплей+тач, SDRAM, АЦП, ЦАП, таймеры, ОСи, USB - без вопросов; Ethernet и все другое - через доп-расширители, но оно вам пока может и не надо. В крайнем случае будет у вас две посылки: одна сейчас, вторая - когда освоитесь в теме.

Добавлено: А если вы озвучите сумму, которую вам не жалко инвестировать в обучение, то будет гораздо легче подбирать варианты)).
jcxz
Цитата(adnega @ Jan 12 2015, 15:17) *
Взять LPC - там, если не изменяет память, DMA к чему попало не прицепишь)

Изменяет laughing.gif
Ruslan1
Цитата(internal enemy @ Jan 12 2015, 06:55) *
Я тоже про STM ничего конкретно плохого не читал - просто ругают.

Назовите мне любой предмет, существо или явление (вплоть до сказочного и никогда не существующего) - и я найду Вам где в интернете это ругают. Или же как это же хвалят. тут все зависит только от того, что именно хотите найти, а не от реального положения вещей. sm.gif
Выбирайте то что нравится и наслаждайтесь.
И еще одно: коней меняют постоянно, и на переправе и до и после. все зависит от задачи и ситуации. Так что что бы Вы сейчас не выбрали- это не значит что дальше запрещено или не нужно смотреть на все остальное.
Xenia
Цитата
AVR - "прочитанная книга", а STM32F4 - глюкодром, который никогда не даст вам соскучиться sm.gif
(С) 2013, Ксения http://caxapa.ru/456715.html

sm.gif
adnega
Цитата(jcxz @ Jan 12 2015, 15:00) *
Изменяет laughing.gif

Специально уточнил LPC17xx UM, Table 689. DMA connections.
По сравнению с STM32 возможностей меньше (на мой взгляд), но все равно хватает.
Самый мощный проект с использованием DMA у меня такой:
SPI2_RX, SPI2_TX, I2S3_TX, ADC2, ADC3, SPI4_RX, SPI4_TX, SDIO, Ethernet_RX, Ethernet_TX, Mem2Mem.
Теоретически, можно вписаться и в LPC17xx)
jcxz
Цитата(adnega @ Jan 13 2015, 01:30) *
Самый мощный проект с использованием DMA у меня такой:
SPI2_RX, SPI2_TX, I2S3_TX, ADC2, ADC3, SPI4_RX, SPI4_TX, SDIO, Ethernet_RX, Ethernet_TX, Mem2Mem.
Теоретически, можно вписаться и в LPC17xx)

И что? Всё то же самое можно сделать на LPC17xx.
Плюс: на LPC DMA-операции с SPI будут выполняться в пакетном режиме (за раз - пересылка блока данных), так как он имеет FIFO в SSP,
а вот STM32 будет дёргаться каждое слово, излишне перегружая шину. А у нас SPI обычно на больших частотах работает (десятки МГц).
Да и I2S в LPC имеет FIFO, а вот в STM32 - лень заглядывать в даташит, но сильно сомневаюсь wink.gif
К тому-же сам DMA в LPC имеет встроенный FIFO (на каждый канал), что, как я понимаю, позволяет собирать в пакеты данные даже от устройств, не поддерживающих пакетный доступ. В STM этого нет.
Не знаю какой из STM32 Вы имели в виду, я просмотрел STM32F303. И ещё из существенного, что в нём не хватает, имхо, это режим передачи связными списками (linked-list), который есть в DMA LPC.
Я его использую практически всегда. Позволяет DMA-контроллеру работать с несвязными регионами памяти за одну транзакцию.
Очень полезная вещь например при работе с SPI-Flash, когда в начале пакета ей передаются команда и аргументы, а в хвосте - данные. Позволяет обойтись без доп. копирований память-память и уменьшить расход памяти. Или, например: для организации циклического набора буферов, причём не только 2-х-элементных (flip-flop), но и более сложных, многоэлементных.
internal enemy
Эх, возьму контроллер NXP все таки, поскольку начал изучать и много материалов по нему. Надеюсь жалеть не буду.
Потом, когда освоюсь, попробую другой контроллер. Может быть и задачи появятся.

Спасибо большое всем!
internal enemy
Я все-таки не определился с контроллером. Отладочную плату NXP не получится взять.

У меня конкретный вопрос по среде разработки TI. Написано что бесплатная версия Code Composer Studio ограничивает код 16KB, но вот как я вычитал, если писать программу для NXP с библиотекой semihosting то даже на простейшей программке можно уйти за этот лимит, а цены на среду конкретные. Expresso IDE в бесплатной версии куда более щедрая.
Мне интересно у TI есть аналог semihosting для передачи данных с контроллера в консоль?
kovigor
Цитата(internal enemy @ Jan 16 2015, 22:50) *
Отладочную плату NXP не получится взять.

Сверхстранно, они же в России производятся:

http://www.starterkit.ru/html/index.php

Да и вообще, для QFP я эти отладки сам разводил и фоторезистом на двухслойке делал.

NXP или Atmel + Keil как среда разработки - проще, ИМХО, не найдете ...
Xenia
Цитата(internal enemy @ Jan 16 2015, 21:50) *
У меня конкретный вопрос по среде разработки TI. Написано что бесплатная версия Code Composer Studio ограничивает код 16KB, но вот как я вычитал, если писать программу для NXP с библиотекой semihosting то даже на простейшей программке можно уйти за этот лимит, а цены на среду конкретные. Expresso IDE в бесплатной версии куда более щедрая.
Мне интересно у TI есть аналог semihosting для передачи данных с контроллера в консоль?


Вообще-то среду "Code Composer Studio" приходится применять для DSP-процессоров специфической TI-архитектуры, но если у вас ARM, то к Code Composer Studio вы не привязаны. Лично я IAR люблю (еще со времен AVR), и он для многих МК, производства TI, подходит (как для MSP430, так и ARM-Cortex). IAR хоть тоже не бесплатный, но на него управу нашли sm.gif, впрочем и на CCS версии 5 ходовые лицензии имеются. Возможно, они и к CCS 6 подойдут.

P.S. Keil (ARM MDK) - тоже неплохой вариант.
SM
Цитата(internal enemy @ Jan 16 2015, 21:50) *
Мне интересно у TI есть аналог semihosting для передачи данных с контроллера в консоль?

У TI для этого (наверное для этого) есть CIO - в программе используете printf/fopen/fread/fwrite, а CCS выводит в свою консоль, или читает-пишет файлы на компе. Работает через JTAG. Но, сильно сомневаюсь, что он сможет соединиться с процессором не-TI производства.
internal enemy
По поводу среды: я пользуюсь только Linux и меня интересует либо GNU, либо Clang. Для начала хочу взять заточенную среду со знакомым компилятором от производителя.
IAR и Keil стоят денег.

kovigor
Я смотрел платы только Emedded Artists - они идут с примерами для LPCOpen. А мне, как физическому лицу, не продают.
internal enemy
Цитата(SII @ Jan 12 2015, 06:11) *
Повторю, что писал где-то ранее: посмотрите на J-Link от Starterkit'а. Понятно, что это клон (потому и стоит недорого), но у меня и у всех коллег/знакомых никогда никаких проблем с ними не возникало.

А он будет работать с GDB Server Segger-а? Или под Linux можно работать только с OpenOCD?
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.