国产毛片a精品毛-国产毛片黄片-国产毛片久久国产-国产毛片久久精品-青娱乐极品在线-青娱乐精品

C語言嵌入式系統編程修煉之背景篇

發布時間:2010-9-21 11:12    發布者:eetech
關鍵詞: c語言 , 編程 , 嵌入式系統
不同于一般形式的軟件編程,嵌入式系統編程建立在特定的硬件平臺上,勢必要求其編程語言具備較強的硬件直接操作能力。無疑,匯編語言具備這樣的特質。

但是,歸因于匯編語言開發過程的復雜性,它并不是嵌入式系統開發的一般選擇。而與之相比,C語言--一種"高級的低級"語言,則成為嵌入式系統開發的最佳選擇。筆者在嵌入式系統項目的開發過程中,一次又一次感受到C語言的精妙,沉醉于C語言給嵌入式開發帶來的便利。

圖1給出了本文的討論所基于的硬件平臺,實際上,這也是大多數嵌入式系統的硬件平臺。它包括兩部分:  

(1) 以通用處理器為中心的協議處理模塊,用于網絡控制協議的處理;

(2) 以數字信號處理器(DSP)為中心的信號處理模塊,用于調制、解調和數/模信號轉換。



圖1 系統硬件架構  

本文的討論主要圍繞以通用處理器為中心的協議處理模塊進行,因為它更多地牽涉到具體的C語言編程技巧。而DSP編程則重點關注具體的數字信號處理算法,主要涉及通信領域的知識,不是本文的討論重點。

著眼于討論普遍的嵌入式系統C編程技巧,系統的協議處理模塊沒有選擇特別的CPU,而是選擇了眾所周知的CPU芯片--80186,每一位學習過《微機原理》的讀者都應該對此芯片有一個基本的認識,且對其指令集比較熟悉。80186的字長是16位,可以尋址到的內存空間為1MB,只有實地址模式。C語言編譯生成的指針為32位(雙字),高16位為段地址,低16位為段內編譯,一段最多64KB。

協議處理模塊中的FLASH和RAM幾乎是每個嵌入式系統的必備設備,前者用于存儲程序,后者則是程序運行時指令及數據的存放位置。系統所選擇的FLASH和RAM的位寬都為16位,與CPU一致。

實時鐘芯片可以為系統定時,給出當前的年、月、日及具體時間(小時、分、秒及毫秒),可以設定其經過一段時間即向CPU提出中斷或設定報警時間到來時向CPU提出中斷(類似鬧鐘功能)。

NVRAM(非易失去性RAM)具有掉電不丟失數據的特性,可以用于保存系統的設置信息,譬如網絡協議參數等。在系統掉電或重新啟動后,仍然可以讀取先前的設置信息。其位寬為8位,比CPU字長小。文章特意選擇一個與CPU字長不一致的存儲芯片,為后文中一節的討論創造條件。

UART則完成CPU并行數據傳輸與RS-232串行數據傳輸的轉換,它可以在接收到[1"MAX_BUFFER]字節后向CPU提出中斷,MAX_BUFFER為UART芯片存儲接收到字節的最大緩沖區。

鍵盤控制器和顯示控制器則完成系統人機界面的控制。

以上提供的是一個較完備的嵌入式系統硬件架構,實際的系統可能包含更少的外設。之所以選擇一個完備的系統,是為了后文更全面的討論嵌入式系統C語言編程技巧的方方面面,所有設備都會成為后文的分析目標。

嵌入式系統需要良好的軟件開發環境的支持,由于嵌入式系統的目標機資源受限,不可能在其上建立龐大、復雜的開發環境,因而其開發環境和目標運行環境相互分離。因此,嵌入式應用軟件的開發方式一般是,在宿主機(Host)上建立開發環境,進行應用程序編碼和交叉編譯,然后宿主機同目標機(Target)建立連接,將應用程序下載到目標機上進行交叉調試,經過調試和優化,最后將應用程序固化到目標機中實際運行。  

CAD-UL是適用于x86處理器的嵌入式應用軟件開發環境,它運行在Windows操作系統之上,可生成x86處理器的目標代碼并通過PC機的COM口(RS-232串口)或以太網口下載到目標機上運行,如圖2。其駐留于目標機FLASH存儲器中的monitor程序可以監控宿主機Windows調試平臺上的用戶調試指令,獲取CPU寄存器的值及目標機存儲空間、I/O空間的內容。



圖2 交叉開發環境  

后續章節將從軟件架構、內存操作、屏幕操作、鍵盤操作、性能優化等多方面闡述C語言嵌入式系統的編程技巧。軟件架構是一個宏觀概念,與具體硬件的聯系不大;內存操作主要涉及系統中的FLASH、RAM和NVRAM芯片;屏幕操作則涉及顯示控制器和實時鐘;鍵盤操作主要涉及鍵盤控制器;性能優化則給出一些具體的減小程序時間、空間消耗的技巧。

在我們的修煉旅途中將經過25個關口,這些關口主分為兩類,一類是技巧型,有很強的適用性;一類則是常識型,在理論上有些意義。
本文地址:http://www.qingdxww.cn/thread-28418-1-1.html     【打印本頁】

本站部分文章為轉載或網友發布,目的在于傳遞和分享信息,并不代表本網贊同其觀點和對其真實性負責;文章版權歸原作者及原出處所有,如涉及作品內容、版權和其它問題,我們將根據著作權人的要求,第一時間更正或刪除。
您需要登錄后才可以發表評論 登錄 | 立即注冊

廠商推薦

  • Microchip視頻專區
  • 我們是Microchip
  • 利用模擬開發工具生態系統進行安全電路設計
  • 更佳設計的解決方案——Microchip模擬開發生態系統
  • Cortex-M4外設 —— TC&TCC結合事件系統&DMA優化任務培訓教程
  • 貿澤電子(Mouser)專區

相關視頻

關于我們  -  服務條款  -  使用指南  -  站點地圖  -  友情鏈接  -  聯系我們
電子工程網 © 版權所有   京ICP備16069177號 | 京公網安備11010502021702
快速回復 返回頂部 返回列表
主站蜘蛛池模板: 国产在线观看入口 | 1204你懂的国产国片免费 | 欧美国产成人精品一区二区三区 | 免费视频网站在线观看黄 | 四虎精品免费永久在线 | 国产精品成人va在线观看 | 日韩一级影院 | 亚洲精品一级片 | www毛片 | 欧美精品国产一区二区 | 亚洲欧美日韩天堂 | 毛片一级在线观看 | 成人在线手机视频 | 日韩国产欧美在线观看 | 操操爱| 性西欧俄罗斯极品 | 性88分钟在线播放 | 在线观看 亚洲 | 欧美区在线播放 | 最新国产三级在线不卡视频 | 中文字幕亚洲欧美日韩不卡 | 妈妈的朋友在线观看韩国 | 欧美日韩中文字幕免费不卡 | 久久九九青青国产精品 | 国产欧美一区二区三区在线 | 国产精品一区二区三区免费视频 | 国产a不卡| 亚洲欧美综合乱码精品成人网 | 噜噜噜在线 | 精品一区二区三区视频在线观看 | 国产韩国精品一区二区三区 | 亚洲乱视频 | 国产青青草| 在线视频啪 | 黄色欧美网站 | 自拍偷拍亚洲第一页 | 久碰香蕉精品视频在线观看 | 欧美亚洲另类综合 | 日本一区二区三区久久久 | 久久精品视频国产 | 青青草手机在线观看 |