|
计算机运行的条件是,程序必须放在它可【取指】的存储器中,它不知道(也无须知道)这个存储区域是用什么材料做的(ROM、FLASH、EPROM、EEPROM、RAM……) 所以就有一个先决的条件:你的RAM必须在程序区(可程序取指)。 接下来你只要将程序放入这个区就可以了。 例如:单片机只有4K程序区,你用16K的RAM扩充了程序区。这样就可以达成你的愿望了。 不过。你的系统不能掉电,掉电后放进RAM的程序就没有了。 一般用RAM运行程序有两个情况: 1、故意增加程序破解难度。 2、有外部存储程序,切换工作。 这样就不用巨大的程序空间了,谁需要工作,谁把谁载入RAM。不工作的不载入。 这类似于PC机的工作方式。 |
|
void APROM_UpDateTest(void)__attribute((section(".ARM.__at_(1024ul*16)"))); void code APROM_UpDateTest(void)_at_((1024ul*10)); u8 code FlashParameter[10] _at_((1024ul*18)-128); |