這個(gè)問(wèn)題困擾了大概一周,源自需要寫(xiě)一份CMD文件語(yǔ)法規(guī)則的文檔。 問(wèn)題大致如下: 1.CMD文件中的PAGE0,PAGE1....PAGE n僅僅是方便程序員管理存儲(chǔ)空間(在代碼風(fēng)格上),還是不同的page對(duì)應(yīng)著不同的內(nèi)存空間(比如page 0 對(duì)應(yīng)著程序空間,page 1對(duì)應(yīng)著數(shù)據(jù)空間) 以上兩種解釋我在不同的官方文檔中都有看到,所以很糾結(jié)。 如果僅僅是代碼風(fēng)格上的分割,那么對(duì)于C2XLP內(nèi)核器件和C55X系列器件又解釋不過(guò)去,因?yàn)檫@兩種器件的內(nèi)存空間不是同一編址的,例如C2XLP的程序、數(shù)據(jù)、IO空間都是分開(kāi)編址的。如果page僅是代碼風(fēng)格上的分割,而不代表不同的數(shù)據(jù)空間,那么圖1中重疊的空間怎么解釋?zhuān)B接器怎么區(qū)分這兩個(gè)重疊部分的代碼,并將其放到對(duì)應(yīng)的物理存儲(chǔ)空間。
0.png (292.21 KB, 下載次數(shù): 73)
下載附件
2019-8-23 03:06 上傳
如果不同的page對(duì)應(yīng)著不同的數(shù)據(jù)空間,那么我在28335(c28x)上的驗(yàn)證又不能支撐這一點(diǎn)假設(shè),我將原來(lái)分配的PAGE0和PAGE1分別改成了PAGE3和PAGE5,并將PAGE0,PAGE1,PAGE2,PAGE4中沒(méi)有分配任何數(shù)據(jù)塊。編譯通過(guò)后查看map文件,發(fā)現(xiàn)對(duì)應(yīng)的段都分配到了對(duì)應(yīng)的PAGE3和PAGE5。且代碼運(yùn)行正常。如果不同的page對(duì)應(yīng)著不同的數(shù)據(jù)空間,那么PAGE3和PAGE5代表什么空間?為什么編譯還能正常連接?
|