百科狗-知识改变命运!
--

如何在CCS3.3下建立基于DSP-BIOS和XDC的工程详解

是丫丫呀1年前 (2023-12-23)阅读数 10#综合百科
文章标签进程环境

首先我们要先配置一下XDC工具链,什么叫做配置呢,实际上就是要让这条工具链写入到系统的注册表中间去,下面是整个工具链的配置过程:

1、运行windows命令行工具。

2、进入到XDC工具目录

3、运行命令:cd packages/xdc/tools/configuro/ccs

4、运行命令regsvr32 btiXdc

如果成功的话,会弹出一个对话框出来:

这样XDC工具链就在系统中注册好了,接下来就可以建立整个工程了,步骤如下:

1、首先建立一个CCS3.3工程

2、建立.cfg配置文件,并加入到工程中,我是直接copy的自带例程中video-black-white例程,内容如下:

/* set up OSAL */

var osalGlobal = xdc.useModule('ti.sdo.ce.osal.Global');

osalGlobal.runtimeEnv = osalGlobal.DSPBIOS;

osalGlobal.defaultMemSegId = "DDR2";

Program.main = Program.system = null;

/* get various codec modules; i.e., implementation of codecs */

/*

* ?======== Engine Configuration ========

*/

var Engine = xdc.useModule('ti.sdo.ce.Engine');

/* Include DSKT2 and DMAN3 configuration common to DVSDK examples: ?*/

xdc.includeFile('dskt2_dman3.cfg'); ?// This is in examples/common/evmDM6437/

3、建立一个main.c文件,加入空main函数:

void main()

{

}

4、加入xdpaths.dat文件,包含dvsdk的各种文件路径

// include top-level XDC paths definition

load( "../../xdcpaths_evmDM6437.dat" );

5、建立一个DSPBIOS配置文件,模板为evmDM6437,并将生成的tcf文件加入到工程中去。

6、修改build option选项

打开compiler选项卡,配置如下:

-g-@"=$(Proj_dir)/xdcconfig/compiler.opt" -pdr -fr"$(Proj_dir)/Debug" -i"$(Proj_dir)" -i"." -i"%BIOSDVSDK_INSTALL_DIR%/examples/common/evmDM6437" -i"%BSL_EVMDM6437_INSTALLDIR%/include" -i"%BIOSDVSDK_INSTALL_DIR%/psp_1_00_02_00/pspdrivers/inc" -i"%BIOSDVSDK_INSTALL_DIR%/psp_1_00_02_00/pspdrivers/drivers/inc" -i"%BIOSDVSDK_INSTALL_DIR%/psp_1_00_02_00/pspdrivers/soc/dm6437/dsp/inc" -i"%BIOSDVSDK_INSTALL_DIR%/psp_1_00_02_00/edma3/inc" -d"_DEBUG" -mv6400+

打开linker选项卡,配置如下:

-a -c -m"./Debug/BIOS_XDC_Project_Test.map" -o"./Debug/BIOS_XDC_Project_Test.out" -w -x -i"%BIOS_INSTALL_DIR%/packages/ti/rtdx/lib/c6000" -l"%BIOSDVSDK_INSTALL_DIR%/psp_1_00_02_00/pspdrivers/lib/DM6437/Debug/i2c_bios_drv.lib" -l"%BIOSDVSDK_INSTALL_DIR%/psp_1_00_02_00/pspdrivers/lib/DM6437/Debug/palos_bios.lib" -l"%BIOSDVSDK_INSTALL_DIR%/psp_1_00_02_00/pspdrivers/lib/DM6437/Debug/prev_bios_drv.lib" -l"%BIOSDVSDK_INSTALL_DIR%/psp_1_00_02_00/pspdrivers/lib/DM6437/Debug/video_bios_drv.lib" -l"%BIOSDVSDK_INSTALL_DIR%/psp_1_00_02_00/pspdrivers/lib/DM6437/Debug/vpbe_bios_drv.lib" -l"%BIOSDVSDK_INSTALL_DIR%/psp_1_00_02_00/pspdrivers/lib/DM6437/Debug/vpfe_bios_drv.lib"

