2012-09-07 32 views
0

我想學習如何編寫嵌入代碼。不幸的是,我不是很有經驗的程序員,而且我還沒有掌握如何開始的線索。開始編寫嵌入代碼

我正在開發的項目是一個帶有運動傳感器和微處理器的PCB,我想通過編程微處理器來控制傳感器的設置。

我需要什麼樣的硬件和軟件?我讀過,我需要一個JTAG /開發板和編程環境。我很樂意參考任何書籍/網站,告訴我(最好儘可能基本)如何開始。到目前爲止,我發現只有我作爲初學者不可讀的來源。

微控制器(STM32F101RC,核心:ARM 32位Cortex™-M3 CPU)使用SPI與傳感器通信。 PCB包含USB和JTAG連接(10  引腳)。另外,我正在使用Windows筆記本電腦進行編程。

+1

這確實取決於你有什麼樣的處理器,板上有什麼接口,以及你使用的開發平臺 - 你可以添加更多的細節嗎? –

+0

板上的任何接口? USB ?以太網? JTAG?串行? –

+0

有沒有想過在你的主板上運行某種操作系統?這將極大地影響您對工具的選擇 – marko

回答

1

這取決於你有什麼特定的配置 - 可能是ARM或AVR板。在這兩種情況下,您都可以獲取基於GCC的(GNU)工具鏈,並開始編寫您的C/C++代碼,您將無法使用需要操作系統的功能(例如文件操作,使用標準I/O - 你有端口和特殊功能寄存器來代替)等

1

工具鏈:

  • 軟件:我建議Yagarto的順利啓動。
  • 硬件:您將需要一個片上調試器。我建議J-Link ECU

您可能/應該:(!書AVR Microcontroller and Embedded Systems: Using Assembly and C是偉大的)

  • 至少獲得相當長的一段關於嵌入式軟件/硬件知識
  • 瞭解的基礎知識ARM Cortex-M3架構(google it!那裏有很多資源,書籍等)
  • 獲得一些C經驗
  • 如果您的產品實際需要,請考慮使用RTOS
  • 如果您打算使用ARM Cortex-M3,請參閱CMSIS
  • 檢查你的芯片製造商,如果他們提供任何軟件庫,引導程序......芯片。
  • 如果不這樣做,在第一個定製的PCB,使用開發板原型項目

重要提示:

我不知道你選擇的目標處理器的標準,但考慮使用如果項目不需要ARM M3(32位)處理能力,則AVR 8位microcontroller。特別是對於初學者來說,AVR更容易,更便宜。這裏的規則是不要使用功能比您的產品/項目需求高得多的微控制器。

0

要學習嵌入式系統編程,最好從一個簡單的8位開發板和免費的IDE開始。您可以從avr/8051系列/ pic系列等開始 嵌入式編程的主要問題是設置適合您的主板功能的啓動配置/初始化。如果你從自己的董事會開始,將很難獨立地跨過這個階段。如果你從一個現成的工具包開始,那麼給出的例子將很容易地通過這個過程。一旦你跨過這個階段,你將獲得足夠的信心來處理更大的事情。我不提倡任何一個處理器家族。還有一件事是成爲一名優秀的嵌入式編程人員,同時也必須非常熟悉硬件。在多個團隊成員從事嵌入式項目的較大型項目中,您可以獲得涉及純C和邏輯的角色,而不需要很多知識,但要多才多藝,您必須熟悉董事會如何設計它應該如何設計工作。