中文字幕在线一区二区在线,久久久精品免费观看国产,无码日日模日日碰夜夜爽,天堂av在线最新版在线,日韩美精品无码一本二本三本,麻豆精品三级国产国语,精品无码AⅤ片,国产区在线观看视频

      用GNU工具開發基于ARM的嵌入式系統

      時間:2024-10-04 02:29:00 理工畢業論文 我要投稿
      • 相關推薦

      用GNU工具開發基于ARM的嵌入式系統

      摘要:介紹如何利用GNU的工具開發基于ARM的嵌入式系統,以及使用編譯器、連接器和調試工具的具體方法,為廣大嵌入式系統開發人員提供一種低成本的開發手段。

      當前,ARM公司的32位RISC處理器,以其內核耗電少、成本低、功能強、特有16/32位雙指令集,已成為移動通信、手持計算、多媒體數字消費等嵌入式解決方案的RISC標準,市場占有率超過了75 %。多家公司都推出了自己的基于ARM內核的處理器產品,越來越多的開發人員開始了針對ARM平臺的開發。通常開發人員需要購買芯片廠商或第三方提供的開發板,還需要購買開發軟件,如C編譯器或者集成了實時操作系統的開發環境。開發板的價格從數百到上千美元,而編譯器、實時操作系統價格更是動輒數千到數萬美元。這樣,在開發初期,軟硬件上的投資就需要上萬美元,對于國內大多數開發人員來說,無疑是太貴了。

        慶幸的是,GNU所倡導的自由軟件給開發者帶來了福音。1984 年,旨在開發一個類似 Unix 的,并且是完全免費的完整操作系統和配套工具:GNU 系統(發音為"guh-NEW")。GNU的操作系統和開發工具都是免費的,遵循GNU 通用公共許可證 (GPL)協議,任何人都可以從網上獲取全部的源代碼。關于GNU和公共許可證協議的詳細資料,讀者可參看GNU網站的中文介紹:http://.cn/semiconductors/。作為應用開發的最小系統必須包括RAM(程序運行空間)、Flash(存放目標代碼)和串行接口(用于調試和下載程序)。MX1提供了6個片選端(CS0~CS5),內置了SDRAM控制器,數據寬度32位。在筆者的系統中采用了2片8M×16位的SDRAM和2片4M×16位的同步Flash存儲器,分別接入數據線的低16位和高16位,如圖1所示。

        圖1中SDRAM接片選端CS2,Flash接片選端CS3,其余為SDRAM/Flash的控制信號。最小系統還包括至少1個串行接口,可以采用MX1內置的UART控制器,圖略。

      2 自舉模式

        目前,許多嵌入式處理器都提供了自舉模式(Bootstrap),供用戶寫入引導代碼。自舉模式利用了固化在芯片內部的一段引導程序,當處理器復位時,如果在特定引腳上加信號,則處理器將在復位后執行固化ROM中的程序。例如,MX1提供了4條復位引腳,復位時引腳不同的電平組合可以從不同的片選端啟動系統。自舉ROM中的程序完成串口的初始化,然后等待用戶從串口寫入用戶代碼。自舉模式所能接受的是一種專門格式的文本文件,包括數據和要寫入/讀出的地址。關于自舉模式的代碼格式,可參考相關芯片的手冊。在摩托羅拉的網站還提供了許多小工具,幫助開發者將其它格式的文件轉換成為自舉模式格式。通過自舉模式下載的通常是一段和上位機軟件(如超級終端)通信的程序,完成接收數據并寫入Flash的操作。寫入的數據可以是用戶自己的應用程序、數據或者操作系統的內核。通過自舉模式下載的引導程序同樣可以用GNU工具開發。

      3 GNU的編譯器和開發工具

        GNU提供的編譯工具包括匯編器as、C編譯器gcc、C 編譯器g 、連接器ld和二進制轉換工具objcopy。基于ARM平臺的工具分別為arm-linux-as、arm-linux-gcc、arm-linux-g 、arm -linux-ld 和arm-linux-objcopy。GNU的所有開發工具都可以從www.gnu.org上下載,基于ARM的工具可以從www.uclinux.org獲得。GNU的編譯器功能非常強大,共有上百個操作選項,這也是這類工具讓初學者頭痛的原因。不過,實際開發中只需要用到有限的幾個,大部分可以采用缺省選項。GNU工具的開發流程如下:編寫C、C 語言或匯編源程序,用gcc或g 生成目標文件,編寫連接腳本文件,用連接器生成最終目標文件(elf格式),用二進制轉換工具生成可下載的二進制代碼。GNU工具都運行在Linux下,開發者需要1臺運行Linux的PC作為上位機。由于篇幅所限,不能完整地介紹整個嵌入式操作系統的開發過程,將以第二節中提到的通過自舉模式下載的引導程序為例,說明開發的過程。對于像Linux這樣的大系統,基本的開發流程是一樣的。

        引導程序將通過自舉模式下載到MX1的片內RAM,從地址0x00300000開始并執行。完成串口和SDRAM的初始化后,引導程序將等待接收應用程序或操作系統內核,將接收到的數據放在SDRAM中。數據接收完畢后,引導程序將SDRAM中的數據寫入Flash,下一次就可以從Flash中直接引導系統了。由于操作系統的內核比較大,如Linux有1 MB以上,下載過程必須考慮糾錯。因此,接收部分采用Xmode協議,可以用Windows下超級終端的Xmode

      【用GNU工具開發基于ARM的嵌入式系統】相關文章:

      基于ARM體系的嵌入式系統BSP的程序設計03-18

      基于ARM7的嵌入式控制系統設計11-23

      基于ARM-μCLinux嵌入式系統啟動引導的實現03-20

      基于ARM的車載GPS系統的研究03-07

      基于FIC8120的嵌入式網絡視頻監控系統的設計與開發03-07

      基于ARM9微處理器與Linux操作系統的SD驅動開發03-07

      嵌入式ARM-Linux水產養殖監控系統的設計03-07

      基于DSP的Bluetooth嵌入式系統應用03-20

      基于SIP的嵌入式終端軟件系統03-07

      主站蜘蛛池模板: 亚洲精品精品日本日本| 桦甸市| 在线观看亚洲你懂得| 国产日韩一区二区精品| 麻豆国产AV网站| 亚洲美女av日韩一区| 看全色黄大黄大色免费久久| 日韩欧美精品有码在线观看| 永嘉县| 临高县| 共和县| 无码一区二区三区人| 国产亚洲欧美在线播放网站| 日本久久精品在线播放| 女优av福利在线观看| 亚洲成片在线看一区二区| 国产精品毛片99久久久久| 塘沽区| 泰来县| 祁门县| 亚洲专区在线观看第三页| 国产亚洲精品成人av在线| 午夜精品一区二区久久做老熟女| 久久精品无码一区二区三区不卡| 欧洲AV秘 无码一区二区三| 铁力市| 国产黄片一区视频在线观看| 亚洲专区中文在线第一页| 日韩av一区二区毛片| 久久精品国产亚洲av热九| 国产一区二区三区av免费观看| 亚洲成人av一区二区三区| 久久青草国产免费观看| 97av在线播放| 国产精品久久久一本精品| 国产av乳头久久一区| 久久洲Av无码西西人体| 精品一区二区三区乱码中文| 久久久精品国产亚洲av日韩| 亚洲国产精品国自产拍av| 日本高清一区二区三区视频|