0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

STM32F4DISCOVERYで.NET 4.3 Micro Frameworkを取りあえず動かしてみた

Last updated at Posted at 2015-01-03

はじめに

試行錯誤中なので、とりあえずのメモ書きです。
これにしたがってポチポチとやってみました。
http://bonebyte.com/?p=151

作業時間は2時間程度です。

ビルドとボードへの書き込み

Windows 8 64Bit + Visual Studio Express 2012 for Windows Desktop + .NET Micro Framework は、V4.3 RTMを使います。

2015年1月現在の最新f版は Visual Studio Community 2013 + .NET Micro Framework V4.3 SDK-R2-Beta ですがこの組み合わせでは動きません。

必要なファイル

以下のファイルをダウンロードしておきます。

環境設定

ダウンロードしたファイルを使って、環境を整えていきます。

  1. Visual Studio Community 2013 をインストール
  2. GCC 4.6 を "C:\GCC_ARM_4_6" にインストール
  3. .net microframework 4.3 をインストール
  4. Community ports and libraries を "C:\MicroframeWorkPK_4_3" に解凍
  5. GHI Gadgeteer package をインストール
  6. STM32 ST Link をインストール
  7. msbuild が使えるか、確認
    • コマンドプロンプトを起動し、msbuild.exe を実行
    • 見つからない場合、環境変数のPathにC:\Windows\Microsoft.NET\Framework64\v4.0.30319 を追加
  8. コマンドプロンプトで、C:\MicroframeWorkPK_4_3 に移動し、以下のコマンドを実行

setenv_gcc.cmd 4.6.2 C:\GCC_ARM_4_6

ファームウェアの修正

これからビルドするのは、Cerberus と呼ばれるボードのファームウェアになります。
Cerberus では12MHzクリスタルが使われていますが、STM32F4DISCOVERYは8MHzクリスタルが使われているため、ソースの一部の修正が必要になります。

MicroframeWorkPK_4_3\Solutions\FEZCerberus\platform_selector.h
# define SYSTEM_CRYSTAL_CLOCK_HZ         12000000   // 12MHz external clock

この値を 8000000 に書き換えて保存します。

ビルド

C:\MicroframeWorkPK_4_3 の中で、以下のコマンドを実行します。

msbuild.exe build.dirproj

C:\MicroframeWorkPK_4_3\Solutions\FEZCerberus の中で、以下のコマンドを実行します。

msbuild.exe dotNetMF.proj /t:build /p:flavor=release;memory=flash

ビルドが終わると、"ビルドに成功しました。"と出ます。
警告がいろいろと出ましたが、気にせずに次に進みます。

以下のフォルダの中から、ファイルを取り出して適当なフォルダの中にまとめて入れておきます。
C:\MicroframeWorkPK_4_3\BuildOutput\THUMB2\GCC4.6\le\FLASH\release\FEZCerberus\bin

  • tinybooter.hex
  • tinyclr.hex フォルダ内 の ER_CONFIG
  • tinyclr.hex フォルダ内 の ER_FLASH

ボードへの書き込み

ビルドしたファイルを書き込みます。

  1. STM32F4 Discoveryをmini usbで繋ぎ、電源を入れる
  2. ST-Link Utilityを起動し、"Connect to the target." ボタンを押す
  3. Target メニュー > Erase Chip を選択
  4. Target メニュー > Erase Sectorを選択、Select All を選択後に、Apply
  5. Target メニュー > Programを選択、ファイル選択ダイアログで、ビルド後に取り出しておいたtinybooter.hex を選択し、start
  6. STM32F4 Discoveryのmini usbを抜き差しし、STM32F4 Discoveryを再起動
  7. STM32F4 Discoveryをmicro usbで繋ぐ
  8. デバイスマネージャーを開き、ユニバーサルシリアルバスデバイスの中にCerb-Familyがあり、正常に動作していることを確認
  9. .Net Micro framework Deployment tool を起動
  10. DeviceのドロップダウンからUSBを選択し、"Ping" ボタンを押す
  • Cerb-Family Gadgeteerが選択済になる
  1. Image fileの "Browse"ボタンを押す
  2. ビルド後に取り出しておいた "ER_FLASH" "ER_CONFIG" を選択する
  3. Image fileの "Deploy"ボタンを押す

動作確認

Visual Studioを起動し、新しいプロジェクト > Visual C# > Micro Framework > Console Applicationを選択します。

プロジェクトが開いたら、プロジェクト > プロパティを開き、".NET Micro Framework"タブを選択します。

Deploymentの中のTransportドロップダウンを"USB"に変更し、Deviceが"Cerb-Family_Gadgeteer"に変わったことを確認してプロパティを閉じます。

あとは、いつも通り、ビルドして実行するだけ。
デバッグ出力にHello World!と出ているはずです。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?