我这边使用的芯片是8127, 最近在运行程序中,从串口中打印了如下的日志信息:
[m3vpss ] ##################### REISZER OVERFLOW OCCURED: RESTARTING…############################
然后挂掉了,从字面意义上看貌似是resizer时出错了,不是每次都出现这个问题,百思不得其解,麻烦哪位能指导下,这个错误具体是什么意思的?什么情况下会出现的?
先谢谢了.
Louis:
看看下面的几个帖子,是否有帮助:
http://e2e.ti.com/support/dsp/davinci_digital_media_processors/f/716/t/363148
http://e2e.ti.com/support/dsp/davinci_digital_media_processors/f/716/t/265001
jensen zhang:
回复 Louis:
首先感谢你的回复,我看了相关的连接,也对比了我的代码,貌似对不上.
我在RDK中搜索了下,存在于iss_03_50_00_00/packages/ti/psp/iss/drivers/capture/src/iss_drv_captureApi.c文件中
iss_isif_linenum_handle()函数中,这个函数在drvIspCallback()回调函数中,当事件为MSP_ISS_DRV_ISIF_VD_ISR时会调用这个函数
在iss_isif_linenum_handle()中读取0x55050024地址信息,如果这个地址上的整型值第13位如果为12,则打印这个错误信息,
Int rsz_err = * (MSP_U32 *)(0x55050024);
if (rsz_err & 0xc0000)
{
Vps_printf("\r\n\t############ REISZER OVERFLOW OCCURED: RESTARTING… ###############\n\r");
isp_reset_trigger = 1;
}
我对这一块没有太多研究,能告诉我这个错误代表什么意思吗?具体是什么原因会引起这个错误呢?
急等中, 恳请解答,先谢谢了.
steven Lee1:
回复 jensen zhang:
我这边也出现了这个问题,不过频率比较低,是否和处理能力有关系,另外restart为啥不能起作用
jensen zhang:
回复 Chris Meng:
非常感谢Chris Meng的回复,我尝试下哈。
另外,我这边测试还发现个这样的现象,长时间运行后(如8个小时后)数据链路突然卡死帧不正常流动了,我在rdk中加了一些日志打印,比如我在cameralink中增加了如下这样的计数:
Int32 queue_num_ = 8; // 原始帧队列长度为8
。。。
FVID2_dequeue(pObj->fvidHandleVipAll, &frameList, streamId, BIOS_NO_WAIT); queue_num_ -= frameList.numFrames;
。。。
pObj->cameraQueuedFrameCount += pFrameList->numFrames;
FVID2_queue(pObj->fvidHandleVipAll,pFrameList, ISS_CAPT_STREAM_ID_ANY);
queue_num_ += pFrameList->numFrames;
。。。
正常运行时经打印输出,发现queue_num_一般在5以上徘徊,当最后卡死时,发现queue_num_逐渐变小,最后变成3或2或1
另外发现从cameralink的帧处理函数CameraLink_drvProcessData()中调用System_sendLinkCmd(pObj->createArgs.outQueParams[queId].nextLink, SYSTEM_CMD_NEW_DATA)发送
SYSTEM_CMD_NEW_DATA到下一个link,但下一个link的任务主函数中并未接收到SYSTEM_CMD_NEW_DATA消息,
请教下一般是什么原因导致这个链路卡死了呢?
steven Lee1:
回复 Chris Meng:
hi chris!
我们现在的ddr跑的是533MHz,图像采集是400万25fps,resize A/B都用了,resize A把400万放大成500万,resize B把400万缩放成1080P。
然后偶尔会出resize overflow
看了你这个帖子,我尝试把ddr频率降到400M,发现特别容易复现resize overflow的问题,这样是不是就证明出现这个问题确实跟ddr的资源有关?
如果是这样的话,有没有什么解决这个问题的建议呢?我们A8测没有大量的非edma模式的ddr访问,提高ddr的频率的话我担心不稳定
提高vpss的主频会有效果么,谢谢
steven Lee1:
回复 Chris Meng:
另外,我的init.sh里面iss优先级设置的是0,这个应该就是最高优先级了
jensen zhang:
回复 steven Lee1:
我init.sh中也将iss的优先级设置为最高优先级了(这个是默认的)
./bin/sys_pri.out –dmm-pri-set ISS 0&
而且根据某帖子的建议加上了如下这一行:
./bin/sys_pri.out –L3-bw-reg-set ISS 3 3 100 2000&
貌似运行一段时间,还是会出现RESIZE OVERFLOW这个提示
真的抓狂. 我的DDR频率是533MHz,
不知道还怎样来解决这个问题了.
TI中文支持网

