app的编译主要是configuro的运用
configuro属于预编译阶段,$(PRE_PATH)/xs xdc.tool.configuro -t xxx -p xxx -c $(COMPILER_TOOL_DIR) app.cfg
即可生成app文件夹,文件中有link.cmd compile.opt等连接,编译配置文件,接下来就简单了
输入的文件只需要*.cfg文件,配置的参数:平台,处理器,编译链目录,即可。
app的编译没有用到xdc,xs等编译工具,与路径无关,只要在makefile中设置对xdcpath.mak文件的路径即可
注意:app的编译与*.cfg中的server目录有关,这个要设置正确。
CODEC的编译主要是XDC的运用了
xdc *.c
XDC暗地里会搜索config.bld usr.bld ,在和源文件(.c文件) 一起的必须有package.xdc,package.bld(可以为空)
会生成package.mak 和package文件夹
CODEC的编译与路径有关,利用了package。当移动目录时,所有与之相关的package.xdc的包名要设置。
其中CODEC的文件只能放XDC_PATH包含的目录中(XDC_PATH在文件xdcpath.mak中有定义)
server的编译主要是XDC的运用了
它与一个文件有关:all_codec,编译时会寻找这个文件夹中的all.tcf 。all_codec应该放在../../all_codec这个位子,以makefile为基准。这个文件与bios有关。
此外还要改package中的package.xdc中的包名,要根据路径来设置,这个server文件的位置也要放在XDC_PATH所包含的路径中。
另外*.cfg中的模块路径也要根据codec中的来设置,否则编译不通过。
-------------------------------------------------------------------------------------------------------------------
总结
首先:编译codec
1.注意codec文件夹放置在XDC_PATH包含的路径下。
2.注意改掉所有在codec文件及其子目录中的package.xdc的包名,根据所在目录来。
接着:编译server
1.注意server文件夹放置在XDC_PATH包含的路径下。
2.注意改掉所有在codec文件及其子目录中的package.xdc的包名,根据所在目录来。
3.修改[server].cfg中用到codec中的模块的路径。
4.all_tcf文件要放到以最低层makefile为基准的../../all_tcf位置
最后:编译app
app与codec、server不同,不是基于xdc编译,主要是configuro 和makefile编译,与包没有关系。
需要注意的是[app].cfg中server的路径设置正确即可。
最近看了一篇比较好的文章
http://blog.csdn.net/wzlang/article/details/8126024
2.codec engine example包中各文件解析