没有例子,方法也可以,我现在先用edma3把寄存器配置信息和输入信息传入TCP3E相应寄存器地址,然后关闭edma3,然后在用edma3从TCP3E输出数据地址导出数据,但是并没有成功,我想问问该怎样去做?
This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
没有例子,方法也可以,我现在先用edma3把寄存器配置信息和输入信息传入TCP3E相应寄存器地址,然后关闭edma3,然后在用edma3从TCP3E输出数据地址导出数据,但是并没有成功,我想问问该怎样去做?
你用的哪款芯片?如果使用的是存在BCP加速器的芯片,建议使用BCP中的encoder模块处理编码,BCP使用的Navigator进行数据的输入输出管理,Navigator的配置相对EDMA配置会好维护点。
针对你的问题,建议:
1 查看TCP3E内部memory,看配置及数据是否有输入成功;
2 查看TCP3E内部memory,确认编码结果是否输出于TCP3e内部buffer。
3 在确认1、2之后,再确认输入输出EDMA的配置是否符合预期,比如说EDMA channel、地址、长度等的配置。
6618有集成BCP,如果没有特殊考虑建议使用BCP中的Encoder模块进行Turbo编码处理。
关于TCP3e内部memory的地址建议看6670(与6618是一款芯片) pdk中cslr_device.h中对地址的定义,可以查看到具体的地址,或者看6670 data manual手册中的memory map也可以查到相应的基地址,然后结合tcp3e手册得到相应寄存器及数据存放偏移地址。关于TCP3E还是建议先稍微看看TCP3E手册,在了解原理后再参考MCSDK中的例程,并进行移植修改,这样会比较可靠。
MCSDK中带bios的例程与不带bios的例程,区别仅仅是在任务中调用TCP的配置及处理等,其他没有什么特殊,在了解TCP3E的输入输出数据的原理后,可以比较快进行移植。
建议先看看手册了解原理,否则即使有不带bios的工程,你要移植起来也会可能会出现问题。