Top
HIDaspx
DownLoad
HIDasp高速化
制作
AVR関係
AVR_Monit
AVR_term
W32_term
HIDmon88
HIDtester
usbRS232
Arduino2313
デジタルテスター
ATmega88生活
KeyBoardマニア
KeyBoardマニアII
Arduino400
PICライター
ARMライター
赤外線リモコン
ARM
STM32ブートローダー
STM8S-Discovery改造
STM8S-OpenOCDライター
LPCXpresso
LPC用ブートローダー
NXP用LPCUSB
NXP用ブートローダー
MARY基板
LPC1114FN28
OpenOCD JTAGアダプター
OpenOCDビルド方法
arm-gccビルド方法
mapleIDEの改造
libmapleで仮想COM
PIC32
PIC32MX
Pinguinoで遊ぼう
ブートローダーを作る
シリアルブートローダー
USB仮想シリアル
USBカスタムデバイス
USB簡易モニター
USBオシロスコープ
USBホスト
PIC32でBluetooth
USBAudio
USBStudy
VGA出力に挑戦
BASICを動かす
WinUSB
勝手に改蔵*PIC32
PIC18F
HIDブートローダー
AVR/PIC両用ライター
ARMライター
usb汎用クラス
usbシリアル変換
usbキーボード変換
sdccを使いこなす
mcc18を使いこなす
HIDmon-2550
HIDmon-14K50
PICmonitor
試行錯誤の記録
UBWを試す
旧HIDboot
PIC18F2550試用記
PIC18F4550試用記
その他マイコン
NEC78K
RX62N
SH2A
H8
FM3
XPからubuntuに乗り換え
Android
Xen-hypervisor
Windows8カスタマイズ
開発日記
2015-04
ノウハウ
AVRUSB_Tips
HIDasp情報
汎用USB-IO
・
リンク
フリースペース
ゲストブック
旧コンテンツ
WinVista
インターフェース考
最新の20件
2022-07-25
2008-10
HIDasp高速化
H8/3048F
AutoTicketLinkName
2021-12-11
FormattingRules
2021-12-08
PukiWiki/1.4/Manual/Plugin/O-R
PukiWiki/1.4/Manual/Plugin/L-N
PukiWiki/1.4/Manual/Plugin/V-Z
PukiWiki/1.4/Manual/Plugin/A-D
PukiWiki/1.4/Manual/Plugin/E-G
PukiWiki/1.4/Manual/Plugin/S-U
PukiWiki/1.4/Manual/Plugin/H-K
2020-02-23
YukiWiki
PHP
PukiWiki
WikiWikiWeb
2018-12-19
SandBox
InterWiki
2015-05-07
2015-04
2015-05-02
MenuBar
編集
差分
armon の編集
-- 雛形とするページ --
(no template pages)
[[ARM]] [[stm32f103]] http://psp.dip.jp/web/jpg/ARM/ft2232jtag.jpg *armon/armboot [#fc508ead] *■ 概要 [#q1a8f865] -これは、[[STM8S-Discovery付属のSTM32F103C8T6 CPU>stm32f103]]用の HIDクラス・ブートローダー 兼 簡易モニターです。 ~ このブートローダーを使用するためには、 -まず最初に、[[OpenOCDが使用できるJTAGライター>hid_blaster]]が必要です。 -詳しくは、[[stm32f103]]の項目をお読みください。 -将来的には、このブートローダーを用いてstm32cpuを使用したJTAGライターを製作するのが主な目的になっています。(鶏が先か、それとも・・・) --[[OpenOCD JTAGライターとして使えるようになりました。>stm8s_blaster]] read more :[[stm8s_blaster]] [[arm_blaster]] ~ このブートローダーを使用することによって、以下のようなことが出来るようになります。 -Cortex-M3用のプログラム開発。 -内部メモリーやI/Oポートの確認、変更。 ~ このブートローダーを使用することによって、以下のことがらを諦めなければなりません。 -STM8Sのプログラム開発。 -元々焼かれていたST-Linkファームウェアに復元すること。 http://www.akizukidenshi.com/img/goods/1/M-03457.jpg ---- *ダウンロード。 [#od524eba] |種別|ファイル|対応基板| |STM32版|[[armon.zip:http://psp.dip.jp/web/upload.cgi/STM/armon.zip]]|STM8S-DiscoveryのSTM32側/CQ-STARM/STBEE/STBEE Mini| |LPC-1343版|[[lpc-armon.zip:http://psp.dip.jp/web/upload.cgi/LPC/lpc-armon.zip]]|LPCXpresso/TRZ-1010N| |LPC2388版|[[arm7mon.zip:http://psp.dip.jp/web/upload.cgi/NXP/arm7mon.zip]]|CQ-FRK-NXP| ~ いずれの版も、使用に関しては自己責任でお願いします。 -ファームウェアソース、HEXファイル、Host側ソース、EXEファイルを含みます。 -Linuxホストから使用する場合はHost側を再コンパイルして使用してください。 *アプリケーション・サンプルソース [#ze0682f1] |種別|ファイル|対応基板| |STM32版 仮想COMサンプル他|[[sample.zip:http://psp.dip.jp/web/upload.cgi/STM/sample.zip]]|STM8S-DiscoveryのSTM32側、他| |LPC1343版 仮想COMサンプル他|[[lpc-sample.zip:http://psp.dip.jp/web/upload.cgi/LPC/lpc-sample.zip]]|LPCXpresso(LPC1343)、他| |LPC2388版 仮想COMサンプル他|[[arm7sample.zip:http://psp.dip.jp/web/upload.cgi/NXP/arm7sample.zip]]|CQ-FRK-NXP-ARM| 2011-01-03: sample.zipを更新しました。仮想COMポートデバイスにて受信割り込みハンドラー関数がコンパイルされていない問題を修正しました。 2011-01-05: lpc-sample.zipを更新しました。仮想COMポートデバイスの登録に失敗するバグを修正しました。 ~ いずれの版も、使用に関しては自己責任でお願いします。 -アプリケーションというのは簡単なUSBデバイス作成サンプルのことです。 -CodeSourcery G++ Liteを使用してビルドすることが出来ますが、実際に動作させるにはそれなりの付加回路(SD-CARDとか)が必要だったり、基板ごとの仕様に合わせて手直しが必要な場合があります。 -armbootブートローダーを用いないで単独使用したい場合は、開始番地を2000番地から0000番地へ変更する必要があります。 (Makefile内にROMADRSというmake変数が用意してあります。) ---- *■ 現在のステータス [#e841ab9d] - ・コンパイラ "CodeSourcery G++ Lite" にて、ビルドは通ります。 - ・通電すると、LEDが点灯します。 - ・HIDクラスとしてPCから認識されます。 - ・host/armon.exe を起動すると、メモリーダンプなどが実行できます。 - ・host/armboot.exe を起動すると、HEXファイルをFlashに書き込むことが出来ます。 - SWIM端子のGND <=> RESET# 間にBOOT JUMPERを挟んでください。 JUMPER CLOSE で、BOOTLOADERが起動します。 - JUMPER OPEN で、0x0800_2000番地からのファームウェアが起動します。 - STM8S-Discoveryのほか、CQ-STARM 、STBee 、 STBee Miniでの動作確認を行いました。 http://psp.dip.jp/web/jpg/ARM/stbee.jpg 左から、 -[[STBee MINI:http://strawberry-linux.com/catalog/items?code=32105]] -[[STBee:http://strawberry-linux.com/catalog/items?code=32103]] -[[STM8S-Discovery:http://akizukidenshi.com/catalog/g/gM-03457/]]のST-Link側のみ -DesignWave2008-05 付録 CQ-STARM -クロックは全部72MHz Cortex-M3 -Flash+SRAM容量は左から、(128K+20K),(512K+64K),(64K+20K),(128K+20K) *■ 使い方 [#mf681012] - (1)JTAGライターを使用して、firmware/main-0000.hex を焼きます。 - (2)CN7の GND<=>SB1(RESET#)間を JUMPERでショートします。 - (3)USBでPCと接続するとLEDが点灯します。 - (4)host/armon.exe を起動して接続できれば成功です。メモリーダンプ('d') と、メモリー書き換え('ew')が出来ます。 - (5)host/armboot.exe firmware/main-2000.hex を実行すると、0800_2000番地に アプリケーションとしてのHIDmonを書き込めます。 - (6)書き込んだHIDmonを実行するには、CN7のジャンパーをオープンにしてから USBケーブルを再接続してください。 - (7)アプリケーション側(0800_2000番地で動作するバージョン)の動作中はLEDが 1秒周期で点滅を行うことで動作の区別をつけるようにしました。 注意 - STM8S-Discovery以外の基板では、MakefileのBASEBOARD定義を切り替えてビルドを行ってください。 - STM8S-Discovery以外の基板では、0800_3000番地開始のHEXを作成したのち、そのHEXをDFUW.exeで書き込んでから、 0x0800_0000番地開始のブートローダーを書き込む(mkall.batとbb.bat)ことで''JTAGライターなしで''ファーム差し替えを行うことが可能です。 -- 但し、書き換えには細心の注意を払ってください。 *■ userコマンドについて [#yfeeb3ac] ARM> user ~~~~ - というコマンドを実行すると、usercmd.c に記述されたユーザールーチン を起動することが出来ます。 - 現在は、簡単なprintf のテストが出来るようになっています。 *■ ToDo [#fac94c8b] 未実装項目 - ・HID以外のUSB Classへの移植 - ・%%I/Oポート名解決,I/Oダンプ%% --- 少し実装(STM32のみ) - ・簡易ロジアナ,オシロ - ・AVR/PICライター機能追加 - ・バスエラーしたら死ぬ. - ・readで無駄にFLASH全領域をREADする. - ・RAMエリアに対する bootload&run 機能 - ・簡易レジスタダンプ - ・ 実装完了項目 - ・高速化 - ・runコマンドが変. - ・bootコマンド欲しい. - ・(Application modeで)printが欲しい. - ・armboot -r オプション. - ・USB disconnect - ・他の基板への移植(CQ-STARM,STBeeなど) - ・逆アセンブラがPIC18Fのまま. *■ 補足 [#b8d0f280] -(1) armboot.exeは '-r'オプション指定により、アプリケーションの自動起動が出来るようになりました。 --今までは BOOT JUMPERの変更を行ったあとで、USBケーブルの挿抜を行う必要がありました。 -(2) armon.exe の boot コマンドを用いることで、互いに相手側のファームウェアを再起動することが出来るようになりました。 --例: BOOTLOADERからAPPLICATION側に切り替える。 ARM> boot 8002000 (2000でもOK) --例: APPLICATION側からBOOTLOADERに切り替える。 ARM> boot 8000000 (0 でもOK) -(3)互いに、相手側のファームウェアを更新することが可能です。 -- b.bat ・・・ BOOTLOADERからAPPLICATION側のファームを書き換えるバッチファイル。 -- bb.bat ・・・ APPLICATION側からBOOTLOADERのファームを書き換えるバッチファイル。 -- BOOTLOADER側の書き換えに失敗した(ファームウェアをバグらせてしまった)場合は、外部のJTAGライターが再度必要になります。 -(4)Linux版もすこしづつ動き始めました。 -- host/ディレクトリにて、ビルドしてみてください。 -- libusb-devが必要です。 $ sudo apt-get install libusb-dev -- 実行は root権限で行なうか、該当デバイスをユーザー権限で使えるようにLinux側の(/etc/)設定を適宜行います。 *■ FAQ [#m9dec0f6] ~ (750円)どうしてこんなに安いのですか? -[[秋月電子さんのお答え:http://akizukidenshi.com/catalog/faq/goodsfaq.aspx?goods=M-03457]] ~ どうして、一度ファームを書き換えてしまうと、元に戻せなくなるのですか? -それは、元のST-Linkファームが読み出し禁止モードで書き込まれているからです。 -全く同じ機能をもつファームを(USBプロトコルアナライザーなどで解析して)自分で開発して、書き込めば、なんとなく元にもどるでしょう。 ~ どうして、元に戻せなくなるのに、ファームを書き換えるのですか? -こんなに安いので、''2個以上''買って使えばいいのです。 -1個はオリジナルファームのまま使います。 -残りは全部改造してお好きなように。 -ほら、STM8Sも2個以上手に入るので、おトクでしょ? --(って、通販の布団圧縮袋じゃないんだから・・・) ~ どうして、こんなちっぽけな基板をわざわざ改造して使うんですか? -ARMチップ単体を買って基板起こすの''面倒''じゃないですか。 -すでにLDOレギュレータとかUSB-Bコネとか水晶まで実装済みで、JTAGピンもBOOT JUMPERも立っているのって、便利じゃないですか。 *■ ディレクトリ構成 [#c3acbf2e] host/ . . . . . ホストPC側のツールソース(PICmon) firmware/ . . . . . ファームウェア部分のソース inc/ . . . . . ファームウェア部分のinclude関係 HW/STM32_EVAL/ . . . ST評価ボードのポート定義 HW/Libraries/ . . . ハードウェアライブラリ HW/Libraries/STM32F10x_StdPeriph_Driver/inc/ HW/Libraries/STM32F10x_StdPeriph_Driver/src/ HW/Libraries/STM32_USB-FS-Device_Driver/inc/ HW/Libraries/STM32_USB-FS-Device_Driver/src/ HW/Libraries/CMSIS/Core/ HW/Libraries/CMSIS/Core/CM3/ HW/Libraries/CMSIS/Core/CM3/startup/ HW/Libraries/CMSIS/Core/CM3/startup/arm/ HW/Libraries/CMSIS/Core/CM3/startup/gcc/ HW/Libraries/CMSIS/Core/CM3/startup/iar/ HW/Libraries/CMSIS/Core/Documentation/ *ARMビルド環境の構築方法 [#g5831bcf] -[[WinARMビルド環境の構築方法>WinARM]] -[[ARMクロスコンパイラ構築(Linux)>2010-04#b817f226]] -[[CodeSourcery_G++_Lite:http://www.lineo.co.jp/modules/codesourcery/editions.html]] ←今のところこれが一番お勧めです。 2011-12追記 --↑ CodeSourcery はmentor graphicsに買収されてしまいましたので、G++_Liteの入手性が悪くなっています。 --代替として、[[leaflabs:http://leaflabs.com/]]から、maple-ide-0.0.12-windowsxp32.zipを入手して使用することをお勧めします。 --さいわいなことに、GCCのVersionも4.4.1なので''-Os''オプション指定によるバグも回避できます。 --arm-none-eabi-gcc.exeの実行パスは、「maple-ide-0.0.12をインストールしたパス」の hardware/tools/arm/bin/ に通します。 --もうひとつの選択肢としては、[[netx-arm-elf-gcc:http://sourceforge.jp/projects/sfnet_netx-arm-elf-gc/]]を使用する方法もあります。 ---- -WinARMはlibgccのfloat関数が抜けているので、一部差し替えの必要があります。 --また、libc.aの_sbrk_rや_open_r,_read_rなども抜けています。(組み込み用途でファイルオープンは普通しませんが) -CodeSourcery_G++_Liteはコマンドライン版ですが無償で使用できます。また、gccのバージョンが新しい(4.4.1)ためか、生成コードサイズが小さくなります。 -CodeSourcery_G++_Liteには makeやls,catといったunix標準コマンドがあまり含まれていません(cs_make.exeは付いています)ので、WinAVRを別途インストールされている方は、そちら(C:\WinAVR\utils\bin\)にもPATHを通しておいたほうが良いでしょう。
タイムスタンプを変更しない
[[ARM]] [[stm32f103]] http://psp.dip.jp/web/jpg/ARM/ft2232jtag.jpg *armon/armboot [#fc508ead] *■ 概要 [#q1a8f865] -これは、[[STM8S-Discovery付属のSTM32F103C8T6 CPU>stm32f103]]用の HIDクラス・ブートローダー 兼 簡易モニターです。 ~ このブートローダーを使用するためには、 -まず最初に、[[OpenOCDが使用できるJTAGライター>hid_blaster]]が必要です。 -詳しくは、[[stm32f103]]の項目をお読みください。 -将来的には、このブートローダーを用いてstm32cpuを使用したJTAGライターを製作するのが主な目的になっています。(鶏が先か、それとも・・・) --[[OpenOCD JTAGライターとして使えるようになりました。>stm8s_blaster]] read more :[[stm8s_blaster]] [[arm_blaster]] ~ このブートローダーを使用することによって、以下のようなことが出来るようになります。 -Cortex-M3用のプログラム開発。 -内部メモリーやI/Oポートの確認、変更。 ~ このブートローダーを使用することによって、以下のことがらを諦めなければなりません。 -STM8Sのプログラム開発。 -元々焼かれていたST-Linkファームウェアに復元すること。 http://www.akizukidenshi.com/img/goods/1/M-03457.jpg ---- *ダウンロード。 [#od524eba] |種別|ファイル|対応基板| |STM32版|[[armon.zip:http://psp.dip.jp/web/upload.cgi/STM/armon.zip]]|STM8S-DiscoveryのSTM32側/CQ-STARM/STBEE/STBEE Mini| |LPC-1343版|[[lpc-armon.zip:http://psp.dip.jp/web/upload.cgi/LPC/lpc-armon.zip]]|LPCXpresso/TRZ-1010N| |LPC2388版|[[arm7mon.zip:http://psp.dip.jp/web/upload.cgi/NXP/arm7mon.zip]]|CQ-FRK-NXP| ~ いずれの版も、使用に関しては自己責任でお願いします。 -ファームウェアソース、HEXファイル、Host側ソース、EXEファイルを含みます。 -Linuxホストから使用する場合はHost側を再コンパイルして使用してください。 *アプリケーション・サンプルソース [#ze0682f1] |種別|ファイル|対応基板| |STM32版 仮想COMサンプル他|[[sample.zip:http://psp.dip.jp/web/upload.cgi/STM/sample.zip]]|STM8S-DiscoveryのSTM32側、他| |LPC1343版 仮想COMサンプル他|[[lpc-sample.zip:http://psp.dip.jp/web/upload.cgi/LPC/lpc-sample.zip]]|LPCXpresso(LPC1343)、他| |LPC2388版 仮想COMサンプル他|[[arm7sample.zip:http://psp.dip.jp/web/upload.cgi/NXP/arm7sample.zip]]|CQ-FRK-NXP-ARM| 2011-01-03: sample.zipを更新しました。仮想COMポートデバイスにて受信割り込みハンドラー関数がコンパイルされていない問題を修正しました。 2011-01-05: lpc-sample.zipを更新しました。仮想COMポートデバイスの登録に失敗するバグを修正しました。 ~ いずれの版も、使用に関しては自己責任でお願いします。 -アプリケーションというのは簡単なUSBデバイス作成サンプルのことです。 -CodeSourcery G++ Liteを使用してビルドすることが出来ますが、実際に動作させるにはそれなりの付加回路(SD-CARDとか)が必要だったり、基板ごとの仕様に合わせて手直しが必要な場合があります。 -armbootブートローダーを用いないで単独使用したい場合は、開始番地を2000番地から0000番地へ変更する必要があります。 (Makefile内にROMADRSというmake変数が用意してあります。) ---- *■ 現在のステータス [#e841ab9d] - ・コンパイラ "CodeSourcery G++ Lite" にて、ビルドは通ります。 - ・通電すると、LEDが点灯します。 - ・HIDクラスとしてPCから認識されます。 - ・host/armon.exe を起動すると、メモリーダンプなどが実行できます。 - ・host/armboot.exe を起動すると、HEXファイルをFlashに書き込むことが出来ます。 - SWIM端子のGND <=> RESET# 間にBOOT JUMPERを挟んでください。 JUMPER CLOSE で、BOOTLOADERが起動します。 - JUMPER OPEN で、0x0800_2000番地からのファームウェアが起動します。 - STM8S-Discoveryのほか、CQ-STARM 、STBee 、 STBee Miniでの動作確認を行いました。 http://psp.dip.jp/web/jpg/ARM/stbee.jpg 左から、 -[[STBee MINI:http://strawberry-linux.com/catalog/items?code=32105]] -[[STBee:http://strawberry-linux.com/catalog/items?code=32103]] -[[STM8S-Discovery:http://akizukidenshi.com/catalog/g/gM-03457/]]のST-Link側のみ -DesignWave2008-05 付録 CQ-STARM -クロックは全部72MHz Cortex-M3 -Flash+SRAM容量は左から、(128K+20K),(512K+64K),(64K+20K),(128K+20K) *■ 使い方 [#mf681012] - (1)JTAGライターを使用して、firmware/main-0000.hex を焼きます。 - (2)CN7の GND<=>SB1(RESET#)間を JUMPERでショートします。 - (3)USBでPCと接続するとLEDが点灯します。 - (4)host/armon.exe を起動して接続できれば成功です。メモリーダンプ('d') と、メモリー書き換え('ew')が出来ます。 - (5)host/armboot.exe firmware/main-2000.hex を実行すると、0800_2000番地に アプリケーションとしてのHIDmonを書き込めます。 - (6)書き込んだHIDmonを実行するには、CN7のジャンパーをオープンにしてから USBケーブルを再接続してください。 - (7)アプリケーション側(0800_2000番地で動作するバージョン)の動作中はLEDが 1秒周期で点滅を行うことで動作の区別をつけるようにしました。 注意 - STM8S-Discovery以外の基板では、MakefileのBASEBOARD定義を切り替えてビルドを行ってください。 - STM8S-Discovery以外の基板では、0800_3000番地開始のHEXを作成したのち、そのHEXをDFUW.exeで書き込んでから、 0x0800_0000番地開始のブートローダーを書き込む(mkall.batとbb.bat)ことで''JTAGライターなしで''ファーム差し替えを行うことが可能です。 -- 但し、書き換えには細心の注意を払ってください。 *■ userコマンドについて [#yfeeb3ac] ARM> user ~~~~ - というコマンドを実行すると、usercmd.c に記述されたユーザールーチン を起動することが出来ます。 - 現在は、簡単なprintf のテストが出来るようになっています。 *■ ToDo [#fac94c8b] 未実装項目 - ・HID以外のUSB Classへの移植 - ・%%I/Oポート名解決,I/Oダンプ%% --- 少し実装(STM32のみ) - ・簡易ロジアナ,オシロ - ・AVR/PICライター機能追加 - ・バスエラーしたら死ぬ. - ・readで無駄にFLASH全領域をREADする. - ・RAMエリアに対する bootload&run 機能 - ・簡易レジスタダンプ - ・ 実装完了項目 - ・高速化 - ・runコマンドが変. - ・bootコマンド欲しい. - ・(Application modeで)printが欲しい. - ・armboot -r オプション. - ・USB disconnect - ・他の基板への移植(CQ-STARM,STBeeなど) - ・逆アセンブラがPIC18Fのまま. *■ 補足 [#b8d0f280] -(1) armboot.exeは '-r'オプション指定により、アプリケーションの自動起動が出来るようになりました。 --今までは BOOT JUMPERの変更を行ったあとで、USBケーブルの挿抜を行う必要がありました。 -(2) armon.exe の boot コマンドを用いることで、互いに相手側のファームウェアを再起動することが出来るようになりました。 --例: BOOTLOADERからAPPLICATION側に切り替える。 ARM> boot 8002000 (2000でもOK) --例: APPLICATION側からBOOTLOADERに切り替える。 ARM> boot 8000000 (0 でもOK) -(3)互いに、相手側のファームウェアを更新することが可能です。 -- b.bat ・・・ BOOTLOADERからAPPLICATION側のファームを書き換えるバッチファイル。 -- bb.bat ・・・ APPLICATION側からBOOTLOADERのファームを書き換えるバッチファイル。 -- BOOTLOADER側の書き換えに失敗した(ファームウェアをバグらせてしまった)場合は、外部のJTAGライターが再度必要になります。 -(4)Linux版もすこしづつ動き始めました。 -- host/ディレクトリにて、ビルドしてみてください。 -- libusb-devが必要です。 $ sudo apt-get install libusb-dev -- 実行は root権限で行なうか、該当デバイスをユーザー権限で使えるようにLinux側の(/etc/)設定を適宜行います。 *■ FAQ [#m9dec0f6] ~ (750円)どうしてこんなに安いのですか? -[[秋月電子さんのお答え:http://akizukidenshi.com/catalog/faq/goodsfaq.aspx?goods=M-03457]] ~ どうして、一度ファームを書き換えてしまうと、元に戻せなくなるのですか? -それは、元のST-Linkファームが読み出し禁止モードで書き込まれているからです。 -全く同じ機能をもつファームを(USBプロトコルアナライザーなどで解析して)自分で開発して、書き込めば、なんとなく元にもどるでしょう。 ~ どうして、元に戻せなくなるのに、ファームを書き換えるのですか? -こんなに安いので、''2個以上''買って使えばいいのです。 -1個はオリジナルファームのまま使います。 -残りは全部改造してお好きなように。 -ほら、STM8Sも2個以上手に入るので、おトクでしょ? --(って、通販の布団圧縮袋じゃないんだから・・・) ~ どうして、こんなちっぽけな基板をわざわざ改造して使うんですか? -ARMチップ単体を買って基板起こすの''面倒''じゃないですか。 -すでにLDOレギュレータとかUSB-Bコネとか水晶まで実装済みで、JTAGピンもBOOT JUMPERも立っているのって、便利じゃないですか。 *■ ディレクトリ構成 [#c3acbf2e] host/ . . . . . ホストPC側のツールソース(PICmon) firmware/ . . . . . ファームウェア部分のソース inc/ . . . . . ファームウェア部分のinclude関係 HW/STM32_EVAL/ . . . ST評価ボードのポート定義 HW/Libraries/ . . . ハードウェアライブラリ HW/Libraries/STM32F10x_StdPeriph_Driver/inc/ HW/Libraries/STM32F10x_StdPeriph_Driver/src/ HW/Libraries/STM32_USB-FS-Device_Driver/inc/ HW/Libraries/STM32_USB-FS-Device_Driver/src/ HW/Libraries/CMSIS/Core/ HW/Libraries/CMSIS/Core/CM3/ HW/Libraries/CMSIS/Core/CM3/startup/ HW/Libraries/CMSIS/Core/CM3/startup/arm/ HW/Libraries/CMSIS/Core/CM3/startup/gcc/ HW/Libraries/CMSIS/Core/CM3/startup/iar/ HW/Libraries/CMSIS/Core/Documentation/ *ARMビルド環境の構築方法 [#g5831bcf] -[[WinARMビルド環境の構築方法>WinARM]] -[[ARMクロスコンパイラ構築(Linux)>2010-04#b817f226]] -[[CodeSourcery_G++_Lite:http://www.lineo.co.jp/modules/codesourcery/editions.html]] ←今のところこれが一番お勧めです。 2011-12追記 --↑ CodeSourcery はmentor graphicsに買収されてしまいましたので、G++_Liteの入手性が悪くなっています。 --代替として、[[leaflabs:http://leaflabs.com/]]から、maple-ide-0.0.12-windowsxp32.zipを入手して使用することをお勧めします。 --さいわいなことに、GCCのVersionも4.4.1なので''-Os''オプション指定によるバグも回避できます。 --arm-none-eabi-gcc.exeの実行パスは、「maple-ide-0.0.12をインストールしたパス」の hardware/tools/arm/bin/ に通します。 --もうひとつの選択肢としては、[[netx-arm-elf-gcc:http://sourceforge.jp/projects/sfnet_netx-arm-elf-gc/]]を使用する方法もあります。 ---- -WinARMはlibgccのfloat関数が抜けているので、一部差し替えの必要があります。 --また、libc.aの_sbrk_rや_open_r,_read_rなども抜けています。(組み込み用途でファイルオープンは普通しませんが) -CodeSourcery_G++_Liteはコマンドライン版ですが無償で使用できます。また、gccのバージョンが新しい(4.4.1)ためか、生成コードサイズが小さくなります。 -CodeSourcery_G++_Liteには makeやls,catといったunix標準コマンドがあまり含まれていません(cs_make.exeは付いています)ので、WinAVRを別途インストールされている方は、そちら(C:\WinAVR\utils\bin\)にもPATHを通しておいたほうが良いでしょう。
テキスト整形のルールを表示する
ログインまたはアカウント作成