久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 7067|回復: 7
收起左側

C語言嵌入式系統編程修煉之道 (共29頁pdf)

  [復制鏈接]
ID:5203 發表于 2018-11-15 16:35 | 顯示全部樓層 |閱讀模式
0.png 0.png
1.背景
不同于一般形式的軟件編程,嵌入式系統編程建立在特定的硬件平臺上,勢必要求其編程語言具備較強的硬件直接操作能力。無疑,匯編語言具備這樣的特質。但是,歸因于匯編語言開發過程的復雜性,它并不是嵌入式系統開發的一般選擇。而與之相比,C 語言--一種"高級的低級"語言,則成為嵌入式系統開發的最佳選擇。筆者在嵌入式系統項目的開發過程中,一次又一次感受到 C 語言的精妙,沉醉于 C 語言給嵌入式開發帶來的便利。

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

  (1) 以通用處理器為中心的協議處理模塊,用于網絡控制協議的處理;
  (2)  以數字信號處理器(DSP)為中心的信號處理模塊,用于調制、解調和數/模信號轉換。

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

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

完整的pdf格式文檔51黑下載地址(共29頁):
C語言嵌入式系統編程教程.pdf (611.26 KB, 下載次數: 236)

評分

參與人數 1黑幣 +50 收起 理由
admin + 50 共享資料的黑幣獎勵!

查看全部評分

回復

使用道具 舉報

ID:482222 發表于 2019-2-28 16:45 | 顯示全部樓層
好資料
回復

使用道具 舉報

ID:245224 發表于 2021-4-18 19:48 | 顯示全部樓層
好評!
回復

使用道具 舉報

ID:112374 發表于 2021-6-12 17:02 | 顯示全部樓層
非常好的資料,多謝樓主的無私分享精神!
回復

使用道具 舉報

ID:940604 發表于 2021-6-19 19:43 | 顯示全部樓層
非常好,值得收藏
回復

使用道具 舉報

ID:935260 發表于 2021-8-12 15:22 | 顯示全部樓層
非常好的資料,多謝樓主的無私分享精神
回復

使用道具 舉報

ID:112374 發表于 2021-10-12 21:29 | 顯示全部樓層
非常好的學習資料,謝謝分享!
回復

使用道具 舉報

ID:296704 發表于 2022-6-9 10:35 | 顯示全部樓層
很棒,里面的位處理等說法很值得借鑒和學習,感謝分享
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

手機版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 九九成人 | 欧美一级片在线观看 | 久久最新精品视频 | 伊人啪啪网 | 国产一区二区在线播放 | 成人三级在线播放 | 日韩欧美在线视频一区 | 懂色中文一区二区三区在线视频 | 欧美性生活网 | 久久亚洲精品国产精品紫薇 | 亚洲黄色在线免费观看 | 久久精品69 | 久久国产精品精品国产色婷婷 | 欧美1—12sexvideos | 2018国产大陆天天弄 | 亚洲午夜精品视频 | 91视频进入 | 亚洲国产成人av好男人在线观看 | 国产一级毛片视频 | 成人欧美一区二区三区视频xxx | 日本精品一区二区三区在线观看视频 | 精品成人 | 欧美一级二级在线观看 | 五月天婷婷综合 | 欧美日韩一区二区在线播放 | 91精品国产高清一区二区三区 | 欧美一区二区三区的 | 国产黄色网 | 天天天操天天天干 | 亚洲精品99 | 久久精品亚洲精品 | 日韩精品在线看 | 国内精品视频 | 亚洲视频中文 | 99精品久久 | 亚洲综合成人网 | 91视频入口| 日韩欧美三区 | 亚洲视频欧美视频 | 麻豆hd| 91在线精品视频 |