首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

powerpc mpc8313调试实验流程

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=$serveriprootpathip=$ipaddrserveripgatewayipnetmaskhostnamenetdevffroot=$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:eth1ffroot= 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"
继承事业,薪火相传
返回列表