cancel
Showing results for 
Search instead for 
Did you mean: 

What is the process of porting over an example project from an stm32f4 to an stm32h7 board to use an x-nucelo gnss1a1 module?

blt
Associate II

I'd like to use the x-nucelo gnss1a1 module with the stm32h743zi2 nucleo board. Am I correct in thinking that there is a way to convert an example project that the x-cube gnss provides for the stm32f401re to be usable on the stm32h743zi2?

 

If so, I imagine it's either a relatively complex task of porting over to the h7 board or a very tedious task of manually porting over.

 

Could someone shed some light on this for me?

4 REPLIES 4

Most of the HAL ports between platforms/families relatively easily.

If it is too tedious I'm sure you could pay to get it done.

Tips, Buy me a coffee, or three.. PayPal Venmo
Up vote any posts that you find helpful, it shows what's working..
blt
Associate II

Would it be just porting over HAL ports? I don't mean tedious as in I don't want to do it, I meant as in what is the scope of taking the example for a stm32F401RE and running it on a stm32H743ZI2. Wasn't trying to sound whiny, I'm pretty new and been reading as much as I can find.

Would going through each error provided at compile time be a pretty good way to porting the project to work on the stm32h7?

My approach is to create a shell project for the target board, making sure I have the VCP/RS232 working, have a proper Hard Fault Handler, and then merge in the pieces of interest a bit at a time, paying attention to different pin, peripheral and chip nuances.

The CubeMX/HAL approach creates a lot of boiler-plate code that's pretty consistent between devices. If it looks like plumbing, discard, and pull the equivalent HAL code from the target library/bsp.

The F4 and F7 have different UART implementation, the API hides most of that. IRQ Handlers may be distributed differently.

Yes, looking at the first error, and similar ones, works well, typically flagging a missing module, or change in interface expectations.

If using the RTOS, I'd start with a shell/template project for that in the target architecture, make sure that functioned, and then merge in the app code.

For BSP components substitute in the platform specific ones, or port close equivalents.

#cutnpaste #picknmix

Tips, Buy me a coffee, or three.. PayPal Venmo
Up vote any posts that you find helpful, it shows what's working..

Thanks Clive, this helps me a lot on going forward, I'll work with your advice and suggestion. I'll also do my best to give back a summary on what I've learned.