Can any run this sketch and replay output (only if your MCU not in list)?
// **** Sketch start
#define pinLed 13
#define __read16(reg) *(volatile uint16*)(reg)
#define __read32(reg) *(volatile uint32*)(reg)
void setup() {
pinMode(pinLed, OUTPUT);
}
void loop() {
uint32 addr;
digitalWrite(pinLed, HIGH);
SerialUSB.print("UniqueID : ");
print16(__read16(0x1FFFF7F0)); print16(__read16(0x1FFFF7EC));
print16(__read16(0x1FFFF7EA)); print16(__read16(0x1FFFF7E8));
SerialUSB.println("");
SerialUSB.print("Flash size : "); SerialUSB.print(__read16(0x1FFFF7E0), DEC); SerialUSB.println(" KB");
addr = 0x1FFFF7E0;
while(addr < 0x1FFFF810)
{
SerialUSB.print(addr, HEX); SerialUSB.print(" : ");
print16(__read16(addr+2)); SerialUSB.print(" "); print16(__read16(addr));
SerialUSB.print(" "); printChar16(__read16(addr+2)); printChar16(__read16(addr)); SerialUSB.println("");
addr += 4;
}
SerialUSB.println("");
delay(100); digitalWrite(pinLed, LOW); delay(2000);
}
void printChar32(uint32 data) {
int i = 32; char c;
do { i -= 8; c = data >> i & 0xFF; if (c < ' ' || c > '_') c = '.'; SerialUSB.print(c); } while(i > 0);
}
void printChar16(uint16 data) {
int i = 16; char c;
do { i -= 8; c = data >> i & 0xFF; if (c < ' ' || c > '_') c = '.'; SerialUSB.print(c); } while(i > 0);
}
void print32(uint32 data) {
int i = 32;
do { i -= 4; print04((uint8)(data >> i & 0x0F)); } while(i > 0);
}
void print16(uint16 data) {
int i = 16;
do { i -= 4; print04((uint8)(data >> i & 0x0F)); } while(i > 0);
}
void print04(uint8 data) {
data += '0'; if (data > '9') data += ('A'-'0'-10); SerialUSB.print(data);
}
// **** Sketch end
My Maple board (STM32F103RET6 Rev.Z MCU) return
UniqueID : 8017473005D4FF31
Flash size : 512 KB
1FFFF7E0 : FFFF 0200 ....
1FFFF7E4 : 0568 06D2 ....
1FFFF7E8 : 05D4 FF31 ...1
1FFFF7EC : 3233 4730 23G0
1FFFF7F0 : 4308 8017 C...
1FFFF7F4 : FFFC F0FF ....
1FFFF7F8 : 00FF 9768 ....
1FFFF7FC : BF40 BA45 .@.E
1FFFF800 : 00FF 5AA5 ..Z.
1FFFF804 : 00FF 00FF ....
1FFFF808 : 00FF 00FF ....
1FFFF80C : 00FF 00FF ....
Thanks in advance