lbed/10-LM4F120への移植
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
単語検索
|
最終更新
|
ヘルプ
]
開始行:
[[lbed]]
#contents
2013/10/13からのアクセス回数 &counter;
[[lbedクラスライブラリでARM学習基板で実験>lbed/08-ARM学習...
このようなクラスライブラリの実用性を実感することができま...
そこで、デバッガを搭載してDSP命令、PFUを搭載したTiのStell...
評価ボード(以下LM4F120 PaunchPadと記す)を使ってLPC以外...
ようなクラスライブラリが有効であることをみてみましょう。
LM4F120用のOpenOCDの作成については、[[arm/Stellaris LM4F1...
** PinNamesの設定 [#q9469b77]
LM4F120 PaunchPadでは、J1, J3, J4, J2のコネクターから40本...
今回は、J1の1番ピンについて、P1_1とピン番号を付け、PA0の...
PA_0のようにピン番号を命名しました。
ピンの配置とレジスターの関係は以下の通りです。
&ref(layout.png);
** LPCXpresso6へのプロジェクト作成 [#l8169351]
今回lbedをLM4F120 PaunchPadに移植するにあたって一番苦労し...
プロジェクトを作成することでした。
CPU Settingでm4を選択し、試行錯誤でようやくLM4F120 Paunch...
*** TestLEDのLED点滅で動作確認 [#t3e8c3e6]
最初の動作確認は、LEDをチカチカするTestLEDです。
LM4F120 PaunchPadには、3色LEDと2個のタクトスイッチがつい...
PinNames.hでは以下の様に定義しています。
- LEDR : PF1 赤のLED
- LEDB: PF2 青のLED
- LEDG: PF3 緑のLED
- SW1: J4_10
- SW2: J2_4
TestLED.cppは、以下の様になります。
#pre{{
#include "lbed.h"
int main(void) {
DigitalOut myled(LEDG);
while(1) {
myled = ! myled;
wait_ms(1000);
}
}
}}
あまりに単純で驚かないでください。((LEDを変数のように代入...
&ref(LM4F120_LaunchPad.png);
*** LM4F120 PaunchPadへのダウンロード [#s4253a62]
アプリケーションのLM4F120 PaunchPadへのダウンロードには、...
詳しくは、[[arm/Stellaris LM4F120 LaunchPad評価ボード]]を...
ターミナルでOpenOCDのディレクトに移動し、以下のコマンドを...
((-sオプションでtclディレクトリを指定していますが、openoc...
#pre{{
$ ./openocd-code/src/openocd -s ./openocd-code/tcl/ -f LM...
Open On-Chip Debugger 0.8.0-dev-00131-gf4943ac (2013-09-0...
Licensed under GNU GPL v2
For bug reports, read
http://openocd.sourceforge.net/doc/doxygen/bugs.html
Info : This adapter doesn't support configurable speed
Info : ICDI Firmware version: 9270
Info : lm4f120h5qr.cpu: hardware has 6 breakpoints, 4 wat...
}}
最後に 4 watchpointsと出ていれば、正常にOpenOCDが起動した...
*** Zylin CDTのインストール [#yfad14a0]
次に、LPCXpressoにZylin CDTのプラグインをインストールしま...
手順については、[[arm/開発環境のセットアップ]]を参照して...
RunメニューからDebug Configurations…を選択し、Zylin Embed...
&ref(th_debug_config1.jpg);
Debuggerタグでは、GDB debuggerをセットしますが、Browser… ...
/Applications/lpcxpresso_6.0.2_151/lpcxpresso/tools/bin/a...
を選択します。
Commandsタグでは、Initialize commandsに以下のテキストをコ...
#pre{{
target remote localhost:3333
monitor reset halt
load
monitor reset init
thbreak main
}}
これで、Debugボタンを押すとmyvectorsで止まった状態になり...
これは、停止したときのアドレスなので、場合によって異なる...
&ref(halt_at.png);
ここで、RunメニューのResumeを選択すると、無事main関数の最...
&ref(stop_at_main.png);
このままデバッグすることできますし、RunメニューのResumeを...
6行の左端をダブルクリックすると、6行にブレークポイントセ...
途中でプログラムを止めることもできます。
** TestLCDで文字列を表示 [#kd4c2c72]
mbedライクなクラスライブラリlbedを使う理由は、mbedの豊富...
あります。
試しに、LPC1343への移植で使ったTextLCDを使ってLCDにテキス...
オレンジボードに接続したLCDには、以下の様に接続します。
| CNピン名 | 信号名 | LM4F LaunchPadピン |h
| p24 | E | P1_9:PA6 |
| p26 | RS | P1_10:PA7 |
| p27 | DB4 | P2_10:PA2 |
| p28 | DB5 | P2_9:PA3 |
| p29 | DB6 | P2_8:PA4 |
| p30 | DB7 | P1_8:PA5 |
TestLCD.cppも以下の様にします。
#pre{{
#include "lbed.h"
#include "TextLCD.h"
int main(void) {
int count = 0;
DigitalOut myled(LEDG);
TextLCD lcd(PA_6, PA_7, PA_2, PA_3, PA_4, PA_5); ...
lcd.print("Hello World!");
while(1) {
lcd.locate(0, 1);
lcd.print("Count=");
lcd.print(count++);
myled = ! myled;
wait_ms(1000);
}
}
}}
実行すると、以下の様にHello World!と表示し、その下にCount...
&ref(LCD_Setting.png);
** 最新のソース [#s5c7df83]
LM4F120 LaunchPad版のソースは、Githubの以下のURLにありま...
- https://github.com/take-pwave/lbed
** コメント [#h8bd6a64]
#vote(おもしろかった,そうでもない,わかりずらい)
皆様のご意見、ご希望をお待ちしております。
#comment_kcaptcha
終了行:
[[lbed]]
#contents
2013/10/13からのアクセス回数 &counter;
[[lbedクラスライブラリでARM学習基板で実験>lbed/08-ARM学習...
このようなクラスライブラリの実用性を実感することができま...
そこで、デバッガを搭載してDSP命令、PFUを搭載したTiのStell...
評価ボード(以下LM4F120 PaunchPadと記す)を使ってLPC以外...
ようなクラスライブラリが有効であることをみてみましょう。
LM4F120用のOpenOCDの作成については、[[arm/Stellaris LM4F1...
** PinNamesの設定 [#q9469b77]
LM4F120 PaunchPadでは、J1, J3, J4, J2のコネクターから40本...
今回は、J1の1番ピンについて、P1_1とピン番号を付け、PA0の...
PA_0のようにピン番号を命名しました。
ピンの配置とレジスターの関係は以下の通りです。
&ref(layout.png);
** LPCXpresso6へのプロジェクト作成 [#l8169351]
今回lbedをLM4F120 PaunchPadに移植するにあたって一番苦労し...
プロジェクトを作成することでした。
CPU Settingでm4を選択し、試行錯誤でようやくLM4F120 Paunch...
*** TestLEDのLED点滅で動作確認 [#t3e8c3e6]
最初の動作確認は、LEDをチカチカするTestLEDです。
LM4F120 PaunchPadには、3色LEDと2個のタクトスイッチがつい...
PinNames.hでは以下の様に定義しています。
- LEDR : PF1 赤のLED
- LEDB: PF2 青のLED
- LEDG: PF3 緑のLED
- SW1: J4_10
- SW2: J2_4
TestLED.cppは、以下の様になります。
#pre{{
#include "lbed.h"
int main(void) {
DigitalOut myled(LEDG);
while(1) {
myled = ! myled;
wait_ms(1000);
}
}
}}
あまりに単純で驚かないでください。((LEDを変数のように代入...
&ref(LM4F120_LaunchPad.png);
*** LM4F120 PaunchPadへのダウンロード [#s4253a62]
アプリケーションのLM4F120 PaunchPadへのダウンロードには、...
詳しくは、[[arm/Stellaris LM4F120 LaunchPad評価ボード]]を...
ターミナルでOpenOCDのディレクトに移動し、以下のコマンドを...
((-sオプションでtclディレクトリを指定していますが、openoc...
#pre{{
$ ./openocd-code/src/openocd -s ./openocd-code/tcl/ -f LM...
Open On-Chip Debugger 0.8.0-dev-00131-gf4943ac (2013-09-0...
Licensed under GNU GPL v2
For bug reports, read
http://openocd.sourceforge.net/doc/doxygen/bugs.html
Info : This adapter doesn't support configurable speed
Info : ICDI Firmware version: 9270
Info : lm4f120h5qr.cpu: hardware has 6 breakpoints, 4 wat...
}}
最後に 4 watchpointsと出ていれば、正常にOpenOCDが起動した...
*** Zylin CDTのインストール [#yfad14a0]
次に、LPCXpressoにZylin CDTのプラグインをインストールしま...
手順については、[[arm/開発環境のセットアップ]]を参照して...
RunメニューからDebug Configurations…を選択し、Zylin Embed...
&ref(th_debug_config1.jpg);
Debuggerタグでは、GDB debuggerをセットしますが、Browser… ...
/Applications/lpcxpresso_6.0.2_151/lpcxpresso/tools/bin/a...
を選択します。
Commandsタグでは、Initialize commandsに以下のテキストをコ...
#pre{{
target remote localhost:3333
monitor reset halt
load
monitor reset init
thbreak main
}}
これで、Debugボタンを押すとmyvectorsで止まった状態になり...
これは、停止したときのアドレスなので、場合によって異なる...
&ref(halt_at.png);
ここで、RunメニューのResumeを選択すると、無事main関数の最...
&ref(stop_at_main.png);
このままデバッグすることできますし、RunメニューのResumeを...
6行の左端をダブルクリックすると、6行にブレークポイントセ...
途中でプログラムを止めることもできます。
** TestLCDで文字列を表示 [#kd4c2c72]
mbedライクなクラスライブラリlbedを使う理由は、mbedの豊富...
あります。
試しに、LPC1343への移植で使ったTextLCDを使ってLCDにテキス...
オレンジボードに接続したLCDには、以下の様に接続します。
| CNピン名 | 信号名 | LM4F LaunchPadピン |h
| p24 | E | P1_9:PA6 |
| p26 | RS | P1_10:PA7 |
| p27 | DB4 | P2_10:PA2 |
| p28 | DB5 | P2_9:PA3 |
| p29 | DB6 | P2_8:PA4 |
| p30 | DB7 | P1_8:PA5 |
TestLCD.cppも以下の様にします。
#pre{{
#include "lbed.h"
#include "TextLCD.h"
int main(void) {
int count = 0;
DigitalOut myled(LEDG);
TextLCD lcd(PA_6, PA_7, PA_2, PA_3, PA_4, PA_5); ...
lcd.print("Hello World!");
while(1) {
lcd.locate(0, 1);
lcd.print("Count=");
lcd.print(count++);
myled = ! myled;
wait_ms(1000);
}
}
}}
実行すると、以下の様にHello World!と表示し、その下にCount...
&ref(LCD_Setting.png);
** 最新のソース [#s5c7df83]
LM4F120 LaunchPad版のソースは、Githubの以下のURLにありま...
- https://github.com/take-pwave/lbed
** コメント [#h8bd6a64]
#vote(おもしろかった,そうでもない,わかりずらい)
皆様のご意見、ご希望をお待ちしております。
#comment_kcaptcha
ページ名:
SmartDoc