在ARM中,由于指令系統(tǒng)的特殊性,對(duì)數(shù)據(jù)特別是"特殊寄存器"的存取實(shí)際上
都可以歸結(jié)為對(duì)結(jié)構(gòu)指針的存取.
所以,用C更利于提高編程的效率和提高程序的可靠性和穩(wěn)定性.
選擇編譯環(huán)境并不是愛(ài)國(guó)和賣(mài)國(guó)的關(guān)系,也不是省心和省力的問(wèn)題.
在工控中,實(shí)際上C++更有利,它的類(lèi)的構(gòu)造函數(shù)更適合自動(dòng)對(duì)模塊做初始化的
工作.更有效地避免和減少"BUG"的出現(xiàn)機(jī)率.
和MCU不同,學(xué)ARM首先應(yīng)該搞清啟動(dòng)代碼STARTUP.S和軟件中斷代碼SWI.S的構(gòu)成和實(shí)現(xiàn)...
說(shuō)道"給老外跑龍?zhí)?quot;...哈哈,不知將STARTUP.S和SWI.S改寫(xiě)后更利于編程和抗擊干擾的襲擊算什么...
所謂"搞技術(shù)"實(shí)際都是空話,看如何搞法...
在ARM資源如此豐厚的環(huán)境下,若全部采用匯編,實(shí)際是慢性自殺的行為!!!
如果在特殊的要求下,可以適當(dāng)?shù)厍度雲(yún)R編代碼以彌補(bǔ)高級(jí)語(yǔ)言的不足.
當(dāng)然,如果選擇適當(dāng)?shù)木幾g器和采用結(jié)構(gòu)指針編程,編程效率絕不次于匯編.
我在C51中就可以在某些場(chǎng)合用C編出與匯編一字不差的代碼!!!網(wǎng)上有我的例程.
做為一個(gè)ARM菜鳥(niǎo)還沒(méi)有到研究代碼效率的時(shí)候,但是我相信這會(huì)是我今后的一個(gè)目標(biāo)的!!!