打开dspbiosbulider选项卡,配置如下:

-Dconfig.importPath="C:/CCStudio_v3.3/bios_5_31_02/packages;"

打开XDC选项卡,配置如下:

--xdcpathsfile="xdcpaths.dat" -tti.targets.C64P -pti.platforms.evmDM6437 -Dconfig.importPath=".../%BIOSDVSDK_INSTALL_DIR%/examples/common/evmDM6437" --tcf

以上配置我也是直接copy那个例程的配置,当然这里面的配置可以按照自己的需要进行相应的修改以适应自己的工程需求

7、修改DSPBIOS的memory配置需求,因为至少要有一个堆heap(否则会编译出错的),所以我们首先要建立一个堆,DSPBIOS默认的配置中是没有的

8、修改DSPBIOS编译配置

9、编译整个工程

如果建立成功的话就会有上面所示的提示信息,呵呵~~~~~

这样一个完整的基于XDC工具的DSPBIOS工程就建立好了。

一、在安装11g GI 之前备份10g CRS环境配置文件的操作步骤

1、disable服务器自动启动CRS

以root用户执行:

$CRS_HOME/bin/crsctl disable crs

2、在/etc目录下新建/etc/10gcrs_bak目录作为备份文件存放的目录

以root用户登录

cd /etc

mkdir 10gcrs_bak

3、将以下需要备份的文件和文件夹进行备份

以root用户登录,备份文件:

cp -p /etc/inittab /etc/10gcrs_bak/inittab

cp -p /etc/init.crs /etc/10gcrs_bak/init.crs

cp -p /etc/init.crsd /etc/10gcrs_bak/init.crsd

cp -p /etc/init.cssd /etc/10gcrs_bak/init.cssd

cp -p /etc/init.evmd /etc/10gcrs_bak/init.evmd

cp -p /etc/oratab /etc/10gcrs_bak/oratab

cp -p /etc/oraInst.loc /etc/10gcrs_bak/oraInst.loc

cp -p /usr/local/bin/dbhome /etc/10gcrs_bak/dbhome

cp -p /usr/local/bin/coraenv /etc/10gcrs_bak/coraenv

cp -p /usr/local/bin/oraenv /etc/10gcrs_bak/oraenv

备份目录:

rm -rf /etc/10gcrs_bak/oracle

cp -pr /etc/oracle /etc/10gcrs_bak

查看/etc/rc.d/rc2.d下链接:

