文档章节

Freescale Ltib-MPC8308安装,编译,烧写uboot

老张他爹945
 老张他爹945
发布于 2016/12/09 17:14
字数 1444
阅读 383
收藏 0

#程序员薪资揭榜#你做程序员几年了?月薪多少?发量还在么?>>>

. Freescale-MPC8308/MPC8315
  MPC8315E-RDB (Reference-Design-Board)
    PowerQUICC II Pro Processor;
    内置security accelerate;


. tlib-MPC8308:
     参考: http://www.360doc.com/content/13/1112/16/11948835_328668430.shtml



-------------------------------------------------------------------------------

在VM(Fedroa9)上建立交叉编译环境
. 安装步骤(in Fedora9)
  (TLIB是Freescale比较早期开发的跨平台交叉编译包, 所以不建议在新近的Linux上运行)
  (TLIB建议在Redhead系Linux上运行)
  (故我们最终选择Fedroa9平台 with GCC4.3)
      
 
  原始文档: ltib-mpc8308erdb-20100413.iso;
 
  首先mount该iso:
    mount -o loop ltib-mpc8308erdb-20100413.iso /mnt/ltib
    
  安装:
    cd /mnt/ltib
    ./install
    安装时程序会提示要安装的目录, 本例中设置目录为 ~/WorkShop;
    安装完成后我们得到 ~/WorkShop/mpc8308erdb-20100413/;
    
  调整visudo:
    由于运行ltib程序需要用户级权限, 然而运行过程中又需要某些root权限下的操作,
    故首先需要调整sudo组权限:
      cd /usr/sbin/
      ./visudo
      在User privilege section下添加
      quakezh ALL=NOPASSWD: /bin/rpm, /opt/freescale/ltib/usr/bin/rpm
      保存, 退出
 
  首次运行ltib程序:
    ./ltib
    若系统缺少所必须的工具包, 会给予提示;
    首次运行ltib需要较长时间, 完成后, 交叉目标平台的工具链被保存在 /opt/freescale下,
    其中, gcc(for Freescale e300c)保存在/ope/freescale/usr/local/目录下,
      用户若开发该平台的应用程序, 需使用此gcc来编译;
    
    
-------------------------------------------------------------------------------
. LTIB命令
  ./ltib -m config
  仅配置
 
  ./ltib --configure
  配置及编译
 
  ltib [-m <mode>] [options....]
  举例:    
    ./ltib -m prep -p helloworld    
    对helloworld文件包解压, 输出目录为/../安装目录/ltib-mpc8313erdb-20070824/rpm/BUILD;
    
    ./ltib -m prep -p kernel
    ./ltib -m prep -p u-boot
    解出的源文件保存在 rpm/BUILD
    
    ./ltib -m scbuild -p kernel

  下面给出LTIB的常用命令:
  --mode | m
    prep            //解开源码包并打补丁
    scbuild            //解开源码包、打补丁然后编译
    scinstall        //解开源码包、打补丁,编译后安装
    scdeploy        //运行一个scinstall命令并安装到rootfs下
    patchmerge        //生成并且合并一个补丁 (需要与-p <pkg>一起使用)
    clean            //清除并且反安装目标源码包
    distclean        //完全清除,移除相关的所有东西
    listpkgs        //列出源码包(按字母排序)
    release            //制作一个二进制发布iso镜像
    config            //使用--configure命令,仅做配置
    shell            //进入ltib命令行模式
  --pkg|p :           //仅操作指定源码包
  --configure|c :      //运行交互式配置
  --preconfig :        //配置文件来源
  --profile :         //profile文件。这个被用来选择用户空间源码包集合(例如

  config/profiles/max.config)
  --rcfile|r :        //使用这个资源文件
  --batch|b :        //批处理模式,假定对所有的问题回答yes
  --force|f :        //强迫重新编译链接即使已经更新到最新
  --reinstall|e :     //重新安装rpm包
  --nodeps|n :        //关闭安装和反安装依赖关系检查
  --conflicts|k :      //不强迫安装有文件冲突的rpm包
  --keepsrpms|s :     //保留srpms 在编译链接之后 (缺省是删除的)
  --verbose|v :        //更多的输出
  --dry-run|d :        //只运行不打印 (仅输出echo消息)
  --continue|C :      //在源码包编译链接过程中出错也继续进行
  --version|V :        //打印应用程序版本并退出
  --noredir|N :        //不重定向到任何输出
  --deploy|D :        //运行部署脚本即使已经更新
  --dlonly :          //仅下载源码包
  --dltest :          //测试BSP的源码包是否有效
  --leavesrc|l :      //留下不解压的源码包 ( 仅在pkg模式下使用)
  --hostcf :        //重新配置编译链接安装主机支持的源码包集
  --help|h :        //使用帮助
 -------------------------------------------------------------------------------

  生成文件说明 :
    rootfs.ext2.gz.uboot    
        ram-disk image that can be load with u-boot
    rootfs.jffs2            
        jffs2 filesystem image
    rootfs                   
        directory,the root file system that will be deployed on your Board
    rootfs/boot/uImage
        kernel image that can be load with u-boot
    rootfs/boot/u-boot.bin
        u-boot binary image that can be programmed into mpc8315erdb board nor flash
    rootfs/boot/u-boot-nand.binary--
        u-boot binary image that can be programmed into mpc8315erdb board nand flash
    rootfs/boot/mpc8315erdb.dtb
        device tree binary(dtb)files for kernal boot up(support usb internal phy)
    rootfs/boot/mpc8315erdb_uipi.dtb  
        device tree binary(dtb)files for kernal boot up (support usb external phy)      
   
    内核文件为   rootfs/boot/uImage,
    根文件系统文件为 rootfs.ext2.gz.uboot
    u-boot.bin   u-boot
    mpc8315erdb.dtb  s  
  
