LPC800 (12) mbed (5) ライブラリを使う 2 ― 2013年07月03日 22時35分43秒
うまくいかない時はまず資料集めだ。
あわよくばそのまま使える資料があるかもしれない。
Exporting to offline toolchains
Project to allow offline GCC compilation of code using mbed cloud libraries.
mbed library sources
GCCでmbedの実行ファイルをコンパイル
GCCでmbedの実行ファイルをコンパイル(2)
ARM: Clone of the mbed / 失敗!?
mbed-sdkをLPCXpresso LPC1769で使う(1) 2013
オフライン コンパイル
オフラインコンパイラ Keil uVision4 を使ってみる(その1)
オフラインコンパイラ Keil uVision4 を使ってみる(その2)
これらの資料を見ると、動きそうだ。いや、動かしている人がいる。
しかし、自分でやってみると Export したものはオフライン コンパイルできるが、mbed のソースを集めて最初から作りこもうとするとうまくいかない。
悔しいが mbed はしばらくペンディングだ。
参照:mbed
環境:LPC800 Mini Kit (LPC810M021FN8)
+ Keil MDK-ARM V4.53
+ LPC800 Support for version 4.60 of Keil MDK-ARM
+ GCC Sourcery CodeBench Lite 2012.09-63
+ mbed SDK
+ lpc21isp Version 1.92
あわよくばそのまま使える資料があるかもしれない。
Exporting to offline toolchains
Project to allow offline GCC compilation of code using mbed cloud libraries.
mbed library sources
GCCでmbedの実行ファイルをコンパイル
GCCでmbedの実行ファイルをコンパイル(2)
ARM: Clone of the mbed / 失敗!?
mbed-sdkをLPCXpresso LPC1769で使う(1) 2013
オフライン コンパイル
オフラインコンパイラ Keil uVision4 を使ってみる(その1)
オフラインコンパイラ Keil uVision4 を使ってみる(その2)
これらの資料を見ると、動きそうだ。いや、動かしている人がいる。
しかし、自分でやってみると Export したものはオフライン コンパイルできるが、mbed のソースを集めて最初から作りこもうとするとうまくいかない。
悔しいが mbed はしばらくペンディングだ。
参照:mbed
環境:LPC800 Mini Kit (LPC810M021FN8)
+ Keil MDK-ARM V4.53
+ LPC800 Support for version 4.60 of Keil MDK-ARM
+ GCC Sourcery CodeBench Lite 2012.09-63
+ mbed SDK
+ lpc21isp Version 1.92
LPC800 (13) Clock Test (1) ― 2013年07月11日 22時53分18秒
気を取り直してクロックの動作確認だ。
LPC8xx Clock and PLL Configuration Tool もあるし、µVision4 の Configuration Wizard もあるのでテストは簡単だ。そのほかの条件は
PLL input = 12(MHz) IRC Oscillator
位だろうか。
ここで、スペックをまとめておこう
1番から順番に試していく。
3番までは今の所問題ない。
4番36MHz、いける。
5番42MHz、これもokだ。
6番48MHz、動かない。
ここまでか?と思いつつ7番54MHz、動く。
さあ、8番60MHz、動かない。
54MHzが限界か?しかし、気になるのは6番。なぜ動かないんだ?
パラメータを変えて全てスペック内に収めてみる。
動かない。
M = 8 の時だけ例外的に動かないのだろうか?
User manual にも Errata sheet にも特に記述が無い。
というわけで動作最大 SystemClock は 54 MHz が確認できた。
しかし、もう少しやってみよう。
10番60MHz、動く。
え...動くんだ!
じゃあ11番72MHz、動くが一部文字化けする。
これは動かないだろう。12番84MHz、やっぱり動かない。
とうとう、60MHzでも動いた。72MHzは怪しいので動かなかったことにしておこう。それにしてもかなり余裕を見てあるんだ。
正確に言うと本当に動いているかどうかは分からない CLKOUT をオシロスコープででも観測するのが正しい判断の方法かもしれない。
環境:LPC800 Mini Kit (LPC810M021FN8)
+ Keil MDK-ARM V4.53
+ LPC800 Support for version 4.60 of Keil MDK-ARM
+ GCC Sourcery CodeBench Lite 2012.09-63
+ LPC810 CodeBase
+ Flash Magic Version 7.50
LPC8xx Clock and PLL Configuration Tool もあるし、µVision4 の Configuration Wizard もあるのでテストは簡単だ。そのほかの条件は
PLL input = 12(MHz) IRC Oscillator
位だろうか。
No. MainCLK MSEL M PSEL P FCCO SYSAHB SystemCLK (MHz) binary binary (MHz) CLKDIV (MHz) 1 12 00000 1 11 8 192 1 12 2 24 00001 2 10 4 192 1 24 3 60 00100 5 01 2 240 2 30 4 72 00101 6 01 2 288 2 36 5 84 00110 7 00 1 168 2 42 6 96 00111 8 00 1 192 2 48 7 108 01000 9 00 1 216 2 54 8 120 01001 10 00 1 240 2 60確認する Systemclock は 12MHz から 60MHz を予定している。赤文字はスペックオーバーを意味する。
ここで、スペックをまとめておこう
PLL input 10 MHz to 25 MHz. MainCLK 100MHz 以下。 FCCO 156 MHz to 320 MHz. SystemClock 30MHz 以下。
1番から順番に試していく。
3番までは今の所問題ない。
4番36MHz、いける。
5番42MHz、これもokだ。
6番48MHz、動かない。
ここまでか?と思いつつ7番54MHz、動く。
さあ、8番60MHz、動かない。
54MHzが限界か?しかし、気になるのは6番。なぜ動かないんだ?
パラメータを変えて全てスペック内に収めてみる。
No. MainCLK MSEL M PSEL P FCCO SYSAHB SystemCLK (MHz) binary binary (MHz) CLKDIV (MHz) 9 96 00111 8 00 1 192 4 24
動かない。
M = 8 の時だけ例外的に動かないのだろうか?
User manual にも Errata sheet にも特に記述が無い。
というわけで動作最大 SystemClock は 54 MHz が確認できた。
しかし、もう少しやってみよう。
No. MainCLK MSEL M PSEL P FCCO SYSAHB SystemCLK (MHz) binary binary (MHz) CLKDIV (MHz) 10 60 00100 5 01 2 240 1 60 11 72 00101 6 01 2 288 1 72 12 84 00110 7 00 1 168 1 84
10番60MHz、動く。
え...動くんだ!
じゃあ11番72MHz、動くが一部文字化けする。
これは動かないだろう。12番84MHz、やっぱり動かない。
とうとう、60MHzでも動いた。72MHzは怪しいので動かなかったことにしておこう。それにしてもかなり余裕を見てあるんだ。
正確に言うと本当に動いているかどうかは分からない CLKOUT をオシロスコープででも観測するのが正しい判断の方法かもしれない。
環境:LPC800 Mini Kit (LPC810M021FN8)
+ Keil MDK-ARM V4.53
+ LPC800 Support for version 4.60 of Keil MDK-ARM
+ GCC Sourcery CodeBench Lite 2012.09-63
+ LPC810 CodeBase
+ Flash Magic Version 7.50
LPC800 (14) Watchdog Oscillator (1) ― 2013年07月12日 22時35分31秒
今回は Watchdog Oscillator を main clock として試してみる。
使い方は簡単だ。
system_LPC8xx.c の MAINCLKSEL を WDT Oscillator にして、FREQSEL を 3.4 MHz にする。
コンパイルして、書き込み、Reset 。
青LED が点灯したままだ。
ターミナルに文字出力も無い。
どうしたものかと思っていると青LED が一瞬消えた。
よく観察してみると、約100秒に一回 LED が消えるタイミングがある。
ソースを見ると、LED を点灯させた後シリアルに文字を出力している。
もしかすると文字出力にものすごく時間がかかっているのかもしれない。
ためしに、printf を削除してみると、LED は普通に点滅する。
どうやら Watchdog Oscillator を使うとシリアルがおかしくなるらしい。
環境:LPC800 Mini Kit (LPC810M021FN8)
+ Keil MDK-ARM V4.53
+ LPC800 Support for version 4.60 of Keil MDK-ARM
+ GCC Sourcery CodeBench Lite 2012.09-63
+ LPC810 CodeBase
+ Flash Magic Version 7.50
使い方は簡単だ。
system_LPC8xx.c の MAINCLKSEL を WDT Oscillator にして、FREQSEL を 3.4 MHz にする。
コンパイルして、書き込み、Reset 。
青LED が点灯したままだ。
ターミナルに文字出力も無い。
どうしたものかと思っていると青LED が一瞬消えた。
よく観察してみると、約100秒に一回 LED が消えるタイミングがある。
ソースを見ると、LED を点灯させた後シリアルに文字を出力している。
もしかすると文字出力にものすごく時間がかかっているのかもしれない。
ためしに、printf を削除してみると、LED は普通に点滅する。
どうやら Watchdog Oscillator を使うとシリアルがおかしくなるらしい。
環境:LPC800 Mini Kit (LPC810M021FN8)
+ Keil MDK-ARM V4.53
+ LPC800 Support for version 4.60 of Keil MDK-ARM
+ GCC Sourcery CodeBench Lite 2012.09-63
+ LPC810 CodeBase
+ Flash Magic Version 7.50
LPC800 (15) Watchdog Oscillator (2) ― 2013年07月13日 13時57分36秒
それにしても Watchdog Oscillator を使うとシリアルがおかしくなるのは使い勝手が悪い。
何とかならないものかと思いドキュメントを調べてみることにする。
ドキュメントの中でまず目に付いたのが LPC800 USART API ROM driver routines 。
節約のためかROMが使えるようだ。
次に、LPC800 USART0/1/2 に目を通す。
特に Baud Rate and Clocking Generation のソースに Watchdog Oscillator を使ってはいけないという記述も無い。
さらに LPC800 Windowed Watchdog Timer (WWDT) と読み進む。
ここにも特に変わった記述は無い。
最後は Watchdog oscillator control register の FREQSEL 。
wdt_osc_clk は 9.3 kHz to 2.3 MHz と書いてある。
収穫らしいものは何もなかった。
またエディタに戻って system_LPC8xx.c を眺めていると wdt_osc_clk の計算が合わない。
どういうことかというと、ドキュメントには 9.3 kHz to 2.3 MHz と書いてあるのに、 system_LPC8xx.c の数字で計算すると 7.8 kHz から 1.7MHz になるのだ。
ドキュメント(UM10601.pdf Rev. 1.2) と system_LPC8xx.c を比べてみると明らかに数字が異なる。おそらく以前の system_LPCxxxx.c を流用したためこのようなことになってしまったのだろう。
ドキュメントに従って system_LPC8xx.c を修正。(修正する部分は3ブロックある)
やっとシリアルも動いた。
分かってみると単純なことだった。
少し満足して、そして脱力感いっぱいの今日この頃。
system_LPC8xx.c
環境:LPC800 Mini Kit (LPC810M021FN8)
+ Keil MDK-ARM V4.53
+ LPC800 Support for version 4.60 of Keil MDK-ARM
+ GCC Sourcery CodeBench Lite 2012.09-63
+ LPC810 CodeBase
+ Flash Magic Version 7.50
何とかならないものかと思いドキュメントを調べてみることにする。
ドキュメントの中でまず目に付いたのが LPC800 USART API ROM driver routines 。
節約のためかROMが使えるようだ。
次に、LPC800 USART0/1/2 に目を通す。
特に Baud Rate and Clocking Generation のソースに Watchdog Oscillator を使ってはいけないという記述も無い。
さらに LPC800 Windowed Watchdog Timer (WWDT) と読み進む。
ここにも特に変わった記述は無い。
最後は Watchdog oscillator control register の FREQSEL 。
wdt_osc_clk は 9.3 kHz to 2.3 MHz と書いてある。
収穫らしいものは何もなかった。
またエディタに戻って system_LPC8xx.c を眺めていると wdt_osc_clk の計算が合わない。
どういうことかというと、ドキュメントには 9.3 kHz to 2.3 MHz と書いてあるのに、 system_LPC8xx.c の数字で計算すると 7.8 kHz から 1.7MHz になるのだ。
ドキュメント(UM10601.pdf Rev. 1.2) と system_LPC8xx.c を比べてみると明らかに数字が異なる。おそらく以前の system_LPCxxxx.c を流用したためこのようなことになってしまったのだろう。
ドキュメントに従って system_LPC8xx.c を修正。(修正する部分は3ブロックある)
やっとシリアルも動いた。
分かってみると単純なことだった。
少し満足して、そして脱力感いっぱいの今日この頃。
system_LPC8xx.c
環境:LPC800 Mini Kit (LPC810M021FN8)
+ Keil MDK-ARM V4.53
+ LPC800 Support for version 4.60 of Keil MDK-ARM
+ GCC Sourcery CodeBench Lite 2012.09-63
+ LPC810 CodeBase
+ Flash Magic Version 7.50
system_LPCxxxx ― 2013年07月14日 15時46分21秒
system_LPC8xx.c の不具合が分かってそれはそれでよかったのだが、何をベースにしたのか気になった。
ベースは EM77x か LPC12xx では無いかと思う。
というわけで system_LPC11xx.c と system_LPC13xx.c も修正が必要だ。
しかし、NXP も Keil もなぜ気がつかないんだ。
model watchdog oscillator analog output frequency EM77x 0.5 MHz to 3.4 MHz LPC11xx 0.6 MHz to 4.6 MHz LPC12xx 0.5 MHz to 3.4 MHz LPC13xx 0.6 MHz to 4.6 MHz LPC17xx なし
ベースは EM77x か LPC12xx では無いかと思う。
というわけで system_LPC11xx.c と system_LPC13xx.c も修正が必要だ。
しかし、NXP も Keil もなぜ気がつかないんだ。
LPC800 (16) API ROM driver (1) ― 2013年07月15日 10時45分24秒
先日、少し触れたが LPC81x では ROMapi が使えるようなので調べてみることにする。
ROMapi と言えば、Luminary の LM3Sxxxx を思い出すが CMSIS との相性が悪かった。
調べていてすぐに出てきたのが LPCOpen Platform 。このライブラリ 2012 年にリリースされているのでかなり新しい物だ。
サポートしているデバイスは LPC8 LPC11 LPC13 LPC17 LPC18 LPC40 LPC43 となっている。(ついでに、LPC2x シリーズもサポートしてくれればいいのに...)
異なるデバイスでもライブラリを共通に使うのが目的らしい。mbed に似てる気がする。
で、問題の ROMapi は従来のライブラリではサポートしていなかったがこのライブラリからサポートを始めたようだ。
さっそくダウンロード。
でかいね。もちろん LPC8x 以外のライブラリも入っているからだけど。
サポートしているツールチェーンは IAR Keil LPCXpresso
参照:
LPCOpen Platform for NXP LPC Microcontrollers
LPCOpenを使う その1~LPCOpenのサポート状況の確認 & LPCXpresso LPC11U14プロジェクトのインポートとビルド~
LPCOpenを使う その2~ドキュメントを確認する:ライブラリ構成、Example内容/構成、ボード設定~
LPCOpen Platform
ROMapi と言えば、Luminary の LM3Sxxxx を思い出すが CMSIS との相性が悪かった。
調べていてすぐに出てきたのが LPCOpen Platform 。このライブラリ 2012 年にリリースされているのでかなり新しい物だ。
サポートしているデバイスは LPC8 LPC11 LPC13 LPC17 LPC18 LPC40 LPC43 となっている。(ついでに、LPC2x シリーズもサポートしてくれればいいのに...)
異なるデバイスでもライブラリを共通に使うのが目的らしい。mbed に似てる気がする。
で、問題の ROMapi は従来のライブラリではサポートしていなかったがこのライブラリからサポートを始めたようだ。
さっそくダウンロード。
でかいね。もちろん LPC8x 以外のライブラリも入っているからだけど。
サポートしているツールチェーンは IAR Keil LPCXpresso
参照:
LPCOpen Platform for NXP LPC Microcontrollers
LPCOpenを使う その1~LPCOpenのサポート状況の確認 & LPCXpresso LPC11U14プロジェクトのインポートとビルド~
LPCOpenを使う その2~ドキュメントを確認する:ライブラリ構成、Example内容/構成、ボード設定~
LPCOpen Platform
LPC800 (17) API ROM driver (2) ― 2013年07月17日 21時22分36秒
まずは LPCOpen platform を使ってみよう。
①最初にすることは LPC800 Mini-Kit のボード情報を作成すること。
lpc_boards_8xx と書かれているが実際は LPCXpresso LPC812 にカスタマイズされているので、この部分を新規作成する。
\lpcopen\software\lpc_core\lpc_board\boards_8xx\nxp_xpresso_812 の中身を
\lpcopen\software\lpc_core\lpc_board\boards_8xx\nxp_mini-kit_810 にコピーして修正だ。
②ライブラリを作成する。
\lpcopen\software\lpc_core\lpc_board\boards_8xx\nxp_mini-kit_810
\lpcopen\software\lpc_core\lpc_chip\chip_8xx
\lpcopen\software\lpc_core\lpc_ip
上記ディレクトリの中身を集めてライブラリ作成。(lib_board_nxp_mini-kit_810.a)
上のスクリーンショットがライブラリの中身だ
③startup と Linker script を用意する。
\lpcopen\applications\lpc8xx\startup_code の中に入れる。
以前用意したものでよいだろう。
④アプリケーションプログラム
\lpcopen\applications\lpc8xx\examples\periph\periph_blinky ここにあるものをそのまま使う。
そして、ライブラリとスタートアップとリンカースクリプト
blinky.c
startup_LPC8xxG++.s
LPC810_rom_gnu.ld
lib_board_nxp_mini-kit_810.a
これをコンパイルして出来上がり。
走らせて見ると LED が点滅する。
うむ。
よしよし。
あ、でもこれではまだ ROMapi 使ってないね。
参照:
LPCOpenプラットフォーム
LPCOpen Platform
環境:LPC800 Mini Kit (LPC810M021FN8)
+ Keil MDK-ARM V4.53
+ LPC800 Support for version 4.60 of Keil MDK-ARM
+ GCC Sourcery CodeBench Lite 2012.09-63
+ lpcopen_v1.03.zip
+ Flash Magic Version 7.50
+ KPIT Cummins GNU-Archive Editor v1.1
+ KPIT Cummins GNU-Map Viewer v1.0
①最初にすることは LPC800 Mini-Kit のボード情報を作成すること。
lpc_boards_8xx と書かれているが実際は LPCXpresso LPC812 にカスタマイズされているので、この部分を新規作成する。
\lpcopen\software\lpc_core\lpc_board\boards_8xx\nxp_xpresso_812 の中身を
\lpcopen\software\lpc_core\lpc_board\boards_8xx\nxp_mini-kit_810 にコピーして修正だ。
②ライブラリを作成する。
\lpcopen\software\lpc_core\lpc_board\boards_8xx\nxp_mini-kit_810
\lpcopen\software\lpc_core\lpc_chip\chip_8xx
\lpcopen\software\lpc_core\lpc_ip
上記ディレクトリの中身を集めてライブラリ作成。(lib_board_nxp_mini-kit_810.a)
上のスクリーンショットがライブラリの中身だ
③startup と Linker script を用意する。
\lpcopen\applications\lpc8xx\startup_code の中に入れる。
以前用意したものでよいだろう。
④アプリケーションプログラム
\lpcopen\applications\lpc8xx\examples\periph\periph_blinky ここにあるものをそのまま使う。
そして、ライブラリとスタートアップとリンカースクリプト
blinky.c
startup_LPC8xxG++.s
LPC810_rom_gnu.ld
lib_board_nxp_mini-kit_810.a
これをコンパイルして出来上がり。
走らせて見ると LED が点滅する。
うむ。
よしよし。
あ、でもこれではまだ ROMapi 使ってないね。
参照:
LPCOpenプラットフォーム
LPCOpen Platform
環境:LPC800 Mini Kit (LPC810M021FN8)
+ Keil MDK-ARM V4.53
+ LPC800 Support for version 4.60 of Keil MDK-ARM
+ GCC Sourcery CodeBench Lite 2012.09-63
+ lpcopen_v1.03.zip
+ Flash Magic Version 7.50
+ KPIT Cummins GNU-Archive Editor v1.1
+ KPIT Cummins GNU-Map Viewer v1.0
LPC800 (18) API ROM driver (3) ― 2013年07月18日 21時51分54秒
LPCOpen platform は下記のボードをすぐ使うためのライブラリのようだ。
従って、今回のように LPC800 Mini Kit を使う場合などはボード情報を新たに作成しなければならない。
当然、CQ出版の TRZ1104A(LPC1114/301) を使う場合も同じだろう。
ドキュメントも一緒にダウンロードしていたので読んでみることにする。
と思ったが、ドキュメントの形式が html で、しかも量が半端ではない。
読む前に気持ちが萎えてしまった。
さて、問題の ROMapi は
Power profiles API function
I2C driver routines functions
UART driver routines function
があり、ヘッダーだけ読み込めば使えるようになっている。(と、思う)
まずは \lpcopen\applications\lpc8xx\examples\periph\periph_uart_rom のサンプルを使ってみよう。
コンパイルして、書き込み。
動いている。
さて、ここまで来ると ROMapi を使った物と LPC810 CodeBase を比較してみたいね。
参照:
LPCOpenプラットフォーム
LPCOpen Platform
環境:LPC800 Mini Kit (LPC810M021FN8)
+ Keil MDK-ARM V4.53
+ LPC800 Support for version 4.60 of Keil MDK-ARM
+ GCC Sourcery CodeBench Lite 2012.09-63
+ lpcopen_v1.03.zip
+ lpc21isp Version 1.92
+ KPIT Cummins GNU-Archive Editor v1.1
+ KPIT Cummins GNU-Map Viewer v1.0
NXP Xpresso LPC812 NXP Xpresso LPC11C24 NXP Xpresso LPC11U14 NXP Xpresso LPC1347 NXP Xpresso LPC1769 Embedded Artists LPC1788-DEV-KIT Embedded Artists LPC4088-DEV-KIT Hitex Evaluation Board LPC1850 Hitex Evaluation Board LPC4350 Keil MCB1857 Keil MCB4357 NGX LPC1830-Xplorer NGX LPC4330-Xplorer
従って、今回のように LPC800 Mini Kit を使う場合などはボード情報を新たに作成しなければならない。
当然、CQ出版の TRZ1104A(LPC1114/301) を使う場合も同じだろう。
ドキュメントも一緒にダウンロードしていたので読んでみることにする。
と思ったが、ドキュメントの形式が html で、しかも量が半端ではない。
読む前に気持ちが萎えてしまった。
さて、問題の ROMapi は
Power profiles API function
I2C driver routines functions
UART driver routines function
があり、ヘッダーだけ読み込めば使えるようになっている。(と、思う)
まずは \lpcopen\applications\lpc8xx\examples\periph\periph_uart_rom のサンプルを使ってみよう。
コンパイルして、書き込み。
動いている。
さて、ここまで来ると ROMapi を使った物と LPC810 CodeBase を比較してみたいね。
参照:
LPCOpenプラットフォーム
LPCOpen Platform
環境:LPC800 Mini Kit (LPC810M021FN8)
+ Keil MDK-ARM V4.53
+ LPC800 Support for version 4.60 of Keil MDK-ARM
+ GCC Sourcery CodeBench Lite 2012.09-63
+ lpcopen_v1.03.zip
+ lpc21isp Version 1.92
+ KPIT Cummins GNU-Archive Editor v1.1
+ KPIT Cummins GNU-Map Viewer v1.0
フリーの ARM 開発環境 (6) ― 2013年07月20日 11時48分07秒
フリーの ARM 開発環境 (1) で紹介したが情報が古くなってしまったのでもう一度掲載しておこう。
というのは、最近 YAGARTO を見ていて emIDE を知ったので書き加えたいと思ったのだ。
そして Raisonance の Ride7 + RKit-ARM も free でなくなってしまってからずいぶん時間がたった。
私はまだ使っているが、新たに手に入れようと思っても手に入らない。
手に入るものだけを列挙しよう。
そういえば Renesas Technology も ARM をリリースしたので Kpit もそのうち加わるかもしれない。
その gcc は (GNU Tools for ARM Embedded Processors) だ。そのうちプロジェクトを作って使い勝手を確かめてみよう。
というのは、最近 YAGARTO を見ていて emIDE を知ったので書き加えたいと思ったのだ。
そして Raisonance の Ride7 + RKit-ARM も free でなくなってしまってからずいぶん時間がたった。
私はまだ使っているが、新たに手に入れようと思っても手に入らない。
手に入るものだけを列挙しよう。
そういえば Renesas Technology も ARM をリリースしたので Kpit もそのうち加わるかもしれない。
Keil µVision + GCC Supported processors:ARM7/ARM9/Cortex-M0-M4 CooCox CoIDE + GCC Supported processors:Cortex-M0-M4 Atollic TrueSTUDIO Lite Supported processors:ARM7/ARM9/Cortex-M0-M4 32KB code-size limitation (8KB on Cortex™-M0 and Cortex-M1). Eclipse + GCC emIDE Supported processors:ARM7/ARM9/Cortex-M0-M4 Em::Blocks Supported processors:PIC18/PIC32/dsPIC/Cortex-M0-M3さて、emIDE と EmBlocks は TrueSTUDIO Lite と同じように gcc も含んでいる。
その gcc は (GNU Tools for ARM Embedded Processors) だ。そのうちプロジェクトを作って使い勝手を確かめてみよう。
最近のコメント