Skip to content

Add STM32F303DExx and STM32VExx Variants#3016

Draft
jamesrlucas wants to merge 4 commits into
stm32duino:mainfrom
jamesrlucas:add_f303ve_variants
Draft

Add STM32F303DExx and STM32VExx Variants#3016
jamesrlucas wants to merge 4 commits into
stm32duino:mainfrom
jamesrlucas:add_f303ve_variants

Conversation

@jamesrlucas

Copy link
Copy Markdown

Summary

  • Add STM32F303DExx and STM32VExx variants to boards.txt
  • Add missing ldscript to correct variants folder for above processor variants

This PR fixes/implements the following bugs/features

Adds support for new processors, currently missing from the 'Board Part Number' Menu

Validation

  • Variants now appear in 'Board Part Number' menu
  • Blinky sketch has been tested with a STM32F303VET6 processor

Closing issues

closes #3013

- Add missing ldscript to correct variants folder for above processor variants

@fpistm fpistm left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for the PR.
Please, reference new mcu support in the README.md.

Comment thread boards.txt Outdated
Comment on lines +4778 to +4794
# Generic F303VEHx
GenF3.menu.pnum.GENERIC_F303VEHX=Generic F303VEHx
GenF3.menu.pnum.GENERIC_F303VEHX.upload.maximum_size=524288
GenF3.menu.pnum.GENERIC_F303VEHX.upload.maximum_data_size=65536
GenF3.menu.pnum.GENERIC_F303VEHX.build.board=GENERIC_F303VEHX
GenF3.menu.pnum.GENERIC_F303VEHX.build.product_line=STM32F303xE
GenF3.menu.pnum.GENERIC_F303VEHX.build.variant=STM32F3xx/F303V(D-E)(H-T)
GenF3.menu.pnum.GENERIC_F303VEHX.debug.svd_file={runtime.tools.STM32_SVD.path}/svd/STM32F3xx/STM32F303.svd

# Generic F303VDTx
GenF3.menu.pnum.GENERIC_F303VDTX=Generic F303VDTx
GenF3.menu.pnum.GENERIC_F303VDTX.upload.maximum_size=393216
GenF3.menu.pnum.GENERIC_F303VDTX.upload.maximum_data_size=65536
GenF3.menu.pnum.GENERIC_F303VDTX.build.board=GENERIC_F303VDTX
GenF3.menu.pnum.GENERIC_F303VDTX.build.product_line=STM32F303xE
GenF3.menu.pnum.GENERIC_F303VDTX.build.variant=STM32F3xx/F303V(D-E)(H-T)
GenF3.menu.pnum.GENERIC_F303VDTX.debug.svd_file={runtime.tools.STM32_SVD.path}/svd/STM32F3xx/STM32F303.svd

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Reorder by alphabetical order.

Suggested change
# Generic F303VEHx
GenF3.menu.pnum.GENERIC_F303VEHX=Generic F303VEHx
GenF3.menu.pnum.GENERIC_F303VEHX.upload.maximum_size=524288
GenF3.menu.pnum.GENERIC_F303VEHX.upload.maximum_data_size=65536
GenF3.menu.pnum.GENERIC_F303VEHX.build.board=GENERIC_F303VEHX
GenF3.menu.pnum.GENERIC_F303VEHX.build.product_line=STM32F303xE
GenF3.menu.pnum.GENERIC_F303VEHX.build.variant=STM32F3xx/F303V(D-E)(H-T)
GenF3.menu.pnum.GENERIC_F303VEHX.debug.svd_file={runtime.tools.STM32_SVD.path}/svd/STM32F3xx/STM32F303.svd
# Generic F303VDTx
GenF3.menu.pnum.GENERIC_F303VDTX=Generic F303VDTx
GenF3.menu.pnum.GENERIC_F303VDTX.upload.maximum_size=393216
GenF3.menu.pnum.GENERIC_F303VDTX.upload.maximum_data_size=65536
GenF3.menu.pnum.GENERIC_F303VDTX.build.board=GENERIC_F303VDTX
GenF3.menu.pnum.GENERIC_F303VDTX.build.product_line=STM32F303xE
GenF3.menu.pnum.GENERIC_F303VDTX.build.variant=STM32F3xx/F303V(D-E)(H-T)
GenF3.menu.pnum.GENERIC_F303VDTX.debug.svd_file={runtime.tools.STM32_SVD.path}/svd/STM32F3xx/STM32F303.svd
# Generic F303VDTx
GenF3.menu.pnum.GENERIC_F303VDTX=Generic F303VDTx
GenF3.menu.pnum.GENERIC_F303VDTX.upload.maximum_size=393216
GenF3.menu.pnum.GENERIC_F303VDTX.upload.maximum_data_size=65536
GenF3.menu.pnum.GENERIC_F303VDTX.build.board=GENERIC_F303VDTX
GenF3.menu.pnum.GENERIC_F303VDTX.build.product_line=STM32F303xE
GenF3.menu.pnum.GENERIC_F303VDTX.build.variant=STM32F3xx/F303V(D-E)(H-T)
GenF3.menu.pnum.GENERIC_F303VDTX.debug.svd_file={runtime.tools.STM32_SVD.path}/svd/STM32F3xx/STM32F303.svd
# Generic F303VEHx
GenF3.menu.pnum.GENERIC_F303VEHX=Generic F303VEHx
GenF3.menu.pnum.GENERIC_F303VEHX.upload.maximum_size=524288
GenF3.menu.pnum.GENERIC_F303VEHX.upload.maximum_data_size=65536
GenF3.menu.pnum.GENERIC_F303VEHX.build.board=GENERIC_F303VEHX
GenF3.menu.pnum.GENERIC_F303VEHX.build.product_line=STM32F303xE
GenF3.menu.pnum.GENERIC_F303VEHX.build.variant=STM32F3xx/F303V(D-E)(H-T)
GenF3.menu.pnum.GENERIC_F303VEHX.debug.svd_file={runtime.tools.STM32_SVD.path}/svd/STM32F3xx/STM32F303.svd

@fpistm fpistm added the new variant Add support of new bard label Jul 7, 2026
@fpistm fpistm added this to the 3.0.0 milestone Jul 7, 2026
@github-project-automation github-project-automation Bot moved this from In progress to Needs review in STM32 core based on ST HAL Jul 7, 2026
@github-project-automation github-project-automation Bot moved this from Needs review to Reviewer approved in STM32 core based on ST HAL Jul 7, 2026
@jamesrlucas jamesrlucas marked this pull request as draft July 7, 2026 16:02
@jamesrlucas

Copy link
Copy Markdown
Author

I'm also looking at the generic_clock.c file (I didn't change it before, so was running at the default) but I have a question:

On the wiki, it states use the HSI for the PLL Mux, however doing this in CubeMX, it tells me PLL Source Mux must use HSE as input - what do I do here?

This is the clock config so far :
20260707_173756

@jamesrlucas jamesrlucas requested a review from fpistm July 7, 2026 17:11
@fpistm

fpistm commented Jul 7, 2026

Copy link
Copy Markdown
Member

It is an advice when you configure the USB. HSE is more stable.

@jamesrlucas

Copy link
Copy Markdown
Author

Okay, so I've tried that, and the code that it generates doesn't work - the processor doesn't appear to run

If I disable the USB, the generated clock init code works fine. I'll look at creating the usb clock init manually, instead of using cubeMX

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

new variant Add support of new bard

Projects

Status: Reviewer approved

Development

Successfully merging this pull request may close these issues.

New variants for F303V(D-E)(H-T)

2 participants