设为首页收藏本站

数字电视开发论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

新浪微博登陆

只需一步, 快速开始

快捷登录

胜天工科技销售各种数字电视信号调制卡胜天工科技销售各种数字电视信号码流卡

【游客、新手、注册会员的区别】 【积分策略和会员晋级说明】 【发帖和附件上传规则】 【如何下载感兴趣的资料】 【如何获取梦游币】 【侵权资料处理及免责说明】
查看: 3645|回复: 19

BCRM97580软件开发环境建立步骤

[复制链接]
  • TA的每日心情
    开心
    昨天 22:30
  • 签到天数: 2189 天

    [LV.Master]伴坛终老

    新浪微博达人勋

    发表于 2014-1-15 22:01:31 | 显示全部楼层 |阅读模式
    分享到:
    消息来自- 北京
    1)安装Linux,Fedora20(32位)

    2)获得 SDK 软件开发包,解压 SDK 软件开发包。

    学习下文档 BroadcomReferencePlatformSetup.pdf和ReleaseNotes.html

    解压时最好是在 linux 系统下,如果在 windows 下用 winzip 或者 rar 解压,有可能会损坏 makefile文件和其它文件的符号链接。
    在 linux 系统下 , 如果扩展名为 tar.gz或者 tgz,那么使用命令tar zxvf refsw-20100628.97550.tgz解压。

    3、4、5)的说明:
    Building the Kernel and Root File System
    This step is optional because Broadcom includes binaries in the release bundle. However, if you want to customize or minimize the kernel and root filesystem, you will need to rebuild from source. When using binaries, you must keep the following in sync:
    • The root filesystem binary must be matched with the kernel binary
    • The toolchain used to compile applications must match the root filesystem binary
    • The toolchain used to compile applications must match the toolchain used to compile drivers
    • The kernel source used to compile drivers must match the kernel binary
    When building from source, you have more flexibility, but you should know what you are doing. You can always return to the released binaries as a baseline.

    3)安装交叉编译环境工具包

    (1) 创建/opt/toolchains 目录
    mkdir –p /opt/toolchains
    (2) 进入自己的SDK解压后目录
    (3) 复制交叉编译工具文件到/opt/toolchains
    cp stbgcc-4.4.3-1.0.tar.bz2 /opt/toolchains
    (4) 解压交叉编译工具文件
    cd /opt/toolchains
    tar jxvf stbgcc-4.4.3-1.0.tar.bz2
    (5)移动所有文件到上一层目录,并删除stbgcc-4.4.3-1.0.tar.bz2文件及stbgcc-4.4.3-1.0目录
    mv * ../
    rmdir stbgcc-4.4.3-1.0
    rm stbgcc-4.4.3-1.0.tar.bz2
    (6) 修改 profile 配置文件
    cd /etc
    vi profile
    按 i 键进入编译模式
    在最下面增加下面 2 行:
    PATH=/opt/toolchains/bin:$PATH
    export PATH
    按 esc 键退出编译模式
    输入 :wq 保存并退出 vi
    (7) 输入 . /etc/profile 立即更新环境变量(注意在符号 . 后面有一个空格)
    (8) 输入which mipsel-linux-uclibc-gcc如果环境变量设置正确会显示下面一行:
    /opt/toolchains/bin/mipsel-linux-uclibc-gcc

    The stbgcc-4.4.3-1.0 toolchain was released with 2.6.31-2.0. This toolchain incorporates several updated components:
    gcc-4.4.3
    uClibc-nptl-0.9.29-20070423 (snapshot)
    binutils-2.19.1
    gdb-7.1
    Linux 2.6.31 kernel headers
    意思是stbgcc要能正常使用,它依赖Linux本身的一些components,需要:
    yum install gcc

    游客,如果您要查看本帖隐藏内容请回复
    踩过的脚印

    该用户从未签到

    新浪微博达人勋

    发表于 2014-2-25 13:18:40 | 显示全部楼层
    消息来自- 浙江嘉兴
    好文!
  • TA的每日心情
    开心
    昨天 22:30
  • 签到天数: 2189 天

    [LV.Master]伴坛终老

    新浪微博达人勋

     楼主| 发表于 2014-3-5 14:18:08 | 显示全部楼层
    消息来自- 北京朝阳
    通过tftp将kernel和rootfs运行起来

    1)进入 CFE>状态
    连接串口线后, 打开超级终端并连接到 COM1, 然后给板子上电, 按 ctrl+c进入 CFE>状态。
    在CFE>状态,可以敲help,提示出所有的CFE命令。

    2)板子必须用mac地址,没有的话,需要用CFE命令去配置。

    设定 MAC 地址:
    CFE> macprog 97405 1027 8 //芯片类型, 序列号, 修正版本号
    或者 CFE> macprog2 00-10-18-04-22-03
    你可以输入 CFE> help macprog 或者 CFE> help macprog2 获得更多信息。

    设定 IP 地址:
    自动获取时输入
    CFE>ifconfig eth0 -auto
    先配置板子的IP地址。得到一个随机的地址,也可以ifconfig指定。
    手动设置时:
    CFE>ifconfig eth0 down
    CFE>ifconfig eth0 192.168.10.64
    CFE>ifconfig eth0 hw ether 00:AA:BB:CC:DD:EE
    CFE>ifconfig eth0 up

    Here is an example of how to boot the initrd kernel:
    CFE>boot –z -elf y.y.y.y:vmlinuz-initrd-7550a0

    等到kernel和rootfs运行起来,进入到Linux命令行界面,使用mount命令将brutus应用运行到系统上。
    mount y.y.y.y:/opt/nfsroot /mnt/nfs
    cd /mnt/nfs
    ./settop install
    ./settop brutus
  • TA的每日心情
    开心
    2014-6-28 00:02
  • 签到天数: 1 天

    [LV.1]初来乍到

    新浪微博达人勋

    发表于 2014-6-28 00:05:54 | 显示全部楼层
    消息来自- 湖南长沙
    56565656464564
  • TA的每日心情

    2014-10-24 17:36
  • 签到天数: 1 天

    [LV.1]初来乍到

    新浪微博达人勋

    发表于 2014-10-24 17:37:27 | 显示全部楼层
    消息来自- 台湾台北
    跪求指導,尋求解法
  • TA的每日心情
    开心
    昨天 22:30
  • 签到天数: 2189 天

    [LV.Master]伴坛终老

    新浪微博达人勋

     楼主| 发表于 2014-11-4 16:55:08 | 显示全部楼层
    消息来自- 北京
    在 CFE>状态下显示 FLASH 中的可用分区
    (也可以显示其它设备分区)
    CFE>show devices
    1.jpg

    在 CFE>状态下通过 TFTP 存储 kernel 到 flash
    CFE>flash -noheader 192.168.0.127:vmlinuz-initrd-7550a0 flash0.kernel

    在 CFE>状态下从 FLASH 分区中导入压缩的内核
    CFE>boot -z -elf flash0.kernel: 'rootfstype=jffs2 root=/dev/mtdblock0 ro'
    显示 Login:时 输入 root

    在 CFE>状态下设置为开机自动从 FLASH 分区中导入内核
    CFE>setenv -p STARTUP “boot -z -elf flash0.kernel: 'rootfstype=jffs2 root=/dev/mtdblock0 ro'”

    取消自动从 FLASH 分区中导入内核(重启板子后会停止在 CFE>状态)
    CFE>unsetenv STARTUP

  • TA的每日心情
    开心
    昨天 22:30
  • 签到天数: 2189 天

    [LV.Master]伴坛终老

    新浪微博达人勋

     楼主| 发表于 2014-11-6 12:35:23 | 显示全部楼层
    消息来自- 北京海淀
    下面总结怎么把Brutus应用烧录到Flash中,开机自动运行。

    1)CFE启动后,将不带文件系统的kernel(二进制文件)烧写到Flash里。

    a) 使用 CFE命令 show devices 显示可以用于烧写的flash分区。

    CFE>show devices
    Device Name          Description
    -------------------  ---------------------------------------------------------
                  uart0  16550 DUART at 0xB0406B00 channel 0
             flash0.cfe  New NAND flash at 00000000 offset 00000000 size 2048KB
          flash0.macadr  New NAND flash at 00000000 offset 00200000 size 1024KB
           flash0.nvram  New NAND flash at 00000000 offset 00300000 size 1024KB
          flash0.avail0  New NAND flash at 00000000 offset 00400000 size 119808KB
          flash0.kernel  New NAND flash at 00000000 offset 07900000 size 5120KB
         flash0.virtual  New NAND flash at 00000000 offset 07E00000 size 1024KB
         flash0.kreserv  New NAND flash at 00000000 offset 07F00000 size 1024KB
                   eth0  BCM7038 Internal Ethernet at 0xB0080000
    *** command status = 0
    这里可以烧到 flash0.kernel

    b) ifconfig eth0 -auto 打开网络

    CFE> ifconfig eth0 -auto
    100 MB Full-Duplex (auto-neg)
    Device eth0:  hwaddr 00-01-18-45-33-22, ipaddr 192.168.0.113, mask 255.255.255.0

            gateway 192.168.0.1, nameserver 202.106.195.68, domain
    *** command status = 0

    c)烧写kernel binrary file. 将烧写用的kernel文件(在SDK包里)放到一个tftp server 上,用tftp 服务将文件下载并烧写到flash中。

    CFE>flash -noheader 192.168.0.127:vmlinuz-7550a0 flash0.kernel

    完成将kernel 烧写进入flash的步骤。

    2)在CFE下用带文件系统的kernel 启动开发版。这个带文件系统的kernel 二进制文件同样放在tftp server端,使用tftp服务下载到开发板。

    CFE>ifconfig eth0 -auto

    CFE>boot -elf -z 192.168.0.127:vmlinuz-initrd-7550a0

    开发板进入linux系统。

    3) 在linux系统下使用stbutil 工具将linux文件系统烧写到flash中。

    #stbutil 192.168.0.127 (192.168.0.127 为tftp server的 ip地址 , 用于将烧写的文件系统tftp到开发板,这里是ubi文件系统,ubifs-128k-2048-7550a0.img)

    stbutil v5.0
    ------------

    Using TFTP server:     stb-irva-01
    Using TFTP path:       2631-2.1
    Linux build target:    7550a0

    Chip ID register:      BCM7550A1
    Board name:            BCM97550A0
    CPU:                   Broadcom BMIPS3300
    Primary Linux flash:   nand

    1) Install non-initrd kernel image to flash
    2) Install UBIFS rootfs to flash (RW/RO)
    3) Install JFFS2 rootfs to flash (RW/RO) (not available)
    4) Install SQUASHFS rootfs to flash (RO) (uses UBI)
    5) Format/partition entire HDD, then install rootfs (not available)
    6) Update rootfs on first HDD partition (not available)
    7) Install kernel/rootfs to USB thumbdrive (not available)
    8) Install nonfree drivers
    q) Exit

    Selection:

    这里可以看到其他的文件格式,包括jffs2,这个工具不支持,支持的选项只有2,

    所以选2

    完成文件系统烧写。


    4)重新启动开发板,在CFE下,用刚刚烧写到flash的不带文件kernel 和刚刚烧写到flash的ubi文件系统启动linux。

    CFE 命令如下
    CFE>ifconfig eth0 -auto

    CFE>boot -elf -z flash0.kernel: 'ubiroot rootfstype=ubifs root=/dev/mtdblock0 bmem=96M@32M rw'

    linux系统完成启动。

    5)将应用程序烧写到flash

    将应用程序放到nfs server端,用nfs网络文件系统将应用程序下载并烧写到flash。
    #mkdir /home
    #cd /home
    #mkdir brutus
    #cd brutus
    #tar -zxvf /mnt/nfs/refsw-20141106.97xxx-linux-uclibc.bin.tgz ./
    或者
    #cp -arf /mnt/nfs/brutus /home

    #sync

    #sync

    完成应用程序烧写。

    6)添加自启动脚本文件。

    a)Linux:添加自启动脚本文件rc.user

    #cd /root
    #touch rc.user
    #vi rc.user

    按i键开始编辑rc.user文件,键入下列命令:

    cd /home/brutus
    settop install
    settop brutus & (注意一定要加&,使brutus在后台运行,否则开机自启动后,无法进入Linux命令状态)

    按esc键退出rc.user编辑状态,并键入wq!  vi命令保存rc.user文件。

    b)CFE: 添加自启动命令:

    进入CFE下,使用setenv CFE命令添加自启动命令:

    CFE>setenv -p "STARTUP boot -elf -z flash0.kernel: 'ubiroot rootfstype=ubifs root=/dev/mtdblock0 bmem=96M@32M rw'"

    完成cfe自启动命令。


    完成所有步骤。

    这里烧写的是ubi文件系统,如果烧写其他格式的文件系统启动命令稍有不同,请联系BRCM的服务人员了解详情。








  • TA的每日心情
    奋斗
    2015-7-28 09:28
  • 签到天数: 2 天

    [LV.1]初来乍到

    新浪微博达人勋

    发表于 2015-7-22 08:58:19 | 显示全部楼层
    消息来自- 广东
    不错,非常详细
  • TA的每日心情
    奋斗
    2015-7-28 09:28
  • 签到天数: 2 天

    [LV.1]初来乍到

    新浪微博达人勋

    发表于 2015-7-28 09:31:58 | 显示全部楼层
    消息来自- 广东深圳
    不错,非常的详细
    您需要登录后才可以回帖 登录 | 注册 新浪微博登陆

    本版积分规则

    嗨!您好:
    欢迎来到数字电视开发论坛。
    我的名字叫梦梦
    很高兴能够为您服务!
    如果已经注册【立即登录】
    还没有账号请【注册】
    嗨!您好:
    欢迎来到数字电视开发论坛。
    我的名字叫梦梦
    很高兴能够为您服务!
    如果已经注册【立即登录】
    还没有账号请

    QQ|小黑屋|手机版|Archiver|数字电视开发网 ( 京ICP备16008897号-5   

    GMT+8, 2018-9-23 00:37 , Processed in 0.191748 second(s), 41 queries , Gzip On.

    Powered by Discuz! X3.1

    © 2001-2013 Comsenz Inc.

    快速回复 返回顶部 返回列表