dev/ezarm7
*ARM+GCC+eclipse+JTAGデバッグ 2007年4月5日 [[index]] #contents **概要 Windows上でのクロスコンパイルと、JTAGデバッグ環境の構築を試してみました。 GCCは、GCC4.1.1がベース eclipseは、3.2.0 JAVAはjre1.5.0_11←既にに入っていたので今回インストールしたわけでは無いです。&ref(eclipse.cmd);でパスを設定します。 ARM基板は、[[EZ-ARM7>http://optimize.ath.cx/ARM7/index.html]] JTAG基板は、[[MINI-EZUSB>http://optimize.ath.cx/mini_ezusb/index.html]] **組み立て+動作確認 JTAGになるMINI-EZUSBを[[回路・製作>http://optimize.ath.cx/mini_ezusb/sche2.htm]]の通りに組み立て、動作確認。 EZ-ARM7を[[回路・製作>http://optimize.ath.cx/ARM7/build.htm]]の通りに組み立て、動作確認。 ***EZ-USBの開発キット www.cypress.com->Design Resources->Developer Kits->Universal Serial Bus->USB Full-speed Peripherals->AN2131-DK001 EZ-USB Development Kitをダウンロードします。 [[an2131_dk001_ez_usb_development_kit_15.zip>http://download.cypress.com.edgesuite.net/design_resources/developer_kits/contents/an2131_dk001_ez_usb_development_kit_15.zip]]です。 多分「EZ-USB_devtools_version_261700.zip」と同じ。 **開発環境整備 TeamKNOxの[[RoboShell開発環境>http://www.teamknox.com/RoboLog03/RoboShellToolsj.html]]を参考にやってみます。 ***ダウンロード [[eclipse project downloads>http://download.eclipse.org/eclipse/downloads/]]のEclipse Platform Runtime Binaryから[[eclipse-platform-3.2.2-win32.zip>http://download.eclipse.org/eclipse/downloads/drops/R-3.2.2-200702121330/download.php?dropFile=eclipse-platform-3.2.2-win32.zip]] [[Zylin Eclipse CDT plugin>http://www.zylin.com/embeddedcdt.html]]のDownloadから [[embeddedcdt-20060908.zip>http://www.zylin.com/embeddedcdt-20060908.zip]] [[Zylin Eclipse CDT plugin>http://www.zylin.com/embeddedcdt.html]]のDownloadから [[zylincdt-20060908.zip>http://www.zylin.com/zylincdt-20060908.zip]] Sourcery G++ [[Download GNU Toolchain>http://www.codesourcery.com/gnu_toolchains/arm/download.html]] からarm-2006q3-27-arm-none-eabi.exe (ARM EABI,IA32 Windows) Optimize[[DCCサポート>http://optimize.ath.cx/ARM7/dcc/dcc_supportl.htm]]から[[LPCサンプルソース&DCC対応ツール(jtag_flash.exe jtag_stub.exe)>http://optimize.ath.cx/ARM7/dcc/lpc2214_dcc.lzh]] ***インストール eclipseを展開、C:\に移動。 embeddedcdtを展開、c:\eclipseに上書き zylincdtを展開、c:\eclipseに上書き arm-2006q3-27-arm-none-eabi.exeをインストール。オプション変更無しでそのまま lpc2214_dcc.lzhは解凍して、c:\EZ-ARM\binに移動 TeamKNOxから[[_common.zip>http://www.teamknox.com/RoboLog03/_common.zip]]を入手して解凍し、c:\EZ-ARMへ移動 TeamKNOxから[[eclipse.cmd>http://www.teamknox.com/RoboLog03/eclipse.cmd]]を入手して解凍し、c:\EZ-ARM\binへ移動。パスは自分の環境に合わせて変更。 現状こんな感じの&ref(eclipse.cmd);です。 c:\EZ-ARM\bin\eclipse.cmdを実行して、eclipseを起動 &simg(workspace.png); バイナリパーサの設定。Window->Preferences...からC/C++->Make->New Make Project->Binary Parser->GNU Elf Parserをチェック &simg(win_pref.png); &simg(pref.png); Extension Toolsの設定。 &simg(run_ext_ext.png); &simg(ext_flash.png); &simg(ext_stub.png); &simg(ext_reset.png); &simg(ext_netstat.png); **デバッグ EZ-ARM7のサンプル [[lpc2214_blink.zip>http://optimize.ath.cx/ARM7/src/lpc2214_blink.zip]]をダウンロードしてC:\EZ-ARM\lpc2214_blinkに展開。 ***make makeはデフォルトでmakeなのですが、makeは無いのでSourcery G++に含まれるcs-makeを使います。 Project->Properties->C/C++ Make Project->Make Builder->Build Commandをcs-makeを使用するように変更します。 &simg(cs-make1.png); Project->Build Make Target..の設定にもmakeの設定があるので、そちらもcs-makeになっているか確認します。 &img(cs-make2.png); それからmakefileは、delをcs-rmに変更。 debug:の部分はちょっとわからないかったのですが変更しました。多分きっと何かあるかと思いますが、とりあえず。 変更後の&ref(makefile,makefile_lpc2214_blink); ***デバッグの設定 Commandsはこんな感じ。 >target remote localhost:2159 >set $pc=0 >thbreak main >continue &simg(debug_main.png); &simg(debug_debugger.png); &simg(debug_commands.png); &simg(debug_source.png); &simg(debug_debugger.png); &simg(debug_common.png); Project->Build Make Target->でcleanをBuild ↓ Project->Build Make Target->でdebugをBuild ↓ Run->ExternalTools->jtag_stub ↓ Run->Debug で、正常に動くとこんな感じ &simg(debug.png); **RoboShell Coreのコンパイル [[RoboShell Core>http://www.teamknox.com/RoboShell/RoboShell20061129.zip]]をダウンロードしてC:\EZ-ARM\RoboShellに展開。 File->Import->General->Existing Projects into Workspaceからインポート。 &simg(import_prj1.png); &simg(import_prj2.png); ***RoboShellのmake makeとmakefileは[[make>http://sssm.sakura.ne.jp/dev/ezarm7.html#make]]と同様に変更。 変更後の&ref(makefile,makefile_roboshell); **感想 ARMもeclipseもGCCも初めて(GCCは普段使わない)でしたが、一応環境立ち上げは出来ました。 まだ動かしただけで使ってはいないので、このまま様子を見てみようかと思います。 良し悪しはもう少し時間をかけないとわかりませんが、H8Tiny+E8よりはデバッガのレスポンス良いです。 **参考 Optimize [[EZ-ARM7>http://optimize.ath.cx/ARM7/index.html]] Optimize [[MINI-EZUSB>http://optimize.ath.cx/mini_ezusb/index.html]] TeamKNOx [[RoboShell開発環境>http://www.teamknox.com/RoboLog03/RoboShellToolsj.html]] SISO JUNK STUDIO [[EZ-SERVOのプログラム開発環境構築(日本語化)>http://pub.ne.jp/siso/?daily_id=20061117]]
2025-04-01 00:12:39 32400