Re: [請益] 嵌入式設計工作方向
不管你用哪一種OS,甚至是MCU那種while(1)的super loop寫法,
嵌入式系統與純軟的最大差別我想就是要跟硬體打交道,
個人覺得至少可以學到的技能如下(有錯請指正XD):
1.看硬體的SPEC.。通常是英文的SPEC.裡面會告訴你這個硬體的
timing chart以及register map,你要對應SPEC才能寫出讓硬體
正常動作的code。
2.LA與示波器的使用。既然要看timing chart,就需要前述這兩樣神兵,
學習一下兩樣東西基本的使用方式而非老是依賴EE的幫忙,相信對你
的嵌入式生涯是加分的。
3.Debug的能力。嵌入式有許多千奇百怪的問題,又不像純軟一樣
有方便的環境可以下斷點除錯之類的,在嵌入式系統可能要搭配
ICE等硬體工具來下斷點,有些ICE價格相當昂貴,沒有用公司資源
個人是很難買得起的XD; 在Embedded Linux方面除了使用KGDB外,
printk()的使用也是相當頻繁的,有時候printk()會造成timing問題
突然消除或是產生,這時候就需要利用拉GPIO的方式然後接LA/示波器來看。
以初學者來說,我會建議先找塊ARM7/Cortex M3的開發板來玩,
先學會控制板子上的GPIO、timer、或是利用SPI、I2C等控制周邊的硬體,
這些基礎學會了,其他的OS我們可以把他想做是在這個基礎上面架構一層
他們的API與框架。
當然在是大型嵌入式系統上,如果工作是寫UI或是上層AP的人
可能就比較難碰硬體了XD。
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 123.204.128.21
推
07/19 19:15, , 1F
07/19 19:15, 1F
→
07/19 19:16, , 2F
07/19 19:16, 2F
→
07/19 19:17, , 3F
07/19 19:17, 3F
推
07/19 22:00, , 4F
07/19 22:00, 4F
推
07/22 03:14, , 5F
07/22 03:14, 5F
→
07/22 03:14, , 6F
07/22 03:14, 6F
→
07/22 03:15, , 7F
07/22 03:15, 7F
→
07/22 13:39, , 8F
07/22 13:39, 8F
討論串 (同標題文章)