Das Erstellen eigener Bibliotheken ist ganz einfach. Die Dokumentation der Registerspezifikationen ist ziemlich gut, die meisten, wenn nicht alle Peripheriegeräte sind einfach einzurichten. Ich finde es viel schmerzhafter, ihre Bibliotheken zu benutzen. aber vielleicht bin das nur ich. Dies gilt für st, nxp, ti, atmel, um nur einige zu nennen (weniger für Intel und Mikrochip).
Warum wechseln sie Bibliotheken, könnte eine Reihe von Gründen haben, ein neuer Chef übernahm, eine Abteilung wurde geschlossen, eine andere übernahm. Das Marketing wollte ein neues Image für das Produkt. Wie ElectronS bereits erwähnte, könnte dies ein Versuch sein, sich von der Hardware zu lösen, um Benutzer anzulocken, die nicht bereit oder in der Lage sind, Bare-Metal zu betreiben. Ich würde noch weiter gehen und sagen, dass sie wahrscheinlich versuchen, mit dem Arduino-Phänomen zu konkurrieren. Was mbed und alle anderen immer versucht haben und gescheitert sind (noch vor Arduino).
In jedem Fall wird es mit zunehmender Entfernung von der Hardware aufgeblähter und langsamer. Je mehr Geld Sie pro Einheit für ROM, RAM und MHZ ausgeben müssen. Nur damit Sie genauso viel Zeit mit Programmieren verbringen können? Einfach anders machen?
Sie sagen, Sie kommen aus der PIC-Welt, jetzt haben sie gute Arbeit mit Werkzeugen geleistet, ihre Chip-Dokumente waren jedoch schrecklich, einige der schlimmsten. Sie kompensierten mit Bibliotheken und Sandkästen.
Probieren Sie am Ende des Tages die verschiedenen Optionen und die Konkurrenzprodukte aus, um zu sehen, wie sich ihre Tools vergleichen lassen. Vieles davon kannst du kostenlos tun, nur um zu sehen, ob es Sinn macht und um Dinge zu kompilieren. Vielleicht sogar einen Befehlssatzsimulator verwenden. Finden Sie diejenige, die zu Ihnen passt.
Beachten Sie, dass die Option ohne Bibliotheken IMMER für Sie verfügbar ist. Sie sind nicht darauf beschränkt, welche Toolchain Sie verwenden können, welches Host-Betriebssystem, welche Idee, welcher Editor usw. Sie können sich beim Programmieren der Teile daran halten, wenn ihre Optionen in dieser Hinsicht extrem eingeschränkt sind. Wechseln Sie zu einem anderen Chip oder Verkäufer, wenn Sie können.
Um ein solches Chip-Produkt zu verkaufen, müssen sie eine Entwicklungsumgebung bereitstellen, ganz gleich, ob es sich um ihre eigenen oder um kostenlose Produkte handelt, die sie zusammengeklebt haben. Und sie neigen dazu, eine Bibliothek zusammenzustellen. Es muss nur gerade gut genug aussehen und das Blinken des LED-Beispiels muss gerade gut genug funktionieren, um entweder Ihr Management oder Ihr Hardwareteam dazu zu bringen, ein Produkt zu entwerfen kommt an oder kommt nicht an Wenn es fast funktioniert, aber nicht ganz, ist das ein großer Gewinn für den Chiphersteller, da Sie jetzt für den technischen Support für das letzte bisschen bezahlen. Es ist also in ihrem besten Interesse, fast da zu sein, aber nicht ganz.
Die Chiphersteller müssen nur gut genug aussehen, um den Designgewinn zu erzielen. Sie müssen das Produkt ständig verbessern (? Verändern), um neue und alte Kunden anzulocken. Sie werden also Probleme haben, wie weit voneinander entfernt und wie viele frühere Bibliotheken weiterhin unterstützt werden. Fast jede Bibliothek, an die Sie sich gewöhnt haben, wird irgendwann verschwinden. Lerne also, dich anzupassen (oder benutze ihre Sachen nicht und gehe deine eigenen, die du auf unbestimmte Zeit unterstützen kannst). Zugegeben, im Idealfall müssen Sie die Anwendung nur einmal pro Produkt entwickeln, Ihre Firmware perfektionieren (viel Glück, wenn Sie Bibliotheken von Drittanbietern verwenden), und Sie müssen nicht zurückgehen und einen Computer suchen, der ihre Toolchain lädt, wenn Sie eine finden Kopieren Sie es, und denken Sie daran, wie Sie diese alte Bibliothek verwenden. Denken Sie daran, dass Sie nicht nur Ihren Quellcode speichern sollten, sondern auch alle zugehörigen Tools und Dokumente.
Ihre Bibliotheken werden in der Regel nur in einer Toolchain, unter einer oder zwei IDEs und manchmal nur unter Windows sowie in bestimmten Versionen unterstützt. Auch hier haben Sie keine dieser Einschränkungen, ganz sicher nicht für ARM, wenn Sie Ihr eigenes Ding machen. Sie können immer alle ihre Bibliotheken lesen, um zu sehen, wie sie Dinge tun. Aber das ist oft sehr beängstigend. Sie verwenden ihre A-Team-Entwickler nicht für Bibliotheken. Ich habe ein paar Codezeilen extrahiert, um die Interviewkandidaten zu fragen, was mit diesem Code nicht stimmt.
Um Zeit und Mühe zu sparen, recyceln sie sowohl auf der Silicon- als auch auf der Softwareseite häufig dieselbe IP. Wenn Sie also sehen, wie die Peripherie auf einem ihrer Chips funktioniert, funktioniert dies auf vielen anderen Chips oft auf dieselbe Weise. Ja, die Uhrensysteme können mit oder ohne ihre Bibliotheken knifflig sein. Hohe Wahrscheinlichkeit, dass der Chip gemauert wird. Dort ist der größte Teil meines Chip- / Board-Mauerwerks passiert. Hilft zu verstehen, wie ihre Chips funktionieren, zum Beispiel, dass die AVRs, die meisten, wenn nicht alle, neu programmiert werden können, während der Chip zurückgesetzt wird Egal, Sie können diese Chips neu programmieren. Einige dieser Anbieter (st is one) haben einen internen Bootloader, den Sie mit einem Gurt auswählen können (BOOT0 zum Beispiel in der st-Welt).
Eine Größe passt allen und niemand passt gut. Dies gilt insbesondere für Software. Jeder Versuch, die Hardware zu abstrahieren, macht sie nur langsam und aufgebläht. Könnte auch einen größeren Chip bekommen und Linux darauf laufen lassen, wenn es das ist, was du wirklich suchst. Ein Großteil davon ist jedoch auf die Entwickler zurückzuführen, die sich nicht die Hände schmutzig machen wollen. Deshalb haben wir im Grunde darum gebeten, und sie versuchen, es zu liefern.
Auch hier sollten Sie sich nicht an st oder einen anderen Anbieter binden (es sei denn, es ist zu spät und das Management und das Hardwareteam haben es Ihnen angetan, beachten Sie, dass die stm32-Produkte nett und einfach zu bedienen sind). Einkaufsbummel. TI legt eine Menge Eier in den Cortex-M4-Korb. Sie können die mbed-Funktion für eine Reihe dieser Armprodukte sowie für die vom Anbieter unterstützten Lösungen ausführen.
Eine Sache, auf die Sie sich immer verlassen können, ist, dass sie von Zeit zu Zeit die Bibliotheken wechseln und schließlich aufhören, die zu unterstützen, an die Sie sich gewöhnt haben.