Geehy APM32E1xx
Contents
The Geehy APM32E1xx are Cortex-M3 based MCUs.
Internal Flash
Supported Regions
The internal flash is divided into 3 different regions:
- Main storage area starting at 0x08000000 with up to 512KB
- Reserved bootloader area starting at 0x1FFFF000 with 2KB
- Option byte area starting at 0x1FFFF800 with 16 bytes
For now, the J-Link support the main storage and option byte area.
Option Byte Programming
The APM32E1 series devices provide some option bytes which allow some "permanent" configuration as well as readout protection for the device. The option bytes become effective after a reset, or, if the read protection is set while a debugger is still connected through JTAG/SWD, become effective after a power-on-reset. The sequence, to program the option bytes consists of multiple read / write accesses to special function registers of the APM32E1 MCU.
The option byte area consists of the actual option bytes and their corresponding complementary bytes. All complementary bytes are automatically set when writing the option bytes.
The following table describes the structure of the option byte sector:
Address | [31:24] | [23:16] | [15:08] | [07:00] |
---|---|---|---|---|
0x1FFFF800 | nUOB | UOB | nREADPROT | READPROT |
0x1FFFF804 | nData1 | Data1 | nData0 | Data0 |
0x1FFFF808 | nWRP1 | WRP1 | nWRP0 | WRP0 |
0x1FFFF80C | nWRP3 | WRP3 | nWRP2 | WRP2 |
Writing a value of 0xFF inside READPROT will read-protect the APM32E1. In order to keep the device unprotected you have to write the key value 0xA5 into READPROT.
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
Evaluation Boards
- Geehy APM32E103ZET6 evaluation board: https://wiki.segger.com/Geehy_APM32E103ZET6
Example Application
- Geehy APM32E103ZET6 evaluation board: https://wiki.segger.com/Geehy_APM32E103ZET6#Example_Project