Android HAL層の内部構造と実装解説: Mokoid LEDサービスの事例
Android HAL層の内部構造と実装解説: Mokoid LEDサービスの事例
Androidシステムにおいて、ハードウェアとフレームワーク層の連携を可能にする重要な役割を担うのがハードウェア抽象化レイヤー(HAL)です。本稿では、MokoidプロジェクトのLEDサービスを具体例として取り上げ、HAL層の実装がどのように行われ、JNI(Java Native Interface)を介してJavaフレームワーク層 ...
8月8日 00:12 投稿
STM32CubeMXで始める組み込み開発実践入門
STM32CubeMXの全体像
STM32CubeはSTMicroelectronicsが提供する統合ソフトウェアエコシステムであり、STM32マイコンおよびマイクロプロセッサ向けの開発を支援します。開発者はIARやKeilといった既存のIDEと組み合わせて利用するだけでなく、STM32CubeMX、STM32CubeProgrammer、STM32CubeMonitorなどのツールを自由に取り込むことができます。
代表的なSTM32開発手法を次 ...
7月17日 00:29 投稿
STM32 HALライブラリを使用したMPU6050のI2C通信とDMP motion_driver 5.1.3の移植
開発環境
Ubuntu 20.04 LTS
STM32CubeIDE 1.9.0
MPU6050 DMP ドライバー: motion_driver 5.1.3
マイクロコントローラ: STM32 F103C8T6
motion_driver 5.1.3の移植
以下のファイルをmotion_driver-5.1.3/core/driver/eMPL/ディレクトリからコピーします。
dmpKey.h
inv_mpu.c
inv_mpu_dmp_motion_driver.h
dmpmap.h
inv_mpu_dmp_m ...
7月9日 00:11 投稿
STM32 HALライブラリによるW25Q128フラッシュメモリのSPI通信実装
SPI(Serial Peripheral Interface)はマイコンと周辺デバイス間の高速データ伝送を実現する代表的なシリアル通信プロトコルです。128Mbit(16MB)の容量を持つW25Q128フラッシュメモリは、データ記録やプログラム格納用途に広く利用されています。STM32F407はARM Cortex-M4コアを搭載し、ハードウェアSPIインターフェースをサポートする他、ソフトウェアエミュレーション ...
6月30日 20:43 投稿
STM32 HALで赤外線リモコン信号をキャプチャする実装
1. NECフォーマットの概要
NECプロトコルは 38 kHz キャリアを用いた赤外線通信規格である。受信側で観測すると、以下の時間幅でビットが表現される。
論理 1:560 µs の Low 後 1.68 ms の High(合計 2.24 ms)
論理 0:560 µs の Low 後 560 µs の High(合計 1.12 ms)
1フレームは次で構成される。
リーダーコード:9 ms Low → 4.5 ms High
アドレス(8 bit、LSB ...
6月27日 22:05 投稿
STM32 HALを用いたMG90Sサーボモータ(180度)の制御手法
サーボモータの概要と制御原理
MG90Sのような標準的なサーボモータは、内部でモータ、ギアヘッド、フィードバック用ポテンショメータ、制御回路を統合したアクチュエータです。入力されたPWM信号に基づいて目標角度を維持する閉ループ制御を行います。一般的に、電源(VCC)、グランド(GND)、制御信号(PWM)の3本の配線で構成されます。
角度制御には周期20ms(50Hz)の ...
6月12日 18:24 投稿
OpenHarmonyにおけるファイルサブシステムの移植方法
OpenHarmonyのutilsコンポーネントは、各業務サブシステムおよび上位アプリケーションから利用可能であり、チップ側のファイルシステム実装に依存している。具体的には、チッププラットフォームがファイルのオープン・クローズ、読み書き、サイズ取得などの基本機能を提供する必要がある。
HALインタフェースの要件
OpenHarmonyのファイルシステムを移植するには、以下の ...
5月16日 21:59 投稿