La création de vos propres bibliothèques est assez simple. La documentation de leurs spécifications de registre est assez bonne, la plupart sinon tous les périphériques sont faciles à configurer. Je trouve beaucoup plus pénible d'utiliser leurs bibliothèques. mais c'est peut-être juste moi. Cela est vrai pour st, nxp, ti, atmel pour n'en nommer que quelques-uns (pas tellement pour Intel et Microchip).
Pourquoi changent-ils de bibliothèques, cela pourrait être dû à un certain nombre de raisons, un nouveau patron a pris le relais, une division a été fermée, un autre a pris le relais. Le marketing voulait une nouvelle image pour le produit. Comme l'a mentionné ElectronS, cela pourrait être une tentative de s'éloigner davantage du matériel pour attirer des utilisateurs qui ne veulent pas ou ne peuvent pas faire du métal nu. Je voudrais aller plus loin et dire qu'ils essaient probablement de concurrencer le phénomène Arduino. Ce que mbed et tout le monde a toujours essayé de faire et a échoué (même avant Arduino).
Dans tous les cas, plus le matériel est éloigné, plus il est gonflé et lent, donc plus vous devez dépenser par unité pour le rom, le ram et le mhz. Juste pour que vous puissiez passer le même temps à programmer? Le faire différemment?
Vous dites que vous venez du monde PIC, maintenant ils ont fait du bon travail avec les outils, leurs docs de puce étaient pourtant terribles, certains des pires. ils ont compensé avec des bibliothèques et des bacs à sable.
À la fin de la journée, essayez les différentes options, essayez les produits concurrents pour voir comment leurs outils se comparent. Vous pouvez faire beaucoup de choses gratuitement juste pour voir si cela a du sens et vous pouvez compiler des trucs. Peut-être même utiliser un simulateur de jeu d'instructions. Trouvez celui qui vous correspond.
Remarque, l'option sans bibliothèques prédéfinies est TOUJOURS disponible pour vous. Vous n'êtes pas limité quant à la chaîne d'outils que vous pouvez utiliser, quel système d'exploitation hôte, quelle idée, éditeur, etc. ou fournisseur si vous le pouvez.
Pour vendre un produit à puce comme celui-ci, ils doivent fournir un environnement de développement, que ce soit le leur ou des trucs gratuits qu'ils ont collés ensemble. Et ils ont tendance à mettre en place une bibliothèque quelconque. Il suffit de regarder juste assez bien et le clignotement de l'exemple mené fonctionne assez bien pour que votre direction ou votre équipe matérielle conçoive leur produit, puis lorsque votre produit de carte est jeté par-dessus le mur vers le logiciel, c'est lorsque la douleur arrive ou n'arrive pas. Si cela fonctionne presque, mais pas tout à fait, c'est une grande victoire pour le vendeur de puces, car vous allez maintenant payer le support technique pour ce dernier petit morceau. Il est donc dans leur intérêt d'être presque là, mais pas tout à fait.
Les fournisseurs de puces doivent seulement avoir une apparence suffisamment bonne pour obtenir la victoire du design. Ils doivent continuer à améliorer (? Changer) le produit pour attirer les nouveaux et les anciens clients. Ils devront donc faire des dépassements, la distance et le nombre de bibliothèques antérieures qui continuent de prendre en charge, varient. Donc, presque toutes les bibliothèques auxquelles vous vous habituez disparaîtront éventuellement. Apprenez donc à vous adapter (ou n'utilisez pas leurs trucs et essayez les vôtres, que vous pouvez soutenir indéfiniment). Certes, idéalement, vous n'avez besoin de développer l'application qu'une fois par produit, de rendre votre firmware parfait (bonne chance si vous utilisez des bibliothèques tierces), et vous n'aurez pas besoin de revenir en arrière et de trouver un ordinateur qui chargera leur chaîne d'outils si vous pouvez trouver un copie et rappelez-vous comment utiliser cette ancienne bibliothèque. N'oubliez pas que non seulement vous devez enregistrer votre code source, mais vous devez également enregistrer tous leurs outils et documents.
Leurs bibliothèques ne sont prises en charge que sur une seule chaîne d’outils, sous un ou deux IDE et parfois uniquement sous Windows et certaines versions. Encore une fois, vous n'avez aucune de ces limitations, certainement pas pour ARM, si vous faites votre propre truc. Vous pouvez toujours lire toutes / toutes leurs bibliothèques pour voir comment elles font les choses. Mais c'est souvent très effrayant, ils n'utilisent pas les développeurs de leur équipe A pour les bibliothèques, j'ai extrait quelques lignes de code pour demander aux candidats aux entrevues ce qui ne va pas avec ce code.
pour gagner du temps et des efforts à la fois du côté silicium et du côté logiciel, ils recyclent très souvent la même ip, donc une fois que vous voyez comment le périphérique fonctionne sur l'une de leurs puces, il fonctionne souvent de la même manière sur beaucoup d'autres de leurs puces. Oui, les systèmes d'horloge peuvent être délicats avec ou sans leurs bibliothèques. Forte chance de bricking la puce, c'est là que la plupart de mes briques de chip / board se sont produites. Aide à comprendre comment leurs puces fonctionnent, par exemple les AVR, la plupart sinon tous, peuvent être reprogrammés pendant que la puce est réinitialisée, donc tout mauvais code qui gâche les broches nécessaires pour reprogrammer, ou bloque la logique nécessaire pour reprogrammer, ne fonctionne pas importe, vous pouvez reprogrammer ces puces. Certains de ces fournisseurs (st is one) ont un chargeur de démarrage interne que vous pouvez sélectionner à l'aide d'une sangle (BOOT0 par exemple dans le monde st),
Une taille unique convient à tous. Particulièrement vrai pour les logiciels. Donc, toute tentative d'abstraire le matériel le rend lent et gonflé. Autant obtenir une plus grande puce et exécuter Linux dessus, si c'est ce que vous recherchez vraiment. Cela est dû en grande partie au fait que les développeurs ne veulent pas se salir les mains, nous avons donc essentiellement demandé cela, et ils essaient de le fournir.
Encore une fois, ne vous enfermez pas dans st ou dans un autre fournisseur (à moins qu'il ne soit trop tard et que la direction et que l'équipe matérielle ne vous l'aient collé, notez que les produits stm32 sont agréables et faciles à utiliser). Comparer les prix. TI met beaucoup d'oeufs dans le panier cortex-m4. Vous pouvez faire la chose mbed sur un certain nombre de ces produits d'armement ainsi que sur les solutions prises en charge par le fournisseur.
Une chose sur laquelle vous pouvez toujours compter, c'est qu'ils changeront de bibliothèque de temps en temps et cesseront éventuellement de prendre en charge celle à laquelle vous vous êtes habitué.