<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    linansengling

     

    嵌入式系統入門

    這久以來聽了我的一個老師關于后PC時代的到來,對嵌入式系統產生了極大興趣,投入了很大的精力在學,有很多的收獲寫出來與朋友分享。

    ??? 對于剛進入嵌入式系統的學習首先是象學J2EE那樣看不懂且不知所云的名字,所以先要搞定這些名詞:

    嵌入式軟件系統的幾種模式

    ?? 一?? 簡單嵌入式系統,包含簡單的硬件初始化以及應用代碼。
    ?? 二?? 簡單嵌入式系統,包含bootloader以及應用代碼,bootloader與應用緊密集成在一起,構成一個嵌
    ??????? ??? 入式系統。
    ?? 三?? 復雜嵌入式系統,包含bootloader、操作系統、應用軟件。

    開發編繹環境

    ????? ads1.2???????????????????????? arm的編譯器arm公司開發的
    ???? arm-elf-gcc????????????????? Liunx環境下的arm編繹器
    ????? cygwin+armtools????????? windows下模擬linux的程序和運行在cygwin下的arm的編譯器
    ????? ARM_SDT_2.51???????? arm比較早版本的編譯器
    這么多開發編繹環境選擇適合的就行如果你用操作系統是Linux編輯工具是vi之類一般是arm-elf-gcc?如果操作系統是windows見意ads1.2?。

    嵌入式操作系統:

    ??????? VxWorks??????????? 實時性最好,要付費,一般用在高端實時領域,好像美國的飛船上就用它。
    ???????? uc/os-II????????????? 簡單適合入門,好多書都講這個操作系統,其代碼量也不大如果要看它的源碼的話。
    ???????? winCE??????????????? 微軟的東四,收費一般小應用就不用它的,高端手機比如多普達上用的就是它。
    ??????? uclinux???????????????? 是為適應沒有MMC硬件的CPU(arm7TDMI)開發的liunx的版本,開源、免費,相信
    ?????????????????????????????????? 是今天后的趨勢,學習有一定的難度,網上資料還是很多的。
    ??????? liunx??????????????????? 開源、免費,ARM9上就可以跑

    其它名詞:

    ???????SkyEye???????????? 是開源軟件?的一個項目,SkyEye的目標是在Linux和Windows操作系統里提供一個完全的
    ??????????????????????????????? 仿真環境。SkyEye仿真環境相當于一個嵌入式計算機系統,你可以在SkyEye里運行一些
    ????????????????????????????????嵌入式Linux操作系統,如ARMLinux,uClinux,uc/OSII(ucos-ii)等,并能分析和調試它們
    ??????????????????????????????? 的源代碼。
    Boot Loader???????????? 就是在操作系統內核運行之前運行的一段小程序。通過這段小程序,我們可以初始化
    ??????????????????????????????? 件設備、建立內存空間的映射圖,從而將系統的軟硬件環境帶到一個合適的狀態,以便
    ??????????????????????????????? 為最終調用操作系統內核準備好正確的環境。相當于PC機中的BIOS。

    Blob、Bootldr、Redboot、U-Boot、ABLE
    ??????????????
    ???? Boot Loader 是嚴重地依賴于硬件而實現的,除了依賴于CPU 的體系結構外,Boot Loader實際上也依賴于具體的嵌入式板級設備的配置。這也就是說,對于兩塊不同的嵌入式板而言,即使它們是基于同一種CPU 而構建的,要想讓運行在一塊板子上的Boot Loader 程序也能運行在另一塊板子上,通常也都需要修改BootLoader 的源程序。Blob、Bootldr、Redboot、U-Boot、ABLE都是人們對于CPU 的體系結構外開發的通用的BootLoader程序,你只需對這些程序進行移植就行了。

    嵌入式處理器的啟動過程:
    ????
    ?? 通常系統上電(或者復位)以后,程序從地址空間的0x0開始?? 即PC(程序計數器)指針,指向0x0。從這個地址開始讀取指令并運行。通常這個地址對應的是Bank0。因為系統是從bank0上引導的,所以,在Bank0上連接保存有啟動代碼的FlashROM,這就是我們常說的Boot ROM即Bootloader程序。
    ????
    Bootloader要實現:

    ?? 硬件系統自檢。

    ?? 配置其他Bank或者端口、外設等工作模式。

    ?? 處理中系統的中斷– 在不支持remap的處理器中,中斷必然要經過Boot ROM的空間,這時,Boot ROM
    ??????需要處理的任務就是把固定的中斷向量映射到一個可編程的中斷處理子程序的地址。

    ???? 引導操作系統
    – 系統配置完成以后, Bootloader需要把操作系統(或者其他程序)裝載到SDRAM(就是系統的RAM區),然后,把PC指針指向程序的RAM空間,使操作系統啟動,這就是引導。

    ???? Flash(Boot ROM)編程
    – 對引導Flash(或者其他的非易失性存儲器)編程,通過串口或者以太網口下載編譯成功的操作系統或者應用程序,甚至Boot ROM本身。– 要想實現Boot ROM的自編程,必須讓Boot程序是在RAM中運行

    posted on 2006-11-06 14:09 fds 閱讀(1204) 評論(0)  編輯  收藏 所屬分類: ARM and Liunx


    只有注冊用戶登錄后才能發表評論。


    網站導航:
     

    導航

    統計

    常用鏈接

    留言簿(3)

    隨筆分類(12)

    隨筆檔案(13)

    文章分類(1)

    文章檔案(2)

    相冊

    收藏夾(3)

    my like

    最新隨筆

    搜索

    最新評論

    閱讀排行榜

    評論排行榜

    主站蜘蛛池模板: 亚洲视频小说图片| 最新精品亚洲成a人在线观看| 亚洲黄网站wwwwww| 久久香蕉国产线看免费| 亚洲av无码不卡| 男人进去女人爽免费视频国产| 好看的电影网站亚洲一区| 全黄大全大色全免费大片| 亚洲精品成人av在线| 国产免费女女脚奴视频网| 亚洲日本天堂在线| 国产成人一区二区三区免费视频| 美女羞羞免费视频网站| 亚洲真人日本在线| 国产好大好硬好爽免费不卡| 久久精品国产亚洲AV无码偷窥| 免费专区丝袜脚调教视频| 亚洲精品V天堂中文字幕| www.91亚洲| 国产成人精品无码免费看| 亚洲妓女综合网99| 国产精品成人免费综合| 99久久免费国产特黄| 亚洲美女aⅴ久久久91| 好男人看视频免费2019中文| 黄网站在线播放视频免费观看| 国产亚洲日韩一区二区三区| 91av免费观看| 国产精品国产亚洲区艳妇糸列短篇 | 久久国产精品免费观看| 亚洲伊人久久大香线焦| 亚洲Av无码乱码在线观看性色| 日韩av无码免费播放| 精品亚洲AV无码一区二区| 免费一级毛片在线观看| 你懂的免费在线观看网站| 亚洲国产精品无码久久98| 久久国产亚洲精品麻豆| 日本免费一区二区三区最新vr| 韩日电影在线播放免费版| 久久亚洲国产成人影院|