标题:
powerpc mpc8313调试实验流程
[打印本页]
作者:
yuyang911220
时间:
2015-10-25 17:26
标题:
powerpc mpc8313调试实验流程
mpc8313调试实验流程
硬件:1. MPC8313ERDB development board
2. usbtap JTAG
软件:1. codewarrior for powerpc
2. powerpc-linux-gcc
3. u-boot
4. linux kernel
一、 CPU片选分配和地址映射
address range target interface chip-select line device name port size(bits)
0x00000000~0x07ffffff DDR2 MCS0# DDR SDRAM(128 Mbyte) 32
0x80000000~0x9fffffff PCI Nil PCI memory space(512Mbyte) 32
0xe0000000~0xe00fffff internal bus Nil IMMR(1 Mbyte)
0xe2000000~0xe20fffff PCI Nil PCI I/O space(1 Mbyte) 32
0xe2800000~0xe2807fff NAND controller LCS1# NAND flash(32kbyte) 8
0xf0000000~0xf001ffff local bus LCS2# vsc7385(128kbyte) 8
0xfa000000~0xfa07ffff local bus LCS3# read/write buffer(32kbyte) 8
0xfe000000~0xfe7fffff local bus LCS0# boot flash(8Mbyte) 16
二、flash起始地址和内容分配
start ~ end definition
0xfe000000~0xfe0fffff u-boot
0xfe100000~0xfe2fffff linux kernel
0xfe300000~0xfe6fffff ramdisk/jffs file system
0xfe700000~0xfe70ffff of tree
0xfe710000~0xfe72ffff vitesse 7385 image_loader program
0xfe730000~0xfe7fdffff reserved
0xfe7fe000 ~0xfe7ffffff vitesse 7385 firmware image
三、编译u-boot并使用 codewarrior下载
u-boot$>make MPC8313ERDB_33_config
u-boot$>make all CROSS_COMPILE=powerpc-linux-
在进行u-boot烧写时先将拨码开关设置如下:
Switch 1 2 3 4
SW3 1 0 1 1
SW4 1 1 1 1
烧写完成后关闭电源将其设置为默认如下:
Switch 1 2 3 4
SW3 0 0 0 0
SW4 1 1 1 1
连接好串口和网络接口,打开超级终端,启动 u-boot至命令提示符。
使用setenv设置环境变量(正确的环境变量设置是启动linux保证)设置内容如下:
(需要根据自身硬件 环境修改)
CPU: e300c3, MPC8313, Rev: 1.0 at 333.333 MHz, CSB: 166.667 MHz
Board: Freescale MPC8313ERDB
I2C: ready
DRAM: 128 MB
FLASH: 8 MB
NAND: 32 MiB
In: serial
Out: serial
Err: serial
Net: TSEC0: No support for PHY id ffffffff; assuming generic
TSEC0, TSEC1 [PRIME]
Hit any key to stop autoboot: 0
=> printenv
ramboot=setenv rootdev /dev/ram;run setbootargs;tftp $ramdiskaddr$ramdiskfile;tftp $loadaddr $bootfile;tftp $fdtaddr $fdtfile;bootm$loadaddr $ramdiskaddr $fdtaddr
nfsboot=setenv rootdev /dev/nfs;run setbootargs;run setipargs;tftp$loadaddr $bootfile;tftp $fdtaddr $fdtfile;bootm $loadaddr - $fdtaddr
baudrate=115200
loads_echo=1
ethaddr=00:E0:0C:00:95:01
eth1addr=00:E0:0C:00:95:02
rootpath=/nfs/root/path
hostname=mpc8313erdb
bootfile=uImage
netdev=eth1
ethprime=TSEC1
uboot=u-boot.bin
tftpflash=tftpboot $loadaddr $uboot; protect off 0xFE000000 +$filesize;erase 0xFE000000 +$filesize; cp.b $loadaddr 0xFE000000 $filesize;protect on 0xFE000000 +$filesize; cmp.b $loadaddr 0xFE000000 $file
fdtfile=mpc8313erdb.dtb
console=ttyS0
setbootargs=setenv bootargs root=$rootdev rw console=$console,$baudrate $othbootargs
setipargs=setenv bootargs nfsroot=$serverip
rootpathip=$ipaddr
serverip
gatewayip
netmask
hostname
netdev
ffroot=$rootdev rw console=$console,$baudrate $othbootargs
ethact=TSEC1
loadaddr=200000
fdtaddr=400000
bootcmd=bootm fe100000 fe300000 fe700000
bootdelay=3
ramdiskaddr=fe300000
filesize=460000
fileaddr=1000000
famdiskfile=rootfs.ext2.gz.uboot
ramdiskfile=rootfs.ext2.gz.uboot
netmask=255.255.255.0
bootargs=nfsroot=192.168.3.100:/nfs/root/pathip=192.168.3.200:192.168.3.100:192.168.3.1:255.255.255.0:mpc8313erdb:eth1
ffroot= rw console=ttyS0,115200
rootdev=/dev/nfs run setbootargs run setipargs bootm fe100000 - fe700000
imboot=setenv rootdev /dev/nfs run setbootargs run setipargs bootm fe100000 - fe700000
ipaddr=192.168.2.201
serverip=192.168.2.200
gatewayip=192.168.2.1
stdin=serial
stdout=serial
stderr=serial
Environment size: 1672/8188 bytes
=>setenv shiboot rootdev "/dev/nfs; run setbootargs; run setipargs; bootm fe100000 - fe700000"
欢迎光临 电子技术论坛_中国专业的电子工程师学习交流社区-中电网技术论坛 (http://bbs.eccn.com/)
Powered by Discuz! 7.0.0