x32 發問時間: 電腦與網際網路軟體 · 1 0 年前

嵌入式系統

我們老師要我們發展嵌入式系統

我上網看過 也拿書來看 今天先對嵌入式系統有初步的認識

我想問的是

我們選好的 linux作業系統 要如何把他燒入在ROM裡面

很抱歉 我可能有講錯 或有什麼誤解 因為我今天第一次接觸

首先我先從一般的PC 來講

PC有BIOS

所以他會自動抓所有硬體資料

開機完的畫面

你還能選我要去讀光碟機 或硬碟的資料

去載入

那請問 嵌入式系統

那個BIOS的功能是我們自己去寫"BIOS"嗎

還是廠商有附"BIOS"的程式

已更新項目:

你那網址是賣儲存裝置的耶

4 個解答

評分
  • 冠霖
    Lv 6
    1 0 年前

    ^_^網友的回答才是正確而且理想的。

    基本上拿到空的版子時,一定是用hardware debug tool先燒boot loader,它必須放在整個系統第一個會執行的地方,一開始會先做一些硬體的初始化,然後它會去找OS。你的OS可能放在flash,也可能放在遠端,所以你的boot loader必須要有讀flash的能力,或是透過serial port甚至網路介面傳送/接收資料的能力,這樣才能將OS的binary data(execute file)載入記憶體,然後讓program count跳到OS的第一行開始執行。

    abyssal講的亂七八糟,完全不具有參考性。

    2008-01-10 17:25:12 補充:

    至於驅動硬體,則是由OS來驅動,你可以看一下OS的device driver的部份。

  • 1 0 年前

    哇哩咧....上面的回答是怎樣... 感覺越講越混亂。

    首先,不要管硬體的儲存方式,啥ROM RAM DOM都不要管,先單純從軟體的角度來講。

    硬體的設計會在通電晶片開始運作之後,到某一個記憶位置去抓取指令開始執行。

    在PC的情況是這樣。

    PC開機完成之後,經由硬體設定,把BIOS位置安置在特定位置,然後開始執行BIOS,BIOS會進行CPU/RAM測試,然後到一個指定的位置去載入作業系統執行,如說去硬碟、光碟機、USB、網路載入作業系統。

    Embedded原理相同,晶片開始運作之後,會去特定的位置載入指令執行,這段指令為進行初階的系統設定,然後開始載入作業系統(Linux Kernel),載入的位置通常有三個地方

    1. ROM

    2. 網路

    3. 其他怪怪的地方(RS232的xmodem)

    在PC這個第一隻執行的程式名為BIOS,在Embedded System這個程式名為Bootloader。

    通常,身為初學者,如果廠商賣給你們的硬體沒有附上Bootloader,請直接握拳幹下去。因為要從無到有生出bootloader非常非常非常辛苦,部分的程式都是以組合語言寫成的。初學者不太可能直接寫bootloader,太難了。

    事實上,一般Embedded System開發廠商也不太會改Bootloader,絕大部分的系統功能都是交給之後啟動的Linux Kernel來負責。所以Bootloader的目的就可簡化成下面幾個:

    1. 初始化硬體

    2. 載入Linux Kernel

    3. 如果有必要,負責consle連線來顯示系統訊息。

    一般常用的bootloader有

    Uboot

    Redboot

    ....

    端看硬體製造商要使用那一個

  • 1 0 年前

    很多設備都有 BIOS, 以 PC 來講我們叫作 System BIOS.

    把寫好的程式燒到 EEPROM 裏面, 一開機 CPU 開始執行的第一個位址就固定在這個 ROM 上面. 所以往下就都是 System BIOS 能控制的.

    通常嵌入式系統應該就是指那些寫好的程式燒錄在 NV RAM(ROM) 中, 附隨在設備中, 不管有沒有電都是一直存在的 !

    例如 PC 的 BIOS, PDA, 手機 ... 其中都是有韌體在的.

    如果您的 ROM 夠大, 甚至可以加入程式, OS(如 PDA 的 WinCE)...

    任何您想加入的功能.

    2007-07-10 23:42:47 補充:

    當然廠商都會附 BIOS ! 除非有些想改些功能, 如照像手機偷改成照相無聲 ... 就是有些人了解手機的韌體, Update 的方式 ...

    不過這些風險都不小, 因為一失敗要送修是滿麻煩的 !

    您目前的課題應該是要學習扮演廠商的角色去開發"嵌入式系統"吧 !

    參考資料: BIOS Engineer, BIOS Engineer
  • BEAR
    Lv 7
    1 0 年前

    你想太多了

    http://shop.transcend.com.tw/product/product_memor...

    這就是你要的,把它當作硬碟來用就行了

還有問題?馬上發問,尋求解答。