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
編集
差分
mapleIDE の編集
-- 雛形とするページ --
(no template pages)
[[2011-05]] *leaflabs:maple IDE にSTBee , STBeeMini , STM32VL-Discovery 基板を追加する。 [#ne831fe5] maple IDEは、[[leaflabs:http://leaflabs.com/]]発売ARM基板用の[[Arduino風統合開発環境:http://static.leaflabs.com/pub/leaflabs/maple-docs/latest/]]です。 ~ -(1)xshigeさん直々に0.0.11対応版を作っていただきました。こちらです。 -- ---> http://psp.dip.jp/web/cgi-bin/note/index.cgi?%b7%c7%bc%a8%c8%c4 --置き場は[[こちら:https://skydrive.live.com/?cid=bbd4ba3beeca403e&sc=documents&id=BBD4BA3BEECA403E%21107]]です。 ~ -(2)senshuさんが作成されたavrdude_fake(機能強化版)はこちらからDLしてください。 -- http://202.35.250.1/ken/senshu/sitedev/index.php?AVR%2Fnews66#qda3638a ~ ~ -(3) maple IDEを使用するかわりに maple IDEに含まれている''libmaple''という便利なライブラリを使ってコマンドライン(Linux or Windows)上からビルド&ランすることも可能です。 --以下のリンク先をお読みください。 --[[libmapleを使いこなせ!!>2011-08]] --- libmaple に、CQ-STARM基板とSTM8S-Discovery基板も追加してみる。 ~ ~ ~ ~ ~ ~ --------- ***古い記事 [#zae60112] ----------------- [[2011-03]] *leaflabs: maple IDE 0.0.9 の改造 [#e0f7b100] -maple基板に最も近そうな(?)cq-starmを追加してみるテスト。 http://psp.dip.jp/web/jpg/ARM/mapleIDE.png #contents http://psp.dip.jp/web/jpg/ARM/STM32.jpg ~ ''改造の要点'' -好きな基板(今のところSTM32限定)を追加する。 -uploaderをdfu-util以外にして試してみる。 --javaのソースから見て、dfu-utilかavrdudeしか受け付けないようだ。(そりゃ、呼び出しコマンドラインの生成手順がハードコーディングだからしかたないね。) ~ -uploaderは仮想COMデバイスか、リアルRS232C COMデバイスを相手にuploadする仕組みにする。 -bootloaderもそれに準ずるようにする。 -そうしないとUSBを積んでないARM (LPC1114) に対応できないのと、 -とりあえずシリアルを生かしておけば、USB bootloaderを書き込む前のデバイス (例えば LPC2388のシリアルブートモードを利用してブートとか、STM32の緊急時シリアルブートでFirmを書き込むとか)に対応できるというメリットがある。 ~ ~ ~ **その1:基板名の追加 [#k2cf958c] -<インストール先>/maple-ide-0.0.9/hardware/leaflabs/boards.txt の最後あたりに追記する。 ############################################################## cqstarm.name=CQ-STARM to FLASH cqstarm.upload.file_type=bin cqstarm.upload.maximum_size=108000 cqstarm.upload.ram.maximum_size=17000 cqstarm.upload.flash.maximum_size=108000 cqstarm.upload.usbID=1EAF:0003 cqstarm.upload.altID=1 cqstarm.upload.uploader=avrdude cqstarm.upload.auto_reset=true cqstarm.upload.protocol=stk500 cqstarm.upload.speed=57600 cqstarm.build.board=cq-starm cqstarm.build.mcu=STM32F103RB cqstarm.build.family=cortex-m3 cqstarm.build.f_cpu=72000000L cqstarm.build.core=maple cqstarm.build.vect=VECT_TAB_FLASH cqstarm.build.linker=maple/flash.ld cqstarm.build.using=armcompiler -RAM上にuploadする必要性ってあるのかな? -H8じゃあるまいし(FLASH 100回でデバイスが寿命とか) -RAM上にcodeを置くと、せっかくの(20k〜64K)SRAMがデータ領域として使えなくなるからARMを使う意味がない。 ~ ~ ~ **その2:PIN_MAPの追記 [#rfc129bb] -<インストール先>/maple-ide-0.0.9/hardware/leaflabs/cores/maple/boards.h -385行目当たりの #else 手前に挿入する。 -内容は、とりあえずmapleのまんま。 #elif defined(BOARD_cqstarm) #define CYCLES_PER_MICROSECOND 72 #define SYSTICK_RELOAD_VAL 71999 /* takes a cycle to reload */ #define BOARD_BUTTON_PIN 38 #define BOARD_LED_PIN 13 static __attribute__ ((unused)) PinMapping PIN_MAP[NR_GPIO_PINS] = { /* D0/PA3 */ {GPIOA_BASE, 3, ADC3, TIMER2_CH4_CCR, EXTI_CONFIG_PORTA, TIMER2, 4}, /* D1/PA2 */ {GPIOA_BASE, 2, ADC2, TIMER2_CH3_CCR, EXTI_CONFIG_PORTA, TIMER2, 3}, /* D2/PA0 */ {GPIOA_BASE, 0, ADC0, TIMER2_CH1_CCR, EXTI_CONFIG_PORTA, TIMER2, 1}, /* D3/PA1 */ {GPIOA_BASE, 1, ADC1, TIMER2_CH2_CCR, EXTI_CONFIG_PORTA, TIMER2, 2}, /* D4/PB5 */ {GPIOB_BASE, 5, ADC_INVALID, 0, EXTI_CONFIG_PORTB, TIMER_INVALID, TIMER_INVALID}, /* D5/PB6 */ {GPIOB_BASE, 6, ADC_INVALID, TIMER4_CH1_CCR, EXTI_CONFIG_PORTB, TIMER4, 1}, /* D6/PA8 */ {GPIOA_BASE, 8, ADC_INVALID, TIMER1_CH1_CCR, EXTI_CONFIG_PORTA, TIMER1, 1}, /* D7/PA9 */ {GPIOA_BASE, 9, ADC_INVALID, TIMER1_CH2_CCR, EXTI_CONFIG_PORTA, TIMER1, 2}, /* D8/PA10 */ {GPIOA_BASE, 10, ADC_INVALID, TIMER1_CH3_CCR, EXTI_CONFIG_PORTA, TIMER1, 3}, /* D9/PB7 */ {GPIOB_BASE, 7, ADC_INVALID, TIMER4_CH2_CCR, EXTI_CONFIG_PORTB, TIMER4, 2}, /* D10/PA4 */ {GPIOA_BASE, 4, ADC4, 0, EXTI_CONFIG_PORTA, TIMER_INVALID, TIMER_INVALID}, /* D11/PA7 */ {GPIOA_BASE, 7, ADC7, TIMER3_CH2_CCR, EXTI_CONFIG_PORTA, TIMER3, 2}, /* D12/PA6 */ {GPIOA_BASE, 6, ADC6, TIMER3_CH1_CCR, EXTI_CONFIG_PORTA, TIMER3, 1}, /* D13/PA5 */ {GPIOA_BASE, 5, ADC5, 0, EXTI_CONFIG_PORTA, TIMER_INVALID, TIMER_INVALID}, /* D14/PB8 */ {GPIOB_BASE, 8, ADC_INVALID, TIMER4_CH3_CCR, EXTI_CONFIG_PORTB, TIMER4, 3}, /* Little header */ /* D15/PC0 */ {GPIOC_BASE, 0, ADC10, 0, EXTI_CONFIG_PORTC, TIMER_INVALID, TIMER_INVALID}, /* D16/PC1 */ {GPIOC_BASE, 1, ADC11, 0, EXTI_CONFIG_PORTC, TIMER_INVALID, TIMER_INVALID}, /* D17/PC2 */ {GPIOC_BASE, 2, ADC12, 0, EXTI_CONFIG_PORTC, TIMER_INVALID, TIMER_INVALID}, /* D18/PC3 */ {GPIOC_BASE, 3, ADC13, 0, EXTI_CONFIG_PORTC, TIMER_INVALID, TIMER_INVALID}, /* D19/PC4 */ {GPIOC_BASE, 4, ADC14, 0, EXTI_CONFIG_PORTC, TIMER_INVALID, TIMER_INVALID}, /* D20/PC5 */ {GPIOC_BASE, 5, ADC15, 0, EXTI_CONFIG_PORTC, TIMER_INVALID, TIMER_INVALID}, /* External header */ /* D21/PC13 */ {GPIOC_BASE, 13, ADC_INVALID, 0, EXTI_CONFIG_PORTC, TIMER_INVALID, TIMER_INVALID}, /* D22/PC14 */ {GPIOC_BASE, 14, ADC_INVALID, 0, EXTI_CONFIG_PORTC, TIMER_INVALID, TIMER_INVALID}, /* D23/PC15 */ {GPIOC_BASE, 15, ADC_INVALID, 0, EXTI_CONFIG_PORTC, TIMER_INVALID, TIMER_INVALID}, /* D24/PB9 */ {GPIOB_BASE, 9, ADC_INVALID, TIMER4_CH4_CCR, EXTI_CONFIG_PORTB, TIMER_INVALID, TIMER_INVALID}, /* D25/PD2 */ {GPIOD_BASE, 2, ADC_INVALID, 0, EXTI_CONFIG_PORTD, TIMER_INVALID, TIMER_INVALID}, /* D26/PC10 */ {GPIOC_BASE, 10, ADC_INVALID, 0, EXTI_CONFIG_PORTC, TIMER_INVALID, TIMER_INVALID}, /* D27/PB0 */ {GPIOB_BASE, 0, ADC8, TIMER3_CH3_CCR, EXTI_CONFIG_PORTB, TIMER3, 3}, /* D28/PB1 */ {GPIOB_BASE, 1, ADC9, TIMER3_CH4_CCR, EXTI_CONFIG_PORTB, TIMER3, 4}, /* D29/PB10 */ {GPIOB_BASE, 10, ADC_INVALID, 0, EXTI_CONFIG_PORTB, TIMER_INVALID, TIMER_INVALID}, /* D30/PB11 */ {GPIOB_BASE, 11, ADC_INVALID, 0, EXTI_CONFIG_PORTB, TIMER_INVALID, TIMER_INVALID}, /* D31/PB12 */ {GPIOB_BASE, 12, ADC_INVALID, 0, EXTI_CONFIG_PORTB, TIMER_INVALID, TIMER_INVALID}, /* D32/PB13 */ {GPIOB_BASE, 13, ADC_INVALID, 0, EXTI_CONFIG_PORTB, TIMER_INVALID, TIMER_INVALID}, /* D33/PB14 */ {GPIOB_BASE, 14, ADC_INVALID, 0, EXTI_CONFIG_PORTB, TIMER_INVALID, TIMER_INVALID}, /* D34/PB15 */ {GPIOB_BASE, 15, ADC_INVALID, 0, EXTI_CONFIG_PORTB, TIMER_INVALID, TIMER_INVALID}, /* D35/PC6 */ {GPIOC_BASE, 6, ADC_INVALID, 0, EXTI_CONFIG_PORTC, TIMER_INVALID, TIMER_INVALID}, /* D36/PC7 */ {GPIOC_BASE, 7, ADC_INVALID, 0, EXTI_CONFIG_PORTC, TIMER_INVALID, TIMER_INVALID}, /* D37/PC8 */ {GPIOC_BASE, 8, ADC_INVALID, 0, EXTI_CONFIG_PORTC, TIMER_INVALID, TIMER_INVALID}, /* PC9 (BUT) */ {GPIOC_BASE, 9, ADC_INVALID, 0, EXTI_CONFIG_PORTC, TIMER_INVALID, TIMER_INVALID} }; #define BOARD_INIT do { \ } while(0) ~ ~ ~ **その3:uploaderの追加 [#fdf8f220] -<インストール先>/maple-ide-0.0.9/hardware/tools/avr/bin/ -というディレクトリを掘る。(何故avrなのかは突っ込まない) -そこに自作の avrdude.exe を置く。 -内容は、cq-starmにupload出来るなら、どんなプログラムでもおK。 -現在は未実装なので、とりあえずこんなやつを・・・ #include <stdio.h> int main(int argc,char **argv) { int i; for(i=0;i<argc;i++) { printf("%2d:>%s<\n",i,argv[i]); } return 0; } ~ *blinkのサンプルをuploadしてみる。 [#e9e6c25d] -結果: 0:>D:\INSTALL\maple-ide-0.0.9\hardware\tools\avr\bin\avrdude< 1:>-CD:\INSTALL\maple-ide-0.0.9\hardware/tools/avr/etc/avrdude.conf< 2:>-q< 3:>-q< 4:>-pSTM32F103RB< 5:>-cstk500v1< 6:>-P\\.\COM1< 7:>-b57600< 8:>-D< 9:>-Uflash:w:C:\DOCUME~1\USERNAME\LOCALS~1\Temp\build6274997941406310107.tmp\Blink.cpp.hex:i< -まあこんな感じでエアーmaple完了。 ~ ~ ~ ------- *CQ-STARMのDFUを[[armboot>armon]]に置き換える [#b22e0d39] http://psp.dip.jp/web/jpg/ARM/STM32F103VBT6.jpg -まず、[[苺からdfuwをDL:http://strawberry-linux.com/stbee/dfuw]]する。 -次に、以下のCQ-STARM用のarmbootファームウェアを入手。 DOWNLOAD: [[cq-starm用ファーム:http://psp.dip.jp/web/upload.cgi/STM/cqstarm.zip]] -ReadMe.txtに従って操作。 -自己責任でお願いします。 -armbootやcqstarm用のファームウェアのソースは[[こちら>armon]] -別の記事:[[ARMでArduino>2011-01#u70613a4]] --- maple IDEでビルドしたLED Blinkを STM8S-Discovery上で実行してみた。 ~ ~ ~ ~
タイムスタンプを変更しない
[[2011-05]] *leaflabs:maple IDE にSTBee , STBeeMini , STM32VL-Discovery 基板を追加する。 [#ne831fe5] maple IDEは、[[leaflabs:http://leaflabs.com/]]発売ARM基板用の[[Arduino風統合開発環境:http://static.leaflabs.com/pub/leaflabs/maple-docs/latest/]]です。 ~ -(1)xshigeさん直々に0.0.11対応版を作っていただきました。こちらです。 -- ---> http://psp.dip.jp/web/cgi-bin/note/index.cgi?%b7%c7%bc%a8%c8%c4 --置き場は[[こちら:https://skydrive.live.com/?cid=bbd4ba3beeca403e&sc=documents&id=BBD4BA3BEECA403E%21107]]です。 ~ -(2)senshuさんが作成されたavrdude_fake(機能強化版)はこちらからDLしてください。 -- http://202.35.250.1/ken/senshu/sitedev/index.php?AVR%2Fnews66#qda3638a ~ ~ -(3) maple IDEを使用するかわりに maple IDEに含まれている''libmaple''という便利なライブラリを使ってコマンドライン(Linux or Windows)上からビルド&ランすることも可能です。 --以下のリンク先をお読みください。 --[[libmapleを使いこなせ!!>2011-08]] --- libmaple に、CQ-STARM基板とSTM8S-Discovery基板も追加してみる。 ~ ~ ~ ~ ~ ~ --------- ***古い記事 [#zae60112] ----------------- [[2011-03]] *leaflabs: maple IDE 0.0.9 の改造 [#e0f7b100] -maple基板に最も近そうな(?)cq-starmを追加してみるテスト。 http://psp.dip.jp/web/jpg/ARM/mapleIDE.png #contents http://psp.dip.jp/web/jpg/ARM/STM32.jpg ~ ''改造の要点'' -好きな基板(今のところSTM32限定)を追加する。 -uploaderをdfu-util以外にして試してみる。 --javaのソースから見て、dfu-utilかavrdudeしか受け付けないようだ。(そりゃ、呼び出しコマンドラインの生成手順がハードコーディングだからしかたないね。) ~ -uploaderは仮想COMデバイスか、リアルRS232C COMデバイスを相手にuploadする仕組みにする。 -bootloaderもそれに準ずるようにする。 -そうしないとUSBを積んでないARM (LPC1114) に対応できないのと、 -とりあえずシリアルを生かしておけば、USB bootloaderを書き込む前のデバイス (例えば LPC2388のシリアルブートモードを利用してブートとか、STM32の緊急時シリアルブートでFirmを書き込むとか)に対応できるというメリットがある。 ~ ~ ~ **その1:基板名の追加 [#k2cf958c] -<インストール先>/maple-ide-0.0.9/hardware/leaflabs/boards.txt の最後あたりに追記する。 ############################################################## cqstarm.name=CQ-STARM to FLASH cqstarm.upload.file_type=bin cqstarm.upload.maximum_size=108000 cqstarm.upload.ram.maximum_size=17000 cqstarm.upload.flash.maximum_size=108000 cqstarm.upload.usbID=1EAF:0003 cqstarm.upload.altID=1 cqstarm.upload.uploader=avrdude cqstarm.upload.auto_reset=true cqstarm.upload.protocol=stk500 cqstarm.upload.speed=57600 cqstarm.build.board=cq-starm cqstarm.build.mcu=STM32F103RB cqstarm.build.family=cortex-m3 cqstarm.build.f_cpu=72000000L cqstarm.build.core=maple cqstarm.build.vect=VECT_TAB_FLASH cqstarm.build.linker=maple/flash.ld cqstarm.build.using=armcompiler -RAM上にuploadする必要性ってあるのかな? -H8じゃあるまいし(FLASH 100回でデバイスが寿命とか) -RAM上にcodeを置くと、せっかくの(20k〜64K)SRAMがデータ領域として使えなくなるからARMを使う意味がない。 ~ ~ ~ **その2:PIN_MAPの追記 [#rfc129bb] -<インストール先>/maple-ide-0.0.9/hardware/leaflabs/cores/maple/boards.h -385行目当たりの #else 手前に挿入する。 -内容は、とりあえずmapleのまんま。 #elif defined(BOARD_cqstarm) #define CYCLES_PER_MICROSECOND 72 #define SYSTICK_RELOAD_VAL 71999 /* takes a cycle to reload */ #define BOARD_BUTTON_PIN 38 #define BOARD_LED_PIN 13 static __attribute__ ((unused)) PinMapping PIN_MAP[NR_GPIO_PINS] = { /* D0/PA3 */ {GPIOA_BASE, 3, ADC3, TIMER2_CH4_CCR, EXTI_CONFIG_PORTA, TIMER2, 4}, /* D1/PA2 */ {GPIOA_BASE, 2, ADC2, TIMER2_CH3_CCR, EXTI_CONFIG_PORTA, TIMER2, 3}, /* D2/PA0 */ {GPIOA_BASE, 0, ADC0, TIMER2_CH1_CCR, EXTI_CONFIG_PORTA, TIMER2, 1}, /* D3/PA1 */ {GPIOA_BASE, 1, ADC1, TIMER2_CH2_CCR, EXTI_CONFIG_PORTA, TIMER2, 2}, /* D4/PB5 */ {GPIOB_BASE, 5, ADC_INVALID, 0, EXTI_CONFIG_PORTB, TIMER_INVALID, TIMER_INVALID}, /* D5/PB6 */ {GPIOB_BASE, 6, ADC_INVALID, TIMER4_CH1_CCR, EXTI_CONFIG_PORTB, TIMER4, 1}, /* D6/PA8 */ {GPIOA_BASE, 8, ADC_INVALID, TIMER1_CH1_CCR, EXTI_CONFIG_PORTA, TIMER1, 1}, /* D7/PA9 */ {GPIOA_BASE, 9, ADC_INVALID, TIMER1_CH2_CCR, EXTI_CONFIG_PORTA, TIMER1, 2}, /* D8/PA10 */ {GPIOA_BASE, 10, ADC_INVALID, TIMER1_CH3_CCR, EXTI_CONFIG_PORTA, TIMER1, 3}, /* D9/PB7 */ {GPIOB_BASE, 7, ADC_INVALID, TIMER4_CH2_CCR, EXTI_CONFIG_PORTB, TIMER4, 2}, /* D10/PA4 */ {GPIOA_BASE, 4, ADC4, 0, EXTI_CONFIG_PORTA, TIMER_INVALID, TIMER_INVALID}, /* D11/PA7 */ {GPIOA_BASE, 7, ADC7, TIMER3_CH2_CCR, EXTI_CONFIG_PORTA, TIMER3, 2}, /* D12/PA6 */ {GPIOA_BASE, 6, ADC6, TIMER3_CH1_CCR, EXTI_CONFIG_PORTA, TIMER3, 1}, /* D13/PA5 */ {GPIOA_BASE, 5, ADC5, 0, EXTI_CONFIG_PORTA, TIMER_INVALID, TIMER_INVALID}, /* D14/PB8 */ {GPIOB_BASE, 8, ADC_INVALID, TIMER4_CH3_CCR, EXTI_CONFIG_PORTB, TIMER4, 3}, /* Little header */ /* D15/PC0 */ {GPIOC_BASE, 0, ADC10, 0, EXTI_CONFIG_PORTC, TIMER_INVALID, TIMER_INVALID}, /* D16/PC1 */ {GPIOC_BASE, 1, ADC11, 0, EXTI_CONFIG_PORTC, TIMER_INVALID, TIMER_INVALID}, /* D17/PC2 */ {GPIOC_BASE, 2, ADC12, 0, EXTI_CONFIG_PORTC, TIMER_INVALID, TIMER_INVALID}, /* D18/PC3 */ {GPIOC_BASE, 3, ADC13, 0, EXTI_CONFIG_PORTC, TIMER_INVALID, TIMER_INVALID}, /* D19/PC4 */ {GPIOC_BASE, 4, ADC14, 0, EXTI_CONFIG_PORTC, TIMER_INVALID, TIMER_INVALID}, /* D20/PC5 */ {GPIOC_BASE, 5, ADC15, 0, EXTI_CONFIG_PORTC, TIMER_INVALID, TIMER_INVALID}, /* External header */ /* D21/PC13 */ {GPIOC_BASE, 13, ADC_INVALID, 0, EXTI_CONFIG_PORTC, TIMER_INVALID, TIMER_INVALID}, /* D22/PC14 */ {GPIOC_BASE, 14, ADC_INVALID, 0, EXTI_CONFIG_PORTC, TIMER_INVALID, TIMER_INVALID}, /* D23/PC15 */ {GPIOC_BASE, 15, ADC_INVALID, 0, EXTI_CONFIG_PORTC, TIMER_INVALID, TIMER_INVALID}, /* D24/PB9 */ {GPIOB_BASE, 9, ADC_INVALID, TIMER4_CH4_CCR, EXTI_CONFIG_PORTB, TIMER_INVALID, TIMER_INVALID}, /* D25/PD2 */ {GPIOD_BASE, 2, ADC_INVALID, 0, EXTI_CONFIG_PORTD, TIMER_INVALID, TIMER_INVALID}, /* D26/PC10 */ {GPIOC_BASE, 10, ADC_INVALID, 0, EXTI_CONFIG_PORTC, TIMER_INVALID, TIMER_INVALID}, /* D27/PB0 */ {GPIOB_BASE, 0, ADC8, TIMER3_CH3_CCR, EXTI_CONFIG_PORTB, TIMER3, 3}, /* D28/PB1 */ {GPIOB_BASE, 1, ADC9, TIMER3_CH4_CCR, EXTI_CONFIG_PORTB, TIMER3, 4}, /* D29/PB10 */ {GPIOB_BASE, 10, ADC_INVALID, 0, EXTI_CONFIG_PORTB, TIMER_INVALID, TIMER_INVALID}, /* D30/PB11 */ {GPIOB_BASE, 11, ADC_INVALID, 0, EXTI_CONFIG_PORTB, TIMER_INVALID, TIMER_INVALID}, /* D31/PB12 */ {GPIOB_BASE, 12, ADC_INVALID, 0, EXTI_CONFIG_PORTB, TIMER_INVALID, TIMER_INVALID}, /* D32/PB13 */ {GPIOB_BASE, 13, ADC_INVALID, 0, EXTI_CONFIG_PORTB, TIMER_INVALID, TIMER_INVALID}, /* D33/PB14 */ {GPIOB_BASE, 14, ADC_INVALID, 0, EXTI_CONFIG_PORTB, TIMER_INVALID, TIMER_INVALID}, /* D34/PB15 */ {GPIOB_BASE, 15, ADC_INVALID, 0, EXTI_CONFIG_PORTB, TIMER_INVALID, TIMER_INVALID}, /* D35/PC6 */ {GPIOC_BASE, 6, ADC_INVALID, 0, EXTI_CONFIG_PORTC, TIMER_INVALID, TIMER_INVALID}, /* D36/PC7 */ {GPIOC_BASE, 7, ADC_INVALID, 0, EXTI_CONFIG_PORTC, TIMER_INVALID, TIMER_INVALID}, /* D37/PC8 */ {GPIOC_BASE, 8, ADC_INVALID, 0, EXTI_CONFIG_PORTC, TIMER_INVALID, TIMER_INVALID}, /* PC9 (BUT) */ {GPIOC_BASE, 9, ADC_INVALID, 0, EXTI_CONFIG_PORTC, TIMER_INVALID, TIMER_INVALID} }; #define BOARD_INIT do { \ } while(0) ~ ~ ~ **その3:uploaderの追加 [#fdf8f220] -<インストール先>/maple-ide-0.0.9/hardware/tools/avr/bin/ -というディレクトリを掘る。(何故avrなのかは突っ込まない) -そこに自作の avrdude.exe を置く。 -内容は、cq-starmにupload出来るなら、どんなプログラムでもおK。 -現在は未実装なので、とりあえずこんなやつを・・・ #include <stdio.h> int main(int argc,char **argv) { int i; for(i=0;i<argc;i++) { printf("%2d:>%s<\n",i,argv[i]); } return 0; } ~ *blinkのサンプルをuploadしてみる。 [#e9e6c25d] -結果: 0:>D:\INSTALL\maple-ide-0.0.9\hardware\tools\avr\bin\avrdude< 1:>-CD:\INSTALL\maple-ide-0.0.9\hardware/tools/avr/etc/avrdude.conf< 2:>-q< 3:>-q< 4:>-pSTM32F103RB< 5:>-cstk500v1< 6:>-P\\.\COM1< 7:>-b57600< 8:>-D< 9:>-Uflash:w:C:\DOCUME~1\USERNAME\LOCALS~1\Temp\build6274997941406310107.tmp\Blink.cpp.hex:i< -まあこんな感じでエアーmaple完了。 ~ ~ ~ ------- *CQ-STARMのDFUを[[armboot>armon]]に置き換える [#b22e0d39] http://psp.dip.jp/web/jpg/ARM/STM32F103VBT6.jpg -まず、[[苺からdfuwをDL:http://strawberry-linux.com/stbee/dfuw]]する。 -次に、以下のCQ-STARM用のarmbootファームウェアを入手。 DOWNLOAD: [[cq-starm用ファーム:http://psp.dip.jp/web/upload.cgi/STM/cqstarm.zip]] -ReadMe.txtに従って操作。 -自己責任でお願いします。 -armbootやcqstarm用のファームウェアのソースは[[こちら>armon]] -別の記事:[[ARMでArduino>2011-01#u70613a4]] --- maple IDEでビルドしたLED Blinkを STM8S-Discovery上で実行してみた。 ~ ~ ~ ~
テキスト整形のルールを表示する
ログインまたはアカウント作成