独自のライブラリの作成は非常に簡単です。それらのレジスタ仕様のドキュメントは非常に優れており、ほとんどの周辺機器はセットアップが簡単ではありません。彼らのライブラリを使用するのはずっと苦痛だと思います。しかし、おそらくそれは私だけです。これは、st、nxp、ti、atmelに当てはまります(Intelとマイクロチップにはそれほどではありません)。
なぜ彼らがライブラリを変更するのか、いくつもの理由がある可能性があり、いくつかの新しいボスが引き継いだ、いくつかの部門がシャットダウンし、別の部門が引き継いだ。マーケティングは、製品の新しいイメージを望んでいました。ElectronSが述べたように、ハードウェアから離れて抽象化を試みて、ベアメタルを使用したくない、または実行できないユーザーを引き付ける試みになる可能性があります。私はさらにそれを進めて、彼らはおそらくArduino現象と競争しようとしていると言うでしょう。どのmbedと他のみんながいつもやろうとして失敗しました(Arduinoの前でも)。
いずれにせよ、ハードウェアから遠ざかるほど肥大化し、遅くなります。そのため、ROM、RAM、MHZのユニットごとに多くを費やす必要があります。同じ時間をプログラミングに費やすことができますか?ただ違う方法でやってる?
あなたはあなたがPICの世界から来たと言っています、今彼らはツールで大丈夫な仕事をした、彼らのチップドキュメントは恐ろしい、いくつかの最悪のものでした。ライブラリとサンドボックスで補償されました。
1日の終わりに、さまざまなオプションを試し、競合製品を試して、ツールの比較を確認してください。その多くは、それが理にかなっていて、あなたが何かをコンパイルできるかどうかを見るために無料で行うことができます。命令セットシミュレーターを使用することもできます。あなたに合ったものを見つけてください。
あらかじめ用意されているライブラリなしのオプションは常に利用可能です。使用できるツールチェーン、ホストオペレーティングシステム、IDE、エディタなどは制限されません。その点でオプションが極端に制限されている場合は、パーツのプログラミングに固執する可能性があります。または可能な場合はベンダー。
このようなチップ製品を販売するためには、開発環境を提供する必要があります。それがすべて自社のものであっても、無料のものが接着されていてもです。そして、彼らは何らかの種類のライブラリをまとめる傾向があります。十分に見栄えが良く、LEDの例がまばたきするだけで、管理者またはハードウェアチームが製品を設計できるようになります。到着するかしないか。それがほとんど機能するが、チップベンダーにとって大きな勝利ではない場合、その最後の少しの技術サポートにお金を払うことになります。だから、ほとんどそこにいることは彼らの最大の関心事ですが、完全ではありません。
チップベンダーは、デザインを勝ち取るために十分な見栄えさえすればよい。彼らは、新旧の顧客を引き付けるために、製品を改善し続ける必要がありますか?したがって、彼らはやり直しをするでしょう。どれだけ離れているか、どれだけ以前のライブラリがサポートし続けているかは異なります。そのため、慣れ親しんだライブラリについては、最終的にはなくなります。それで、適応することを学んでください(あるいは、彼らのものを使って、あなた自身のものに行かないでください、あなたは無期限にサポートすることができます)。理想的には、製品ごとに1回アプリケーションを開発し、ファームウェアを完璧にすれば(サードパーティライブラリを使用している場合は幸運です)、ツールチェーンを見つけられる場合は戻ってツールチェーンをロードするコンピューターを見つける必要はありません。それをコピーし、その古いライブラリの使用方法を覚えておいてください。ソースコードを保存するだけでなく、すべてのツールとドキュメントを保存する必要があります。
それらのライブラリは、通常1つのツールチェーン、1つまたは2つのIDEでのみサポートされ、場合によってはWindowsおよび特定のバージョンでのみサポートされます。繰り返しますが、あなたが自分でやるのであれば、これらの制限はありません。ARMの場合は間違いありません。いつでも/すべてのライブラリを読んで、どのように動作するかを確認できます。しかし、それはしばしば非常に恐ろしいことです。彼らはライブラリにAチーム開発者を使用していません。
シリコン側とソフトウェア側の両方で時間と労力を節約するために、多くの場合同じIPをリサイクルします。はい、クロックシステムはライブラリの有無にかかわらずトリッキーになることがあります。チップをブリックする可能性が高い、それが私のチップ/ボードブリックのほとんどが発生した場所です。チップがリセットされている間に、すべてではないにしてもほとんどの場合、AVRのチップがどのように機能するかを理解するのに役立ちます。問題は、これらのチップを再プログラムすることができます。これらのベンダーの一部(stは1)には、ストラップ(stワールドではBOOT0など)を使用して選択できる内部ブートローダーがあります。
ワンサイズはすべてに適合し、誰にもうまく合いません。特にソフトウェアに当てはまります。したがって、ハードウェアを抽象化しようとすると、遅くなり、肥大化します。より大きなチップを入手してLinuxを実行することもできます。これの多くは開発者の結果であり、手を汚したくないので、基本的にこれを求めており、彼らはそれを提供しようとしています。
繰り返しますが、stまたはいずれかのベンダーに固執しないでください(手遅れで管理やハードウェアチームがあなたに固執している場合を除き、stm32製品は便利で使いやすいことに注意してください)。周りの買い物。TIはcortex-m4バスケットに多くの卵を入れています。これらの多くのアーム製品とベンダーがサポートするソリューションでmbedを実行できます。
常に信頼できることの1つは、ライブラリが時々変更され、最終的には慣れているライブラリのサポートが停止することです。