開(kāi)發(fā)一般PC機軟件與嵌入式應用的區別 收藏
剛剛參加工作的時(shí)候我從事的是嵌入式應用系統的開(kāi)發(fā),后來(lái)又經(jīng)歷了長(cháng)達10年的PC機應用軟件的開(kāi)發(fā),直到最近,才又返回來(lái)進(jìn)行嵌入式系統的開(kāi)發(fā),對于這兩種軟件開(kāi)發(fā)的區別頗有一點(diǎn)心得。
總的來(lái)說(shuō),嵌入式開(kāi)發(fā)與一般計算機軟件開(kāi)發(fā)的區別如下:
1、終端軟件把大量的功能集中在一個(gè)程序中,代碼規模非常大,源代碼動(dòng)輒幾M、幾十M、甚至上百M;而嵌入式系統一般把功能分散在不同的硬件模塊中,使用分散的程序是先系統功能,雖然整個(gè)系統功能點(diǎn)很多,但是具體到某個(gè)硬件模塊,則代碼一般都比較少,基本上是幾十到幾百K;
2、終端軟件運行在PC機上,一般來(lái)說(shuō)編寫(xiě)代碼的時(shí)候是不用考慮內存和效率的問(wèn)題(特殊情況除外);而嵌入式系統所使用的CPU從8位機到32位機都有,很多時(shí)候都會(huì )考慮到系統內存和代碼運行效率的問(wèn)題;
3、終端軟件大多數是訪(fǎng)問(wèn)數據庫,使用網(wǎng)絡(luò )來(lái)互相通信;而嵌入式系統一般是訪(fǎng)問(wèn)硬件,使用串口、HDLC、USB、網(wǎng)絡(luò )等多種通信方式;
4、終端軟件的操作界面主要是圖形界面,使用鍵盤(pán)、鼠標或者其它外設進(jìn)行操作;而嵌入式系統一般是提供一些接口供終端軟件訪(fǎng)問(wèn),不直接提供操作界面;
5、終端軟件編寫(xiě)使用的語(yǔ)言多種多樣,不下幾十種;而嵌入式系統最常用的語(yǔ)言就是C和匯編;
6、終端軟件開(kāi)發(fā)、調試的工具都很強大,不需要額外的硬件支持;而嵌入式系統調試,一般都需要有硬件的仿真器來(lái)幫助調試,使用起來(lái)比較復雜,有時(shí)候出問(wèn)題還需要確定是代碼的問(wèn)題還是仿真器的問(wèn)題;
7、終端軟件開(kāi)發(fā)在網(wǎng)上可以查到大量的資料,有很多的源代碼可以參考或者直接使用;而嵌入式系統一般只能查到廠(chǎng)商提供的芯片資料,具體的應用系統因為硬件不同,查找到的資料和源代碼基本上只能參考,而不能直接使用;
8、終端軟件調試遇到問(wèn)題一般不用考慮硬件故障,基本上是軟件問(wèn)題;而嵌入式系統遇到問(wèn)題首先要確定是硬件問(wèn)題還是軟件問(wèn)題,這個(gè)問(wèn)題從系統的開(kāi)發(fā)一直到最后的維護階段都是一直存在的;
9、終端軟件有時(shí)可以通過(guò)升級硬件來(lái)提升系統的性能,不需要另外修改軟件;而嵌入式系統要提升性能,首先考慮的方法就是修改軟件算法或者削減不必要的功能,因為嵌入式系統如果要修改硬件,必然要導致軟件的修改,跟重新開(kāi)發(fā)一個(gè)軟件的工作量差不多(因為這個(gè)問(wèn)題的存在,現在才有了嵌入式操作系統,可以減輕一些軟件移植的工作量);
本文來(lái)自CSDN博客,轉載請標明出處:file:///F:/我的文檔/網(wǎng)頁(yè)文件/開(kāi)發(fā)一般PC機軟件與嵌入式應用的區別%20-%20Rainman的專(zhuān)欄%20-%20CSDN博客.mht
聯(lián)系客服