在编写基于 ARM 的微控制器时,我习惯于在链接脚本中看到这样的MEMORY{..}
段:
MEMORY
{
FLASH (rx): ORIGIN = 0x08000000, LENGTH = 128K
RAM (xrw): ORIGIN = 0x20000000, LENGTH = 32K
}
访问权限很容易理解:
r
: 读w
: 写x
: 执行
我正在基于 RISC-V 的微控制器领域迈出第一步。GigaDevice的GD32VF103CBT6
微控制器在其链接脚本中有以下MEMORY{..}
部分:
MEMORY
{
/* Run in FLASH */
flash (rxai!w) : ORIGIN = 0x08000000, LENGTH = 64k
ram (wxa!ri) : ORIGIN = 0x20000000, LENGTH = 20k
/* Run in RAM */
/* flash (rxai!w) : ORIGIN = 0x20000000, LENGTH = 15k */
/* ram (wxa!ri) : ORIGIN = 0x20003C00, LENGTH = 5K */
}
我应该如何解释这些访问权限?