博通交换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版本

posted on 2021-07-29 14:57  者旨於陽  阅读(665)  评论(0编辑  收藏  举报

导航