你知道MCU和PC在代碼加載和運(yùn)行上有何區(qū)別嗎?
一、首先談一下幾種掉電不丟數(shù)據(jù)的存儲(chǔ)設(shè)備:
1.Norflash:可擦寫,貴,在Norflash上可以直接運(yùn)行代碼!
2.Nandflash:可擦寫,便宜,只能用于存儲(chǔ)數(shù)據(jù);
3.磁盤:就是我們常說(shuō)的硬盤,可擦寫,便宜,只能用于存儲(chǔ)數(shù)據(jù);
二、正題
1.MCU
大多數(shù)單片機(jī)的代碼都是存在Norflash里面,這就意味著程序可以直接在flash直接跑,不用加載到ram里面,而且單片機(jī)的ram本來(lái)就是比較稀缺的資源;
2.PC
先從電腦的BIOS說(shuō)起,我們經(jīng)常說(shuō),BIOS是一個(gè)ROM區(qū),是一個(gè)只讀的區(qū)域。其實(shí)BIOS并不絕對(duì)的“只讀”,因?yàn)锽IOS在現(xiàn)代幾乎所有的電腦都是存在Norflash中,還是屬于可以擦寫的,至于BIOS存在ROM里是很久遠(yuǎn)之前的事了。
不同于BIOS,電腦的磁盤則只能用于存儲(chǔ),代碼無(wú)法直接在上面跑,所以要運(yùn)行代碼,需要將代碼從磁盤加載到ram里面,也就是我們通常說(shuō)的內(nèi)存條,然后在ram里面跑代碼。
編輯:admin 最后修改時(shí)間:2019-07-31