2021-07-06 08:02 PM
Hello I am looking into the STM32F7 series of microcontrollers and I am trying to find out as much information as possible before actually buying one
Please excuse my beginner level questions and I hope the community can help me make a proper decision regarding an MCU choice
1) I am looking at the STM32F7308-DISCO board (https://www.st.com/en/evaluation-tools/stm32f7308-dk.html) and if I understand correctly, the computer software needed to program all STM32F7 series boards is same. Is this correct? If I install STM32CubeMX, MDK-ARM software and unzip STM32CubeF7 package (en.stm32cubef7_v1-16-0.zip\STM32Cube_FW_F7_V1.16.0, an almost 1.1 GB zip file), is this enough for me to start compiling and downloading programs for the development board? Where does STM32CubeIDE come into the picture here? Is it a replacement for MDK-ARM, or is it an essential component?
2) Is having STM32CubeMX enough for developing programs that use the touch screen, or do I need STM32CubeIDE for that?
3) Are all the software needed to write programs for STM32F7 boards (STM32CubeMX, IDE, TouchGFX, etc and other tools if required) freely available from STM website, or are there any licensing or other costs associated with the basic compiler and tools?
4) Would you recommend STM32746G-Discovery or STM32F7308-DISCO for a beginner? I need to have at least audio line-in and line-out and an LCD screen on the board for my project and STM32F746G-Discovery has these at an almost similar cost, on top of other extra peripherals, but I am wondering whether STM32746G-Discovery programming will be more complicated due to the other features present on the board, which I may not even end up using. Mainly looking for personal opinions from more experienced users.
5) One of the operations I would like to do with the board is audio processing. I want to take input from the line-in port, perform some operations on the audio data (for eg, window -> FFT -> gain multiplication -> IFFT -> window) in real time and send it out on the line-out port, while displaying an image file on the LCD screen. The input has to specifically be from the line-in port and not from microphones attached to the development board. Would doing something like this be possible in the STM32746G-Discovery or STM32F7308-DISCO boards, or would I need a board with higher specifications? Are FFT implementation code for STM32F7 series available?
Sorry about the long post, I am just looking for details before buying the hardware. Thanks in advance.
Solved! Go to Solution.
2021-07-09 02:36 AM
Hello @mahaju,
1. STM32CubeIDE is a free ST development tool that allows the code generation, compilation, and debug features for STM2 MCUS and MPUs. It integrates STM32CubeMX with its different services.
STM32CubeMX is a free ST tool that allows you to configure the MCUs and MPUs and generate an initialization C code that can be within different IDEs such as STM32CubeIDE, ARM MDK, IAR EWARM.
So yes, it is sufficient to start a project using STM32CubeMX for the configuration and MDK-ARM for the debug and run of the project.
As for the cube packages, they contain a full set of examples running on STMicroelectronics boards, most of them are developed under several IDEs, you can choose the one suitable for you.
2. To program the touch screen, I recommend you using TouchGFX. It is a free ST tool for graphical user interfaces connected to STM32CubeIDE and both allow you to prepare your GUI and program your board.
3. As previously mentioned, STM32CubeIDE, STM32CubeMX and TouchGFX are free tools available for download from the official ST website.
4. You can use only the components you need for your application. No need to configure all the other features present on the board, and in case you need to choose between two products you can refer to the Cross Selector tool. You can check the "How to find compatible devices for an MCU? STM32G473CB as example" article, it will help you.
5. You can take benefit of using the DSP library implementing FFT and other functions. Have a look to the article "Configuring DSP libraries on STM32CubeIDE" to know how to support this library in STM32CubeIDE.
Please mark my answer as best by clicking on the "Select as Best" button if it answered your question. This will help other users find this solution more quickly.
Chahinez.
2021-07-07 06:59 AM
STM32CubeIDE is an IDE, similar to Keil MDK-ARM. You don't need both.
CubeMX is a code generator, but doesn't compile anything. You need an IDE for that.
STM32CubeIDE is freely available and is all you need.
2021-07-09 02:36 AM
Hello @mahaju,
1. STM32CubeIDE is a free ST development tool that allows the code generation, compilation, and debug features for STM2 MCUS and MPUs. It integrates STM32CubeMX with its different services.
STM32CubeMX is a free ST tool that allows you to configure the MCUs and MPUs and generate an initialization C code that can be within different IDEs such as STM32CubeIDE, ARM MDK, IAR EWARM.
So yes, it is sufficient to start a project using STM32CubeMX for the configuration and MDK-ARM for the debug and run of the project.
As for the cube packages, they contain a full set of examples running on STMicroelectronics boards, most of them are developed under several IDEs, you can choose the one suitable for you.
2. To program the touch screen, I recommend you using TouchGFX. It is a free ST tool for graphical user interfaces connected to STM32CubeIDE and both allow you to prepare your GUI and program your board.
3. As previously mentioned, STM32CubeIDE, STM32CubeMX and TouchGFX are free tools available for download from the official ST website.
4. You can use only the components you need for your application. No need to configure all the other features present on the board, and in case you need to choose between two products you can refer to the Cross Selector tool. You can check the "How to find compatible devices for an MCU? STM32G473CB as example" article, it will help you.
5. You can take benefit of using the DSP library implementing FFT and other functions. Have a look to the article "Configuring DSP libraries on STM32CubeIDE" to know how to support this library in STM32CubeIDE.
Please mark my answer as best by clicking on the "Select as Best" button if it answered your question. This will help other users find this solution more quickly.
Chahinez.