Difference between revisions of "ArteryTek AT32"

From SEGGER Wiki
Jump to: navigation, search
(Device Table)
(MCU Security)
Line 30: Line 30:
 
|}
 
|}
 
nFAP has to be set to the complement value of FAP.<br>
 
nFAP has to be set to the complement value of FAP.<br>
  +
=== Checking MCU security ===
  +
When a device is secured, the readout protection level can't be checked, because 0x00000000 is read from address 0x1FFFF800.
 
=== Disabling readout protection ===
 
=== Disabling readout protection ===
 
==== J-Link Commander and J-Flash ====
 
==== J-Link Commander and J-Flash ====

Revision as of 08:59, 12 March 2024

The AT32 contains several families of devices by Artery Tek.
The following article contains information which applies to all members of the product family (e.g. readout protection).
Information which is more specific to the respective sub-family(e.g. QSPI programming) is provided in family specific articles.

A list of all Artery Tek devices supported by SEGGER can be found here.
For further information regarding the product family, please refer to the website and documentation by Artery Tek.

Connect under reset

In case that J-Link fails to connect to the device (usually caused by a low-power state of the MCU), J-Link will try to connect to the device under reset to make debugging possible.

MCU Security

AT32 devices have 3 different protection level:

Level Description FAP value
None Full access to flash from the debugger. 0xA5
Low No access to flash from the debugger.
Only user data is accessible.
Any value except
0xA5 or 0xCC
High No access to flash or user data from the debugger.
This state is not recoverable.
This Level is not present on all devices.
0xCC

nFAP has to be set to the complement value of FAP.

Checking MCU security

When a device is secured, the readout protection level can't be checked, because 0x00000000 is read from address 0x1FFFF800.

Disabling readout protection

J-Link Commander and J-Flash

J-Link Commander and J-Flash automatically detects secured AT32 devices and ask the user if it should be unlocked on connect.
This is called native unlock.
600px

Note:
  • It is possible to disable device access completely, by setting protection level to high. A connect will not be possible anymore afterwards and the security cannot be reset.
  • Unsecuring the device causes a mass erase of the flash.
  • It is possible to save the selection of the unlock dialog. To reset this, please refer to: Reset unlock message box.

Flasher standalone mode

In order to unlock a AT32 Artery Tek device in stand-alone mode, the unlock sequence is executed automatically if a secured device is detected.

Enabling readout protection

J-Link Commander

The below provided J-Link Commander command files set the protection level low (OB_SPC = 0x11 / OB_SPC_N = 0xEE).
On certain devices this is called "Under protection" in the reference manual.

J-Flash and Flasher standalone mode

There are two different ways, depending on the sub-family:

  • Use the *.mot hex files below for J-Flash and append to your application hex file.
    Take care of the adjustment of the other settings in option byte 0 area for your hardware.
  • Use the prepared .jflash project files which will lock the device after flashing the application (when using "F7" Production Programming).

All settings set protection level low.

How to set protection level high

In order to set protection level high, the value "0x11" needs to be changed to "0xCC" and "0xEE" to "0x33".
Please note that protection level high is permanent and can neither be reverted by SEGGER nor by Artery Tek.

Device Table

AT32 series overview
Sub-Family Core Protection Levels J-Link Commander and J-Flash:
native Unlock support
J-Link Commander:
Lock via command file
J-Flash Settings:
Lock via hex file
or
Lock via exit steps
ArteryTek_AT32F40x Cortex-M4 None/Low/High YES.png AT43F0x_Lock.jlink AT43F0x_Lock.mot