RAM与FLASH

    以前一直使用STM32但是对 变量 或 函数 的存储域没做任何了解;只知道你需要存储的东西就放在Flash的后面几页就好了;这次接触到STM8发现编译器里面有特别的存储查看器就打算看看到底是怎么存储的

我用的芯片是 STM8S103K3T6C:8K FLASH 程序存储器,每页 64 字节,共 128 页;640 字节数据 EEPROM,每页 64 字节,共 10 页;工程的ICF文件显示

define memory with size = 16M;    memory从0到0x28000      0x28000 -->163840/1024=160M ???

define region TinyData = [from 0x00 to 0xFF];

define region NearData = [from 0x0000 to 0x03FF];

定义的局部变量和全局变量不管有没有初始化:放在RAM区里面:0x0000 to 0x03FF

define region Eeprom = [from 0x4000 to 0x427F];

数据和程序存储在 Flash 0x8000 to 0x9FFF

define region NearFuncCode = [from 0x8000 to 0x9FFF];

define region FarFuncCode = [from 0x8000 to 0x9FFF];

define region HugeFuncCode = [from 0x8000 to 0x9FFF];

原文地址:https://www.cnblogs.com/luckytimor/p/6797354.html