STM32用Xmodem-1kシリアル通信ブートローダの実装

本稿では、STM32マイクロコントローラ向けに、Xmodem-1kプロトコルを介したシリアル通信によるファームウェアアップデート機能を実装するブートローダについて解説します。このブートローダは、将来的なリモートアップデートを見据え、外部SPIフラッシュメモリ(W25Qシリーズ)インターフェースもサポートする設計となっています。 機能概要 効率的なファームウェアア ...

8月5日 02:43 投稿

UART通信におけるRS232送信モジュールの実装

UART送信モジュールの設計概要 UART通信の送信モジュールをVerilog HDLで実装する際の主要な構成要素: /* 標準的なボーレート設定: 4800, 9600, 14400, 115200 bps 50MHzシステムクロック時のカウント値: (1/4800) * 10^9 /20 -1 = 10416 (1/9600) * 10^9 /20 -1 = 5207 (1/14400) * 10^9 /20 -1 = 3471 (1/115200)* 10^9 /20 -1 = 433 */ module uart_transmitter ( ...

7月30日 22:39 投稿

Raspberry Pi 3B/3B+/4B 初期設定ガイド - OS導入からリモート接続まで

必要なハードウェア 電源アダプターの選定 Raspberry Piの電源供給において、初心者が陥りやすい問題としてPCのUSBポートからの給電があります。USB 2.0は最大500mA、USB 3.0でも900mA程度の出力しか得られません。外付け機器を接続する際は電力不足の原因となるため、5V/2.5A以上の出力が可能な専用アダプターの使用を推奨します。 シリアル通信モジュール 初期設定段階 ...

6月26日 16:38 投稿

STM32F407でのLuaによるシリアル通信を利用した機能ホットアップデート

STM32F407でのLuaによるシリアル通信を利用した機能ホットアップデート 目次- STM32F407でのLuaによるシリアル通信を利用した機能ホットアップデート 1.Luaリソースの準備 2.全体のアプローチ 3.Luaの移植 ステップ1 ステップ2 ステップ3 ステップ4 ステップ5 ステップ6 4.Luaの基本的な使用法 ステップ1 基本的なLua関数の作成 ステップ2 Lua関数の登録 ステップ3 Lua文 ...

6月15日 18:58 投稿

ソケットを使用した単一シリアルポートの共有読み書き実装

物理シリアルポートはPCに接続され、シリアルポート名によって一意に識別されます。 この場合、物理シリアルポートはそのポート名によって単一のスレッドまたはプロセスインスタンスのみが占有でき、他のスレッドやプロセスは同じポート名で物理シリアルポートと通信できません。これをシリアルポートの排他性と呼びます。 解決策: 核心思想:コンピュータソフトウェアに ...

6月11日 23:32 投稿

Qtでシリアル通信と非同期データ処理を実装する

シリアル通信の基本実装 QtのQSerialPortクラスを用いて、ハードウェアとの直列通信を制御します。このクラスは、ポートのオープン・クローズ、ボーレート・データビット・ストップビット・パリティ・フローコントロールの設定を簡易に実現します。通信は非同期で行われるため、UIスレッドの応答性を保つために受信データの処理を別スレッドに委譲します。 // シリアルポ ...

6月8日 17:41 投稿