ラベル LPCXpresso の投稿を表示しています。 すべての投稿を表示
ラベル LPCXpresso の投稿を表示しています。 すべての投稿を表示

2016年1月5日火曜日

LPCXPresso1769/CD(OM13085)をmbedとして使う

LPC1769 LPCXpresso/LPCXPresso1769 with CMSIS-DAP(OM13085)に搭載されているデバッガー(LPC11U35)のファームウェアを書き換えてmbed対応にしました。

LPC1768/LPC1769専用のフラッシュアルゴリズムに変更。
DAP_LEDでファイル書込み・シリアル通信のLEDを代用。
プログラム書込み後に自動リセットするように変更。

動作例



mbed対応方法


SW1を押しながらUSB接続するとCRP DISABLDのドライブが現れるので、firmware.binを削除して次のファイルをコピーします。
lpc11u35_lpcxpresso1769_if.bin(29,236 バイト) または lpc11u35_lpc_if.bin(29,712 バイト)

printf()等のUSBシリアル通信を使うには R66 R67 を付けて下さい。


WindowsでCMSIS-DAPを使うにはUSBシリアルドライバ(mbedWinSerial_16466.exe)をインストールして下さい。

https://developer.mbed.org/users/va009039/code/lpcxpresso1769_helloworld/

ファームウェアの再構築方法


Keil MDK-Lite 4.74 をダウンロード、インストール。
リポジトリ https://bitbucket.org/va009039/lpc11u35_cmsis-dap をダウンロード(クローン)。
MDKでプロジェクトファイル interface/mdk/lpc11u35/lpc11u35_lpcxpresso1769_interface.uvproj を開く。
ターゲット lpc11u25_lpcxpresso1769_if をビルド。
ファームウェア firmware/lpc11u35_lpcxpresso1769_if.bin が出来上がります。

(2016/1/11)
(2016/2/5)修正
---

2015年12月10日木曜日

"LPCXpresso1769/CD"互換機の試作



最新の「LPCXpresso 1769 with CMSIS-DAP」はデバッガーがLPC11U35に変更になりました。
まだ入手できそうもないので、互換機をTG-LPC11U35-501と旧版のLPCXpresso LPC1769 Rev.Bで作ってみました。

製品のファームウェアの詳細がわからないが、mbedインターフェースのを使えば書込み用のソフトウェアを使わずにドラッグ・アンド・ドロップでプログラムを書き込む事が出来ます。
ローカルストレージが付いていない mbed LPC1768 とほぼ同等になります。
イーサネットのPHYチップがLAN8720で違いますが、mbedライブラリが自動判定して動きます。

結線

TG-LPC11U35-501とLPCXpresso LPC1769を次のように繋げます。
TG-LPC11U35-501 LPCXpresso1769 Rev.B
TARGET_SWDIO CN1-6(PIO0_8) J4-4
TARGET_SWCLK CN1-8 (PIO0_7) J4-6
TARGET_NRESET CN2-11(PIO0_1) J4-12
TARGET_TXD CN1-10(PIO0_19) J6-21(P0_2)
TARGET_RXD CN1-9(PIO0_18) J6-22(P0_3)
TARGET_ISP CN2-15(PIO1_15) J6-51(P2_10)
ISP は使ってないがファームウェアの動作確認のために繋げておきます。
Flash Magic に対応して DTR/RTS で RESET/ISP を制御するのかもしれない。

回路図

ファームウェア

TG-LPC11U35-501に次のファームウェアをUSB ISPで書込みます。
(2015/12/10)
---

2014年2月22日土曜日

LPCXpresso LPC1347でmbedインターフェースを動かす



以前の「LPCXpresso LPC1347でmbedインターフェースを動かしてみました。2013年12月5日」の追加です。

・割り込みハンドラ名の修正。USB_IRQn→USB_IRQ_IRQn USB_IRQHandler→USB_Handler
・IRCCTRLの削除。usbd_LPC13Uxx.c
・CPUクロック(CPU_CLOCK,OS_CLOCK)の変更。
・startupはmbedライブラリのを改造。TARGET_LPC13XX
LPC1347インターフェースのRTXをCortex-M3コードへ変更。

LPC1347をmbedにもしている(LPC800-MAXのファームウェアをLPC1347対応に変更。DipCortex M3のバイナリーが動きます)ので、ピン配置の便宜上、ピン割り当てをLPC11U35のから変更しました。

// SWCLK Pin P0_9
// SWDIO In/Out Pin P0_2
// nRESET Pin P0_8
DAP_config.h

// SW P1_29
// DAP_LED(green) P0_22
// MSD_LED P1_20
// CDC_LED P0_23
gpio.c

(2014/2/22)
---

2013年11月21日木曜日

LPC800-MAXでLPCXpresso LPC1347ボードを使う


LPC800-MAXに載っているLPC812を無効にするためにR23を外す。


有効にしたい時の為にJP2にピンヘッダを付けておく。


JP2のジャンパーピンを外して(JP2 OPEN)、LPC800-MAXにLPCXpresso LPC1347ボードを載せる。


SWD接続しているのでCMSIS-DAPでデバッグが出来ます。

ドラッグアンドドロップでのプログラムの書き込みは出来ません。ディスクにfail.txt(SWD ERROR)が作成されます。

(2013/11/21)
---

LPC800-MAX(LPC11U35)のファームウェアを変更する事によってドラッグアンドドロップでのプログラムの書き込みも出来るようになります。

使用例:


P0_7 LPC1347ボードの赤色LED
P0_22 LPC800-MAXボードの青色LED
P0_23 LPC800-MAXボードの緑色LED
P1_22 LPC800-MAXボードの赤色LED

(2013/12/30 追加)
---

2013年8月20日火曜日

LPCXpresso IDE でLPC1114FN28を使う準備

python2.7,jinja2,mbed SDK をインストールする。

LPCXpresso IDEをインストールする。

workspace_tools/private_settings.py に
GCC_CR_PATH = "C:/nxp/LPCXpresso_5.1.2_2065/lpcxpresso/tools/bin"
を追加する。

libraries/mbed/targets/cmsis/TARGET_NXP/TARGET_LPC11XX/TOOLCHAIN_GCC_CR/
lpc1114.ld を追加する。TOOLCHAIN_GCC_ARM/lpc1114.ld からコピーするだけ?
startup_LPC11xx.cpp を修正する。LPC11Uxx.h ではなく LPC11xx.h をインクルード出来るようにする。
ベクターテーブルの変更?

workspace_tools/targets.py
class LPC1114 のsupported_toolchains に GCC_CR を追加する。

mbedクラスライブラリの構築
python build.py -m LPC1114 -t GCC_CR を実行する。

workspace_tools/export/codered.py
TARGETS に LPC1114 を追加する。

workspace_tools/export/
codered_lpc1114_project.tmpl を作成する。codered_lpc1768_project.tmpl をコピーするだけ。
codered_lpc1114_cproject.tmplを作成する。codered_lpc1768_cproject.tmpl を参考にする。
LPCXpresso IDEでMCUを変更するならばコピーするだけ。

プロジェクトの作成
python project.py -m LPC1114 -i codered -p 36 -b を実行する。
build/export/MBED_10_codered_LPC1114.zip が作成される。

LPCXpresso IDEでimport projectする。

codered_lpc1768_cproject.tmpl の作成が完璧でない場合は、MCU settings で LPC1114 に変更する。

ビルドする。

***

試しにLPC1768版でビルドしてみたが、コードサイズが31Kバイトくらいになってしまった。
printfを使うと大きくなるような。

(2013/8/20)
---