マイコン工作実験日記

Microcontroller を用いての工作、実験記録

ようやくSAM-BA

2009-03-22 20:03:08 | ARM9
千石にてチップ抵抗100Ωをゲット。ボード上にハンダづけ。SAMBAジャンパを挿して、SAM-BAに再挑戦です。



電源入れても、U-Bootが動かなくなりました。USBでつなげてデバイス・マネージャを確認するとこんな↓感じ。。



SAM-BAを起動して、ボード種別として同じAT91SAM9260を使っているAT91SAM9260-EKを選択。



Connectボタンを押すと、無事にSAM-BAが立ち上がりました。このテのソフトに良くあるように、TCLをベースに作られているようです。tclshのウインドウがあるので、試しにexprしてみました。



Linuxを書き戻すには、NandFlashのタブを選択して、書き込むファイルとそのアドレスを指定してSend Fileをしてやります。PropoxのCDには、必要な一連の操作を自動的に実行してくれるBATファイルが用意されているので、いったんSAM-BA GUIは終了して、このバッチファイルを実行してみました。



このバッチファイルでは、SAM-BAをバッチモードで実行し、指定したTCLスクリプトファイルの指示にしたがって必要ファイルの書き込みをおこなってくれるようになっています。生成されたログ・ファイルはこんな↓でした。
-I- Waiting ...
connection : usbARM0
board : AT91SAM9260-EK
target(handle) : 18073160
read chip ID : 0x00000010 at addr: 0xFFFFEE40
read chip ID : 0x019803A2 at addr: 0xFFFFF240
-I- Found processor : AT91SAM9260 (0x019803A0)
-I- Loading applet isp-extram-at91sam9260.bin at address 0x200000
-I- Memory Size : 0x4000000 bytes
-I- Buffer address : 0x2007C4
-I- Buffer size: 0x0 bytes
-I- Applet initialization done
-I- External RAM initialized
script file : MMnet1000_linux_nandflash.tcl
-I- === Initialize the NAND access ===
-I- NANDFLASH::Init (trace level : 3)
-I- Loading applet isp-nandflash-at91sam9260.bin at address 0x20000000
-I- Memory Size : 0x40000000 bytes
-I- Buffer address : 0x200047E4
-I- Buffer size: 0x40000 bytes
-I- Applet initialization done
-I- === Load the bootstrap: nandflash_at91sam9-ek in the first sector ===
GENERIC::SendFile AT91Boot_nandflash_MMnet1000.bin at address 0x0
-I- File size : 0xFF4 byte(s)
-I- 	Writing: 0xFF4 bytes at 0x0 (buffer addr : 0x200047E4)
-I- 	0xFF4 bytes written by applet
-I- === Load the u-boot in the next sectors ===
-I- Send File u-boot_nandflash.bin at address 0x00040000
GENERIC::SendFile u-boot_nandflash.bin at address 0x40000
-I- File size : 0x2508C byte(s)
-I- 	Writing: 0x2508C bytes at 0x40000 (buffer addr : 0x200047E4)
-I- 	0x2508C bytes written by applet
-I- === Load the u-boot environment variables ===
-I- Send File ubootEnvtFileNandFlash.bin at address 0x00080000
GENERIC::SendFile ubootEnvtFileNandFlash.bin at address 0x80000
-I- File size : 0x20000 byte(s)
-I- 	Writing: 0x20000 bytes at 0x80000 (buffer addr : 0x200047E4)
-I- 	0x20000 bytes written by applet
-I- === Load the Kernel image ===
-I- Send File uImage at address 0x00200000
GENERIC::SendFile uImage at address 0x200000
-I- File size : 0x13AFE0 byte(s)
-I- 	Writing: 0x40000 bytes at 0x200000 (buffer addr : 0x200047E4)
-I- 	0x40000 bytes written by applet
-I- 	Writing: 0x40000 bytes at 0x240000 (buffer addr : 0x200047E4)
-I- 	0x40000 bytes written by applet
-I- 	Writing: 0x40000 bytes at 0x280000 (buffer addr : 0x200047E4)
-I- 	0x40000 bytes written by applet
-I- 	Writing: 0x40000 bytes at 0x2C0000 (buffer addr : 0x200047E4)
-I- 	0x40000 bytes written by applet
-I- 	Writing: 0x3AFE0 bytes at 0x300000 (buffer addr : 0x200047E4)
-I- 	0x3AFE0 bytes written by applet


NANDフラッシュを4つの領域に分けて、それぞれに次のものを書き込んでいます。

  • AT91Boot
  • u-Boot
  • u-Bootへのパラメータ
  • Linux Image

完全なLinux環境を構築するためのは5つ目のファイルとしてLinuxのファイルシステムも書き込む必要がありますが、このスクリプトではコメントアウトしてありました。カーネルのハックを中心的にやっていて、FSの方はあまりいじっていなかった名残なのかもしれません。

フラッシュへの書き込み方法はわかったので、いよいよ自分でプログラムを作成する段階へ進めます。

最新の画像もっと見る

コメントを投稿

ブログ作成者から承認されるまでコメントは反映されません。