2012-06-06 84 views
-1

我是用C#語言(的WinForms,網絡,WPF)與.NET框架的工作。現在我需要完成我的大學任務。對於像微控制器或類似的嵌入式設備,它應該是簡單的程序。我根本沒有數字電子的基礎知識,但是我對C有一點了解。我有很多時間來研究這些事情(大約半年或更長時間)。所以我該怎麼做?什麼對我更好?開始使用嵌入式系統

  1. 您能否提供一些書籍或培訓課程,以幫助開始 嵌入式系統?

  2. 我聽說過一些,.NET Micro Framework的。是我的問題最好的 解決方案嗎?我應該購買什麼設備來學習編程(eBay上有很多設備)。

  3. 此外還有很多建議使用PIC單片機和C語言編程它們。所以我再問一次我需要什麼設備和 什麼IDE?

P.S.對不起,英文不好。

+0

IMO去Visual Studio和.NET微型框架,你將節省自己大量的學習曲線,並作爲C#和非常漂亮的IDE中的蛤蜊感到高興。 – kenny

+1

.NET不適用於嵌入式系統。我想知道爲什麼有人會研究C#.NET和嵌入混合,但看起來像一個奇怪的組合。 – Lundin

回答

4

這是相當難回答你的問題,因爲你不提,你想要做什麼。我熟悉微芯片微控制器(PIC),他們有很多合理的開發板,您可以從他們的網頁上免費獲得IDE和編譯器(IDE稱爲MPLAB,編譯器依賴於您的設備使用)。但是,如果你來自PC世界,開始爲微控制器開發有時會有點令人沮喪。這些工具有他們的怪癖,你必須習慣它們。

你的問題的另一種選擇可能是的Arduino板,他們是相當便宜(在$ 20-25級),他們很容易編程,你不需要任何額外的設備對他們進行編程。 (電路板直接插入USB)。您還可以從arduino網站免費獲得所有開發工具。

我在Arduino和PIC之間看到的主要區別是,Arduino有點像編程器的玩具,而編程中的Pics讓您更好地瞭解嵌入式軟件是如何開發的。與其他微控制器相比,pic的好處是它們在hobist中很受歡迎,這意味着有很多初學者的書。

根據要如何認真學習嵌入式軟件,我會選擇Arduino的,如果它僅僅是一個很好的和簡單的項目,再也看不到微控制器,但是如果你想真正學會編寫嵌入式軟件,我會選擇一個相當功能強大的開發板,可讓您在未來運行RTOS。根據開發板的不同,您可能需要也可能不需要外部編程器(許多開發板上都有一個USB編程器)

我剛剛看了一下.net微框架的內容,並且顯然它只被移植到ARM內核,並且需要相當數量的內存才能運行,所以除非你開發了一個可以運行.net微型框架的板子(剛剛遇到了一個叫做netduino的東西),我不會考慮它。

+0

感謝您的好評。任務將是數學計算。老師說我應該從矩陣轉置開始第一個任務。 –

+0

當內存很重要時,我會做很多PIC編程,但.NET Micro Framework是開始使用微控制器IMO的好方法。除非價格/內存成爲驅動因素,否則我會通過Microchip C編譯器使用Visual Studio和C#。 – kenny

+0

計算矩陣轉置可能是一個非常簡單的算法,您可以輕鬆地在PC上進行調試並將其移植到微控制器。真正的挑戰是如何獲得想要在微控制器中轉置的矩陣並獲得結果。一個有趣的做法是使用串口。學習使用微控制器串行端口將會教授很多關於嵌入式系統的知識。您將不得不配置硬件,使用中斷並實時處理數據。 – praemdonck

0
  1. 嵌入式系統大多數都是用C編程的,部分軟件在裝配。因此,我不會考慮編程嵌入式系統,而不瞭解C(堆棧是如何工作的,如何修改給定地址的內存內容......)以及計算機體系結構的良好知識(什麼是中斷,什麼是後端緩存,處理器如何啓動......)。關於這些有很多優秀的文獻,你可以從維基百科開始。

  2. 我對.NET Micro Framework瞭解不多,而且我也不認識任何使用它的人。從嵌入式系統開始,您應該考慮另一個器件,請參閱3.

  3. 正如praemdonck所說,帶有MPLAB調試探針的Microchip dsPIC可能是最經濟實惠的解決方案,您實際上可以用這些解決方案做很多事情微控制器。我不會考慮基於嵌入式Linux的解決方案,因爲您不會深入到底層以瞭解嵌入式編程的真正含義。

0

1)您能否提供一些書籍或培訓課程,以幫助嵌入式系統啓動?

Here is a nice online book。它基於一個名爲68HC12的過時微代碼,儘管所討論的主題對於所有微代碼都是通用的,特別是關於嵌入式C編程的部分。 (68HC12由摩托羅拉公司在90年代中期開發,並於2002年左右開始淘汰,現在被指令兼容的現代HCS12取而代之,68HC12被認爲是一種陳舊,過時的MCU,但它被設計爲20幾年後的第一個PIC,僅供參考PIC是如何過時的)

2)我聽說過關於.NET Micro Framework的一些信息。這是我的問題的最佳解決方案嗎?我應該購買什麼設備來編程(在eBay上有很多東西)。

我只使用嵌入式系統工作,我從來沒有聽說過它。所以不...這可能不是一個好主意,聽起來像是微軟嘗試參與嵌入式系統的又一次絕望嘗試。如果我瞭解它們,那只是PC的另一種風格。

3)另外我看到很多建議使用PIC單片機和C語言編程。我又需要什麼設備和什麼IDE?

其他人已經回答了。 C語言絕對是您需要的嵌入式系統。如果你一般是C語言的初學者,特別是嵌入式C語言,那麼我強烈建議你選擇一個使用C標準兼容編譯器的平臺。任何使用GCC的平臺都可能是初學者的明智選擇。