完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
[tr]驱动问题咨询
你好! 在本月调试tms320c6748的emifa速率时,贵公司提供了一个新的静态库drivers.lib,同时附带有文件emifa.c。 在使用了新的drivers.lib后,使用memcpy()方式读取与emifa相连的外部fifo,使用cs2,速度能达到5M字节每秒。emifa的时钟给的是114M。 不过在调试的过程中产生了这样一个问题: 1. 使用以前的drivers.lib,使用edma方式从mcasp读取数据,能够读取到正确的数据。因为要读取的音频数据是24位的,所以edma的param设置如下: static struct EDMA3CCPaRAMEntry const rxDefaultPar = { (unsigned int)(EDMA3CC_OPT_SAM | (0x02 << 8u)), /* Opt field */ (unsigned int)SOC_MCASP_0_DATA_REGS, /* source address */ (unsigned short)(4), /* aCnt */ (unsigned short)(336), /* bCnt */ (unsigned int)rxBuf0, /* dest address */ (short) (0), /* source bIdx */ (short)(3), /* dest bIdx */ //lzh 1009 (unsigned short)(PAR_RX_START * SIZE_PARAMSET), /* link address */ (unsigned short)(0), /* bCnt reload value */ (short)(0), /* source cIdx */ (short)(0), /* dest cIdx */ (unsigned short)1 /* cCnt */ }; 上面的aCnt设置成3也能够采集到正确的音频数据。 2. 使用最新的drivers.lib,使用edma方式从mcasp读取数据,读取不到正确数据。edma的param设置如上。 3. 不管使用旧的drivers.lib还是新的,使用edma方式从mcasp读取数据,如果音频数据是16位,则能够读取到正确的数据。edma的param设置如下: static struct EDMA3CCPaRAMEntry const rxDefaultPar = { (unsigned int)(EDMA3CC_OPT_SAM | (0x02 << 8u)), /* Opt field */ (unsigned int)SOC_MCASP_0_DATA_REGS, /* source address */ (unsigned short)(4), /* aCnt */ (unsigned short)(504), /* bCnt */ (unsigned int)rxBuf0, /* dest address */ (short) (0), /* source bIdx */ (short)(2), /* dest bIdx */ //lzh 1009 (unsigned short)(PAR_RX_START * SIZE_PARAMSET), /* link address */ (unsigned short)(0), /* bCnt reload value */ (short)(0), /* source cIdx */ (short)(0), /* dest cIdx */ (unsigned short)1 /* cCnt */ }; 上面的aCnt设置成2也能够采集到正确的音频数据。 emifa的设置如下: SYSCFG0Regs.PINMUX6.bit.PINMUX6_3_0 = 0x1; SYSCFG0Regs.PINMUX7.bit.PINMUX7_27_24 = 0x1; SYSCFG0Regs.PINMUX7.bit.PINMUX7_23_20 = 0x1; SYSCFG0Regs.PINMUX7.bit.PINMUX7_19_16 = 0x1; SYSCFG0Regs.PINMUX7.bit.PINMUX7_3_0 = 0x1; SYSCFG0Regs.PINMUX8.all = 0x11111111; SYSCFG0Regs.PINMUX9.all = 0x11111111; /*配置数据总线16bit*/ EMIFAAsyncDevDataBusWidthSelect(SOC_EMIFA_0_REGS,EMIFA_CHIP_SELECT_2, EMIFA_DATA_BUSWITTH_16BIT); /*选着Normal模式*/ EMIFAAsyncDevOpModeSelect(SOC_EMIFA_0_REGS,EMIFA_CHIP_SELECT_2, EMIFA_ASYNC_INTERFACE_NORMAL_MODE); /*禁止WAIT引脚*/ EMIFAExtendedWaitConfig(SOC_EMIFA_0_REGS,EMIFA_CHIP_SELECT_2, EMIFA_EXTENDED_WAIT_DISABLE); /*配置W_SETUP/R_SETUP W_STROBE/R_STROBE W_HOLD/R_HOLD TA等参数*/ EMIFAWaitTimingConfig(SOC_EMIFA_0_REGS,EMIFA_CHIP_SELECT_2, EMIFA_ASYNC_WAITTIME_CONFIG(1, 2, 1, 1, 2, 1, 0 )); 现在就想咨询一下这个新的drivers.lib和旧的有什么区别,对edma有什么影响。是不是用这个新的drivers.lib的话edma的地址必须以偶数字节递增。 有没有办法以奇数字节递增。 [/tr] |
|
相关推荐
2个回答
|
|
|
|
|
|
|
|
|
|
只有小组成员才能发言,加入小组>>
基于RK3588J的6路MIPI CSI视频采集案例分享,多路视频系统必看!
1219 浏览 0 评论
592 浏览 0 评论
【创龙科技TL570x-EVM开发板试用体验】 GStreamer 功能测评
8566 浏览 8 评论
【创龙科技TL570x-EVM开发板试用体验】创龙TL5708-EVM开发板入手使用体验评测
6593 浏览 0 评论
【创龙TLZ7x-EasyEVM评估板试用连载】+3.环境搭建vmware+ubuntu详细教程(二)
1399 浏览 0 评论
841浏览 0评论
【创龙科技AM64x开发板试用体验】创龙科技AM64x开发板及核心板介绍
830浏览 0评论
【创龙科技AM64x开发板试用体验】创龙科技AM64x开发板--板卡调试软件安装
847浏览 0评论
【创龙科技AM64x开发板试用体验】AM64x开发板开箱测评
840浏览 0评论
求助! 关于使用自制底板插入创龙IMX8MM 核心板无法启动问题
490浏览 0评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-24 00:50 , Processed in 0.747928 second(s), Total 104, Slave 84 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号