//-----------------------------------------------------------------------------
RootFS中加入其他文件:

用户有时候需要在根文件系统中加入一些自己的文件,只需要在平台目录下建立merge文件夹,
将需要加入的文件放入merge文件下就可以了,merge文件夹下的文件在开发板上相当于位于根文件系统下面.
步骤如下:

2. # mkdir -p config/platform/mpc8308erdb/merge/xxx
3. # cp /myfile1 config/platform/mpc8308erdb/merge/xxx

这个过程简单说就是, 建merge文件夹, 把要加的文件放到merge里, 执行./ltib

//-----------------------------------------------------------------------------

. 首先, VM上要配置好tftp服务器;
    Fedora9中, tftp的配置文件/etc/xinetd.d.tftp
    
. 建立tftp目录:
    一般设置在根目录下;
        /tftp/mpc8308
    该权限为777;
. 将ltib编译好的文件拷贝到tftp目录下, 文件包括
    linux.config
    mpc8308erdb.dtb
    mpc8308erdb.dtu
    System.map
    u-boot
    u-boot.bin
    uImage
    vmlinux
    vsc2bin
    编译好的U-image所在目录:
        /rpm/BUILD/linux-2.6.29.6/arch/powerpc/boot

    
//-----------------------------------------------------------------------------
MPC8308开发板启动后进入u-boot设置状态;
可能需要设置u-boot环境变量;

//设置本设备地址:
setenv ipaddr 192.168.0.201

//设置tftp服务器地址:
setenv serverip 192.168.0.123
setenv gatewayip 192.168.0.201

//出厂设置
setenv tftp_path mpc8308
setenv ramdiskaddr 2400000
setenv loadaddr 2000000
setenv kernaddr 2000000
setenv fdtaddr 1f00000
setenv ramdisksize 90000
setenv dtbname mpc8308erdb.dtb
setenv hostname PowerQUICC
setenv flashkernaddr fe0a0000
setenv flashkernend fe2fffff
setenv flashramdiskaddr fe300000
setenv flashramdiskend fe7effff
setenv flashfdtaddr fe7f0000
setenv flashfdtend fe7f3fff
setenv fdtsize 3000
setenv vscfwaddr fe7fe000
setenv vscfwend fe7fffff

//设定系统启动方式 (bootm means boot-memory-map)
setenv bootcmd bootm fe0a0000 fe300000 fe7f0000


setenv bootfile mpc8308/uImage
setenv fdtfile mpc8308/mpc8308erdb.dtb
setenv ramdiskfile mpc8308/rootfs.ext2.gz.uboot
setenv bootargs root=/dev/ram ramdisk_size=90000 rwip=192.168.0.201:192.168.0.111:192.168.0.201::PowerQUICC:eth0:off console=ttyS0,115200
                

Update-Kernel:
    tftp 2000000 mpc8308/uImage
    erase fe0a0000 fe2fffff
    cp.b 2000000 fe0a0000 $filesize

