Перейти к содержанию
    

Плюс из рук вон плохая и неполная документация (по этому параметру STM может сравниться разве что с TI). Сейчас я с ними не работаю, так что не знаю, возможно, документацию уже поправили.
Я пока не начал работать с STM тоже читал на этом форуме много жалоб на качество и неполноту документации, что люди разбирают исходники SPL чтобы понять какие-то неописанные тонкости. А когда начал работать - начал с чтения документации и мне за четыре года ни разу не потребовалось лезть в эти исходники SPL. Да, порой приходится перечитать раздел по несколько раз, но никаких катастрофических ужасов в этой документации я не обнаружил.

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Качество микроконтроллеров STM и документации на них меня более, чем устраивает. И цена. И платки Discovery - простые, дешевые, удобные. Если я чего-то не понимаю - сам виноват.

А всякие библиотеки-Кубы-Гиперкубы - не устраивают. Там скачут от одной функции к другой "всё вглубь, всё настежь", чтобы сделать элементарное действие.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Вот какой! Плохо только, что китайский.

А что, еще какие-то кроме китайских бывают? У меня в последние годы впечатление что киты некитайских продавцов сделаны для отпугивания потенциальных пользователей. :)

 

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

http://electronix.ru/forum/index.php?showt...t&p=1161084

Пользовали не все модули из заказанных, но все что пользовали- работало.

 

Правда, сейчас уже с F407 на F429 переползаем из-за размера внутреннего RAM и наличия поддержки SDRAM.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

А что, еще какие-то кроме китайских бывают? У меня в последние годы впечатление что киты некитайских продавцов сделаны для отпугивания потенциальных пользователей. :)

 

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

http://electronix.ru/forum/index.php?showt...t&p=1161084

 

Вы очень своевременно дали ссылку на раздел "ARM > Отладочные платы", т.к. вопрос темы явно просится именно туда. Здесь же мы видим сложение эффектов от неудачно выбранного подфорума "В помощь начинающему" и плохо озаглавленной темы "С чего начать?", что в купе породило советы типа "начните изучение с AVR" :).

 

Что же касается вашего впечатления от "китов некитайских продавцов", то что-то такое действительно есть. Поскольку демонстрационные платы производителей МК, чаще всего, не только бедны периферией, но и почти демонстративно ее не содержат. Как будто боятся того, что демо-плата будет использована не по назначению - т.е. не как демо, а как готовое устройство. А может быть и так, что в демо-варианте они стремятся до предела уменьшить себестоимость, экономя на спичках. В результате чего, в большинстве случаев, имеем пустые платы с контактами на краях, которые на глаз выглядят как сделанные для смеха огромные переходники от мелкой микросхемы, распятой в центре, до размера здоровенной вентиляционной трубы :). И это касается не только демоплат для МК, но и демоплат для АЦП, выпускаемых TI.

 

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

 

Да китайцы просто иллюзионисты.

У чипа 144 ноги, а они напихали периферии, что аж периметра платы не хватает.

И схему заныкали. И не даром. Интересные бы вещи выплыли.

Как они все это смультиплексировали на 144 ноги включая NOR, SRAM, NAND, SD и проч.?

Уверен что все одновременно и в произвольных комбинациях не работает и требует ручных перекоммутаций или вообще тюнинга проводами.

 

По честному это как делает Freescale. Есть материнка и есть addon-ы. И только так можно задействовать все возможности чипа.

И даже тут не все варианты совместной работы периферии можете получить.

 

Я иду другим путем.

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

В результате на плате можно в реальности задействовать всю! периферию семейства работающую одновременно или в любых вариациях.

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Ну так использование всего готового -- это не настоящее освоение, если уж на то пошло. А писать всё необходимое самому для STM32, как по мне, зачастую сложней, чем под Атмелы или NXP. STMки какие-то... странные, что ли, да и "плотность" неудачных решений, как по мне, у них зашкаливает -- начиная от GPIO с EXTI.

Я полагаю, что сама суть разработки меняется у нас на глазах, но еще не все это уловили. Нет больше нужды вручную рашпилем вытачивать из заготовки деталь, надо взять готовые полуфабрикаты и научиться соединять их вместе. Это естественный ход вещей. Так произошел преход от ламп и транзисторов к микросхемам малой и средней степени интеграции, затем от них - к БИС и СБИС. Так произошел переход от ассемблера к ЯВУ и стандартным библиотекам. С МК сейчас все происходит точно то же самое, при посредстве Ардуино, Нетдуино, мбед и т.п.

 

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

 

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

 

Что же до сроков разработки, то тут не поспоришь: чтобы делать быстро, надо использовать готовое. Однако между "слепым и тупым" и грамотным, вдумчивым использованием -- очень большая разница. К примеру, если мне надо сделать на ПК оконную программу с несколькими полями ввода, кнопками и прочими элементами пользовательского интерфейса, но с примитивной логикой, нетребовательную к производительности и т.д., я её быстренько набросаю на Дельфях, совершенно не задумываясь о том, как и что там работает или сколько памяти сожрёт. Но, в отличие от основной массы "дельфиноидов-формошлёпов", я знаю, как работают дельфозные компоненты и библиотека в целом, а при необходимости способен решить ту же задачу хоть на голом Паскале или Си (дёргая ручками вызовы Win32 API), хоть на ассемблере. Т.е. я использую готовое, но когда-то я его освоил на куда более глубоком уровне, чем требуется для простого использования.

 

