討論區快速選單
知識庫快速選單
傑米的攝影旅遊筆記 政府補助!學嵌入式+物聯網 程式設計俱樂部Facebook粉絲團
[ 回上頁 ] [ 討論區發言規則 ]
請問embedded system
更改我的閱讀文章字型大小
作者 : adolph(Adolph)
[ 貼文 61 | 人氣 8356 | 評價 0 | 評價/貼文 0 | 送出評價 2 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2003/12/22 下午 01:35:06
如題
我想學但是不知要如何下手
是該從理論下手還是直接拿Code來看
但是拿Code看又沒有HW可看可用
所以真的不知道該如何下手學習
希望各位embedded system 高手能位小弟指點一下
謝謝
作者 : seanchang(H) Assembly卓越專家貼文超過1000則
[ 貼文 1200 | 人氣 773 | 評價 3240 | 評價/貼文 2.7 | 送出評價 43 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2003/12/22 下午 05:21:30
>我想學但是不知要如何下手
>是該從理論下手還是直接拿Code來看
>但是拿Code看又沒有HW可看可用
沒有HW?你可以用PC來做呀!Embedded system又沒規定一定要用uP or RISC來做.

作者 : pico2k(風月)討論區板主
[ 貼文 85 | 人氣 3428 | 評價 650 | 評價/貼文 7.65 | 送出評價 66 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2003/12/25 上午 11:49:19

>如題
>我想學但是不知要如何下手
>是該從理論下手還是直接拿Code來看
>但是拿Code看又沒有HW可看可用
>所以真的不知道該如何下手學習
>希望各位embedded system 高手能位小弟指點一下
>謝謝

  我只懂得embedded linux system,所以我只介紹embedded linux system.

  建議你先去研究Linux,等你對Linux的系統架構都很了解時,
  你就能對embedded linux system 很快地上手,
  embedded linux system骨子裡也是一個linux system的子集合...
  
  有關於HW的問題,很多公司都有出embedded linux system的開發板,
  價格多少,我不清楚,請你使用Google大神找一找吧...

  start_kernel()
  {
     ....
     cpu_idle();
   }
作者 : s852101(古代遺跡) C++優秀好手貼文超過1000則
[ 貼文 1714 | 人氣 1992 | 評價 1270 | 評價/貼文 0.74 | 送出評價 2 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2003/12/27 上午 11:44:16
>我只懂得embedded linux system,所以我只介紹embedded linux system.

linux embedded 和 embedded system 差滿多的....~_~
作者 : jackylan0212(jacky)
[ 貼文 94 | 人氣 7696 | 評價 0 | 評價/貼文 0 | 送出評價 0 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2003/12/29 上午 11:58:20
sorry,請問是差在哪?
作者 : pan8710(小潘)
[ 貼文 4 | 人氣 5 | 評價 0 | 評價/貼文 0 | 送出評價 0 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2003/12/29 下午 12:25:47
如果你需要開發版子我可以幫你買,不過都是MOTOROLA的
作者 : seanchang(H) Assembly卓越專家貼文超過1000則
[ 貼文 1200 | 人氣 773 | 評價 3240 | 評價/貼文 2.7 | 送出評價 43 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2003/12/30 上午 10:06:12
我真的建議可以用你手頭上的新,舊PC來學習.原因有很多.
1.開發工具取得方便
2.386以上的系統兼具 16 跟 32位元模式可用
3.Boot loader已經存在(system BIOS)
4.有一些 system service不需要什麼硬體控制都會.
5.有MMU
6.書本,資料多
7.不用另外花錢
8.有COM port可以用來debug
作者 : kennytsai(Kenny) C++卓越專家貼文超過500則
[ 貼文 720 | 人氣 2903 | 評價 2840 | 評價/貼文 3.94 | 送出評價 140 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2003/12/30 下午 01:54:36
想學embedded,最好跳脫PC的領域,以下是我的看法:
1. PC的資源太豐富了,如果在上面開發,你可能會以為C++,STL,malloc,..等等,都可以用在勘入式系統上,事實上,你可能連printf()都不能用!
2. 想學好embedded,不可能連系統怎麼起來都不知道(BOOT),另外像中斷向量的處理、記憶體的規劃、硬體線路的設計等,都需要硬體平台來供你實作(實驗),在PC上,除非你連DOS都不跑,且從軟磁碟機載入開機的方式來啟動,這樣做雖然有沾上邊,但大部分的embedded system都不是這樣啟動的。
3. 在PC上開發程式,只要滑鼠鍵盤就搞定了,但在embedded system的開發過程中,我們還需要示波器、波形產生器、邏輯分析儀等,這與純軟體的開發不同,尤其當你想加入某些新元件時,你還需要手工打造一些電路板或連接線。
4. 勘入式系統選用的元件(CPU、MEMORY、LCD、AD/DA等)、以及其相對支援的編譯器,與PC領域迥異,而且不同CPU間雖然有相似性,但箇中的竅門需要長時間的經驗累積,光是在PC上寫寫程式,有點隔靴搔癢的感覺。
5. embedded OS、embedded programming等,都有專書在探討,其實,當你在真正的勘入式平台上開發(limit performance+limit memory+limit power+limit ...)時,你就會知道個中道理了!而這些問題在PC上是不容易突顯出來的。
歡迎大家交流想法。
作者 : kting(kting) Embedded System優秀好手
[ 貼文 37 | 人氣 4422 | 評價 840 | 評價/貼文 22.7 | 送出評價 2 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2003/12/31 上午 03:52:39

H 網友和 kenny 網友的論點都對, 只是切入問題的角度不同而已. embedded system 的範圍非常廣. 以 CPU 架構看, 小從 8 bits 的 MCU 到 64/128 bits 的怪獸, CISC/RISC 的世紀之爭, Micro-processor/Micro-controller/DSP/SOC 的抉擇, Memory size 也從僅 128 bytes 到 Giga bytes 都有. 這麼多種硬體舞台也造成了初學者的迷思與困擾. 至於軟體也好不到那裡, 也是百家爭鳴, 從 boot loader, with/without RTOS, protocol layer 到 applications.... 夠嗆的了.

不知 Adolph 網友背景如何? 有無控制硬體的經驗? 以一個初學者來說, 假設他的背景是非電子電機科系, 想自己學習 embedded system, 手邊預算又不夠的話, 可從以下方向著手:

1. 加強英文閱讀能力..... 許多 embedded system 的文件, 書籍只有英文版.

2. 找一台 PC, 不必太好, 只要 486/pentium 等級就行了. 灌上 DOS 做為測試平臺.

3. 準備另一部好一點的PC, 做為軟體的發展平臺 (Host). Download GNU C/C++ 發展工具 for x86.

4. 開始著手寫小程式 (C 或 Assembly 都可以) 去直接控制 com port. 這是最基本, 最重要的練習, 可以讓你了解如何控制簡單的硬體, 如何寫 ISR 和 program interrupt controller, 及學會如何 Handle input/output data stream. 程式可以在 Host 上發展, 再copy 到 Test PC 上, 用 gdb 去除錯.

5. 繼續寫小程式去控制其他週邊硬體, 如 printer port, DMA controller, floppy controller, timer, PCI bus .... etc.

6. 再寫一個小的 framework 去整合先前寫的小程式. 寫一個 main loop 做一些背景工作. 讓背景程式和 ISR 溝通. 這麼一來一個小型 mini 的 os 就出來了. 試著用 GNU 的 linker 把程式/資料段設在不同的記憶位址, 練習規劃 memory.

7. 自己寫 C 的啓始程式 (取代 crt0.asm), 學習在進入 main() 之前發生了什麼事, 以及離開main() 以後又發生了何事.

8. Download eCOS 原始碼 from http://sources.redhat.com/ecos. 學習 RTOS 的概念, 如何 configure and compile RTOS for X86 target, 如何寫 RTOS 的 device driver,也學習如何用 gdb remote debugging. Amazon 有專書介紹.

9. 自己寫 malloc() 和 free(), 取代 GNU newlib 的 malloc()/free(). 學習 embedded system 如何動態 manage memory. newlib 有完整的 source code 可供參考.

10. Download 整套 VxWorks 的發展工具/Documents from www.windriver.com. 裡面有個 VxWorks 的模擬器, 滿好用的, 可拿來練習發展 VxWorks 程式. 180 天的使用限制已足夠用來瞭解它的來龍去脈.

11. 弄一塊 x86 based 的開發板子來, 練習如何把程式燒到 flash ROM, download GNU grub boot loader for x86, 練習如何用 flash rom 開機.

以上是給經費有限人的學習建議, 並不是唯一的學習途徑. 如果每一步驟都有確實練習, 應該俱備進入一般硬體公司的基本要求了. 想法子進入公司之後再學習其他 embedded system 的重要技術, 如 RISC/MPU/DSP based 的系統, 使用 Jteg/示波器/Logic analyzer 除錯技巧, 更多應用範圍.....等. 祝學習順利......


- Kting
- 12/30/2003

作者 : seanchang(H) Assembly卓越專家貼文超過1000則
[ 貼文 1200 | 人氣 773 | 評價 3240 | 評價/貼文 2.7 | 送出評價 43 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2004/1/15 上午 09:45:46
Kting大大已經敘述的很仔細了,我就不多說了.
由於沒有任何軟硬體平台可以適用於所有embedded system.所以建議你尋找特定的主題來練習.沒錢用用PC來開發是個不錯的選擇.正因為x86的複雜性,也造就它可以做複雜的系統軟體,也可以做簡單的系統軟體..
例外一提,DOS下的GNU compiler名稱就是DJGPP.
編譯出來的程式是 32bits mode 而且必須有DOS extender作為底層的管理,對不熟悉的朋友會蠻辛苦的.
如果要從 16 bits mode開始的話 Turbo C是個不錯又好用的工具.現在已經是 free software了
你可以在這裡 download
http://community.borland.com/museum/
 板主 : yuan
 > 嵌入式系統(Embedded System) - 討論區
 - 最近熱門問答精華集
 - 全部歷史問答精華集
 - 嵌入式系統(Embedded System) - 知識庫
  ■ 全站最新Post列表
  ■ 我的文章收藏
  ■ 我最愛的作者
  ■ 全站文章收藏排行榜
  ■ 全站最愛作者排行榜
  ■  月熱門主題
  ■  季熱門主題
  ■  熱門主題Top 20
  ■  本區Post排行榜
  ■  本區評價排行榜
  ■  全站專家名人榜
  ■  全站Post排行榜
  ■  全站評價排行榜
  ■  全站人氣排行榜
 請輸入關鍵字 
  開始搜尋
 
Top 10
評價排行
嵌入式系統(Embedded System)
1 kting 770 
2 Lingb 400 
3 sazabi 400 
4 Huah 390 
5 hawkeye 380 
6 H 360 
7 yuan 350 
8 Kenny 310 
9 ozzy 290 
10 富伯 280 
嵌入式系統(Embedded System)
  專家等級 評價  
  一代宗師 10000  
  曠世奇才 5000  
  頂尖高手 3000  
  卓越專家 1500  
  優秀好手 750  
Microsoft Internet Explorer 6.0. Screen 1024x768 pixel. High Color (16 bit).
2000-2019 程式設計俱樂部 http://www.programmer-club.com.tw/
0.09375