Other Parts Discussed in Thread: C2000WARE, SYSCONFIG, CONTROLSUITE
In c2000 the tutorial document does not give info for this MCU and neither is there any linker command file for the same.
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.
In c2000 the tutorial document does not give info for this MCU and neither is there any linker command file for the same.
Hello Akshay,
Have you already reviewed the user's guide in C2000Ware for the DSP FPU: C2000Ware_5_01_00_00\libraries\dsp\FPU\c28\docs? The DSP FPU library includes the library for using the FFT, and there are examples included beside the docs directory. Please refer to these and let me know if you have any questions.
I also highly recommend using the SysConfig FFT module when configuring FFT objects, as this will simplify error checking and provide a basic format for what needs to be set up.

Hi,
Thank you for your reply. But the documents is for 64F2838x,F28P65x 32F28002x, F28003x, F280013x, F280015x, F28P55x, and F28P65x MCUs.
My MCU is F28069M, and am unable to find configuration or docs for the same.
Can you please share the steps for the same.
Also while creating Project in Code Composer studio, It does not generate syscfg file with selection of FFT as you have indicated in the above screenshot.
If you can, please the example project containing the same.
Thanks and regards,
Akshay Mehrotra
Hello Ashkay,
Can you please share the steps for the same.
The device still uses the same FPU hardware, the doc and examples still apply.
Also while creating Project in Code Composer studio, It does not generate syscfg file with selection of FFT as you have indicated in the above screenshot.
If you can, please the example project containing the same.
Apologies, the SysConfig capability does not apply to this device because it is too old. If this is for a new project/system, I recommend using a newer device such as F2838x since this also is capable of FPU64 support.
Hi Omer,
Thanks for this clarification.
We have already finalized and prepared HW as per this MCU. So it is not possible to change it now.
I will try to use the library and instructions as given in the document. But as i saw in examples of FFT implementation for MCU 2837x, the linker command while has different memory addresses when compared to its normal RAM linker command file.
So can you confirm whether I would have to change something in the linker command file to use the provided FFT library?
So can you confirm whether I would have to change something in the linker command file to use the provided FFT library?
The RAM addresses themselves shouldn't be different, but I believe you do have to create sections for the FPUmathTables and FPUfftTables. The linker command file should provide the basic outline on how to do this in the example.
Hi Omer,
After doing the same it's difficult to comprehend the result.
Is there any example of FFT implementation for f2806x?
it is very much needed.
I wonder if there was no documentation or support of drivers for this MCU then why would TI even recommend to use such a MCU.
Implementing even the low-level drivers by own and then implementing FFT which is a task in itself without a proper description in the document.
for the library the mentioned in the document the source files are asm and not even C which makes it even more complicated.
There is another library present for FFT below is the path for the same:
"C:\ti\C2000Ware_5_01_00_00\libraries\dsp\FPU\c28\reference\C\include"
but there is no documentation for this one or even a example based on another MCU.
in this library the source files are in C.
Please try to provide documentation or Example based on this library file uploaded along this message.fft.h
After doing the same it's difficult to comprehend the result.
Is there any example of FFT implementation for f2806x?
The examples that would apply to the F2806x are provided in the C2000Ware_5_01_00_00\libraries\dsp\FPU\c28\examples directory. These examples should be built to apply to any device with the appropriate FPU (i.e. _f64 examples will apply to devices with FPU64).
Please try to provide documentation or Example based on this library file uploaded along this message.
Unfortunately I'm currently the only expert available for the FPU and math libraries, the developer of this library and its software has long left this group so I will do my best to support your questions. For the fft.h file you cited, it looks like these are custom functions made for that reference example, but I'm not sure what the purpose of these reference examples are for since we already provide examples within the example folder.
I wonder if there was no documentation or support of drivers for this MCU then why would TI even recommend to use such a MCU.
Implementing even the low-level drivers by own and then implementing FFT which is a task in itself without a proper description in the document.
for the library the mentioned in the document the source files are asm and not even C which makes it even more complicated.
The user's guide which I cited earlier and SysConfig are the best resource for this (even if you can't use SysConfig within your project, you can just use the code that it generates since it should still apply to any device, as this is just a software library utilizing a hardware accelerator). The user's guide provides the descriptions for each function as they appear in the header file, and SysConfig can provide some additional error checking that may be needed for certain FFT configurations.
I recommend using the library provided in the c28/examples and not those in the c28/reference folder, since the examples in c28/examples use the actual FFT library .lib file which is most commonly used for C2000 applications. Also, it appears that the c28/reference folder only contains header/source files, there are no files for actually opening an example project. This just seems like sample code that's optional to users.
The user's guide which I cited earlier and SysConfig are the best resource for this (even if you can't use SysConfig within your project, you can just use the code that it generates since it should still apply to any device, as this is just a software library utilizing a hardware accelerator). The user's guide provides the descriptions for each function as they appear in the header file, and SysConfig can provide some additional error checking that may be needed for certain FFT configurations.
Which MCU out of these would you recommend to use SysConfig of, please recommend one which is the most compatible and requires the least modifications: F28001x, F28002x, F28003x, F2837x, F28p65x
Also, there is this example of FFT implementation for F28069M in the control suite for different development boards (Control Stick).
I tried using that one with my LaunchPad XL but it requires a tool called commros for the same HW but that is not available. if that is available with TI, sharing that could also help.
below is the path for same: "ti\controlSUITE\development_kits\F28069 controlSTICK\RT-SineFIRFFT32_v1_5"
Which MCU out of these would you recommend to use SysConfig of, please recommend one which is the most compatible and requires the least modifications: F28001x, F28002x, F28003x, F2837x, F28p65x
(Please note that F28001x does not exist). This depends on your end application, as F28002x, F28003x, and F2837x all use the same FPU32 that the F2806x uses and F8P65x uses FPU64 (there shouldn't be any major differences in FFT support, since FPU64 is still compatible with FPU32 libraries). In general I would recommend using F28P65x, but it really depends on what you're trying to accomplish with your system and what peripherals you're looking for and their requirements.
There are some migration guides listed below, which although they may not go exactly from your device to one of the ones you listed, once you migrate a project from a Gen2 device to a Gen3 device, migrating within Gen3 is much simpler. The steps of migrating should also be very similar, if not the same for F2806x.
Also, there is this example of FFT implementation for F28069M in the control suite for different development boards (Control Stick).
I tried using that one with my LaunchPad XL but it requires a tool called commros for the same HW but that is not available. if that is available with TI, sharing that could also help.
below is the path for same: "ti\controlSUITE\development_kits\F28069 controlSTICK\RT-SineFIRFFT32_v1_5"
ControlSUITE is no longer actively supported by TI, it has been replaced by the use of C2000Ware. Unfortunately I have no experience with this SDK to be able to provide where this commros tool might be downloaded from.