マイコンとかFPGAとか

LPC-Link2のLPC4370でマルチコアサンプルのビルドの設定


LPC4370のマルチコアサンプル(Lチカ)のLPC Expressoでのビルドについて。結構苦戦したのでやり方を書いておきます
解説に仕様したLPC Expressoのバージョンは7.2.0です


まずLPCOpen Software Development Platform (LPC43xx packages)からLPC Expresso用のLPC Openのライブラリとサンプル集をダウンロードします。
 
 


それをワークスペースにインポートします。マルチコアサンプルだけなら上記のプロジェクト以外はインポートする必要は無いです。
 
 



mc_sa_blinky_m0subのプロジェクトのプロパティから[C/C++ Build] -> [Setting] -> [MCU Linker] -> [Multicore] の Multicore Configrationの設定でM0SUBを選びます。
mc_sa_blinky_m0appは同様にMulticoreの設定からM0APPを選びます。その後この二つのプロジェクトをビルドしておきます。
 
 


mc_sa_blinky_m4のプロジェクトのプロパティから[C/C++ Build] -> [MCU setting]でプログラムメモリの設定をします。
上記のようにSPIFIのサイズを0x10000(64kB)に変更して[Add Flash]からM0APPとその次にM0SUB用のメモリを連続して64KBづつ領域を確保します。
ここではM0APP用の領域の名前をFlash_M0APP、M0SUB用の領域をFlash_M0SUBとしました
編集途中に色々エラーメッセージが出てきますが最終的に割り当て正常にできれば無視して結構です。
 
 


mc_sa_blinky_m4のプロジェクトのプロパティから[C/C++ Build] -> [Setting] -> [MCU Linker] -> [Multicore]でスレーブ用M0にメモリ領域と割り当てるオブジェクトファイルを設定します。
ここで先ほどM0のプロジェクトをビルドしてできた二つのオブジェクトファイルを確保した領域に割り当てます。
M0APPに領域Flash_M0APP、オブジェクトファイルmc_sa_blinky_m0app.axf.o、M0SUBに領域Flash_M0SUBにオブジェクトファイルmc_sa_blinky_m0sub.axf.oを指定します。

その後にM4用のプロジェクトをビルドして書き込みをします。LEDが点滅すればプロジェクトは正常にビルドされています。
 
 

LPC-Link2を使ったマルチコアのデバッグ


LPC-Link2を使えばマルチコアでデバッグもできます。(無印LPC-Linkはマルチコアデバッグ非対応)
M4のプロジェクトでデバッグを開始して、接続を切らずにそのままスレーブのM0のデバッグを開始します。
この時デバッグの設定でそれぞれプロジェクトに対応したコアをJTAG Configrationで選ばないとエラーになります。
Device 0がM4、1がM0SUB、2がM0APPです。

管理人/副管理人のみ編集できます