ls -lrt /etc/rc.d/rc2.d/*init.crs

结果应该返回2个文件名:

lrwxrwxrwx 1 root system 13 Apr 25 14:17 S96init.crs -> /etc/init.crs

lrwxrwxrwx 1 root system 13 Apr 25 14:17 K96init.crs -> /etc/init.crs

4、enable服务器自动启动CRS

以root用户执行:

$CRS_HOME/bin/crsctl enable crs

二、安装完11g GI环境之后,备份11g GI环境的操作步骤

1、disable服务器启动GI自动启动

以root用户执行:

$GRID_HOME/bin/crsctl disable crs

2、在/etc目录下新建/etc/11ggi_bak目录作为备份文件存放的目录

以root用户登录:

cd /etc

mkdir 11ggi_bak

3、将以下需要备份的文件和文件夹进行备份

以root用户登录,备份文件:

cp -p /etc/inittab /etc/11ggi_bak/inittab

cp -p /etc/init.ohasd /etc/11ggi_bak/init.ohasd

cp -p /etc/ohasd /etc/11ggi_bak/ohasd

cp -p /etc/oratab /etc/11ggi_bak/oratab

cp -p /etc/oraInst.loc /etc/11ggi_bak/oraInst.loc

cp -p /usr/local/bin/dbhome /etc/11ggi_bak/dbhome

cp -p /usr/local/bin/coraenv /etc/11ggi_bak/coraenv

cp -p /usr/local/bin/oraenv /etc/11ggi_bak/oraenv

备份目录:

rm -rf /etc/11ggi_bak/oracle

cp -pr /etc/oracle /etc/11ggi_bak/

查看/etc/rc.d/rc2.d下链接:

ls -lrt /etc/rc.d/rc2.d/*init.crs

结果应该返回2个文件名:

lrwxrwxrwx 1 root system 10 Apr 12 14:50 K19ohasd -> /etc/ohasd

lrwxrwxrwx 1 root system 10 Apr 12 14:50 S96ohasd -> /etc/ohasd

4、enable服务器自动启动GI

$GRID_HOME/bin/crsctl enable crs

三、10g CRS切换到11g GI环境的操作步骤

1、停止10g crs

$CRS_HOME/bin/crsctl stop crs

2、检查10g crs剩余进程

ps -ef | grep -v grep|grep -E 'init|d.bin|ocls|evmlogger|UID'

结果应该会返回以下4个进程列表:

UID PID PPID C STIME TTY TIME CMD

root 1 0 0 12:07:31 - 0:00 /etc/init

root 139314 1 0 15:32:40 - 0:00 /bin/sh /etc/init.cssd fatal

root 364692 1 0 15:32:40 - 0:00 /bin/sh /etc/init.crsd run

root 630962 1 0 15:32:39 - 0:00 /bin/sh /etc/init.evmd run

3、删除/tmp/.oracle目录下的socket文件

rm -rf /tmp/.oracle/*

4、从11ggi_bak目录恢复11g环境

恢复目录:

rm -rf /etc/oracle

cp -pr /etc/11ggi_bak/oracle /etc/

恢复文件:

cp -p /etc/11ggi_bak/init.ohasd /etc/init.ohasd

cp -p /etc/11ggi_bak/ohasd /etc/ohasd

cp -p /etc/11ggi_bak/oratab /etc/oratab

cp -p /etc/11ggi_bak/oraInst.loc /etc/oraInst.loc

cp -p /etc/11ggi_bak/dbhome /usr/local/bin/dbhome

cp -p /etc/11ggi_bak/coraenv /usr/local/bin/coraenv

cp -p /etc/11ggi_bak/oraenv /usr/local/bin/oraenv

cp -p /etc/11ggi_bak/inittab /etc/inittab

删除10g crs链接,恢复11g GI链接

rm -rf /etc/rc.d/rc2.d/S96init.crs

rm -rf /etc/rc.d/rc2.d/K96init.crs

ln -s -f /etc/ohasd /etc/rc.d/rc2.d/K19ohasd

ln -s -f /etc/ohasd /etc/rc.d/rc2.d/S96ohasd

5、再次检查10g crs剩余进程

ps -ef | grep -v grep|grep -E 'init|d.bin|ocls|evmlogger|UID'

结果应该会返回以下2个进程列表:

UID PID PPID C STIME TTY TIME CMD

root 1 0 0 12:07:31 - 0:00 /etc/init

root 630962 1 0 15:32:39 - 0:00 /bin/sh /etc/init.evmd run

进程/etc/init.evmd run ,无法通过命令直接停止,需要kill它:

kill -9 [init.evmd 进程号]

再次查看进程

ps -ef | grep -v grep|grep -E 'init|d.bin|ocls|evmlogger|UID'

此时,应该可以观察到如下2个进程,其中init.ohasd进程:属于11g GI,

如果没有init.ohasd进程,那么可以等待几秒钟,再使用 ps命令查看进程情况,

直到看到此进程,才能进入下一步。

UID PID PPID C STIME TTY TIME CMD

root 1 0 0 12:07:31 - 0:00 /etc/init

root 270354 1 0 15:42:00 - 0:00 /bin/sh /etc/init.ohasd run

6、启动11g gi 集群软件

$GRID_HOME/bin/crsctl start crs

7、检查11g gi init进程启动状态

$GRID_HOME/bin/crsctl stat res -t -init

结果中,除了"ora.diskmon"(AIX默认是offline)资源外,其它的"TARGET"和"STATE"必须为ONLINE:

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

NAME TARGET STATE SERVER STATE_DETAILS

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

Cluster Resources

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

ora.asm

如何在CCS3.3下建立基于DSP-BIOS和XDC的工程详解

1 ONLINE ONLINE maclean07 Started

ora.cluster_interconnect.haip

1 ONLINE ONLINE maclean07

ora.crf

1 ONLINE ONLINE maclean07

ora.crsd

1 ONLINE ONLINE maclean07

ora.cssd

1 ONLINE ONLINE maclean07

ora.cssdmonitor

1 ONLINE ONLINE maclean07

ora.ctssd

1 ONLINE ONLINE maclean07 OBSERVER

ora.diskmon

1 OFFLINE OFFLINE

ora.evmd

1 ONLINE ONLINE maclean07

ora.gipcd

1 ONLINE ONLINE maclean07

ora.gpnpd

1 ONLINE ONLINE maclean07

ora.mdnsd

1 ONLINE ONLINE maclean07

8、检查11g cluster 资源状态

$GRID_HOME/bin/crsctl stat res -t

结果中,除了"ora.gsd" 资源外,其它的"TARGET"和"STATE"必须为ONLINE

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

NAME TARGET STATE SERVER STATE_DETAILS

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

Local Resources

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

ora.OCRVOTE.dg

ONLINE ONLINE maclean07

ora.asm

ONLINE ONLINE maclean07 Started

ora.gsd

OFFLINE OFFLINE maclean07

ora.net1.network

ONLINE ONLINE maclean07

ora.ons

ONLINE ONLINE maclean07

ora.LISTENER_SCAN1.lsnr

1 ONLINE ONLINE maclean07

ora.cvu

1 ONLINE ONLINE maclean07

ora.oc4j

1 ONLINE ONLINE maclean07

ora.scan1.vip

1 ONLINE ONLINE maclean07

ora.maclean07.vip

1 ONLINE ONLINE maclean07

9、enable服务器自动启动GI

$GRID_HOME/bin/crsctl enable crs

此时,10g集群环境已经成功切换到11g集群。

四、11g GI环境切换(恢复)到10g CRS环境的操作步骤

1、停止11g GI

$grid_home/bin/crsctl stop crs -f

2、检查11g GI剩余进程

ps -ef | grep -v grep|grep -E 'init|d.bin|ocls|evmlogger|UID'

结果应该会返回以下2个进程列表:

UID PID PPID C STIME TTY TIME CMD

root 1 0 0 12:07:31 - 0:00 /etc/init

root 270354 1 0 15:42:00 - 0:00 /bin/sh /etc/init.ohasd run

为了保证10g crs后台进程能正常启动,需要停止init.ohasd进程。

修改inittab文件,删除ohasd的入口:

vi /etc/inittab

删除行 "h1:2:respawn:/etc/init.ohasd run >/dev/null 2>&1

鹏仔微信 15129739599 鹏仔QQ344225443 鹏仔前端 pjxi.com 共享博客 sharedbk.com

免责声明:我们致力于保护作者版权,注重分享,当前被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自自研大数据AI进行生成,内容摘自(百度百科,百度知道,头条百科,中国民法典,刑法,牛津词典,新华词典,汉语词典,国家院校,科普平台)等数据,内容仅供学习参考,不准确地方联系删除处理!邮箱:344225443@qq.com)

图片声明:本站部分配图来自网络。本站只作为美观性配图使用,无任何非法侵犯第三方意图,一切解释权归图片著作权方,本站不承担任何责任。如有恶意碰瓷者,必当奉陪到底严惩不贷!

内容声明:本文中引用的各种信息及资料(包括但不限于文字、数据、图表及超链接等)均来源于该信息及资料的相关主体(包括但不限于公司、媒体、协会等机构)的官方网站或公开发表的信息。部分内容参考包括:(百度百科,百度知道,头条百科,中国民法典,刑法,牛津词典,新华词典,汉语词典,国家院校,科普平台)等数据,内容仅供参考使用,不准确地方联系删除处理!本站为非盈利性质站点,本着为中国教育事业出一份力,发布内容不收取任何费用也不接任何广告!)