將C向MCU(俗稱單片機(jī))8051上的移植始于80年代的中后期??陀^上講,C向8051 MCU移植的難點(diǎn)不少。如:
?8051的非馮?諾依慢結(jié)構(gòu)(程序與數(shù)據(jù)存儲(chǔ)器空間分立),再加上片上又多了位尋址存儲(chǔ)空間;
?片上的數(shù)據(jù)和程序存儲(chǔ)器空間過小和同時(shí)存在著向片外擴(kuò)展它們的可能;
?片上集成外圍設(shè)備的被寄存器化(即SFR),而并不采用慣用的I/O地址空間;
?8051芯片的派生門類特別多(達(dá)到了上百種之多),而C語言對(duì)于它們的每一個(gè)硬件資源又無一例外地要能進(jìn)行操作。
這些都是過去以MPU為基礎(chǔ)的C語言所沒有的。經(jīng)過Keil/Franklin、Archmeades、IAR、BSO/Tasking等公司艱若不懈的努力,終于于90年代開始而趨成熟,成為專業(yè)化的MCU高級(jí)語言了。過去長(zhǎng)期困擾人們的所謂“高級(jí)語言產(chǎn)生代碼太長(zhǎng),運(yùn)行速度太慢,因此不適合單片機(jī)使用”的致使缺點(diǎn)已被大幅度地克服。目前,8051上的C語言的代碼長(zhǎng)度,~。4K字節(jié)以上的程度,C語言的優(yōu)勢(shì)更能得到發(fā)揮。至于執(zhí)行速度的問題,只要有好的仿真器的幫助,找出關(guān)鍵代碼,進(jìn)一步用人工優(yōu)化,就可很簡(jiǎn)單地達(dá)到十分美滿的程度。如果談到開發(fā)速度、軟件質(zhì)量、結(jié)構(gòu)嚴(yán)謹(jǐn)、程序堅(jiān)固等方面的話,則C語言的完美絕非匯編語言編程所可比擬的。今天,確實(shí)已經(jīng)到MCU開發(fā)人員拿起C語言利器的時(shí)候了。
下面結(jié)合8051介紹單片機(jī)C語言的優(yōu)越性:
?不懂得單片機(jī)的指令集,也能夠編寫完美的單片機(jī)程序;
?無須懂得單片機(jī)的具體硬件,也能夠編出符合硬件實(shí)際的專業(yè)水平的程序;
?不同函數(shù)的數(shù)據(jù)實(shí)行覆蓋,有效利用片上有限的RAM空間;
?程序具有堅(jiān)固性:數(shù)據(jù)被破壞是導(dǎo)致程序運(yùn)行異常的重要因素。C語言對(duì)數(shù)據(jù)進(jìn)行了許多專業(yè)性的處理,避免了運(yùn)行中間非異步的破壞;
?C語言提供復(fù)雜的數(shù)據(jù)類型(數(shù)組、結(jié)構(gòu)、聯(lián)合、枚舉、指針等),極大地增強(qiáng)了程序處理能力和靈活性;
?提供auto、static、const等存儲(chǔ)類型和專門針對(duì)8051單片機(jī)的data、idata、pdata、xdata、code等存儲(chǔ)類型,自動(dòng)為變量合理地分配地址;
?提供small、compact、large等編譯模式,以適應(yīng)片上存儲(chǔ)器的大??;
?中斷服務(wù)程序的現(xiàn)場(chǎng)保護(hù)和恢復(fù),中斷向量表的填寫,是直接與單片機(jī)相關(guān)的,都由C編譯器代辦;
?提供常用的標(biāo)準(zhǔn)函數(shù)庫,以供用戶直接使用;
?頭文件中定義宏、說明復(fù)雜數(shù)據(jù)類型和函數(shù)原型,有利于程序的移植和支持單片機(jī)的系列化產(chǎn)品的開發(fā);
?有嚴(yán)格的句法檢查,錯(cuò)誤很少,可容易地在高級(jí)語言的水平上迅速地被排掉;
?可方便地接受多種實(shí)用程序的服務(wù):如片上資源的初始化有專門的實(shí)用程序自動(dòng)生成;再如,有實(shí)時(shí)多任務(wù)操作系統(tǒng)可調(diào)度多道任務(wù),簡(jiǎn)化用戶編程,提高運(yùn)行的安全性等等。
信盈達(dá)是一家專注于嵌入式產(chǎn)品開發(fā)、嵌入式技術(shù)咨詢、嵌入式解決方案綜合的高新技術(shù)企業(yè),為國(guó)內(nèi)外眾多個(gè)人和企業(yè)客戶提供基于嵌入式單片機(jī)、ARM、MIPS、FPGA等內(nèi)核整套解決方案和技術(shù)培訓(xùn)、技術(shù)咨詢等服務(wù),公司下設(shè)有信盈達(dá)實(shí)訓(xùn)學(xué)院和信盈達(dá)研發(fā)***、信盈達(dá)校企合作***等三個(gè)服務(wù)團(tuán)隊(duì),專業(yè)從事教學(xué)科研設(shè)備、嵌入式工業(yè)控制器、智能樓宇自動(dòng)化等產(chǎn)品研發(fā)、生產(chǎn)、銷售和服務(wù),為個(gè)人、企業(yè)、高校等提供一站式技術(shù)服務(wù)。
信盈達(dá)集團(tuán)總部成立于廣東省深圳新區(qū)龍華民治,下轄深圳信盈達(dá)科技有限公司、信盈達(dá)嵌入式實(shí)訓(xùn)學(xué)院、信盈達(dá)EDA實(shí)訓(xùn)學(xué)院、深圳信盈達(dá)電子有限公司、信盈達(dá)鄭州分公司、信盈達(dá)廣州分公司。
信盈達(dá)嵌入式/EDA實(shí)訓(xùn)學(xué)院- www.edu118.com / www.edu118.cn
信盈達(dá)科技(芯片級(jí)方案設(shè)計(jì)公司)旗下品牌,集合信盈達(dá)公司多年的開發(fā)經(jīng)驗(yàn)所積累的資源,開發(fā)出擁有完全知識(shí)產(chǎn)權(quán)課程,主要特色課程,嵌入式實(shí)訓(xùn)/嵌入Linux驅(qū)動(dòng)/3G/ARM實(shí)訓(xùn)/單片機(jī)/電子/FPGA等實(shí)訓(xùn)課程體系。多年來通過信盈達(dá)嵌入式實(shí)訓(xùn)學(xué)院培養(yǎng)了大批適合企業(yè)需求的工程師,與全國(guó)眾多高校建立合作關(guān)系,通過建立師資培訓(xùn)基地、人才實(shí)訓(xùn)基地,積累了大量的客戶群體。信盈達(dá)面向企業(yè)提供量身定制式培訓(xùn)、"言傳身教"實(shí)地輔導(dǎo)式培訓(xùn)、項(xiàng)目研發(fā)+技術(shù)顧問式等培訓(xùn)模式,為企業(yè)客戶提供定制式人才培訓(xùn)服務(wù)。 ?
信盈達(dá)研發(fā)*** www.xinyingda.cn :
? 專業(yè)為個(gè)人和企業(yè)提供嵌入式解決方案、項(xiàng)目開發(fā)等服務(wù)。分屬6個(gè)研發(fā)事業(yè)部:工控項(xiàng)目事業(yè)部,金融公安軍用事業(yè)部,車載事業(yè)部,智能家居門禁樓宇安防事業(yè)部,游戲玩具事業(yè)部,商業(yè)消費(fèi)事業(yè)部,可以根據(jù)客戶需求量身定制設(shè)計(jì)產(chǎn)品的軟件、硬件。 同時(shí)可以解決客戶現(xiàn)有產(chǎn)品的軟件、硬件疑難問題 ,對(duì)現(xiàn)有產(chǎn)品軟件、硬件升級(jí)。也可以選擇我們成熟解決方案或核心板做二次開發(fā)。目前熱門核心板芯片品牌有:ATmal、NXP、三星、TI、Cortex系列、Misp系列、FPGA系列,解決方案應(yīng)用于多個(gè)熱門行業(yè):如工業(yè)控制、智能家居、樓宇自動(dòng)化、數(shù)碼產(chǎn)品、消費(fèi)電子、醫(yī)療電子等行業(yè)。此外,公司可以提供代加工業(yè)務(wù),以成品/半成品加工或帶OEM/ODM等方式合作,做您堅(jiān)強(qiáng)的技術(shù)后盾,與廣大客戶攜手共進(jìn)、共創(chuàng)輝煌!
信盈達(dá)校企合作***:
立足 “取之與高校、鑄之與信盈達(dá)、用之于企業(yè)”的新理念,信盈達(dá)積極與各高校展開合作,共同培養(yǎng)新型高端嵌入式技術(shù)人才,信盈達(dá)以實(shí)際應(yīng)用為主,集合企業(yè)熱門技術(shù)需求,理論和實(shí)戰(zhàn)結(jié)合的人才培養(yǎng)解決方案。與華南理工,江西理工,石化學(xué)院,湖南科技大學(xué)等全國(guó)100多所專業(yè)院校建立合作,側(cè)重在卓越工程師、專業(yè)嵌入式課程、校內(nèi)外委托培養(yǎng)、高校師資培養(yǎng)、項(xiàng)目開發(fā)、實(shí)習(xí)實(shí)訓(xùn)等眾多項(xiàng)目上展開合作,信盈達(dá)研發(fā)***推出的學(xué)習(xí)板單片機(jī)/ARM/FPGA等教學(xué)儀器、學(xué)習(xí)工具,為全國(guó)大專院校提供實(shí)驗(yàn)室,共建實(shí)驗(yàn)室等服務(wù),建立整套解決方案。