DM814xDM81xxIPNC移植笔记Word文档格式.docx
- 文档编号:18182497
- 上传时间:2022-12-14
- 格式:DOCX
- 页数:26
- 大小:9.51MB
DM814xDM81xxIPNC移植笔记Word文档格式.docx
《DM814xDM81xxIPNC移植笔记Word文档格式.docx》由会员分享,可在线阅读,更多相关《DM814xDM81xxIPNC移植笔记Word文档格式.docx(26页珍藏版)》请在冰豆网上搜索。
修改board-ti8148ipnc.c文件,主要是针对I2C结构体,将默认的tlv320aic3104,改为tlv320aic3x
修改davinci-evm.c,主要将IPNC模式下的DAI信号借口配置改为evm模式下的配置,如clk或者FRM模式:
/*codecclk&
FRMslave*/;
具体意义暂时没有去研究,后期有时间会研究。
支持I2C3
支持I2C3主要与下面几个文件有关:
都是在mach-omap2文件夹中:
I2C.c,board-ti8148evm.c/board-ti8148ipnc.c,mux814x.c
修改见下图:
修改IPNC包支持VIP0口捕捉,默认IPNC内核只支持VIP1捕捉
uboot问题
1、uboot和内核的机器码不一样
Startingkernel...
UncompressingLinux...done,bootingthekernel.
Error:
unrecognized/unsupportedmachineID(r1=0x00000bbc).
Availablemachinesupport:
ID(hex)NAME
00000ca7ti8148ipnc
Pleasecheckyourkernelconfigand/orbootloader.
这个错误提示是由于在u-boot和内核中对不同CPU指定的机器码不一致造成的,解决方法有两种:
1、修改内核中对机器码,使得内核中使用的机器码和uboot中使用的机器码一致。
ti8148ipncMACH_TI8148IPNCTI8148IPNC3239
2、修改u-boot中使用的机器码,使得uboot中使用的机器码和内核中的一致。
2、uboot-evm修改
针对上面问题,可以修改cmd_ipnc_ff_init.c文件,如下图,添加宏定义
CONFIG_TI814x_IPNC
IPNC_MCFW问题
1、错误提示如下
[m3vpss]10103:
SYSTEM:
Attachingto[DSP]...
解决办法:
由于DSP时钟模块没有工作,需要在uboot中将其时钟模块开关打开,如下图配置bootcmd参数:
IPNC模式去掉ipnc_ff_init命令如下修改
注意上面是将DSP的时钟模块打开,同时,指定加载内核的方式是tftp方式。
2、SYSTEM:
InvalidprocID
[host]SYSTEM:
InvalidprocID(procID=15,linkID=0xffffffff,cmd=0x00004004)
ASSERT(system_linkApi.c|System_linkControl|42)
跟踪代码发现是跟SD显示有关,故在stream.c文件中进行修改。
3、编译提示TILER_MEM地址错误,找不到对应的物理块
configuringMAIN_APP_c6xdsp.xe674frompackage/cfg/MAIN_APP_c6xdsp_pe674.cfg...
error:
ti.platforms.evmTI814X.Platform:
"
/home/afa/work/DM8127/Source/ti_tools/xdctools_3_24_03_33/packages/xdc/platform/Utils.xs"
line365:
ti.platforms.evmTI814X.Platform.Instance#0/customMemoryMap/'
TILER_MEM'
:
MemoryobjectTILER_MEMdoesnotfitintoanyphysicalmemorybank.
js:
/home/afa/work/DM8127/Source/ti_tools/xdctools_3_24_03_33/packages/xdc/cfg/Main.xs"
line149:
Error:
Configurationfailed!
gmake:
***[package/cfg/MAIN_APP_c6xdsp_pe674.xdl]错误1
/home/afa/work/DM8127/Source/ti_tools/xdctools_3_24_03_33/packages/xdc/tools/Cmdr.xs"
line51:
xdc.tools.configuro:
configurationfailedduetoearliererrors(status=2);
'
linker.cmd'
deleted.
make[3]:
***[xdc_configuro]错误1
正在离开目录`/home/afa/work/DM8127/Source/ipnc_rdk/ipnc_mcfw/mcfw/src_bios6/main_app'
make[2]:
***[apps]错误2
正在离开目录`/home/afa/work/DM8127/Source/ipnc_rdk/ipnc_mcfw/mcfw/src_bios6'
make[1]:
***[mcfw_bios6]错误2
正在离开目录`/home/afa/work/DM8127/Source/ipnc_rdk'
make:
***[sys]错误2
解决办法是修改cfg文件夹下的bld文件,此处IPNC用到的是config_512M.bld文件,将DDR_SIZE变量调整为2GB即可解决该编译问题
4、VPSS错误,是由于DDR读写错误导致的。
VPSS_FVID2:
Unabletogetfirmwareversion
VPSS_CORE:
Failedtoinitfvid2interface,
vpss:
probeofvpssfailedwitherror-22
failedtoregisterti81xx-vpssdriver
insmod:
errorinserting'
./kermod/vpss.ko'
:
-1Nosuchdevice
ti81xxhdmi:
UnknownsymbolTI81xx_un_register_display_panel(err0)
UnknownsymbolTI81xx_register_display_panel(err0)
修改uboot中DDR配置参数:
5、编译ISS包错误
由于在ipnc_rdk顶层Rule.make文件中IMGS_ID:
=IMGS_HISON,跟
ti_tools/iss_03_50_00_00/packages/ti/psp/devices/Makefile文件相关定义找不到,故需要直接将issdrv_device.c的路径添加进去。
如下图:
6、缺少awb_calc_data定义
通过查找源文件,发现该变量在issdrv_algTIawbCalcData_default.c等文件中定义了,故需要在文件ti_tools/iss_03_50_00_00/packages/ti/psp/iss/drivers/alg/2A/srcissdrv_algTIawbCalcData_default.c添加该文件,如下图,通过添加宏定义BELL_SENSOR将该文件引入.
7、Swmlink创建失败
在IPNCRDK中创建SWM的时候需要用到ISS_init中的一些资源,故需要在syslink_m3vpss.c
中添加Iss_init(NULL);
8、提示DSP发送过了的0x7004命令执行失败
[host]96404:
MSGQ:
MsgQAckgetfrom[DSP]failedforlink0,cmdId0x7004!
!
(retrying-999times)
分析可以知道linux端调用API通知dsp进行相应的SCD处理。
故需要修改linux的ti_vcap的该命令相应。
9、切换码流的时候,一直提示要执行stream_feature_setupsetnFeature19
在staticvoid*PollingThread(void*arg)注释掉
10、当没有HDMI有码流正常输出,demo启动终端输出也是正常的,而网页上没有正常码流时,可能是osa_kermod_load.sh文件有点错误,找不到osa_kermod.ko
正确的文件如下:
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- DM814xDM81xxIPNC 移植 笔记