Создать свои собственные библиотеки довольно просто. Их документация по спецификации реестра довольно хорошая, большинство, если не все периферийные устройства просты в настройке. Я нахожу гораздо более болезненным использование их библиотек. но, возможно, это только я. Это верно для st, nxp, ti, atmel, чтобы назвать несколько (не так много для intel и microchip).
Почему они меняют библиотеки, может быть по нескольким причинам, какой-то новый босс вступил во владение, какое-то подразделение закрыто, другое вступило во владение. Маркетинг хотел новый образ для продукта. Как упоминал ElectronS, это может быть попыткой отвлечься от аппаратного обеспечения, чтобы привлечь пользователей, не желающих или не умеющих делать голый металл. Я хотел бы пойти дальше и сказать, что они, вероятно, пытаются конкурировать с феноменом Arduino. Который мбед и все остальные всегда пытались сделать и потерпели неудачу (даже до Arduino).
В любом случае, чем дальше от аппаратного обеспечения, тем более раздутым и медленным, тем больше вы должны тратить на единицу для rom, ram и mhz. Просто чтобы ты мог потратить столько же времени на программирование? Просто делать это по-другому?
Вы говорите, что пришли из мира PIC, теперь они отлично справились с инструментами, хотя их документы по чипам были ужасными, хотя и одними из худших. они компенсировали с помощью библиотек и песочниц.
В конце дня, попробуйте различные варианты, попробуйте конкурирующие продукты, чтобы увидеть, как их инструменты сравниваются. Многое из того, что вы можете сделать бесплатно, просто чтобы увидеть, имеет ли это смысл, и вы можете компилировать вещи. Может быть, даже использовать симулятор набора инструкций. Найдите тот, который подходит вам.
Обратите внимание, что опция без консервированных библиотек всегда доступна для вас. Вы не ограничены тем, какой набор инструментов вы можете использовать, какую операционную систему хоста, какой ide, редактором и т. Д. Они могут придерживаться его при программировании деталей, если их возможности в этом отношении крайне ограничены, и переходят на какой-то другой чип. или продавец, если можете.
Чтобы продать подобный чип-продукт, они должны предоставить среду разработки, будь то все их или бесплатные вещи, которые они склеили. И они, как правило, собирают какую-то библиотеку. Это должно выглядеть просто достаточно хорошо, и приведенный пример работает достаточно хорошо, чтобы заставить ваше руководство или команду аппаратного обеспечения спроектировать свой продукт, тогда, когда ваш программный продукт переброшен через стену на программное обеспечение, это когда боль делает или не прибывает. Если это почти работает, но не совсем, это большая победа для производителя чипов, так как теперь вы будете платить за техническую поддержку для этого последнего кусочка. Поэтому в их интересах быть почти там, но не совсем.
Производители чипов должны выглядеть достаточно хорошо, чтобы выиграть дизайн. Они должны постоянно улучшать («менять») продукт, чтобы привлекать новых и старых клиентов. Таким образом, им придется делать оверны, как далеко друг от друга и сколько предыдущих библиотек продолжают поддерживать, варьируется. Так что практически любая библиотека, к которой вы привыкли, со временем исчезнет. Так что учитесь приспосабливаться (или не используйте их вещи и переходите к собственным, которые вы можете поддерживать бесконечно). Конечно, в идеале вам нужно разрабатывать приложение только один раз для каждого продукта, делать идеальную прошивку (удачи, если вы используете сторонние библиотеки), и вам не нужно возвращаться и искать компьютер, который загрузит их набор инструментов, если вы сможете найти скопируйте его и вспомните, как использовать эту старую библиотеку. Помните, что вы должны не только сохранять исходный код, но и сохранять все его инструменты и документы.
Их библиотеки поддерживаются, как правило, только в одной цепочке инструментов, в одной, может быть, в двух IDE, а иногда только в Windows, и в определенных версиях. Опять же, у вас нет ни одного из этих ограничений, определенно не для ARM, если вы делаете свое дело. Вы всегда можете прочитать любую / все их библиотеки, чтобы увидеть, как они работают. Но это часто очень страшно, они не используют своих разработчиков команды A для библиотек, я выделил несколько строк кода, чтобы спросить кандидатов на собеседованиях, что не так с этим кодом.
чтобы сэкономить время и усилия как на стороне кремния, так и на стороне программного обеспечения, они очень часто перерабатывают один и тот же ip, поэтому, как только вы видите, как периферийное устройство работает на одном из их чипов, оно часто работает так же, как и на многих других их чипах. Да, системы часов могут быть хитрыми с их библиотеками или без них. Высокие шансы на обломок чипа, именно здесь произошел брикет моего чипа / платы. Помогает понять, как работают их микросхемы, например, AVR, большинство, если не все, можно перепрограммировать во время сброса микросхемы, поэтому любой плохой код, который испортил контакты, необходимые для перепрограммирования, или повредил логику, необходимую для перепрограммирования, не делает независимо от того, вы можете перепрограммировать эти чипы. Некоторые из этих поставщиков (st is one) имеют встроенный загрузчик, который можно выбрать с помощью ремешка (например, BOOT0 в st-мире),
Один размер подходит всем и никому не подходит. Особенно актуально для программного обеспечения. Поэтому любая попытка абстрагировать аппаратное обеспечение просто делает его медленным и раздутым. Также возможно получить чип большего размера и запустить на нем linux, если вы действительно этого хотите. Большая часть этого является результатом того, что разработчики не хотят запачкать руки, поэтому мы в основном просили об этом, и они пытаются это предоставить.
Опять же, не привязывайтесь к st или любому другому поставщику (если это не слишком поздно, и руководство и / или команда аппаратного обеспечения не обратили на вас внимания, обратите внимание, что продукты stm32 хороши и просты в использовании). Магазин вокруг. TI кладет много яиц в корзину cortex-m4. Вы можете использовать mbed для ряда продуктов, а также для решений, поддерживаемых поставщиком.
Одна вещь, на которую вы всегда можете положиться, это то, что они будут время от времени менять библиотеки и в конце концов перестанут поддерживать ту, к которой вы привыкли.