Thanks for enlightening me.
prior to your post, I thought it used zero wait state flash. (As I missed your other post and that link to the teardown of the die)
I recall posting a link to the GD32 programming manual to the forum, but I dont know if it contained information about access program ram.
Have you tried doing a test like declaring a const static char buffer, (which the compiler and linker would put in .rodata) and then attempting to write to it? I presume that the program RAM must be write protected ?
Also, the Bootloader writes to EEPROM, which must get copied back to Program Ram.
However, I presume you want fast access to the program RAM, without waiting for the flash to erase etc.
The link in the original thread was broken, but I found I copy I'd downloaded and got its filename and then Googled for that filename and found thishttp://gd32mcu.21ic.com/data/documents/ ... ENV1.0.pdf
There STM32F103 manual is structured completely differently from the GD32 manual. So its hard to compare registers.
I recall ages ago, that there was a thread on a russian language website which outlined the differences between the GD32 and STM32 registers, but I don't recall anyone realising that it actually copied the program into ram at startup.
(It would also need to copy after accessing the EEPROM straight after its been flashed)
If you can't manage to download the manual let me know and I'll put it on my google drive, as its far far big (15Mb) to post as an attachment to the forum