<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/">
  <channel>
    <title>組み込み on 電子工作でライフハック！</title>
    <link>https://electwork.net/categories/%E7%B5%84%E3%81%BF%E8%BE%BC%E3%81%BF/</link>
    <description>Recent content in 組み込み on 電子工作でライフハック！</description>
    <image>
      <title>電子工作でライフハック！</title>
      <url>https://electwork.net/images/ogp-default.jpg?v=3</url>
      <link>https://electwork.net/images/ogp-default.jpg?v=3</link>
    </image>
    <generator>Hugo -- gohugo.io</generator>
    <language>ja</language>
    <lastBuildDate>Fri, 08 May 2026 00:00:00 +0900</lastBuildDate><atom:link href="https://electwork.net/categories/%E7%B5%84%E3%81%BF%E8%BE%BC%E3%81%BF/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>【STM32連載 第12回】最適化とアセンブラ ― Cが機械語になる瞬間を見る ―</title>
      <link>https://electwork.net/posts/stm32-episode12/</link>
      <pubDate>Fri, 08 May 2026 00:00:00 +0900</pubDate>
      
      <guid>https://electwork.net/posts/stm32-episode12/</guid>
      <description>ついに最終回！Cコードが機械語に変わる「瞬間」を捉える。GCCの最適化（-O0/-O2/-Os）でコードはどう変わり、なぜvolatileを忘れるとハングするのか？objdumpでThumb-2命令を読み解き、12回分の学びを統合。生成AI時代に「地力」を持つエンジニアになるための核心を突く。</description>
    </item>
    
    <item>
      <title>【STM32連載 第11回】リンカスクリプトとmapファイル ― メモリ消費を見える化する ―</title>
      <link>https://electwork.net/posts/stm32-episode11/</link>
      <pubDate>Sat, 02 May 2026 00:00:00 +0900</pubDate>
      
      <guid>https://electwork.net/posts/stm32-episode11/</guid>
      <description>STM32のリンカスクリプト（.ld）とmapファイルを読んで.text/.data/.bssの正体を理解する。LMA/VMAの違い、起動シーケンスでの.dataコピー・.bssゼロ初期化、arm-none-eabi-sizeの見方、スタックオーバーフローの落とし穴まで解説するSTM32プログラミング連載第11回。</description>
    </item>
    
    <item>
      <title>【STM32連載 第10回】DMAという発想 ― CPUを暇にする転送アーキテクチャを徹底理解 ―</title>
      <link>https://electwork.net/posts/stm32-episode10/</link>
      <pubDate>Thu, 30 Apr 2026 00:00:00 +0900</pubDate>
      
      <guid>https://electwork.net/posts/stm32-episode10/</guid>
      <description>「UART送信でメインループが止まる」をDMAが解決。STM32のバス構造から転送完了コールバック・バッファ管理・D-Cacheコヒーレンシの罠まで徹底解説。なぜDMAを使うとシステムが強くなるのか、CPUを暇にする組み込み設計の本質を学ぶSTM32プログラミング連載第10回。</description>
    </item>
    
    <item>
      <title>【STM32連載 第9回】割り込み設計アンチパターン集 ― 壊して学ぶISRの書き方 ―</title>
      <link>https://electwork.net/posts/stm32-episode09/</link>
      <pubDate>Sun, 26 Apr 2026 00:00:00 +0900</pubDate>
      
      <guid>https://electwork.net/posts/stm32-episode09/</guid>
      <description>STM32 NUCLEO-F401REで割り込みアンチパターンを体験。ISR内printf（UART）によるデッドロック、volatile不足による最適化バグ、重い処理によるタイミング破綻、クリティカルセクション不足による共有変数破壊を実証。Arduino・ESP32・AVRにも共通する割り込み設計の鉄則と正しいISR設計を解説。</description>
    </item>
    
    <item>
      <title>【STM32連載 第8回】割り込みの仕組み ― ベクタ・NVIC・コンテキスト保存 ―</title>
      <link>https://electwork.net/posts/stm32-episode08/</link>
      <pubDate>Fri, 17 Apr 2026 00:00:00 +0900</pubDate>
      
      <guid>https://electwork.net/posts/stm32-episode08/</guid>
      <description>STM32 NUCLEO-F401REで割り込みの仕組みをゼロから解説。ベクタテーブル・NVIC優先度・コンテキスト保存・TIM2割り込みによる周期イベント生成まで、組み込みエンジニア必須の割り込み設計の基礎を学ぶSTM32プログラミング連載第8回。</description>
    </item>
    
    <item>
      <title>【STM32連載 第7回】時間の世界（計測文化の入り口） ― 1サイクルの重さを知る ―</title>
      <link>https://electwork.net/posts/stm32-episode07/</link>
      <pubDate>Wed, 08 Apr 2026 00:00:00 +0900</pubDate>
      
      <guid>https://electwork.net/posts/stm32-episode07/</guid>
      <description>STM32 NUCLEO-F401REでDWT CYCCNTを使ったµs単位の実行時間計測を実践。クロック周波数・CPUサイクル・SysTickとの違いを解説し、GPIOトグル＋オシロスコープによる計測も紹介。計測なき最適化は迷信――組み込みエンジニアの「計測文化」入門、STM32プログラミング連載第7回。</description>
    </item>
    
    <item>
      <title>【STM32連載 第6回】ポインタ事故大全 ― なぜ壊れる？壊れ方を知って強くなる ―</title>
      <link>https://electwork.net/posts/stm32-episode06/</link>
      <pubDate>Sat, 28 Mar 2026 00:00:00 +0900</pubDate>
      
      <guid>https://electwork.net/posts/stm32-episode06/</guid>
      <description>ポインタの誤用をSTM32 NUCLEO-F401REで再現し、HardFault・ダングリングポインタ・スタック寿命・配列外アクセス・未定義動作（UB）・最適化バグの6種類をデバッガで観察しながら学ぶ、STM32組み込みプログラミング連載第6回。</description>
    </item>
    
    <item>
      <title>【STM32連載 第5回】ポインタ＝住所（型付きアドレス） ― ポインタを武器にする ―</title>
      <link>https://electwork.net/posts/stm32-episode05/</link>
      <pubDate>Wed, 25 Mar 2026 00:00:00 +0900</pubDate>
      
      <guid>https://electwork.net/posts/stm32-episode05/</guid>
      <description>C言語のポインタを「型付きアドレス」という視点で解説。ポインタ変数の宣言・参照・間接参照の仕組み、型とアドレスの関係、キャスト操作の意味、メモリマップI/OへのアクセスをSTM32で実践。CMSISヘッダ（GPIO_TypeDef）がレジスタをどう抽象化しているかを読み解きます。</description>
    </item>
    
    <item>
      <title>【STM32連載 第4回】ビットの世界 ― レジスタ操作の作法とBSRRの思想 ―</title>
      <link>https://electwork.net/posts/stm32-episode04/</link>
      <pubDate>Sat, 14 Mar 2026 00:00:00 +0900</pubDate>
      
      <guid>https://electwork.net/posts/stm32-episode04/</guid>
      <description>STM32（NUCLEO-F401RE）のGPIOレジスタを直叩きするための必須知識を解説。ビットマスク・シフト操作の基本、RMW（Read-Modify-Write）の競合問題、アトミック操作のために設計されたBSRR（Bit Set/Reset Register）の思想を整理。デバッガでのLチカ体験とHALとの速度実測比較まで。</description>
    </item>
    
    <item>
      <title>【STM32連載 第3回】構造体パディングとアライメント ― メモリレイアウトを実測する ―</title>
      <link>https://electwork.net/posts/stm32-episode03/</link>
      <pubDate>Fri, 06 Mar 2026 00:00:00 +0900</pubDate>
      
      <guid>https://electwork.net/posts/stm32-episode03/</guid>
      <description>C言語の構造体パディング・アライメントをSTM32デバッガ（Memoryビュー）で実際に観測しながら解説。配列がSRAM上で連続配置される仕組み、構造体メンバ間にパディングバイトが生じるルールとアライメント制約、sizeof()の落とし穴、volatile修飾子の正しい使い方、RAMを節約するメンバ並び替えテクニックを実バイト列で確認します。</description>
    </item>
    
    <item>
      <title>【STM32連載 第2回】変数が住む場所を見つける ― Flash、RAM、Stackの使い分け ―</title>
      <link>https://electwork.net/posts/stm32-episode02/</link>
      <pubDate>Sun, 01 Mar 2026 00:00:00 +0900</pubDate>
      
      <guid>https://electwork.net/posts/stm32-episode02/</guid>
      <description>STM32マイコンのメモリマップ（Flash/SRAM/周辺機器レジスタ）の構造を学び、変数の宣言方法に応じてデータがどこに配置されるかをデバッガで実測します。ローカル変数のスタック配置、グローバル変数のSRAM配置、定数のFlash配置を具体的なアドレスで確認し、メモリ管理の基礎を身につけます。</description>
    </item>
    
    <item>
      <title>【STM32連載 第1回】マイコンは&#34;アドレスの世界&#34; ― 座標で読み解くハードウェア ―</title>
      <link>https://electwork.net/posts/stm32-episode01/</link>
      <pubDate>Mon, 23 Feb 2026 00:00:00 +0900</pubDate>
      
      <guid>https://electwork.net/posts/stm32-episode01/</guid>
      <description>STM32CubeIDEのデバッグ機能を使い、プログラムの実行に伴って変化するマイコン内部の状態を、具体的な数値（アドレス）として確認していきます。PC（プログラムカウンタ）、周辺機器レジスタ、SRAM上の変数など、すべてがアドレスで管理されている世界を実測値で体験します。</description>
    </item>
    
    <item>
      <title>【STM32連載 第0回】なぜ組み込みは難しく見えるのか ― 場所と時間の話 ―</title>
      <link>https://electwork.net/posts/stm32-episode00/</link>
      <pubDate>Tue, 17 Feb 2026 00:00:00 +0900</pubDate>
      
      <guid>https://electwork.net/posts/stm32-episode00/</guid>
      <description>組み込みプログラミングが難しく見える理由をわかりやすく解説。ポインタ、割り込み、DMA、スタック――これらはすべて『メモリという場所』と『実行の時間』という2つの視点で理解できます。OSに守られたPC環境と、ハードウェアを直接触る組み込みの世界の違いを知り、組み込みの世界観を身につけましょう。</description>
    </item>
    
    <item>
      <title>【全13回連載】ポインタの先にある組み込みの世界 ― STM32で学ぶメモリと時間 ―</title>
      <link>https://electwork.net/posts/stm32-series/</link>
      <pubDate>Thu, 12 Feb 2026 00:00:00 +0900</pubDate>
      
      <guid>https://electwork.net/posts/stm32-series/</guid>
      <description>Arduinoの『なぜ動くのか？』を深掘りし、組み込みシステムの本質を理解するための完全ガイド。ポインタ＝型付きアドレス、レジスタ＝ビット集合、割り込み＝時間支配――NUCLEO-F401とSTM32CubeIDEで、空間・時間・電気を相手にする世界へ。つよつよエンジニアへの思考回路を手に入れる全13回（第0回＋第1〜12回）。</description>
    </item>
    
  </channel>
</rss>
