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
編集
差分
ARM の編集
-- 雛形とするページ --
(no template pages)
-主に、廉価な''ARM Cortex-M3''系基板で遊んでみます。 -遊び方は、メーカー系押し付け環境(GUI)を使わないこと。 --GNU Cコンパイラ(''CodeSourcery G++ Lite版(無償)'')と''GNU Make''でビルドします。 --コンパイル環境はDOS(Win32) コマンドラインもしくはLinuxコンソールです。 --Flash書き込みソフトもメーカー系押し付け環境(DFUなど)を使わずに''HID Bootloader''を使用します。 --HID Bootloaderには、ターゲット側メモリーの読み書き機能が付いているので、メモリー内容やI/O Portの確認、書き換え、逆アセンブル、あらかじめFlashに書き込んだブログラムの起動、などを行なうことができます。 --HID Bootloaderのターゲット側メモリーの読み書き機能を対話的に行なうツール(armon/armboot)を使用することで簡易USB-I/Oとして使用できます。 --バッチスクリプトの実行が出来るのでLED点滅のようなことならスクリプトだけで行なうことが可能です。 --I/O Portの確認、書き換え機能を使うと、プログラムを組まなくてもI/O Portの動作確認や配線チェックが可能です。(低速ですが[[グラフィカルな信号表示機能>HIDmon88]]もあります。) ~ --HID Bootloaderのユーザーモード(ユーザーアドレス側で実行するモード)プログラムはブートローダーの機能+アルファ([[AVR/PIC/ARMライター機能付き>arm_blaster]])になっていて、自由にコマンド追加が可能です。 --HID BootloaderはSTM32、LPC1343、LPC2388に移植済みです。 --HID Bootloaderは[[PIC18F2550/18F14K50用のもの>pic18boot]]とプロトコル、操作方法に関して類似性があります。 -- ---- ARM 目次 #contents ---- ~ ~ *[[armon/armboot>armon]] 移植済みの基板リスト [#f400bb09] ''[[armon/armboot>armon]]''は各種ARM基板用のHIDブートローダー兼、簡易モニターです。 ''特徴'' -HIDデバイスなのでWindowsなどのドライバー組み込みが要らず、USBを差し込んだだけで即使えます。 -bootloaderの常駐量は8kBです。 -任意のアプリケーション(hexファイル)をUSB経由でFlashに書き込んで起動することが出来ます。 --dfuと異なり、hexファイルを直接書き込みするコマンドラインツール(Win32/Linux)を用意しています。 -メモリー内容やポート状態の読み出しや書き換えが可能です。 -自分自身(bootloader)のアドレスをずらしたものをアプリケーションとして書き込むことで、好きなようにコマンドを増やしたり機能拡張出来ます。 -bootloader部分とアプリケーション部分の行き来(互いにbootさせること)や、互いに書き換えを行う(update)ことも可能です。 -ユーザー定義可能なコマンド(user)があらかじめ用意されていて、そのuser関数内でprintf埋め込みによる簡易デバッグが出来ます。 ~ ----- -ほぼどれのCPUでも同じように動くようになりました。 -LPC2388用はSTM32からバックポートしました。 |アーキテクチャー|CPU(ベンダー)|基板名|FLASH容量|SRAM容量| |Cortex-M3|STM32(STMicro)|[[STM8S-Discovery>stm32f103]]のSTM32側|64kB|20kB| |||[[CQ-STARM>armon]] DesignWave 2008-05付録|128kB|20kB| |||[[STBEE>armon]] ストロベリーリナックス|512kB|64kB| |||[[STBEE Mini>armon]]|128kB|20kB| ||LPC1343(NXP)|[[LPCXpresso]] NXPセミコンダクターズ|32kB|8kB| || |[[TRZ1010N>LPCXpresso]] トラ技増刊「ARMマイコン パーフェクト学習基板」|32kB|8kB| |ARM7TDMI|LPC2388(NXP)|[[CQ-FRK-NXP-ARM>ARM7mon]]|512kB|64kB| ----- 各種ARM基板 -設計会社であるARMはチップを1個も製造していないので、NXP(オランダ・元フィリップス)とかST-Micro(元SGS-Thomson)とかAtmelなどが製造するチップを使用することになります。 *STM32勢ぞろい [#u59ea72c] 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) ---- *[[⇒interface 2009-05付録基板で遊ぶ>ARM7TDMI]] [#e1e291f8] -まずはLチカから始めます。 *[[⇒interface 2009-05付録基板で遊ぶPartII>LPCUSB]] [#oe27efcb] -LPC-USBを動かしてみます。 *[[⇒interface 2009-05付録基板で遊ぶPartIII>ARM7mon]] [#oe27efcb] -HIDブートローダー兼モニターです。 http://psp.dip.jp/web/jpg/cq-frk-nxp.jpg -LPC2388はNXP製。周辺機能、メモリーてんこ盛りの32bit ARMチップです。 ~ ~ ~ ~ ---- *[[⇒DesignWave 2008-05付録基板で遊ぶ>ARMCortexM3]] [#e1e291f8] http://psp.dip.jp/web/jpg/ARM/STM32F103VBT6.jpg -STM32F103VBT6はST-Micro製のCortex-M3アーキテクチャー。 -Cortex-Mシリーズは命令コード16bitのthumb2限定です。 ~ ~ ~ ---- *[[⇒STM8S-Discovery基板のST-Link側で遊ぶ>stm32f103]] [#fcbffd18] http://psp.dip.jp/web/jpg/ARM/ST_Discovery.jpg なんとびっくり価格。秋月などで750円です。 FAQ:[[どうして安いのですか?:http://akizukidenshi.com/catalog/faq/goodsfaq.aspx?goods=M-03457]] -[[⇒STM8S-Discovery基板のST-Link側で遊ぶ>stm32f103]] ~ ~ ---- *[[⇒STM32ブートローダー>armon]] [#a2f10f66] -[[STM8S-Discovery付属のSTM32F103C8T6 CPU>stm32f103]]用のHIDクラス・ブートローダー 兼 簡易モニターです。 -STBEE , STBEE Mini , CQ-STARM でも動きます。 -DFUより使いやすく、コードサイズも小さくなっています。(8kB) -ほぼ同じ機能のコードをアプリケーション側としてコンパイルして使用出来るので、自己拡張したり、HIDデバイスによる簡単なアプリ作成に使えます。(user関数からprintfなども使用できるようになっています) ~ ~ ~ ---- *[[⇒LPCXpressoで遊ぶ>LPCXpresso]] [#r6439140] LPCXpresso(LPC3154+LPC1343) -http://psp.dip.jp/web/jpg/ARM/xpresso2.jpg -[[⇒LPCXpressoで遊ぶ>LPCXpresso]] ~ ARMマイコン パーフェクト学習基板(TRZ1010N) -http://psp.dip.jp/web/jpg/ARM/1343a.jpg ~ ~ ~ ---- *[[⇒LPCXpresso/1768で遊ぶ>LPCXpresso1768]] [#vce1d94f] -http://psp.dip.jp/web/jpg/ARM/LPC1768.jpg -[[⇒LPCXpresso/1768で遊ぶ>LPCXpresso1768]] ~ ~ ~ ~ ---- *[[⇒Fujitsu-FM3で遊ぶ>FM3]] [#c3df8bb6] http://psp.dip.jp/web/jpg/FM3img.jpg - [[⇒Fujitsu-FM3で遊ぶ>FM3]] ~ ~ ~ ~ ---- *市販の格安ARMマイコン基板にはどんなものがあるか? [#ocd096b0] CQ出版の雑誌付録基板(雑誌込みで3000円前後) -基板はコストダウンのためか総じて電源周りが弱い。 -LDOレギュレータがUSBケーブルの挿抜で死んだりとか。 -旬が過ぎたら追加発注は難しい。(追加発注するほどのものでもないけれど) 秋月扱いのARM関連 開発ボード(2800円程度) -http://akizukidenshi.com/catalog/c/carm/ 苺:STBee(3000円程度) -http://strawberry-linux.com/catalog/items?code=32103 『STBee Mini』(72MHz, 128K+20K) -http://strawberry-linux.com/catalog/items?code=32105 ARM7TDMI/LPC2103モジュール(1600円:USB機能は無い) -http://www.csun.co.jp/SHOP/2009080405.html ~ ~ ~ ~ ~ ---- *STM32系(ST-Micro製)とLPC1xxx系(NXP製)の違い。 [#t8f654ca] どちらも''Cortex-M3''アーキテクチャー(''Thumb2命令セット''のみ実装されている) -メモリーマップは異なる。(STM32のFlashは0800_0000〜、LPC1343は0番地〜。RAM空間も異なる。) -GPIOなどI/Oポートのアドレスや関連レジスタは互いに''互換性がない。'' -%%Flashの自己書き換えを行うユーザー関数がLPC1343には無い。(というかApplication内からのFlash書き換え方法がドキュメントされていない模様)%% --STM32ではFlashの自己書き換えを行う関数が用意されている。 --LPC1343は、関数が用意されないかわりに、16kBのBOOT-ROM内のサービスルーチンが用意されている。 -USB関連のレジスタやサポート関数は互いに''互換性がない。'' -LPC1343はJTAGによるデバッグ、Flash書き込みのサポートが無い。(かわりにSWDを使う) CMSISがあれば共通なソースが書けると思ったら''大間違い''。Lチカだけなら不可能ではない、というレベル。 -ペリフェラルの性能(例えばADCの分解能とか)も異なるし、そもそも無いもの(温度センサーとか)は無い場合があるので、共通化は無理!! ~ -LPC1343にはUSB/シリアルブートをサポートしたBOOT-ROM(16k)が内蔵されている。WindowsからはUSBマスストレージに 見えるので、Flashの書き換えはそれほど手間が要らない。 -ROMの内蔵ルーチンを呼び出す形のUSBデバイスサンプルが用意されているが、カスタマイズ上の制限が多く、実はあまり使い物にならない。 -LPC1343のC言語ライブラリ(libc)のスタートアップ(crt0.S相当)はアセンブラ記述ではなくC言語記述で提供されている。 -このため、(需要があるかどうかはともかく)比較的容易にスタートアップを変更できる。ただし初期化部分には一部インラインアセンブラが使われている。 -LPC1343はUSBクロックPLLとCPUクロックPLLが独立に設定できる。(オーバークロック可能???) -STM32はUSBクロックの設定が{CPUクロック÷1か、÷1.5}の2択しか選べないので、(で、USB用のクロックは48MHz以外はありえないので)必然的にCPUクロックは48MHzか72MHzに固定される --もちろんUSBを使用しないのであれば内蔵RCだろうが、何GHzのXtalだろうが(動きさえすれば)突っ込んでいいけど。 --どんなにオーバークロックしたくとも、内蔵のFlashROMの動作周波数の制約を受ける(そもそもこのクラスのマイコンは命令キャッシュを積んでいない)ので、そんなに速くは出来ない。 ~ - ~ ~ ~ ~ ----- *ARMでArduinoしたい。 [#q8a3bb1e] 一番近いのがこれ: ~ maple -http://leaflabs.com/devices/maple/ -ArduinoのIDEをそのまんまパクって、AVR-gccをCodeSourceryG++に差し替え、avrdudeをdfu-utilに置き換えたもの。 -今のところSTM32限定。 -用意されている基板はArduinoとシールドのピン配置が良く似ている。 -USBはFT232RLのようなUSB-シリアル変換チップを使用する代わりに、STM32の内蔵USBを使用している。 ~ mbed -http://mbed.org/ -こちらは、NXPのLPC1768が使用されている。 -USB-シリアル変換チップはFT232RLでなく、NXPのARM系のUSB内蔵MCUがやっているような感じ。mbedは実際には2CPU構成だ。価格も6000円近い。 -mbedはWebBrowser経由で開発環境(ARM純正のC++コンパイラー)を動かす。 -ローカルのPC上に開発環境をセットアップする必要がない。(仮にセットアップしたくても純正コンパイラは高価) Audinさんの記事が詳しい -http://mpu.seesaa.net/article/1572447.html ~ netduino -http://www.netduino.com/ -これもArduinoと基板サイズやらシールドピンの位置を合わせている。 -開発言語はC/C++のかわりにMicrosoft .net (C#とか)の組み込みエディションを使う。 -なので、開発環境はWindows用のMicrosoftのC#の統合環境がそのまま使用できるらしい。
タイムスタンプを変更しない
-主に、廉価な''ARM Cortex-M3''系基板で遊んでみます。 -遊び方は、メーカー系押し付け環境(GUI)を使わないこと。 --GNU Cコンパイラ(''CodeSourcery G++ Lite版(無償)'')と''GNU Make''でビルドします。 --コンパイル環境はDOS(Win32) コマンドラインもしくはLinuxコンソールです。 --Flash書き込みソフトもメーカー系押し付け環境(DFUなど)を使わずに''HID Bootloader''を使用します。 --HID Bootloaderには、ターゲット側メモリーの読み書き機能が付いているので、メモリー内容やI/O Portの確認、書き換え、逆アセンブル、あらかじめFlashに書き込んだブログラムの起動、などを行なうことができます。 --HID Bootloaderのターゲット側メモリーの読み書き機能を対話的に行なうツール(armon/armboot)を使用することで簡易USB-I/Oとして使用できます。 --バッチスクリプトの実行が出来るのでLED点滅のようなことならスクリプトだけで行なうことが可能です。 --I/O Portの確認、書き換え機能を使うと、プログラムを組まなくてもI/O Portの動作確認や配線チェックが可能です。(低速ですが[[グラフィカルな信号表示機能>HIDmon88]]もあります。) ~ --HID Bootloaderのユーザーモード(ユーザーアドレス側で実行するモード)プログラムはブートローダーの機能+アルファ([[AVR/PIC/ARMライター機能付き>arm_blaster]])になっていて、自由にコマンド追加が可能です。 --HID BootloaderはSTM32、LPC1343、LPC2388に移植済みです。 --HID Bootloaderは[[PIC18F2550/18F14K50用のもの>pic18boot]]とプロトコル、操作方法に関して類似性があります。 -- ---- ARM 目次 #contents ---- ~ ~ *[[armon/armboot>armon]] 移植済みの基板リスト [#f400bb09] ''[[armon/armboot>armon]]''は各種ARM基板用のHIDブートローダー兼、簡易モニターです。 ''特徴'' -HIDデバイスなのでWindowsなどのドライバー組み込みが要らず、USBを差し込んだだけで即使えます。 -bootloaderの常駐量は8kBです。 -任意のアプリケーション(hexファイル)をUSB経由でFlashに書き込んで起動することが出来ます。 --dfuと異なり、hexファイルを直接書き込みするコマンドラインツール(Win32/Linux)を用意しています。 -メモリー内容やポート状態の読み出しや書き換えが可能です。 -自分自身(bootloader)のアドレスをずらしたものをアプリケーションとして書き込むことで、好きなようにコマンドを増やしたり機能拡張出来ます。 -bootloader部分とアプリケーション部分の行き来(互いにbootさせること)や、互いに書き換えを行う(update)ことも可能です。 -ユーザー定義可能なコマンド(user)があらかじめ用意されていて、そのuser関数内でprintf埋め込みによる簡易デバッグが出来ます。 ~ ----- -ほぼどれのCPUでも同じように動くようになりました。 -LPC2388用はSTM32からバックポートしました。 |アーキテクチャー|CPU(ベンダー)|基板名|FLASH容量|SRAM容量| |Cortex-M3|STM32(STMicro)|[[STM8S-Discovery>stm32f103]]のSTM32側|64kB|20kB| |||[[CQ-STARM>armon]] DesignWave 2008-05付録|128kB|20kB| |||[[STBEE>armon]] ストロベリーリナックス|512kB|64kB| |||[[STBEE Mini>armon]]|128kB|20kB| ||LPC1343(NXP)|[[LPCXpresso]] NXPセミコンダクターズ|32kB|8kB| || |[[TRZ1010N>LPCXpresso]] トラ技増刊「ARMマイコン パーフェクト学習基板」|32kB|8kB| |ARM7TDMI|LPC2388(NXP)|[[CQ-FRK-NXP-ARM>ARM7mon]]|512kB|64kB| ----- 各種ARM基板 -設計会社であるARMはチップを1個も製造していないので、NXP(オランダ・元フィリップス)とかST-Micro(元SGS-Thomson)とかAtmelなどが製造するチップを使用することになります。 *STM32勢ぞろい [#u59ea72c] 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) ---- *[[⇒interface 2009-05付録基板で遊ぶ>ARM7TDMI]] [#e1e291f8] -まずはLチカから始めます。 *[[⇒interface 2009-05付録基板で遊ぶPartII>LPCUSB]] [#oe27efcb] -LPC-USBを動かしてみます。 *[[⇒interface 2009-05付録基板で遊ぶPartIII>ARM7mon]] [#oe27efcb] -HIDブートローダー兼モニターです。 http://psp.dip.jp/web/jpg/cq-frk-nxp.jpg -LPC2388はNXP製。周辺機能、メモリーてんこ盛りの32bit ARMチップです。 ~ ~ ~ ~ ---- *[[⇒DesignWave 2008-05付録基板で遊ぶ>ARMCortexM3]] [#e1e291f8] http://psp.dip.jp/web/jpg/ARM/STM32F103VBT6.jpg -STM32F103VBT6はST-Micro製のCortex-M3アーキテクチャー。 -Cortex-Mシリーズは命令コード16bitのthumb2限定です。 ~ ~ ~ ---- *[[⇒STM8S-Discovery基板のST-Link側で遊ぶ>stm32f103]] [#fcbffd18] http://psp.dip.jp/web/jpg/ARM/ST_Discovery.jpg なんとびっくり価格。秋月などで750円です。 FAQ:[[どうして安いのですか?:http://akizukidenshi.com/catalog/faq/goodsfaq.aspx?goods=M-03457]] -[[⇒STM8S-Discovery基板のST-Link側で遊ぶ>stm32f103]] ~ ~ ---- *[[⇒STM32ブートローダー>armon]] [#a2f10f66] -[[STM8S-Discovery付属のSTM32F103C8T6 CPU>stm32f103]]用のHIDクラス・ブートローダー 兼 簡易モニターです。 -STBEE , STBEE Mini , CQ-STARM でも動きます。 -DFUより使いやすく、コードサイズも小さくなっています。(8kB) -ほぼ同じ機能のコードをアプリケーション側としてコンパイルして使用出来るので、自己拡張したり、HIDデバイスによる簡単なアプリ作成に使えます。(user関数からprintfなども使用できるようになっています) ~ ~ ~ ---- *[[⇒LPCXpressoで遊ぶ>LPCXpresso]] [#r6439140] LPCXpresso(LPC3154+LPC1343) -http://psp.dip.jp/web/jpg/ARM/xpresso2.jpg -[[⇒LPCXpressoで遊ぶ>LPCXpresso]] ~ ARMマイコン パーフェクト学習基板(TRZ1010N) -http://psp.dip.jp/web/jpg/ARM/1343a.jpg ~ ~ ~ ---- *[[⇒LPCXpresso/1768で遊ぶ>LPCXpresso1768]] [#vce1d94f] -http://psp.dip.jp/web/jpg/ARM/LPC1768.jpg -[[⇒LPCXpresso/1768で遊ぶ>LPCXpresso1768]] ~ ~ ~ ~ ---- *[[⇒Fujitsu-FM3で遊ぶ>FM3]] [#c3df8bb6] http://psp.dip.jp/web/jpg/FM3img.jpg - [[⇒Fujitsu-FM3で遊ぶ>FM3]] ~ ~ ~ ~ ---- *市販の格安ARMマイコン基板にはどんなものがあるか? [#ocd096b0] CQ出版の雑誌付録基板(雑誌込みで3000円前後) -基板はコストダウンのためか総じて電源周りが弱い。 -LDOレギュレータがUSBケーブルの挿抜で死んだりとか。 -旬が過ぎたら追加発注は難しい。(追加発注するほどのものでもないけれど) 秋月扱いのARM関連 開発ボード(2800円程度) -http://akizukidenshi.com/catalog/c/carm/ 苺:STBee(3000円程度) -http://strawberry-linux.com/catalog/items?code=32103 『STBee Mini』(72MHz, 128K+20K) -http://strawberry-linux.com/catalog/items?code=32105 ARM7TDMI/LPC2103モジュール(1600円:USB機能は無い) -http://www.csun.co.jp/SHOP/2009080405.html ~ ~ ~ ~ ~ ---- *STM32系(ST-Micro製)とLPC1xxx系(NXP製)の違い。 [#t8f654ca] どちらも''Cortex-M3''アーキテクチャー(''Thumb2命令セット''のみ実装されている) -メモリーマップは異なる。(STM32のFlashは0800_0000〜、LPC1343は0番地〜。RAM空間も異なる。) -GPIOなどI/Oポートのアドレスや関連レジスタは互いに''互換性がない。'' -%%Flashの自己書き換えを行うユーザー関数がLPC1343には無い。(というかApplication内からのFlash書き換え方法がドキュメントされていない模様)%% --STM32ではFlashの自己書き換えを行う関数が用意されている。 --LPC1343は、関数が用意されないかわりに、16kBのBOOT-ROM内のサービスルーチンが用意されている。 -USB関連のレジスタやサポート関数は互いに''互換性がない。'' -LPC1343はJTAGによるデバッグ、Flash書き込みのサポートが無い。(かわりにSWDを使う) CMSISがあれば共通なソースが書けると思ったら''大間違い''。Lチカだけなら不可能ではない、というレベル。 -ペリフェラルの性能(例えばADCの分解能とか)も異なるし、そもそも無いもの(温度センサーとか)は無い場合があるので、共通化は無理!! ~ -LPC1343にはUSB/シリアルブートをサポートしたBOOT-ROM(16k)が内蔵されている。WindowsからはUSBマスストレージに 見えるので、Flashの書き換えはそれほど手間が要らない。 -ROMの内蔵ルーチンを呼び出す形のUSBデバイスサンプルが用意されているが、カスタマイズ上の制限が多く、実はあまり使い物にならない。 -LPC1343のC言語ライブラリ(libc)のスタートアップ(crt0.S相当)はアセンブラ記述ではなくC言語記述で提供されている。 -このため、(需要があるかどうかはともかく)比較的容易にスタートアップを変更できる。ただし初期化部分には一部インラインアセンブラが使われている。 -LPC1343はUSBクロックPLLとCPUクロックPLLが独立に設定できる。(オーバークロック可能???) -STM32はUSBクロックの設定が{CPUクロック÷1か、÷1.5}の2択しか選べないので、(で、USB用のクロックは48MHz以外はありえないので)必然的にCPUクロックは48MHzか72MHzに固定される --もちろんUSBを使用しないのであれば内蔵RCだろうが、何GHzのXtalだろうが(動きさえすれば)突っ込んでいいけど。 --どんなにオーバークロックしたくとも、内蔵のFlashROMの動作周波数の制約を受ける(そもそもこのクラスのマイコンは命令キャッシュを積んでいない)ので、そんなに速くは出来ない。 ~ - ~ ~ ~ ~ ----- *ARMでArduinoしたい。 [#q8a3bb1e] 一番近いのがこれ: ~ maple -http://leaflabs.com/devices/maple/ -ArduinoのIDEをそのまんまパクって、AVR-gccをCodeSourceryG++に差し替え、avrdudeをdfu-utilに置き換えたもの。 -今のところSTM32限定。 -用意されている基板はArduinoとシールドのピン配置が良く似ている。 -USBはFT232RLのようなUSB-シリアル変換チップを使用する代わりに、STM32の内蔵USBを使用している。 ~ mbed -http://mbed.org/ -こちらは、NXPのLPC1768が使用されている。 -USB-シリアル変換チップはFT232RLでなく、NXPのARM系のUSB内蔵MCUがやっているような感じ。mbedは実際には2CPU構成だ。価格も6000円近い。 -mbedはWebBrowser経由で開発環境(ARM純正のC++コンパイラー)を動かす。 -ローカルのPC上に開発環境をセットアップする必要がない。(仮にセットアップしたくても純正コンパイラは高価) Audinさんの記事が詳しい -http://mpu.seesaa.net/article/1572447.html ~ netduino -http://www.netduino.com/ -これもArduinoと基板サイズやらシールドピンの位置を合わせている。 -開発言語はC/C++のかわりにMicrosoft .net (C#とか)の組み込みエディションを使う。 -なので、開発環境はWindows用のMicrosoftのC#の統合環境がそのまま使用できるらしい。
テキスト整形のルールを表示する
ログインまたはアカウント作成