Update-DTB:
    tftp 2000000 mpc8308/mpc8308erdb.dtb
    //erase fe7f0000 fe7f3fff
    erase fe7f0000 fe7f7fff
    //erase fe7f0000 fe7fffff
    cp.b 2000000 fe7f0000 $filesize

Update-rootfs:
    tftp 2400000 mpc8308/rootfs.ext2.gz.uboot
    erase fe300000 fe7effff
    cp.b 2400000 fe300000 $filesize
    

    
-------------------------------------------------------------------------------
查看硬盘设备号:
fdisk -l
加挂到指定目录:
mount -t vfat /dev/sda1 /mnt/src

-------------------------------------------------------------------------------
VM-Host(IP:192.168.0.123) NFS to MPC8308e-rdb:
    (注意要加'nolock')
    mount -t nfs -o nolock 192.168.0.123:/var/nfsshare /mnt/nfs/

© 著作权归作者所有

老张他爹945
粉丝 2
博文 48
码字总数 33661
作品 0
海淀
程序员
私信 提问
加载中

评论(0)

100ASK-IMX6ULL开发板移值NXP官方UBOOT

100ASK-IMX6ULL开发板移值NXP官方UBOOT 1. 开发环境 gcc: 100askimx6ull-sdkToolChaingcc-linaro-6.2.1-2016.11-x8664_arm-linux-gnueabihf uboot: uboot-imx-relimx4.1.152.1.0ga.tar.bz2 g......

obatmg
03/31
0
0
关于UBOOT,LINUX内核编译,根文件系统的15个小问题

(1)内核默认运行地址和加载地址在哪里设置? 由 arch/arm/kernel/vmlinux.lds.S 生成的 arch/armkernel/vmlinux.lds决定 (2)从FLASH什么地址找内核和根文件系统,UBOOT在哪里设置? UBOO...

osc_rg5fngik
2019/08/23
5
0
迅为4412开发板Linux设备树的镜像烧写和源码简单优化教程

1 烧写: 烧写和4412默认镜像的烧写类似,使用fastboot。 先更新uboot,用4412默认uboot更新支持设备树的uboot 用支持设备树的uboot烧写。 进入支持设备树的uboot控制台 支持设备树的uboot控制...

osc_k2izfh4z
2019/05/09
2
0
ERROR: vfat(boot.vfat): could not setup zImage

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/WXXGoodJob/article/details/84170314 最近使用新版板的buildroot制作文件系统,出现 “ERROR: vfat(boot.vf...

WXXGoodJob
2018/11/17
0
0
六,移植uboot-设置默认环境变量,完善u-boot

文档时间:2018-08-14 交叉编译器:arm-linux-gcc-4.3.2 Ubuntu版本:16.04 uboot版本:2013.10 1,修改 uboot 默认环境变量 前面章节得到的 uboot 串口打印信息如下: 可以看出,读出的是坏...

Mango丶
2018/08/14
0
0

没有更多内容

加载失败,请刷新页面

加载更多

spring boot 设置任务调度线程池大小和线程前缀

编辑文件application.properties,加入如下: spring.task.scheduling.pool.size =10spring.task.scheduling.thread-name-prefix = sche_prefix-...

jingshishengxu
8分钟前
26
0
mongodb CRUD以及Aggregation常用操作

CRUD操作集 1)查询只展示需要的列db.collection.find({age : {$gt : 30} }, {name: 1, age: 1, _id: 0})2)查询有name字段且值为null的记录db.collection.find({name : {$type : 10} })......

简到珍
50分钟前
29
0
wellcms2.0伪静态配置

目标格式 /user/login.html apache RewriteEngine on# Apache 2.4RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^(.*?)([^/]*).html(.*)$ inde......

cs_sharp
52分钟前
8
0
部署异步下载服务

异步下载 一、背景 目前系统对于大文件的下载慢、导出慢、大量的接口占用服务器带宽等问题,严重影响用户的体验,基于此背景,开发并实现了异步下载功能。 二、项目结构 脑图思路 三、环境准...

荼靡旖旎
52分钟前
25
0
(转)Marathon私有镜像仓库用户名和密码方式

下载镜像需要输入用户名和密码的时候,marathon发布这样的images需要用这种方法。 首先需要手动登入镜像仓库。 docker login db-registry.inc-test.com Username: admin Password: D...

osc_5p8bxoq2
58分钟前
24
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部