То же самое касается и микроконтроллеров. Естественно, не обязательно каждый раз всё писать с нуля, но знать, как оно в действительности работает, я считаю необходимым -- а узнать это можно только путём освоения голого железа. Так что, думаю, каждый должен научиться самостоятельно настраивать синхронизацию, дёргать GPIO, работать с UART, SPI, I2C и другими широко распространёнными вещами хотя бы для одного МК -- чтобы понять, а как оно вообще делается. Конечно, при "переезде" на другой МК "железные" аспекты могут измениться, и очень сильно, но базовые принципы никуда не денутся, и человек, освоивший одно железо, сможет быстро и без особых усилий освоить и другое, если такая нужда возникнет. А она может возникнуть даже при наличии готовых библиотек. Например, мой коллега пару-тройку дней убил на попытки заставить работать одну железяку на каком-то STM32. Как в итоге оказалось, он всё делал правильно, но в библиотеке (кажись, для SPI) писавший её индус-быдлокодер допустил тупую ошибку (что-то вроде |= вместо &=, вероятно), из-за чего в определённых ситуациях библиотека работала неправильно. Ну и как разобраться в такой проблеме, не имея представления о том, что такое SPI, как он работает и как его программировать на уровне регистров контроллера?

 

Ну и про критерии успеха. Результат и сроки -- оно хорошо, конечно, но Вы забыли ещё про качество. Вряд ли наспех собранный из готовых кусков проект будет им обладать.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Чем прошивать NXP я вроде нашел

Прошивать NXP-ые ARM-ы можно через обычный UART с помощью FlashMagic.

Но лучше всё-же использовать J-Link. Плюс - IAR.

 

А вообще - вначале нужно определиться с задачей и уж только потом - выбирать инструмент.

А то как-то странно: что делать - то-ли яму копать, то-ли самолёт строить - Вы ещё не определились, а топор уже выбираете :biggrin:

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Чем прошивать NXP я вроде нашел

 

В вашем случае (когда конкретная плате еще не куплена, а находится только на этапе выбора) лучше сразу выбирать такую плату, которая содержала бы в себе средства прошивки/отладки.

 

Например, популярные (по причине своей дешевизны) платы STM32F429I-DISCO и STM32F4DISCOVERY уже имеют такие средства в виде специальной миросхемины, запаянной прямо на плате с отдельным для нее USB-разъемом, предназначенным исключительно для целей прошивки/отладки. Соединяешь его обычным кабелем с USB-розеткой компьютера - и дело в шляпе - компилятор (а точнее его IDE) сам будет заливать и отлаживать программу в пошаговом режиме. Драйвер только нужно установить при первом присоединении, а больше ничего.

 

А то в наше время фирменный J-Link стоит целое состояние :), то бишь даже дороже навороченной платы. А с его более дешевыми китайскими клонами надо еще найти общий язык, т.к. гарантии тут ненадежные.

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

А с его более дешевыми китайскими клонами надо еще найти общий язык, т.к. гарантии тут ненадежные.

 

Со Стартеркитовскими у меня и коллег пока проблем не было...

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Скажите пожалуйста, а зачем в одном контроллере комбинируют два ядра M4 и M0? В общих чертах, в каких областях это применимо?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Скажите пожалуйста, а зачем в одном контроллере комбинируют два ядра M4 и M0? В общих чертах, в каких областях это применимо?

 

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

 

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

 

P.S. Помимо сказанного, бывает и более банальная причина, которую уже назвал AlexandrY, - на развитую периферию у одного контроллера просто не хватает своих ног. :)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Со Стартеркитовскими у меня и коллег пока проблем не было...

У нас в конторе кста тоже их куча работает уже много лет в компании с IAR - проблем не замечено. Надёжные.

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

P.S. Помимо сказанного, бывает и более банальная причина, которую уже назвал AlexandrY, - на развитую периферию у одного контроллера просто не хватает своих ног. :)

 

Ну это не тот случай.

NXP в своем LPC4300 сделало два ядра чтобы компенсировать убогость периферии своих ARM-ов и даже переплюнуть конкурентов в плане периферии.

Они изобрели такой периферийный модуль - SGPIO, который просто нуждается в дополнительном процессоре.

Скажем через него они подключают камеру, но не имеет достаточно развитого DMA, ну так функции предварительной буферизации и перепаковки пиксел берет на себя сопроцессор.

Или у них есть апнот как сделать до 8-и полнодуплексных UART-ов на этом SGPIO, опять без сопроцессора не обойтись.

 

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

 

Другое дело Freescale. (Прошу не банить за вынужденную рекламу :biggrin: )

 

Их VF6xx имеет на борту ARM Cortex-A5 и Cortex-M4.

И это очевидно нужно чтобы линукс на Cortex-A5 изолировать от надежной прикладной функциональности на Cortex-M4.

Т.е. вся логика приложения делается на Cortex-M4 с использованием RTOS MQX.

А на Cortex-A5 делают малоответственный пользовательский интерфейс и сетевой стек которые имеют обыкновение постоянно виснуть и тормозить.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

NXP в своем LPC4300 сделало два ядра чтобы компенсировать убогость периферии своих ARM-ов

Ай-яй-яй! Модератор, а розжигаете религиозную войну! :rolleyes:

 

Всяка тварь на пользу человеку. Одним одно нравится, другим - другое. Дело вкуса.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
К сожалению, ваш контент содержит запрещённые слова. Пожалуйста, отредактируйте контент, чтобы удалить выделенные ниже слова.
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...