完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
电子发烧友论坛|
嗨,我有问题编译代码使用标准的FFT函数的DSP库使用和声。显然,这个函数存在一个问题:DSPJEXTROFTF1616St设置(FFTC,Log2n);请在下面的构建输出中找到:问题似乎在头文件FieldLMax.h中,它找不到O-COX或ONSIX函数。不过,我不知道如何修复这似乎是图书馆的一部分,PIC32 MZ.A。任何帮助将不胜感激!谢谢。配置细节:-ValueV2.04-MPLAB V4.01-XC32 V1.44 - XC32 V1.40的遗留外围库
以上来自于百度翻译 以下为原文 Hi, I am having issues compiling the code using the standard FFT functions of the DSP library using hARMony. Apparently, there is a problem with the function: DSP_TransformFFT16_setup(fftc, LOG2N); Please find below the build output: It seems that the problem is in the header file fdlmath.h, which can not find _cosx or _sinx functions. However, I do not know how to fix this as seems to be part of the library dsp_pic32mz.a. Any help will be much appreciated! Thanks in advance. Configuration details: - Harmony v2.04 - MPLAB X v4.01 - XC32 v1.44 - Legacy Peripheral Libraries from XC32 v1.40 |
|
相关推荐
19个回答
|
|
|
在这里,生成输出:dSP.PIC32 MZ.A(dSP.TrimeFFT16MyStudio.O):在函数COS:V1.40/PIC32 MX/IDE/FDLMULT.H:289:未定义的引用到OXCOXDSP.PIC32 MZ.A(dSP.TrimultFFT16SUpLo.O):函数SUN:V1.40/PIC3MX/IOPE/FDLMULT.H:343:未定义的引用:资讯科技状况
以上来自于百度翻译 以下为原文 Here the build output: dsp_pic32mz.a(dsp_transform_fft16_setup.o): In function cos: v1.40/pic32mx/include/fdlmath.h:289: undefined reference to _cosx dsp_pic32mz.a(dsp_transform_fft16_setup.o): In function sin: v1.40/pic32mx/include/fdlmath.h:343: undefined reference to _sinx error: ld returned 255 exit status |
|
|
|
|
|
你好,我不知道答案,但我看到你已经加载了传统的PLIBS。当然,这些是不需要的,因为你使用的是和弦。我最近没有看到这些测试,看看双设备是否相互干扰。遗留的PLIB用于MLA项目,并且是专用于PIC32 MX的。我相信您使用的是PIC32 MZ EC,所以这不应该有很大的影响。看来您正在使用正确的API,您是否也从MHC加载了库?
以上来自于百度翻译 以下为原文 Hello, I don't know the answer straight away, but I see you have loaded the legacy PLIBs. These are not needed certainly, since you are using Harmony PLIBs. I have not seen these tested recently to see if dual installations interfere with each other. The legacy PLIBs are used for MLA projects, and are exclusive to PIC32MX. I believe you are using PIC32MZ EC, so this should not have much of an impact. It seems you are using the correct API, did you also load the library from MHC? |
|
|
|
|
|
你好,MikeinAZ,谢谢你的回复。是的,我用MHC(DSP和LIQQ定点库)加载库。我有遗留库,因为我通常使用PIC32 MX。但是,通过卸载XC32 V1.40并删除文件夹,我卸载了它们,我猜这应该是因为传统的库没有安装更高版本。由于某种原因,编译器仍然试图在V1.40上找到一些文件……我使用XC32 V1.44,所以我不明白为什么它试图使用那些…C:程序文件(x86)Microchip xC32 V1.42 bin bin…dSPdSPXPIC32 MZ。芯片/ XC32/V1.40/PIC32 MX/IDE/FDLMULT.H:289:未定义的引用“`COSX”…DSPDSP.PIC32 MZ.A(dSPL转换FFT16SUpLo.O):在函数“Sin”中:C//程序文件(x86)/Microchip /XC32/V1.40/PIC32 MX/Cyp/FDLMaS.H:343:未定义的“Syxx”的任何概念?再次感谢!
以上来自于百度翻译 以下为原文 Hi MikeinAZ, Thank you for your response. Yes, I loaded the libraries using MHC (DSP and LibQ Fixed-Point Libraries). I have the legacy libraries because I usually work with PIC32MX. However, I uninstalled them by uninstalling the XC32 v1.40 and deleting the folder, I guess this should do it as the legacy libraries are not installed with higher versions. For some reason the compiler still tries to find some files on the v1.40...I use the XC32 v1.44, so I don't understand why it tries to use those... c:program files (x86)microchipxc32v1.42binbin... ..dspdsp_pic32mz.a(dsp_transform_fft16_setup.o): In function `cos': c:/program files (x86)/microchip/xc32/v1.40/pic32mx/include/fdlmath.h:289: undefined reference to `_cosx' ..dspdsp_pic32mz.a(dsp_transform_fft16_setup.o): In function `sin': c:/program files (x86)/microchip/xc32/v1.40/pic32mx/include/fdlmath.h:343: undefined reference to `_sinx' Any ideas? Thanks again! |
|
|
|
|
|
你说你的配置是:配置细节:-HyrimeV2.04-MPLAB V4.01-XC32 V1.44从XC32 V1.40遗留的外围库,但上面列出的错误消息来自编译器的1.42和1.40版本。这不应该发生。如果编译器是V1.44,那么只有目录内的文件应该被引用。我真的不知道你的项目有什么问题,但是我先看看项目配置下列出的包含目录,XC32 GCC选项卡,预处理和消息。
以上来自于百度翻译 以下为原文 You say that your configuration is: Configuration details: - Harmony v2.04 - MPLAB X v4.01 - XC32 v1.44 - Legacy Peripheral Libraries from XC32 v1.40 But the error messages listed above reference files from the 1.42 and 1.40 versions of the compiler. This should not be happening. If the compiler is V1.44 then only files within the directory should be referenced. I can't really know what is wrong with your project, but I would start by looking at the Include Directories listed under the project's configurations, xc32-gcc tab, Preprocessing and Messages. |
|
|
|
|
|
|
|
|
|
|
|
谢谢大家的回复。我在第一篇文章中的配置是我一直使用的。但是,我尝试了一个不同的编译器版本并粘贴了错误的生成输出。请使用下面的XC32 V1.44(同一结果):XC32 V1.44 bin……DSP dSP.PIC32 MZ(DSPL TrimultFFT16SUpLo.O):在函数“COS”中:XC32/V1.40/PIC32 MX/IDE/FDLMULT.H:289:未定义的引用:''COSX'DSP DSPYPIC32 MZ(DSPX转换FFT16SUpLo.O):在函数“Sin”中:XC32/V1.40/PIC32 MX/CURLUD/FDLMax.H:343:对'Sunx'的未定义引用。BRPS:由于发布问题(BTW非常讨厌),它的构建输出已经被削减了。
以上来自于百度翻译 以下为原文 Thanks guys for the responses. The configuration I put on the first post is the one I have been using. However, I did try a different compiler version and pasted the wrong build output. Please find the one using XC32 v1.44 below (same outcome): xc32v1.44bin... dspdsp_pic32mz(dsp_transform_fft16_setup.o): In function `cos': xc32/v1.40/pic32mx/include/fdlmath.h:289: undefined reference to `_cosx' dspdsp_pic32mz(dsp_transform_fft16_setup.o): In function `sin': xc32/v1.40/pic32mx/include/fdlmath.h:343: undefined reference to `_sinx' Thanks again. BR PS: The build output it has been cut down due to posting issues (very annoying BTW) |
|
|
|
|
|
使用的配置:-ValueV2.04-MHC V2.04-MPLAB XV4.01-XC32 V1.44 XX32 V1.40的遗留外围库
以上来自于百度翻译 以下为原文 The configuration used: - Harmony v2.04 - MHC v2.04 - MPLAB X v4.01 - XC32 v1.44 - Legacy Peripheral Libraries from XC32 v1.40 Thanks |
|
|
|
|
|
那么,为什么V1.44中的SPRT SPOTION FFT16IO设置引用V1.40中的包含头文件(FDLMax.h)?这没有道理。在V1.44中有一个版本OffdLMax.h。你为什么不使用它?
以上来自于百度翻译 以下为原文 So why would dsp_transform_fft16_setup in V1.44 reference an include header file (fdlmath.h) in V1.40? It doesn't make sense. There is a version of fdlmath.h in V1.44. Why aren't you using it? |
|
|
|
|
|
嗯,在我的一篇文章中,我不明白为什么会这样,所以请求帮助。这是所有从MHC生成的代码……并且假设它应该直接工作。我看了一下库,所有都指向PIC32 MZ库,但是那些在编译时产生错误的指针指向PIC32 MX(我相信它们使用的是传统的外围库?)谢谢你的帮助。
以上来自于百度翻译 以下为原文 Well, in one of my posts I mentioned I don't understand why that is happening, so asking for help. This is all code generated from the MHC...and assumed it should work straight away. I had a look at the libraries and all are pointing at PIC32MZ libraries, but that ones generating the error at compiling time are pointing at PIC32MX (which I believe are using the legacy peripheral libraries?). Thanks in advance for your help. BR |
|
|
|
|
|
你是否像我之前建议的那样检查了项目的包含目录列表?
以上来自于百度翻译 以下为原文 Did you check the project's list of include directories as I suggested earlier? |
|
|
|
|
|
嗨,米迦勒,对不起,我不能早些回答(欧洲时间)。我检查了包含的目录。对于V1.40或V1.44,我找不到任何与PIC32 MX有关的目录(因此,FDLMax.h)。所以我手动添加了以下目录:…xc32 v1.44 pIC3xx\包含。这似乎消除了编译时的错误(谢谢大家的建议)。然而,仍然不知道为什么会发生这样的事情,我想更好地理解……请,你能帮助我理解吗?1)当编译器使用XC32 V1.44时,为什么它会自动查看“…xc32 v1.40pIC3xx\”?2)为什么甚至看PIC32 MX而不是PIC32 MZ包含文件?3)当通过MHC创建项目时,它是如何工作的?非常感谢你的耐心和回答。
以上来自于百度翻译 以下为原文 Hi Michael, Sorry I couldn't reply earlier (European time). I did check the include directories suggested. I couldn't find any include directory related with PIC32MX (and, therefore, fdlmath.h) for either v1.40 or v1.44. So I added manually the following include directory: ..xc32v1.44pic32mxinclude. That seems to get rid of the error when compiling (thank you guys for suggesting it). However, still not sure why that happen and I would like to understand better...please, could you help me understand? 1) Why does it automatically look at "..xc32v1.40pic32mxinclude" when the compiler used is XC32 v1.44? 2) Why is even looking at PIC32MX rather than PIC32MZ include files? 3) Is that how it is suppose to work when creating a project through MHC? Thanks a lot for your patience and your answers. BR |
|
|
|
|
|
这些可能是(可以),因为1.40是最新版本的运输与周边图书馆-我仍然有它还安装了。
以上来自于百度翻译 以下为原文 These could be (could) because 1.40 was the latest version shipping with Peripheral Libraries - I still have it installed still, too. |
|
|
|
|
|
文件& lt;Project & g..x/nbProj/ClutualPosix.xml显示项目中实际是什么文件。你可以在里面查找V1.44目录树之外的东西。
以上来自于百度翻译 以下为原文 The file |
|
|
|
|
|
谢谢大家的帮助。我查看了配置文件.xml文件,在V.1.40上一无所获。因此,我不知道为什么它会自动地查看编译器版本,即使我用V1.44编译,无论如何,我现在工作了。
以上来自于百度翻译 以下为原文 Thanks guys for the help. I looked in the configurations.xml file and found nothing on v.1.40. So I don't know why it automatically looks at that compiler version, even though I compile with the v1.44. Anyway, I got it working now. Thanks. BR |
|
|
|
|
|
大家好,我有同样的问题,这是无法解决的手动添加下列目录:…xc32 v1.44 pIC32 Mx包含。谁能帮我解决这个问题?用于FFT计算的控制器是PIC32 MZ2064 DAB28 8“C:程序文件(x86)xC32 \xC32 gcc.exe”-McPrime2MZ2064 DAB28 8- OC:程序文件(x86)Microchip xC32 v1.44 bin bin gccPic3Mx4.83\\bin /xc32-L.ex.exe:警告:.. \\\bin \帧工作程序DSPDSP.PIC32 MZ.A(DSPA转换FFT1616Stuto.O)使用FPU硬浮点,DIST/PIC32 MZYDAKSKIGIDDDR/生产/ ADCHSS3CHYDMA.X.Engultual.ELF使用软浮标.. .. \\bin BaseFraseDSPDSP.PIC32 MZ.A(dSPL转换FFT16SUpL.O):在函数“COS”中:C//程序文件(x86)/微芯片/xc32/v1.40/pic3xx/Pico/FDLMax.H:289:未定义的引用“……COXX”…\bin \By\BaseDSPDSP.PIC32 MZ.A(dSP.TrimultFFT16SUpLo.O):在函数“Sin”中:C//程序文件(x86)/Microchip /XC32/V1.40/Pic3Mx/Cyp/FDLMax.H:343:未定义的“'sixx”引用
以上来自于百度翻译 以下为原文 Hello All, I am having the same issue and that couldn't be solved by adding manually the following include directory: ..xc32v1.44pic32mxinclude. can anyone help me with this issue? the controller I m using for the FFT calculation is pic32MZ2064DAB288 "C:Program Files (x86)Microchipxc32v1.44binxc32-gcc.exe" -mprocessor=32MZ2064DAB288 -o c:program files (x86)microchipxc32v1.44binbingccpic32mx4.8.3........bin/xc32-ld.exe: Warning: ..............binframeworkmathdspdsp_pic32mz.a(dsp_transform_fft16_setup.o) uses FPU hard float, dist/pic32mz_da_sk_intddr/production/adchs_3ch_dma.X.production.elf uses soft float ..............binframeworkmathdspdsp_pic32mz.a(dsp_transform_fft16_setup.o): In function `cos': c:/program files (x86)/microchip/xc32/v1.40/pic32mx/include/fdlmath.h:289: undefined reference to `_cosx' ..............binframeworkmathdspdsp_pic32mz.a(dsp_transform_fft16_setup.o): In function `sin': c:/program files (x86)/microchip/xc32/v1.40/pic32mx/include/fdlmath.h:343: undefined reference to `_sinx' |
|
|
|
|
|
[删除答案,因为这是不正确的] PIC32 MZ DA确实有DSP ASE扩展定点DSP库。
以上来自于百度翻译 以下为原文 [removed answer as this was not correct] PIC32MZ DA does have DSP ASE extensions for fixed point DSP library. |
|
|
|
|
|
亲爱的MikeinAZ,我已经比较了两个文档,我发现他们的扩展没有什么不同,你能给我更多关于那个图书馆的信息吗?
以上来自于百度翻译 以下为原文 Dear MikeinAZ, I have compared both documentation and I found no difference in their DSP ASE Extension, can you please give me more information about that library ? |
|
|
|
|
|
你好,我做了一些仔细的检查,我的立场是正确的。对不起,混乱。这个**包括DSP ASE功能。我们从未使用过它(在我们的DA应用程序中),但它确实存在。很好,你可以重复检查。对于你的问题,我看到它是与数学库的交互。我觉得这有点怪怪的。让我来帮你解决这个问题。你正在处理2种问题。首先,你有硬浮动(硬件浮点)单元打开。一般来说,把浮点数学和定点运算结合起来不是一个好主意。这是第一个警告。你也许可以忽略这个,但是我们有时被它所挑战,所以我们在做定点DSP时关闭了它。DSP的ASE扩展是用于定点的。第二,您正在使用的设置函数(通过API)是用C编写的。它有简单的调用返回到DSP .h文件,这是意料之中的。它还使用了标准数学库中的Sin和COS函数。从上面的浮点实现中,事情可能会变得棘手。DSPL转换FFT16L设置函数不使用DSP扩展(或完全组装)。所以它运行在标准的PIC32指令集中。该指令集的数学库由编译器引用到目录lt;编译器dir & gt;/xc32 /v1.40/px3xMx/包含。编译器自动对FDLMax.h文件进行引用。我不确定,但是如果启用了硬件浮点单元,编译器可能会有不同的库路径。顺便说一下,这个文件似乎也被正确地包含在XC32编译器(V1.44)的最新版本中,但是编译器正在检查和指导这个更老的版本。离子。我确信这将在未来的编译器版本中被修正。所以你可以检查/做一些事情:1)验证你是否有这个文件。FDLMask.h似乎有一个非常特定的目录,如果您还没有安装它,那么它可能是问题所在。XC32组件扩展的安装可能是其中的一个来源。我可以让你通过更多的选择,如果这是失踪。2)关掉浮点硬件(FPU)使用编译器选项在MPLAB X。谢谢你的耐心。让我知道你发现了什么。
以上来自于百度翻译 以下为原文 Hello, I did some careful review, and I stand corrected. Sorry about the confusion. This *does* include the DSP ASE functions. We have never used it as such (in our applications for DA), but there it is. Good on you for double checking. For your issue, I see it is an interaction with math libraries. It is somewhat odd looking, I understand. Let me try to walk you through this. You are dealing with 2 kinds of issues here. First, you have the hard float (hardware floating point) unit turned on. Generally speaking, combining floating point math with fixed point math is not a good idea. This is what the first warning is about. You might be able to ignore this, but we have been challenged on occasion by it so we have turned it off when doing fixed point DSP. The DSP ASE extensions are for fixed point. Second, the setup function that you are using (through the API) is written in C. It has simple calls back to the DSP.h file, which is expected. It also used SIN and COS functions from the standard math library. This is where things may get tricky from the floating point implementation above. The dsp_transform_fft16_setup function does NOT use DSP extensions (or assembly at all). So it runs in the standard PIC32 instruction set. The math library for that instruction set is referred by the compiler to the directory By the way, this file also seems to be included properly in the latest version of XC32 compiler (v1.44), but it is the compiler that is checking and directing to this older version. I am sure that will be corrected in future compiler versions. So a few things you can check / do: 1) Verify that you have the file in question at all. The fdlmath.h seems to have a very specific directory, and if you have not installed that before it could be the problem. Installation of the the XC32 component extension may be one source for this. I can walk you through more options if this is missing. 2) Turn off the floating point hardware (FPU) using the compiler options in MPLAB X. Thanks for your patience. Let me know what you find. |
|
|
|
|
|
亲爱的MakeinAZ,在第一个方面涉及:FDLMax.h在两个库DR>/XC32/V1.40/PIX32 MX/包含和&编译器dir & gt;/xc32/v1.44/px32 Mx/包含和第二点:我看到的唯一的东西是在一般选项卡上,“排除浮点库”WH。ICH听起来根本不像关掉FPU。检查它并不能停止警告。
以上来自于百度翻译 以下为原文 Dear MakeinAZ , in what concern the 1st point : the fdlmath.h was found in both libraries and for the 2nd point : the only thing I see there is under the general tab, "exclude floating point libraries" which doesn't sound at all like turning off the FPU. And checking it doesn't stop the warning. |
|
|
|
|
只有小组成员才能发言,加入小组>>
MPLAB X IDE V6.25版本怎么对bootloader和应用程序进行烧录
473 浏览 0 评论
5793 浏览 9 评论
2334 浏览 8 评论
2224 浏览 10 评论
请问是否能把一个ADC值转换成两个字节用来设置PWM占空比?
3530 浏览 3 评论
1123浏览 1评论
有偿咨询,关于MPLAB X IPE烧录PIC32MX所遇到的问题
1095浏览 1评论
我是Microchip 的代理商,有PIC16F1829T-I/SS 技术问题可以咨询我,微信:A-chip-Ti
873浏览 1评论
MPLAB X IDE V6.25版本怎么对bootloader和应用程序进行烧录
475浏览 0评论
/9
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2025-12-2 01:55 , Processed in 1.827796 second(s), Total 107, Slave 90 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191

淘帖
6143