Skip to content

概要

HALbedは、HAL(Hardware Abstraction Layer)を抽象化し、より使いやすいインターフェースを提供するためのライブラリです。

利用にあたっての注意点

HALbedは、HALを抽象化するためのライブラリであり、HALの全ての機能を完全にカバーするものではありません。
本ライブラリに起因する不具合や問題については、責任を負いかねます。
マイコンの動作を保証するものではなく、特定の機能や高度な設定には対応していません。
必要に応じて、HALを直接呼出して利用することを推奨します。
ドキュメントについても、同様に内容の正確性を保証するものではありません。
また、すべてのシリーズに対応しているわけではないため、公式のリファレンスマニュアルやデータシートを参照してください。

より多くの機能、シリーズに対応するため、IssueやPull Requestを歓迎します。

HALラッパーの位置づけ

image

HALラッパーは、HALが提供する各機能(GPIO、タイマー、I2C、SPI、UART等)を分かりやすくまとめて公開します。

HALbed / HALラッパーできること

  • HALの抽象化・簡略化
    複雑なHAL APIをシンプルなインターフェースで提供し、開発者が簡単にに利用できるようにします。
  • 初期化の簡素化
    各種デバイスの初期化手順を簡略化し、コード量を削減します。
  • mbed OS6 に近いAPIの提供
    mbed OS6 の設計思想を取り入れたAPIを提供し、既存のmbedユーザーがスムーズに移行できるようにします。

HALbed / HALラッパーで想定していないこと

  • 高度な機能の提供
    HALの全ての高度な機能や特殊な設定には対応していません。必要に応じてHALを直接利用することを推奨します。
    • PWMの同期制御
    • DMAを利用した高速データ転送 (一部対応していますが、DMAを使う場合はHALを直接利用することを推奨します)
    • 特定のマイコンやシリーズに依存する機能の提供 ...etc
  • 完全な互換性の保証
    mbed OS6 の全てのAPIと完全な互換性を保証するものではありません。基本的な使用方法に焦点を当てています。
  • 特定のハードウェア依存機能
    特定のマイコンやボードに依存する機能には対応していません。汎用的な機能に焦点を当てています。

NOTE

抽象化レイヤーであるため、パフォーマンスが若干低下する可能性があります。リアルタイム性が厳しく要求されるアプリケーションでは、直接HAL/LLを利用することを推奨します。