Detailed description
- This is a minor new feature.
- The existing problem is unsupported new chip target AT32F456 by ArteryTek, as described by @mTOTm. Manuals were released 2024.12 and updated 2025.06.
- The PR solves it by adding identification and memory map to existing at32f43x.c driver, with which it looks largely compatible.
Absolutely untested as I don't have the new chips or boards. Modest +104 byte BMF size-diff, for commit 2.
Detection is performed by DEBUG_IDCODE and Series ID in unique serialno byte; ref.manual contains 26 part IDs which might be irrelevant for BMF and bloat its size for little benefit.
There is a related change in first commit: I wanted to expose common UID command to this new target (and others), on which Option Byte programming is not yet supported, but both commands are in a shared list. So I added a second simpler cmd_option handler that can only dump readable option bytes for BMDA without GDB, and connected that to a second cmd_list, enabled by all series with 512 USD byte area in this driver. If that +332 byte size-diff is unwanted, I'll drop the entire dummy handler from second cmd_list for now.
Your checklist for this pull request
Closing issues
Fixes #2249.
## Detailed description
* This is a minor new feature.
* The existing problem is unsupported new chip target AT32F456 by ArteryTek, as described by @mTOTm. Manuals were released 2024.12 and updated 2025.06.
* The PR solves it by adding identification and memory map to existing at32f43x.c driver, with which it looks largely compatible.
Absolutely untested as I don't have the new chips or boards. Modest +104 byte BMF size-diff, for commit 2.
Detection is performed by DEBUG_IDCODE and Series ID in unique serialno byte; ref.manual contains 26 part IDs which might be irrelevant for BMF and bloat its size for little benefit.
There is a related change in first commit: I wanted to expose common UID command to this new target (and others), on which Option Byte programming is not yet supported, but both commands are in a shared list. So I added a second simpler cmd_option handler that can only dump readable option bytes for BMDA without GDB, and connected that to a second cmd_list, enabled by all series with 512 USD byte area in this driver. If that +332 byte size-diff is unwanted, I'll drop the entire dummy handler from second cmd_list for now.
## Your checklist for this pull request
* [x] I've read the [Code of Conduct](https://codeberg.org/blackmagic-debug/blackmagic/src/CODE_OF_CONDUCT.md)
* [x] I've read the [guidelines for contributing](https://codeberg.org/blackmagic-debug/blackmagic/src/CONTRIBUTING.md) to this repository
* [x] It builds for hardware native (see [Building the firmware](https://codeberg.org/blackmagic-debug/blackmagic?tab=readme-ov-file#building-the-firmware))
* [x] It builds as BMDA (see [Building the BMDA](https://codeberg.org/blackmagic-debug/blackmagic?tab=readme-ov-file#building-black-magic-debug-app))
* [x] I've tested it to the best of my ability
* [x] My commit messages provide a useful short description of what the commits do
## Closing issues
Fixes #2249.