サイト内検索

Silicon Labs EFM32:UARTブートローダ(Boot loader)とは何ですか?

EFx32

MCUにプログラミングする場合、通常はデバッグインタフェース(SW)経由で行いますが、UARTブートローダを使うとUART経由でのプログラミングが可能です。
USBが内蔵されていないEFM32は、フラッシュメモリの先頭にUARTブートローダがプログラミングされた状態で出荷されます。このUARTブートローダは、UART経由で受け取ったデータを、フラッシュメモリに書き込むような作りになっています。つまり、PCからUART経由でプログラミングが行えることになります。

Article header uart boot  3

通常は、ユーザコードはフラッシュメモリの先頭(0x0000番地)に配置しますが、ここにブートローダがありますので、Build時にリンカオプションでユーザコードの配置場所にオフセットを指定しなければなりません。詳しい手順はAN0003(UART Bootloader)をご参照ください。
なお、フラッシュメモリにブートローダが配置されていますので、ユーザコードを配置できるサイズがその分小さくなっています。UARTブートローダが不要でしたら、上書き、あるいは消去してください。

なお、EFM32 Gemstone(EFM32PG、EFM32JG)の場合は、ブートローダはユーザコード領域ではなく、専用の領域に配置されています。そのためユーザコードのスペースを消費しないようになっています。


2016/4/14:EFM32PG/JGを追記しました

経験豊富なFAEが
無料でご相談を承ります。

特定製品の仕様からパーツの選定まで、当社のFAEが皆様のテクニカルなお悩みに無料で回答します。ぜひ、お気軽にご相談ください。