完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
项目需要使用F2811以及CCS3.3进行开发,其中涉及到32bit*32bit得64bit结果的计算,不开优化时,编译可以通过,开o2优化后,链接过程中提示LL$$MPY未定义的错误
32bit*32bit得64bit的实现方式如下: temp = ((S64_T)src0) * src1; 不开o2优化时,生成的汇编文件显示该代码生成IMPY与QMPY两条指令,并且链接没有错误 开o2优化后,链接过程中提示LL$$MPY未定义的错误,看到生成的lst文件中也有提示LL$$MPY未定义的提示 请问这是什么原因造成的呢?解决这个问题有什么思路呢?是否和编译器的配置有关? 我的工程的编译配置主要参数如下: -g -k -q -al -fr -ml -v28 再补充一个问题:2000系列DSP以及CCS3.3所支持的intriscs就只有ccs安装路径中文档514里面提到那些吗?请问还有其他的吗?因为优化代码需要使用这些工具。 还望各位讨论交流 |
|
相关推荐
6 个讨论
|
|
谢谢您。 你说的这个方法我回头可以试试,我现在换成IQxmpy来进行这一步计算,我只取了其中一部分的结果 有两个问题还想向您继续请教: 1. 可以自己将一些简单的汇编指令封装成类似intrinsics吗?TI这里有没有参考的例子?比如取反这样的操作,514文档里的减法也不是我需要使用的减法 2. 请问TI关于2811这边有提供封装的C实现的指令吗?我想通过类似的封装通过VS来仿真debug我的代码,以便我查找自己代码问题,因为目前通过仿真器想DSP导入数据测试代码的方式比较麻烦,而且工作量还很大。 谢谢你了 |
|
|
|
|
|
1. 理论上当前可行,不过实际操作上我不确定是否支持用户自己去实现,因为如果需要重新编译链接到编译器的话,那基本是不可能的,不过你可以尝试一下,在编译器路径下,比如C:ticompilerti-cgt-c2000_15.9.0libsrc新建一个.asm或者.c,然后自己定义函数,或者干脆选择任意一个文件,在里面加入你的代码,保存后看看是否可以直接调用。我自己没有尝试过,所以不敢断言,只能建议。 另外,如果不行,为什么不直接封装成简单的函数呢?关于这点,你可以参考应用文档An Easy Way of Creating a C-callable Assembly Function for the TMS320C28x DSP. 2. 我不是很明白“封装的C实现的指令”是什么意思,能否更具体或者举例说明。 If a post answers your question, please mark it with the "verify answer" button. |
|
|
|
|
|
szbliy 发表于 2018-9-24 18:02 谢谢您提供给我的文档。 我的意思是,比如将一些加减乘计算写成库函数的形式,使得它能够达到与intrinsics类似的效果。因为我在514里面找的intrinsics非常有限,比如里面的减法只看到一个long与int进行计算的,而我的实际需求是SUB16,SUB32等,还有我在文档里找到16bit乘法的intrinsics,它的输出参数要求第二数得是立即数,而我的实际需求似MPY_16_16_32(Src0,Src1)这样的形式。 因为我定点话移植时,想着这样可以直接替换别人算法中的定点库。 |
|
|
|
|
|
hyfghg 发表于 2018-9-24 18:16 理解你的想法,不过intrinsics是由编译器决定的,所以我不确定是否支持用户去添加自定义的函数,不过你还是可以按照上面的建议去尝试看看。 If a post answers your question, please mark it with the "verify answer" button. |
|
|
|
|
|
只有小组成员才能发言,加入小组>>
332 浏览 1 评论
528 浏览 2 评论
NA555DR VCC最低电压需要在5V供电,为什么用3.3V供电搭了个单稳态触发器也使用正常?
772 浏览 3 评论
MSP430F249TPMR出现高温存储后失效了的情况,怎么解决?
649 浏览 1 评论
对于多级放大电路板,在PCB布局中,电源摆放的位置应该注意什么?
1124 浏览 1 评论
AT32F407在USART2 DMA发送数据时,接包接到了要发送的数据,程序还是处于等待传输完成的标识判断中,为什么?
52浏览 29评论
85浏览 23评论
请问下tpa3220实际测试引脚功能和官方资料不符,哪位大佬可以帮忙解答下
244浏览 20评论
请教下关于TAS5825PEVM评估模块原理图中不太明白的地方,寻求答疑
196浏览 14评论
两个TMP117传感器一个可以正常读取温度值,一个读取的值一直是0,为什么?
54浏览 13评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-21 14:37 , Processed in 1.048759 second(s), Total 61, Slave 52 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号