ARM
ARM
ARM
ARM7/TDMI
7/TDMI
7/TDMI
7/TDMI
LPC
LPC
LPC
LPC247
247
2478
247
8
8----uC
8
uC
uCllllinux
uC
inux
inux
inux
マニュアル
マニュアル
マニュアル
マニュアル
株式会社日新テクニカ
株式会社日新テクニカ
株式会社日新テクニカ
株式会社日新テクニカ
http://www.nissin
http://www.nissin
http://www.nissin
http://www.nissin----tech.com
tech.com
tech.com
tech.com
info@nissin
info@nissin
info@nissin
[email protected]
tech.com
tech.com
tech.com
2012/1/15
第一章 第一章 第一章 第一章 LPC2478 LPC2478 LPC2478 LPC2478ボードの概要ボードの概要ボードの概要ボードの概要... 3 第二章 第二章 第二章
第二章 uClinux uClinux uClinux uClinuxの初体験の初体験の初体験の初体験... 4 2.1
2.12.1
2.1 SDSDSDSDカードのテストカードのテストカードのテストカードのテスト... 4 2.2
2.22.2
2.2 USBUSBUSBUSBメモリのテストメモリのテストメモリのテストメモリのテスト... 5 2.3
2.32.3
2.3 USB DevicesUSB DevicesUSB DevicesUSB Devicesのテストのテストのテストのテスト... 6 2.4
2.42.4
2.4 networknetworknetworknetworkのテストのテストのテストのテスト... 6 第三章
第三章 第三章
第三章 uClinux uClinux uClinux uClinuxのコンパイルのコンパイルのコンパイルのコンパイル... 7 3.1
3.13.1
3.1 仮想マシンでの仮想マシンでの仮想マシンでの仮想マシンでのLinuxLinuxLinuxLinux開発環境開発環境開発環境開発環境... 7 3.2
3.23.2
3.2 UU----bootUUbootbootbootのコンパイルのコンパイルのコンパイルのコンパイル... 10 3.3
3.33.3
3.3 uClinuxuClinuxuClinuxuClinuxのコンパイルのコンパイルのコンパイルのコンパイル... 12 第四章 第四章 第四章 第四章 生成されたファイルの使用生成されたファイルの使用生成されたファイルの使用生成されたファイルの使用... 12 4.1 4.14.1
4.1 uu----bootuubootboot ... 12 boot 4.2
4.24.2
4.2 SDSDSDSDカードでカードでカードでカードでuClinuxuClinuxuClinuxuClinuxをブートするをブートするをブートするをブートする... 13 4.3
4.34.3
4.3 USBUSBUSBUSBメモリでメモリでメモリでメモリでuClinuxuClinuxuClinuxuClinuxをブートするをブートするをブートするをブートする... 15 4.4
4.44.4
4.4 NetworkNetworkNetworkNetworkででででuClinuxuClinuxuClinuxuClinuxをブートするをブートするをブートするをブートする... 17 4.5
4.54.5
4.5 uClinux uClinux uClinux uClinuxををををFlashFlashFlashFlashに書き込むに書き込むに書き込むに書き込む... 18
※ 使用されたソースコードは
使用されたソースコードは
使用されたソースコードは
使用されたソースコードはhttp://
http://
http://
http://www.nissin
www.nissin
www.nissin
www.nissin -
-tech.
-
-
tech.
tech.
tech.co
co
com
co
m
m/
m
/
/
/
からダウンロードできます。
からダウンロードできます。
からダウンロードできます。
からダウンロードできます。
※ この文書の情報は、事前の通知なく変更されることがあり
この文書の情報は、事前の通知なく変更されることがあり
この文書の情報は、事前の通知なく変更されることがあり
この文書の情報は、事前の通知なく変更されることがあり
ます。
ます。
ます。
ます。
※ (
(
(
( 株
株
株
株)
)
)
) 日新テクニカの書面による許可のない複製は、いかな
日新テクニカの書面による許可のない複製は、いかな
日新テクニカの書面による許可のない複製は、いかな
日新テクニカの書面による許可のない複製は、いかな
る形態においても厳重に禁じられています。
る形態においても厳重に禁じられています。
る形態においても厳重に禁じられています。
る形態においても厳重に禁じられています。
第
第
第
第一
一
一
一章
章
章
章
LPC2478
ボードの概要
ボードの概要
ボードの概要
ボードの概要
• ARM7/TDMIコアを採用したNXP 社のLPC2478(周波数72MHz, 512KB Flash, 98KB SRAM, UART×4, CAN2.0B×2, I2C×3, ADC×8など)
• CPUのすべてのI/Oを2.54mm拡張ヘッダで引き出されます。 • 10ピン2mmピンチの標準JTAG/ICE • USBシリアルポート×1, ISP機能付け • 10/100M Ethernet • ユーザLED ×1 • ユーザ・ボタン×2
• USB2.0 device ×1, USB2.0 Host
• SD/MMCカードスロット(裏面) • IIC(24LC02) • 外形寸法: 99×64(mm) ※突起物は除く • 5V給電、電源スイッチと指示LED付き 32MB 32MB 32MB 32MB SDRAM SDRAMSDRAM SDRAM JTAG JTAGJTAG JTAG 16MB Flash 16MB Flash16MB Flash 16MB Flash 10/100M LAN 10/100M LAN10/100M LAN 10/100M LAN 5V 5V5V 5V USB USB USB USB COM COM COM COM USB USB USB USB USB HOST USB HOST USB HOST USB HOST LPC2478 LPC2478LPC2478 LPC2478
第
第
第
第二
二
二
二章
章
章
章
uClinux
の初体験
の初体験
の初体験
の初体験
uClinux-2.6.2xがプリインストールされました。USBケーブルでボードとパソコンを接続 します。パソコンにはUSBシリアルCP2102のドライバをインストールして、ハイパータ ーミナルを開きます。ボーレート115200。2.1
SD
カードのテスト
カードのテスト
カードのテスト
カードのテスト
ボードを給電する前に、SDカードを挿入します。uClinuxが起動した後、コンソールで次 のコマンドを入力します。 SD Card SD Card SD Card SD Card2.2
USB
メモリのテスト
メモリのテスト
メモリのテスト
メモリのテスト
ボードのUSB HOSTポートにUSBメモリを挿入します。ハイパーターミナルで次の情報 が出てきます。「Enter」キーを押します。
コンソールで次のコマンドでUSBメモリをマウントします。
# mount -t vfat /dev/sda1 /mnt/usbmem
2.3
USB Devices
のテスト
のテスト
のテスト
のテスト
LPC2478はUSBメモリとして使えます。次のコマンド: LPC2478のSDカードはUSBメモリに変身します。USBケーブルでボードとパソコンを 接続すると、LPC2478がシミュレータしたUSBメモリが見えます。2.4
network
のテスト
のテスト
のテスト
のテスト
ボードにIPアドレスを設定し、HTTPサーバを起動します。 パソコンはLPC2478サーバが見えます。第
第
第
第三
三
三
三章
章
章
章
uClinux
のコンパイル
のコンパイル
のコンパイル
のコンパイル
3.1
仮想マシンでの
仮想マシンでの
仮想マシンでの
仮想マシンでの
Linux
開発環境
開発環境
開発環境
開発環境
まず、仮想マシンソフトVMware Playerをダウンロード&インストールします。
http://kanebebe.dip.jp/download/VMware+Linux/VMware-player-4.0.1-528992.exe
LPC2478開発用の仮想Linux環境をダウンロードして、解凍します。
http://kanebebe.dip.jp/download/LPC2478/LPC2478_uClinux.rar
「仮想マシンを開く」を選択し、
LPC2478用の仮想Linuxが起動した後の様子。
3.2
U-boot
のコンパイル
のコンパイル
のコンパイル
のコンパイル
Terminalで次のコマンド
u-boot-1.1.6に入ります。次のコマンドでLPC2478用のu-bootを配置します。
# make LPC2478OEM_Board_32bit_config
次のコマンドで生成されたのbinファイルをhexファイルに変換します。
#
arm-linux-objcopy -I binary -O ihex u-boot.bin u-boot.hex
生成された
u-boot.hex
ファイルを
Flash MagicツールでLPC2478の内部Flashに書き込み ます。3.3
uClinux
のコンパイル
のコンパイル
のコンパイル
のコンパイル
uClinux-distに入ります。
makeコマンドでコンパイルを開始させます。
最後、
uClinux-dist/imagesにはuClinuxのカーネルuLinux.binとファイルシステムromfs.imgが 生成されます。第
第
第
第四
四
四
四章
章
章
章
生成されたファイルの使用
生成されたファイルの使用
生成されたファイルの使用
生成されたファイルの使用
4.1
u-boot
生成された
u-boot.hex
ファイルを
Flash MagicツールでLPC2478の内部Flashに書き込みu-bootの画面です。
4.2
SD
カードで
カードで
カードで
カードで
uClinux
をブートする
をブートする
をブートする
をブートする
生成された
uClinux
のファイル
romfs.imgとuLinux.binをSDカードにコピーします。SDカ ードをボードに挿入します。次のコマンドで
uClinux
のカーネルをボードのメモリの
0x1500000にロードします。# fatload mmc 0 a1500000 uLinux.bin
次のコマンドで
uClinux
のファイルシステムをボードのメモリの
0x1800000にロードします。
次のコマンドでuClinuxを起動させます。
# bootm a1500000
4.3
USB
メモリで
メモリで
メモリで
メモリで
uClinux
をブートする
をブートする
をブートする
をブートする
生成された
uClinux
のファイル
romfs.imgとuLinux.binをUSBメモリにコピーします。USB メモリをボードに挿入します。次のコマンドで
uClinux
のカーネルをボードのメモリの
0x1500000にロードします。# fatload usb 0 a1500000 uLinux.bin
次のコマンドで
uClinux
のファイルシステムをボードのメモリの
0x1800000にロードします。
# fatload usb 0 a1800000 romfs.img
次のコマンドでUSBデバイスを停止します。しないと、uClinuxが起動できません!
# usb stop
次のコマンドでuClinuxを起動させます。
# bootm a1500000
4.4
Network
で
で
で
で
uClinux
をブートする
をブートする
をブートする
をブートする
パソコンで tftp サーバを起動させます。生成された uClinux のファイル romfs.img と uLinux.binをtftpサーバに保存しています。 u-bootのコンソールでprintenvコマンドでボードの設定をリストします。 ボード自分のIPアドレスは192.168.5.233です。TftpサーバのIPアドレスは192.168.5.10 です。自分のネットワークに合わないと、次のコマンドで改修します。# setenv ipaddr 192.168.1.103
ボードの
ボードの
ボードの
ボードの
IP
アドレスの設定
アドレスの設定
アドレスの設定
アドレスの設定
# setenv serverip 192.168.1.100
tftp
サーバの
サーバの
サーバの
サーバの
IP
アドレスの設定
アドレスの設定
アドレスの設定
アドレスの設定
# saveenv
保存します。
保存します。
保存します。
保存します。
次のコマンドで
uClinux
のカーネルをボードのメモリの
0x1500000にロードします。# tftpboot usb 0 a1500000 uLinux.bin
次のコマンドで
uClinux
のファイルシステムをボードのメモリの
0x1800000にロードします。
# tftpboot usb 0 a1800000 romfs.img
# bootm a1500000
4.5
uClinux
を
を
を
を
Flash
に書き込む
に書き込む
に書き込む
に書き込む
次のコマンドで
Flash
の内容を削除します
。# erase bank 2
4.2, 4.3, 4.4を参照して、SDカードまたはUSBメモリまたはNetworkでuClinuxのファ イルをSDRAMにロードします。
次のコマンドで
uClinux
のカーネルを
Flash
に書き込む
。# cp.b a1500000 80000000 200000
0xa 0xa 0xa0xa1500000150000015000001500000 は SDRAM の uClinux カーネルのアドレス、0x80x800000000x80x8000000000000000000000 は書き込み先の Flashのアドレス、0x20x20x20x200000000000000000000は書き込み長さです。
次のコマンドで
uClinux
のファイルシステムを
Flash
に書き込む
。# cp.b a1800000 80200000 200000
0x 0x 0x0xaaaa1111888800000000000000000000はSDRAMのuClinuxファイルシステムのアドレス、0x80x80x80x80000222200000000000000000000は書き込 み先のFlashのアドレス、0x20x2000000x20x2000000000000000は書き込み長さです。