What do you mean by “avoiding HAL for bare metal programming”?
If you really want to have no firmware at all, just select “No firmware”; otherwise you may have the choice between two different firmware libraries:
- Cube HAL:
- This is the most recent set of firmware libraries, available on all MCUs
- This is usually the library to use for new projects, except for special cases (for example if you are using it on other projects)
- This is the legacy firmware library; it is no more developped (only bug fixes) and is not available for the newer MCU series (like L4 for example).
- It is mainly meant to be used for existing projects that were initially developped using StdPeriph before HAL existed
Hope this clarifies things