cancel
Showing results for 
Search instead for 
Did you mean: 

Should I use STM32CubeMX for my project?

rdehmoobed
Associate
Posted on July 18, 2014 at 07:14

Hi there,

I have been using STM32F4xx processors for a while, and have always used Microxplorer for code bring up on my previous boards. I just spun a new board and I have been playing around with STM32CubeMX for pin mapping and setting up my peripherals. I think it is a powerful tool and it is very easy to use (although buggy at times). 

I tried the code generation and it seems ok I have been using C/C++ for my code base and most of my peripheral drivers are developed by myself. And since the HAL interface and the way most of the peripheral APIs are handled are completely different from what I'm used to seeing, it will take me a considerable amount of time porting over my existing code to work with STM32CubeMX generated code.

So here are the the questions I have:

  1. What's the future for Cube? 
  2. How long is ST planning to maintain/support the Cube?
  3. Is HAL layer going to stick around for a while and/or similar to MicroXplorer it is going to be discontinued and be replaced by something completely different?
  4. In general, do you guys recommend spending the time to port over my existing code base to use HAL and Cube code generation?
  5. Are there any good examples available online to use as reference?

Thanks!

#stm32cube
3 REPLIES 3
stm32cube-t
Senior III
Posted on July 21, 2014 at 16:00

Hello,

Cube is here to stay.

Former MicroXplorer has been enhanced into an STM32CubeMX solution.

All new STM32 products will be provided a Cube HAL. All STM32 legacy products as well.

As you noticed, STM32Cube covers already F4, F2, F0, F3 legacy series and the new STM32L0 serie.

STM32Cube strengths for embedded software development are mainly :

- For MX: automatic pinout and initialization code generation for peripherals and middleware. ST Boards support.

- For HAL: a common API across series, allowing your application code to be deployed across series if you're interfacing with the HAL API. [note: specificities are managed as HAL 'extended' functions]

Best Regards

rdehmoobed
Associate
Posted on July 24, 2014 at 23:23

Thank you for your response. I understand that CubeMX lets you generate the HAL drivers (initialization code). However, I feel what's lacking is a more thorough documentation on how to use some of the new HAL interfaces and/or good examples of how to implement the application drivers for the peripherals special functionality. 

Do you know of a good place to find examples of simple applications that do use some of the more specific drivers. For example, are there any examples of how to use the I2C driver with interrupts and/or reading ADCs using DMAs and timer triggers, etc.

Again, thank you for the response. I was starting to give up on using Cube.

Posted on October 09, 2014 at 16:57

Hi all,

You can find the STM32Cube_FW available packages via this

http://www.st.com/web/catalog/tools/FM147/CL1794/SC961/SS1743/LN1897

.

All packages come with a set of large number of examples, applications and demonstration code, ready to be used with a wide range of development environments.

Cheers,

Heisenberg.