• 博通交换SDK编译指南


    SDK目录结构

    Make子系统

    博通SDK同时支持多种芯片平台和操作系统,因此,Make子系统是一个层次化的结构。Makefile中使用TARGET编译宏表示这种层次结构:

    TARGET = ${targetbase}-${targetplat}${target_suffix}

    targetbase表示操作系统,可选取值为vxworks,linux,unix-user,unix-linux,unix-solaris,unix-netbsd;

    targetplat表示芯片平台,如keystone,keystone-2_6,raptor-2_6等

    SDK编译宏则用来表示SDK根目录路径,编译时,所有的目标文件存放在${SDK}/build/${TARGET}目录。

    VxWorks编译

    准备工作

    ${SDK}/system/vxworks/<targetplat>目录创建setenv.bat脚本,后面编译时,先执行setenv.bat脚本设置环境变量

    set SDK=%~dp0/../../../
    set WIND_BASE=D:/Tornadomips
    set SDK_UTIL=%WIND_BASE%/util
    set WIND_HOST_TYPE=x86-win32
    set PERL_BASE=%WIND_BASE%/perl
    set HOSTTYPE=Windows2000PC
    set TARGET=vxworks-keystone
    set VX_VERSION=55
    
    set PATH=%SDK_UTIL%;%WIND_BASE%/host/x86-win32/bin;%WIND_BASE%/host/x86-win32/lib/gcc-lib/mips-wrs-vxworks/2.96-mips3264-010729;%WIND_BASE%/perl/bin;%WIND_BASE%/host/x86-win32;%PATH%

    全量编译

    cd ${SDK}/systems/vxworks/<targetplat>

    setenv.bat make

    需要依赖的Makefile文件如下:

    ${SDK}/systems/vxworks/Makefile                          make命令最开始解析该Makefile文件

    ${SDK}/make/Make.config                                     ${SDK}/systems/vxworks/Makefile中include

    ${SDK}/make/Make.tools                                       ${SDK}/systems/vxworks/Makefile中include

    ${SDK}/make/Make.local                                       ${SDK}/systems/vxworks/Makefile中include

    ${SDK}/make/Makefile.${targetbase}                     指定操作系统的编译宏

    ${SDK}/make/Makefile.${targetbase}-{targetplat}  指定操作系统和芯片平台的编译宏

    ${SDK}/make/Make.lib                                           ${SDK}/systems/vxworks/Makefile中include

    ${SDK}/make/Make.depend                                  ${SDK}/systems/vxworks/Makefile中include

    模块编译

    setenv.bat

    cd ${SDK}/src/<dir> make TARGET=<targetbase>-<targetplat>

    常见问题

    1、编译时出现unable to allocate heap 0xBFC00000, head_chunk_size 587202560, pid 14356, Win32 error 0,此时,换其他操作系统编译即可,一般低版本SDK使用Windows XP系统,高版本使用Windows 7系统

     2、multiple target patterns, 因为make的版本太低导致,一般需要make 3.8.1或者make 3.8.2版本

  • 相关阅读:
    IO流(5)—缓冲流
    vue-element-admin 中文问题
    npm 下载慢解决方案
    fatal: unable to connect to github.com
    为什么有sessionStorage,localStorage等,还需要vuex
    vuex页面刷新数据丢失的解决办法
    Node中JWT的使用
    socket.io 实现长连接演示代码
    WebSocket 实现长连接演示代码
    jquery ajax上传文件
  • 原文地址:https://www.cnblogs.com/justin-y-lin/p/15075071.html
Copyright © 2020-2023  润新知