文档章节

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

老张他爹945
 老张他爹945
发布于 2016/12/09 17:14
字数 1444
阅读 38
收藏 0
点赞 0
评论 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
粉丝 1
博文 40
码字总数 33029
作品 0
海淀
程序员
X210刷机--利用markdown尝试编写

刷系统需要的原材料:开发板、串口数据线、USB数据线 破坏uboot 对于linux+Qt系统的刷机,我们需要注意的细节: 首先先明白一个概念: 什么是系统控制台?什么是uboot控制台? 系统控制台:是...

qq_38124709 ⋅ 04/15 ⋅ 0

uboot之uboot的命令体系

一、uboot命令的使用: 1、uboot启动进入命令环境下,在此输入命令按回车结束,uboot会收取这个命令然后解析,然后执行。 2、uboot命令体系的实现代码uboot/common/cmd_xxx.c中。有若干个.c文...

qq_41003024 ⋅ 05/24 ⋅ 0

uboot之uboot中的硬件驱动

一、uboot和linux驱动 1、uboot本身是裸机程序,裸机程序是没有驱动概念的 2、裸机程序是直接操控硬件的,操作系统中必须通过驱动来操控硬件。这两个的区别在于分层。 3、uboot的虚拟地址对硬...

qq_41003024 ⋅ 05/28 ⋅ 0

在mt6735中添加新的开机logo与开\关机动画

一、开机logo 开机logo分为两部分,一个是:《uboot logo》,另一个是:《kernel logo》,Android开机会先显示《uboot logo》图片,然后才显示《kernel logo》图片。有些Android手机会把这两...

m0_37526672 ⋅ 05/12 ⋅ 0

迅为iMX6UL开发板多路串口开发平台接口详解

iMX6UL开发板 核心板参数 底板参数 一.底板硬件描述: 1. POWER电源接口 电源输入为5V/2A+,给核心板提供5V电源,给底板供电。 原理图部分如下图所示。 电源接口位置如下图所示。 2.SWITCH电源...

chihiro_s ⋅ 04/23 ⋅ 0

itop4412内核的启动过程分析

《itop4412内核的启动过程分析》 -------------------------------------------------------- 参考《朱老师物联网大讲堂》uboot和系统移植-第16部分 www.zhulaoshi.org 很大部分参考朱老师的...

dgy1223 ⋅ 05/25 ⋅ 0

为何要把文件夹形式的rootfs制作成单个rootfs镜像文件

假设目前我们已经有了rootfs,它是文件夹形式的,可以在pc 端浏览的rootfs。 但是,我们的目的是:把此rootfs,弄到嵌入式开发板上。 而嵌入式开发板上的rootfs所存放到的物理设备,往往都是...

guoyiyan1987 ⋅ 05/08 ⋅ 0

如何使用busybox编译和生成最简linux根文件系统(rootfs)

继前几天对uboot和内核编译进行了初步了解之后,昨天开始研究如何制作rootfs根文件系统。昨晚对busybox这个工具有了初步的了解,今天继续深入研究,终于成功的制作出了一套完整可用的最简lin...

guoyiyan1987 ⋅ 05/08 ⋅ 0

imx6ul双网口(LAN8720A)

底板:B5 核心板:CM6P CPU:MCIMX6G2CVM05AA(i.MX6UL) uboot:u-boot2015.04 内核:linux-3.14.38 这两天调试CM6P核心板+B5底板网络不稳定的问题: 1.双网口的其中一个或是两个不停重复l...

wxxgoodjob ⋅ 05/04 ⋅ 0

一步一步制作yaffs/yaffs2根文件系统(八)---总结及怎么样使系统自动启动自己编写的程序

通过前几节的学习制作,我大致地制作了一个比较完整的 yaffs 根文件系统,到这时候将自己移植的uboot、内核、根文件系统移植到自己的开发板中,一个基本的嵌入式 linux 系统也算搭建完成了。...

lxllinux ⋅ 2017/12/21 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

熊掌号收录比例对于网站原创数据排名的影响[图]

从去年下半年开始,我在写博客了,因为我觉得业余写写博客也还是很不错的,但是从2017年下半年开始,百度已经推出了原创保护功能和熊掌号平台,为此,我也提交了不少以前的老数据,而这些历史...

原创小博客 ⋅ 58分钟前 ⋅ 0

LVM讲解、磁盘故障小案例

LVM LVM就是动态卷管理,可以将多个硬盘和硬盘分区做成一个逻辑卷,并把这个逻辑卷作为一个整体来统一管理,动态对分区进行扩缩空间大小,安全快捷方便管理。 1.新建分区,更改类型为8e 即L...

蛋黄Yolks ⋅ 今天 ⋅ 0

Hadoop Yarn调度器的选择和使用

一、引言 Yarn在Hadoop的生态系统中担任了资源管理和任务调度的角色。在讨论其构造器之前先简单了解一下Yarn的架构。 上图是Yarn的基本架构,其中ResourceManager是整个架构的核心组件,它负...

p柯西 ⋅ 今天 ⋅ 0

uWSGI + Django @ Ubuntu

创建 Django App Project 创建后, 可以看到路径下有一个wsgi.py的问题 uWSGI运行 直接命令行运行 利用如下命令, 可直接访问 uwsgi --http :8080 --wsgi-file dj/wsgi.py 配置文件 & 运行 [u...

袁祾 ⋅ 今天 ⋅ 0

JVM堆的理解

在JVM中,我们经常提到的就是堆了,堆确实很重要,其实,除了堆之外,还有几个重要的模块,看下图: 大 多数情况下,我们并不需要关心JVM的底层,但是如果了解它的话,对于我们系统调优是非常...

不羁之后 ⋅ 昨天 ⋅ 0

推荐:并发情况下:Java HashMap 形成死循环的原因

在淘宝内网里看到同事发了贴说了一个CPU被100%的线上故障,并且这个事发生了很多次,原因是在Java语言在并发情况下使用HashMap造成Race Condition,从而导致死循环。这个事情我4、5年前也经历...

码代码的小司机 ⋅ 昨天 ⋅ 2

聊聊spring cloud gateway的RetryGatewayFilter

序 本文主要研究一下spring cloud gateway的RetryGatewayFilter GatewayAutoConfiguration spring-cloud-gateway-core-2.0.0.RC2-sources.jar!/org/springframework/cloud/gateway/config/G......

go4it ⋅ 昨天 ⋅ 0

创建新用户和授予MySQL中的权限教程

导读 MySQL是一个开源数据库管理软件,可帮助用户存储,组织和以后检索数据。 它有多种选项来授予特定用户在表和数据库中的细微的权限 - 本教程将简要介绍一些选项。 如何创建新用户 在MySQL...

问题终结者 ⋅ 昨天 ⋅ 0

android -------- 颜色的半透明效果配置

最近有朋友问我 Android 背景颜色的半透明效果配置,我网上看资料,总结了一下, 开发中也是常常遇到的,所以来写篇博客 常用的颜色值格式有: RGB ARGB RRGGBB AARRGGBB 这4种 透明度 透明度...

切切歆语 ⋅ 昨天 ⋅ 0

CentOS开机启动subversion

建立自启动脚本: vim /etc/init.d/subversion 输入如下内容: #!/bin/bash## subversion startup script for the server## chkconfig: 2345 90 10# description: start the subve......

随风而飘 ⋅ 昨天 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部