Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Targeting other F4xx MCUs #40

Open
ClockedLogic opened this issue Oct 26, 2021 · 7 comments
Open

Targeting other F4xx MCUs #40

ClockedLogic opened this issue Oct 26, 2021 · 7 comments

Comments

@ClockedLogic
Copy link

Hi Folks, I would like to know how to target the STM32F405RG6 or other MCU . Is there a guide to do this ? or is it assumed knowledge? I've no been able to find the details in the documentation.

There are several boards out there now using this MCU.

I'm building with STM32CubeIDE.
What files do I need to bring in from CubeMX?
How do I configure CubeIDE to biuild for this or any other MCU?

Many thanks,
ClockedLogic

@terjeio
Copy link
Contributor

terjeio commented Oct 26, 2021

Is there a guide to do this ?

No.

or is it assumed knowledge?

Kind of - it requires some knowledge of the MCU in question and/or an ability to understand the reference manual. Some knowledge of how to configure a project in the IDE is a plus.

What files do I need to bring in from CubeMX?

None, as this project is for the STM32CubeIDE.

How do I configure CubeIDE to biuild for this or any other MCU?

I assume you have loaded the grblHAL project already, if not it is described here. What I have done for other STM32F4xx processors is creating a new project from scratch for the target MCU and use that to set up the clock tree and sometimes also write a bit of code to test USB CDC comms if that is relevant. Then I copy the MCU specific files from that to the grblHAL project and integrate the clock tree setup into main.c. After that I add build configurations for debug and release to match the MCU, create the necessary board map file(s) and check that everything works. Oh, and depending on the target MCU linker (.ld) file(s) may have to be added as well. For that bootloader/no bootloader and settings storage in flash has to be configured according to requirements.

The MCU specific files are located in the CMSIS/Device/ST/Include folder, the clock tree setup is here.

Note that this project can only be extended to support other F4xx processors, if from another family a new driver has to be created.

@willtel
Copy link

willtel commented Oct 27, 2021 via email

@terjeio
Copy link
Contributor

terjeio commented Oct 27, 2021

Does this also apply to the F7xx Processors?

Yes, the F7xx driver is only targeting F756 for now.

STM32F446 is already supported by the F4xx driver.

@hankecnc
Copy link

它们是我在澳大利亚唯一能买到的 STM32 MCU
I seem to understand why Terje Io has to make drivers for many different processors. It is very convenient for us to buy microcontrollers and make circuit boards (even for free, 2 opportunities per month).

@muhammadelmogy
Copy link

Hello, is there any updates on how to add new MCU, It would be very nice if there is basic guidelines that shows exactly what files I need to add to the core or/and modify
I hope someone can do this and add it to the repo, so anyone else will be able to add a new MCU in the future,
currently I am thinking about adding support to SAME54/51 With CANBus support and I hope to start this soon but without some kind of somewhat clear guide line it will take more time than it should be!

@terjeio
Copy link
Contributor

terjeio commented May 23, 2022

@muhammadelmogy See this issue about a new SAME53 driver. SAME54/51 is perhaps similar so can share code and you can thus join that effort?

@dresco
Copy link

dresco commented May 23, 2022

Just following this ticket, as I've got a vague interest in CAN support, and would love to see a plugin developed for it. I was planning on taking a closer look at it one day, when I can find the time..

(My prototype control panel is currently using Modbus for communications, but I think CAN bus would be a better choice where available).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

6 participants