Difference between revisions of "ArteryTek AT32F43x"
(→Internal Flash) |
|||
(15 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
+ | ArteryTek AT32F43x are Cortex-M4 based MCUs |
||
− | __TOC__ |
||
− | The Artery AT32F43x are Cortex-M4 based MCUs. |
||
− | |||
− | ==Internal Flash== |
||
− | ===Supported Regions=== |
||
− | |||
− | The internal flash is divided into 3 different regions: |
||
− | *Main storage area starting at 0x08000000 with up to 4032KB |
||
− | *Reserved bootloader area starting at 0x1FFF0000 with 16KB |
||
− | *User system data starting at 0x1FFFC000 with 4KB |
||
− | For now, the J-Link supports the main storage from V7.88l. |
||
− | |||
− | ==Reset== |
||
− | No device specific reset is necessary. The normal Cortex-M reset is performed. |
||
− | |||
− | See here for more information: https://wiki.segger.com/J-Link_Reset_Strategies#Type_0:_Normal |
||
− | https://wiki.segger.com/Artery_AT-START_F435 |
||
− | |||
− | |||
− | Artery AT32F43x are Cortex-M4 based MCUs |
||
__TOC__ |
__TOC__ |
||
Line 29: | Line 10: | ||
| Internal flash || 0x08000000 || Up to 4096 KB || style="text-align:center;"| {{YES}} |
| Internal flash || 0x08000000 || Up to 4096 KB || style="text-align:center;"| {{YES}} |
||
|- |
|- |
||
− | | |
+ | | User data || 0x1FFFC000 || 4 KB || style="text-align:center;"| {{YES}} |
− | |- |
||
− | | QSPI2 flash || 0xB0000000 || Up to 64 MB || style="text-align:center;"| {{NO}} |
||
− | |||
|} |
|} |
||
− | |||
− | ====ECC Flash [OPTIONAL]==== |
||
− | *Describe ECC Flash restriction here. |
||
===QSPI Flash=== |
===QSPI Flash=== |
||
QSPI flash programming requires special handling compared to internal flash. For more information about this, please see the [[QSPI Flash Programming Support | QSPI Flash Programming Support article]].<br> |
QSPI flash programming requires special handling compared to internal flash. For more information about this, please see the [[QSPI Flash Programming Support | QSPI Flash Programming Support article]].<br> |
||
− | J-Link supports multiple pin configurations for |
+ | J-Link supports multiple pin configurations for AT32F43x. The default loader is marked in '''bold'''. |
{| class="seggertable" |
{| class="seggertable" |
||
|- |
|- |
||
! Device !! Base address !! Maximum size !! Supported pin configuration |
! Device !! Base address !! Maximum size !! Supported pin configuration |
||
|- |
|- |
||
+ | | '''QSPI1'''<br> |
||
− | | [DEVICE]|| [BANK_BASE_ADDRESS] || [MAX_SPI_FLASH_SIZE] MB || |
||
+ | AT32F435<br> |
||
− | *'''[LOADER_NAME]''' |
||
+ | AT32F437 |
||
− | *[LOADER_NAME] |
||
+ | || 0x90000000 || Up to 64 MB || |
||
− | *[LOADER_NAME] |
||
+ | *'''CLK@PF10 CS@PG6 IO0@PF9 IO1@PF8 IO2@PF7 IO3_@PF6''' |
||
|} |
|} |
||
− | |||
− | ==ECC RAM [OPTIONAL]== |
||
− | *Describe ECC RAM restriction here. |
||
− | |||
− | ==Vector Table Remap [OPTIONAL]== |
||
− | *Describe Vector Table Remap here.. |
||
==Watchdog Handling== |
==Watchdog Handling== |
||
− | *The device does not have a watchdog. |
||
− | *The device has a watchdog [WATCHDOGNAME]. |
||
*The watchdog is fed during flash programming. |
*The watchdog is fed during flash programming. |
||
− | *If the watchdog is enabled, it is turned off during flash programming and turned back on afterwards. |
||
− | |||
− | ==Multi-Core Support [OPTIONAL]== |
||
− | Before proceeding with this article, please check out the generic article regarding Multi-Core debugging [[Multi-Core_Debugging | here]].<br> |
||
− | The [DeviceFamily]family comes with a variety of multi-core options.<br> |
||
− | Some devices from this family feature a secondary core which is disabled after reset / by default.<br> |
||
− | Some of the are available with enabled ''lockstep'' mode, only. <br> |
||
− | In below, the debug related multi-core behavior of the J-Link is described for each core: |
||
− | ===Main core=== |
||
− | ====Init/Setup==== |
||
− | *Initializes the ECC RAM, see [[XXX | XXX]] |
||
− | *Enables debugging |
||
− | ====Reset==== |
||
− | *Device specific reset is performed, see [[XXX | XXX]] |
||
− | ====Attach==== |
||
− | *Attach is not supported because the J-Link initializes certain RAM regions by default |
||
− | ===Secondary core(s)=== |
||
− | ====Init/Setup==== |
||
− | *If the main core session has not been started / debugging is not enabled yet, the secondary core executes the enable debug sequence. |
||
− | *If the secondary core is not enabled yet, it will be enabled / release from reset |
||
− | ====Reset==== |
||
− | No reset is performed. |
||
− | ====Attach==== |
||
− | *Attach is supported / desired |
||
==Device Specific Handling== |
==Device Specific Handling== |
||
===Connect=== |
===Connect=== |
||
+ | *On Connect, protection level is checked. For further information regarding this, please click [[ArteryTek_AT32| here]]. |
||
+ | |||
===Reset=== |
===Reset=== |
||
*The device uses normal Cortex-M reset, no special handling necessary, like described [[J-Link_Reset_Strategies#Type_0:_Normal | here]]. |
*The device uses normal Cortex-M reset, no special handling necessary, like described [[J-Link_Reset_Strategies#Type_0:_Normal | here]]. |
||
− | *The device uses Cortex-M Core reset, no special handling necessary, like described [[J-Link_Reset_Strategies#Type_1:_Core | here]]. |
||
− | *The device uses Cortex-M Rest Pin, no special handling necessary, like described [[J-Link_Reset_Strategies#Type_2:_ResetPin | here]]. |
||
− | *The device uses Cortex-A reset, no special handling necessary, like described [[J-Link_Reset_Strategies#Strategies for Cortex-A devices | here]]. |
||
− | *The device uses Cortex-R reset, no special handling necessary, like described [[J-Link_Reset_Strategies#Strategies for Cortex-R devices | here]]. |
||
− | *The device uses ARMv8-A reset, no special handling necessary, like described [[J-Link_Reset_Strategies#Strategies for ARMv8-A devices | here]]. |
||
− | *The device uses ARMv8-R reset, no special handling necessary, like described [[J-Link_Reset_Strategies#Strategies for ARMv8-R devices | here]]. |
||
− | *The device uses custom reset:..... |
||
− | |||
− | ==Limitations== |
||
− | ===Dual Core Support=== |
||
− | Some XXX devices feature a second core. Right now, the J-Link software does support the main core, only. Support for the second core is planned for future versions. |
||
− | ===Attach=== |
||
− | Attach is not supported by default because the J-Link initializes certain RAM regions by default. |
||
− | ===Security=== |
||
==Evaluation Boards== |
==Evaluation Boards== |
||
− | *[[ |
+ | *[[ArteryTek_AT-START-F435|ArteryTek AT-START-F435]] |
− | *[[ |
+ | *[[ArteryTek_AT-START-F437|ArteryTek AT-START-F437]] |
==Example Application== |
==Example Application== |
||
− | *[[ |
+ | *[[ArteryTek_AT-START-F435#Example_Project | ArteryTek AT-START-F435]] |
− | *[[ |
+ | *[[ArteryTek_AT-START-F437#Example_Project | ArteryTek AT-START-F437]] |
Latest revision as of 13:00, 18 March 2024
ArteryTek AT32F43x are Cortex-M4 based MCUs
Contents
Flash Banks
Internal Flash
Flash Bank | Base address | Size | J-Link Support |
---|---|---|---|
Internal flash | 0x08000000 | Up to 4096 KB | |
User data | 0x1FFFC000 | 4 KB |
QSPI Flash
QSPI flash programming requires special handling compared to internal flash. For more information about this, please see the QSPI Flash Programming Support article.
J-Link supports multiple pin configurations for AT32F43x. The default loader is marked in bold.
Device | Base address | Maximum size | Supported pin configuration |
---|---|---|---|
QSPI1 AT32F435 |
0x90000000 | Up to 64 MB |
|
Watchdog Handling
- The watchdog is fed during flash programming.
Device Specific Handling
Connect
- On Connect, protection level is checked. For further information regarding this, please click here.
Reset
- The device uses normal Cortex-M reset, no special handling necessary, like described here.