赢一个双肩背包 有多难? 戳一下试试看! →_→ 长摁识别自年德州仪器推出多核DSPTMSC后,以该芯片为核心的DSP开放板层出不穷,学习这款芯片的人日益增多。下面小编把工程师朋友在开发这款芯片的过程中遇到的问题和解决方法以问答的形式进行了整理,希望对初学者能有所帮助!TMSC是基于TI最新DSP系列器件TMSC66x之上,采用8个1.25GHzDSP内核构建而成,并在单个器件上完美集成了GMAC与GFLOP定点及浮点性能,从而使用户不仅能整合多个DSP以缩小板级空间并降低成本,同时还能减少整体的功耗要求,充分满足移动网络领域对通道密度及高质量媒体服务日益增长的需求。 一.TMSC网络问题 用自己开发的板子,采用的双网口设计,网口0和网口1。用TI官方给的例子只能网口1通信,在例子上修改了sgmii初始化了sgmii0和sgmii1但是还是只能网口1通信。 要修改网络接口管理单元的库,nimu。在EMACInit_Core函数中有设置发送接口配置的信息。这个函数是隐形的被NDK调用。所以刚开始比较难找到相应的位置。 c的两个网口是如何同时使用的,能不能多个cpucore同时使用同一个网口,请赐教。 C的EMAC是cppi器件,即通过Navigator进行包的管理,所以收发的数据包都是Queue来管理,可以同时使用;需要注意的是可以配置每个发送的包由指定的port发出,或者向两个port广播。 二.TMSC关于多核编程问题 目前的C++程序的段,都放到了DDR3里,这样的话,我要是三个核同时运行,岂不是对其中相同的堆栈进行访问吗?嗯,对于所有段都放到DDR3的情况,怎样进行多核编程呢? 在里面有MPAXMMU的,可以在DDR3上给每个核都开辟一个私有的空间,在物理地址上是连续的,但对每个核读/写来说地址都是相同的。不同core的systemstack及taskstack必须不一样。 三.TMSC主频设置问题 datasheet里面讲TMSC的主频为1G,1.25G,1.4G可选,请问,如何设置TMSC的主频参数呢?是在boot的时候作设置吗?与cmd文件有没有关系呢? 首先要确定你的芯片是不是支持1.2G和1.4G,不是所有的C都支持。其次,主频你是在MAINPLL里面配置的,根据你的输入时钟频率,配置MAINPLL得到一个主频。你可以通过boot做配置,也可以通过boot后软件配置。与cmd文件没有关联。 四.tmsc的中断响应 在中断响应的过程中,个系统事件先是通过ch_map映射到channel,channel再映射到主机中断输出,hostinterruptoutput是需要映射到INTC的systemevents然后才能挂接到dsp可以识别的12中断上,这里hostinterruptoutput是个,INTC的systemevents是个,这里hostinterruptoutput和systemevents是有什么映射关系吗?有的话是如何映射的? chipinterruptcontroller的输入称作hostinterruptevent,这些事件经过映射可以与任意的chipINTCchannel进行映射输出;chipINTCchannel的某些输出事件是直接与corepacINTC的对应输入事件一一连接,具体的对应关系参考datamanualinterrupt表格。chipintc只有特定的输出才会coreintc与的某些输入一一对应,所以只有将ChipINTC的输入个事件与这些特定的输出映射起来,才可以最终路由到core内部12个中断矢量表。 五.TMSC多核程序的运行 最近刚刚接触多核DSP,我想问下,在准备运行多核程序时,是需要将程序在每个核里面进行load吧?TI提供的多核运行例程有哪些,具体在MSDK下的哪个位置?另外对于API函数,在对其进行直接调用时,能否在不用SYS/BIOS的情况下,使用中断实现调用,例如uart通信,直接调用API函数实现查询式通信,能否添加中断函数,调用uart的API函数实现中断式通信? 程序用到哪个核就需要load到哪个核里边,在MCSDK的以下位置有多核运行的例程:demos\image_processing\ipc,不使用SYS/BIOS也可以使用API函数。 六.TMSC系统设计中PCIECLK问题 请问在设计基于TMSC系统板时,如果不用PCIE模块,是不是可以悬空PCIECLKP和PCIECLKN引脚,还是是分别接高电平和低电平。 答:请参考Keystone硬件设计手册,PCIE不用时,PCIECLKP端接CVDD,N端接地,不可悬空。 七.TMSC的定点运算与浮点运算 看介绍,TMSC是定点与浮点运算都支持的DSP芯片。现在自己编写的程序中,所使用的数据除了整型之外都是浮点数。想问一下,在运算浮点数的时候,DSP是否会将浮点数转为定点数,再进行运算,然后再转为浮点数?1.编译器会根据客户定义的数据类型来调用相关的汇编指令来进行运算,如果直接定义的是浮点数,那么编译器就调用浮点数进行运算。 2.对于浮点和定点的选择,如果算法是从matlab或vc继承过来的,那么前期直接用浮点数进行运算可以很容易的将算法在DSP上实现,如果后期算法成熟了,可以进行定点化,提高运行效率。 c的两个网口是如何同时使用的,能不能多个cpucore同时使用同一个网口,请赐教。 C的EMAC是cppi器件,即通过Navigator进行包的管理,所以收发的数据包都是Queue来管理,可以同时使用;需要注意的是可以配置每个发送的包由指定的port发出,或者向两个port广播。 八.TMSC系统如何获得CPU 现在的现象是,当客户端连续发送多个数据请求时,发送到中间某一个时网络会中断,当前算法特点是,由于运算最较大,运算时间比较长,暂未进行优化,比如30s,50s,我们现在就是希望能让程序正常运行,完成我们的算法要求,下一步工作再进行优化,但是现在这个中断的问题让我们比较头疼,请专家指教。 经过多次试验,最后我将我们的算法注掉,换成了下面代码,网络是正常的,不会中断。 voidTest(指定时间间隔) { 获取系统当前时间1 while(1) { 获取系统当前时间2 if(时间2-时间1=指定时间间隔) return; } } 我又将我们的算法换成了下面代码,网络很快就会中断。 voidTest() { while(...) { for(...) { 纯算法,加减剩除,专门用来耗时。 } } } 从上面的现象看,我们猜测,是由于算法占用CPU时间过长,系统无法获得CPU,没有时间处理网络相关信息,造成的,各位大侠有什么好办法,请多多回复。 因为你在DSP上没有跑RTOS操作系统,而你的代码是一段无限的死循环,因此CPU的Cycle都消耗在你的算法代码里了(即PC指针一直在里面,没有出来)。 在跑RTOS操作系统的情况下,任务按照优先级来进行运行,如果网络属于更高优先级任务,那么即使算法在持续运行,调度器也会切换到网络任务,并优先运行,网络也就不会断了。 我们Enea是TI的白金合作伙伴,在上提供整套的商用平台软件解决方案,可以解决您的问题。 我们可以在C上提供全套的平台软件,包括操作系统、BSP驱动、中间件和开发工具。 OSEckRTOS软件平台包括: OSEckRTOS内核: 1稳定可靠,支持所有DSP,有20+年历史。 2专门针对C66x优化。没有内存碎片的内存管理。 3内存自动裁剪,统一的出错处理机制。 4BSP(驱动)源代码:优化高效的驱动,如RapidIO,Ethernet等。 5LINXIPC:支持分布式系统的IPC. 6使多核、多DSP、多板卡的编程好像单核编程一样。 7支持任何物理介质,如C66x多核之间(EDMA),多DSP之间(RapidIO),多板卡之间(RapidIO,Ethernet)。 8TCP/IP协议 9PackageFlow软件加速包 10Optima开发优化工具:CPU,内存等性能优化工具。 Enea在DSPRTOS领域有近20年的开发、现场使用经验,针对复杂的C,从年起专门投入30多人的专家团队来支持优化软件平台,包括: 内核、重写高性能驱动、分布式支持、网络加速、优化工具等,现在以及有30多个客户使用Enea针对的软件平台: 1.成熟、稳定、可靠、现场验证的,专门针对DSP特别优化的OSEckRTOS。 2.成熟稳定的针对C的驱动程序,支持包括SRIO、以太网、PA、MulticoreNavigator、MPAX、中断管理等。 3.跨核、跨DSP、跨板卡系统的透明传输模块LINX。 九.tmsc电源问题 在评估板上,固定1V的电流值是5A,c_power_consumption_summary_rev3-2表格中固定1V所需电流值仅需1A左右,修改后也达不到2A,这是为什么? 修改表格使能所有模块后,在1GHz,85度下,CVDD对应的电流大概在6A,CVDD1的电流在2A左右。你的5A可能测的是CVDD对应的值。 十.TMSC降低功耗 在C中有PDCCMD寄存器可以选择是否关闭C66xCorePac来降低功耗,寄存器的地址是0x,但是怎么选择具体关闭哪个CorePac呢?难道在PDCCMD寄存器中设置关闭内核就都关闭了吗?可是在提供的功耗估计表里,8个内核可以选择具体使能哪个呀。那其他核的PDCCMD寄存器是什么地址呢? PDCCMD是每个core独立的寄存器,每个core的寄存器的地址是一样的,只能由本核访问。具体的corepacpowerdownflow在corepacuserguide有说明。在powerspreadsheet中可以分corepac设置其enable/diablestatus,设置为disablestatus即将该corepowerdown。 西藏治疗白癜风的医院北京去哪个医院看白癜风欢迎转载,转载请注明原文网址:http://www.dezhoushizx.com/dzfz/5810.html |