亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

蟲蟲首頁| 資源下載| 資源專輯| 精品軟件
登錄| 注冊

BootloADer

在嵌入式操作系統中,BootloADer是在操作系統內核運行之前運行??梢猿跏蓟布O備、建立內存空間映射圖,從而將系統的軟硬件環境帶到一個合適狀態,以便為最終調用操作系統內核準備好正確的環境。在嵌入式系統中,通常并沒有像BIOS那樣的固件程序(注,有的嵌入式CPU也會內嵌一段短小的啟動程序),因此整個系統的加載啟動任務就完全由BootloADer來完成。在一個基于ARM7TDMIcore的嵌入式系統中,系統在上電或復位時通常都從地址0x00000000處開始執行,而在這個地址處安排的通常就是系統的BootloADer程序[1]。
  • Arduino入門_動手玩轉Arduino

    Arduino,是一塊基于開放源代碼的USB接口Simple i/o接口板(包括12通道數字GPIO,4通道PWM輸出,6-8通道10bit ADC輸入通道),并且具有使用類似Java,C語言的IDE集成開發環境。 讓您可以快速使用Arduino語言與Flash或Processing…等軟件,作出互動作品。 Arduino可以使用開發完成的電子元件例如Switch或sensors或其他控制器、LED、步進馬達或其他輸出裝置。Arduino也可以獨立運作成為一個可以跟軟件溝通的接口,例如說:flash、processing、Max/MSP、VVVV 或其他互動軟件…。Arduino開發IDE接口基于開放源代碼原,可以讓您免費下載使用開發出更多令人驚艷的互動作品。 特色: 1、開放源代碼的電路圖設計,程序開發接口免費下載,也可依需求自己修改。 2、使用低價格的微處理控制器(ATMEGA8或ATmega128)??梢圆捎肬SB接口供電,不需外接電源。也可以使用外部9VDC輸入 3、Arduino支持ISP在線燒,可以將新的“BootloADer”固件燒入ATmega8或ATmega128芯片。有了BootloADer之后,可以通過串口或者USB to Rs232線更新固件。 4、可依據官方提供的Eagle格式PCB和SCH電路圖,簡化Arduino模組,完成獨立運作的微處理控制。可簡單地與傳感器,各式各樣的電子元件連接(EX:紅外線,超音波,熱敏電阻,光敏電阻,伺服馬達,…等) 5、支持多種互動程序,如:Flash、Max/Msp、VVVV、PD、C、Processing……等 6、應用方面,利用Arduino,突破以往只能使用鼠標,鍵盤,CCD等輸入的裝置的互動內容,可以更簡單地達成單人或多人游戲互動。

    標簽: Arduino

    上傳時間: 2013-11-24

    上傳用戶:bvdragon

  • S3C2410完全開發流程與源碼

    本書面向由傳統51單片機轉向ARM嵌入式開發的硬件工程師、由硬件轉嵌入式軟件開發的工程師、沒有嵌入式開發經驗的軟件工程師。分9個部分:1、開發環境建立2、S3C2410功能部件介紹與實驗(含實驗代碼)3、BootloADer vivi詳細注釋4、linux移植5、linux驅動6、yaffs文件系統詳解7、調試工具8、GUI開發簡介9、UC/OS移植通過學習第二部分,即可了解基于ARM CPU的嵌入式開發所需要的外圍器件及其接口。對應的實驗代碼實現了對這些接口的操作,這可以讓硬件工程師形成一個嵌入式硬件開發的概念。這部分也可以當作S3C2410的數據手冊來使用。一個完整的嵌入式linux系統包含4部分內容:BootloADer、parameters、kernel、root file system。3、4、5、6部分詳細介紹了這4部分的內容,這是linux底層軟件開發人員應該掌握的。通過學習這些章節,您可以詳細了解到如何在一個裸板上裁減、移植linux,如何構造自己的根文件系統,如何編寫適合客戶需求的驅動程序——驅動程序這章將結合幾個經典的驅動程序進行講解。您還可以了解到在用在nand flash上的非常流行的yaffs文件系統是如何工作的,本書將結合yaffs代碼詳細介紹yaffs文件系統。第7部分介紹了嵌入式linux開發中使用gdb進行調試的詳細過程。

    標簽: S3C2410 開發流程 源碼

    上傳時間: 2013-10-31

    上傳用戶:yunfan1978

  • STM32啟動代碼

    The BootloADer is stored in the internal boot ROM memory (system memory) of STM32devices. It is programmed by ST during production. Its main task is to download theapplication program to the internal Flash memory through one of the available serialperipherals (USART, CAN, USB, etc.). A communication protocol is defined for each serialinterface, with a compatible command set and sequences

    標簽: STM 32 啟動代碼

    上傳時間: 2014-09-06

    上傳用戶:417313137

  • 一種單片機固件IAP方案

    導言基于FLASH存儲器的微處理器,一個重要的需求是安裝到產品中后,仍具有升級固件(firmware)的能力。這種能力稱為“在應用中編程”(In-application-programming,IAP)。這篇應用筆記以STM32F32位cortex-M3為例,闡述了構建IAP系統的一些通用概念。并提出了一種新的技術,有助于單片機開發人員更好的構建IAP系統。STM32系列微處理器基于FLASH存儲器。在FLASH中運行的固件可以擦寫FLASH本身。FLASH的頭4KB具有寫保護,適合存儲IAP固件(IAP BootloADer)。

    標簽: IAP 單片機 固件 方案

    上傳時間: 2013-11-07

    上傳用戶:lalaruby

  • 基于Luminary遠程在線升級解決方案

    遠程升級是一種對軟件功能進行更新的方式,其主要優勢就是不需要對產品進行重新拆裝,以及可以不用工作人員到產品現場進行任何操作。而其原理就是利用發布產品軟件中的一段程序BootloADer來檢測遠程升級條件,當檢測到升級條件時,BootloADer便會進入升級過程,用戶可根據提示操作與BootloADer進行遠程交互,從而將更新的軟件代碼通過某種通信方式更新到產品中,以實現遠程軟件升級,升級完畢后,BootloADer又會自動執行升級成功后的軟件。

    標簽: Luminary 遠程 在線升級 方案

    上傳時間: 2013-11-01

    上傳用戶:leawon947

  • at91rm9200啟動過程教程

    at91rm9200啟動過程教程 系統上電,檢測BMS,選擇系統的啟動方式,如果BMS為高電平,則系統從片內ROM啟動。AT91RM9200的ROM上電后被映射到了0x0和0x100000處,在這兩個地址處都可以訪問到ROM。由于9200的ROM中固化了一個BOOTLOAER程序。所以PC從0X0處開始執行這個BOOTLOAER(準確的說應該是一級BootloADer)。這個BOOTLOER依次完成以下步驟: 1、PLL SETUP,設置PLLB產生48M時鐘頻率提供給USB DEVICE。同時DEBUG USART也被初始化為48M的時鐘頻率; 2、相應模式下的堆棧設置; 3、檢測主時鐘源(Main oscillator); 4、中斷控制器(AIC)的設置; 5、C 變量的初始化; 6、跳到主函數。 完成以上步驟后,我們可以認為BOOT過程結束,接下來的就是LOADER的過程,或者也可以認為是裝載二級BOOTLOER。AT91RM9200按照DATAFLASH、EEPROM、連接在外部總線上的8位并行FLASH的順序依次來找合法的BOOT程序。所謂合法的指的是在這些存儲設備的開始地址處連續的存放的32個字節,也就是8條指令必須是跳轉指令或者裝載PC的指令,其實這樣規定就是把這8條指令當作是異常向量表來處理。必須注意的是第6條指令要包含將要裝載的映像的大小。關于如何計算和寫這條指令可以參考用戶手冊。一旦合法的映像找到之后,則BOOT程序會把找到的映像搬到SRAM中去,所以映像的大小是非常有限的,不能超過16K-3K的大小。當BOOT程序完成了把合法的映像搬到SRAM的任務以后,接下來就進行存儲器的REMAP,經過REMAP之后,SRAM從映設前的0X200000地址處被映設到了0X0地址并且程序從0X0處開始執行。而ROM這時只能在0X100000這個地址處看到了。至此9200就算完成了一種形式的啟動過程。如果BOOT程序在以上所列的幾種存儲設備中找到合法的映像,則自動初始化DEBUG USART口和USB DEVICE口以準備從外部載入映像。對DEBUG口的初始化包括設置參數115200 8 N 1以及運行XMODEM協議。對USB DEVICE進行初始化以及運行DFU協議?,F在用戶可以從外部(假定為PC平臺)載入你的映像了。在PC平臺下,以WIN2000為例,你可以用超級終端來完成這個功能,但是還是要注意你的映像的大小不能超過13K。一旦正確從外部裝載了映像,接下來的過程就是和前面一樣重映設然后執行映像了。我們上面講了BMS為高電平,AT91RM9200選擇從片內的ROM啟動的一個過程。如果BMS為低電平,則AT91RM9200會從片外的FLASH啟動,這時片外的FLASH的起始地址就是0X0了,接下來的過程和片內啟動的過程是一樣的,只不過這時就需要自己寫啟動代碼了,至于怎么寫,大致的內容和ROM的BOOT差不多,不同的硬件設計可能有不一樣的地方,但基本的都是一樣的。由于片外FLASH可以設計的大,所以這里編寫的BootloADer可以一步到位,也就是說不用像片內啟動可能需要BOOT好幾級了,目前AT91RM9200上使用較多的bootloer是u-boot,這是一個開放源代碼的軟件,用戶可以自由下載并根據自己的應用配置??偟恼f來,筆者以為AT91RM9200的啟動過程比較簡單,ATMEL的服務也不錯,不但提供了片內啟動的功能,還提供了UBOOT可供下載。筆者寫了一個BOOTLODER從片外的FLASHA啟動,效果還可以。 uboot結構與使用uboot是一個龐大的公開源碼的軟件。他支持一些系列的arm體系,包含常見的外設的驅動,是一個功能強大的板極支持包。其代碼可以 http://sourceforge.net/projects/u-boot下載 在9200上,為了啟動uboot,還有兩個boot軟件包,分別是loader和boot。分別完成從sram和flash中的一級boot。其源碼可以從atmel的官方網站下載。 我們知道,當9200系統上電后,如果bms為高電平,則系統從片內rom啟動,這時rom中固化的boot程序初始化了debug口并向其發送'c',這時我們打開超級終端會看到ccccc...。這說明系統已經啟動,同時xmodem協議已經啟動,用戶可以通過超級終端下載用戶的BootloADer。作為第一步,我們下載loader.bin.loader.bin將被下載到片內的sram中。這個loder完成的功能主要是初始化時鐘,sdram和xmodem協議,為下載和啟動uboot做準備。當下載了loader.bin后,超級終端會繼續打?。篶cccc....。這時我們就可以下在uboot了。uboot將被下載到sdram中的一個地址后并把pc指針調到此處開始執行uboot。接著我們就可以在終端上看到uboot的shell啟動了,提示符uboot>,用戶可以uboot>help 看到命令列表和大概的功能。uboot的命令包含了對內存、flash、網絡、系統啟動等一些命令。 如果系統上電時bms為低電平,則系統從片外的flash啟動。為了從片外的flash啟動uboot,我們必須把boot.bin放到0x0地址出,使得從flash啟動后首先執行boot.bin,而要少些boot.bin,就要先完成上面我們講的那些步驟,首先開始從片內rom啟動uboot。然后再利用uboot的功能完成把boot.bin和uboot.gz燒寫到flash中的目的,假如我們已經啟動了uboot,可以這樣操作: uboot>protect off all uboot>erase all uboot>loadb 20000000 uboot>cp.b 20000000 10000000 5fff uboot>loadb 21000000 uboot>cp.b 210000000 10010000 ffff 然后系統復位,就可以看到系統先啟動boot,然后解壓縮uboot.gz,然后啟動uboot。注意,這里uboot必須壓縮成.gz文件,否則會出錯。 怎么編譯這三個源碼包呢,首先要建立一個arm的交叉編譯環境,關于如何建立,此處不予說明。建立好了以后,分別解壓源碼包,然后修改Makefile中的編譯器項目,正確填寫你的編譯器的所在路徑。 對loader和boot,直接make。對uboot,第一步:make_at91rm9200dk,第二步:make。這樣就會在當前目錄下分別生成*.bin文件,對于uboot.bin,我們還要壓縮成.gz文件。 也許有的人對loader和boot搞不清楚為什么要兩個,有什么區別嗎?首先有區別,boot主要完成從flash中啟動uboot的功能,他要對uboot的壓縮文件進行解壓,除此之外,他和loader并無大的區別,你可以把boot理解為在loader的基礎上加入了解壓縮.gz的功能而已。所以這兩個并無多大的本質不同,只是他們的使命不同而已。 特別說名的是這三個軟件包都是開放源碼的,所以用戶可以根據自己的系統的情況修改和配置以及裁減,打造屬于自己系統的bootloder。

    標簽: 9200 at 91 rm

    上傳時間: 2013-10-27

    上傳用戶:wsf950131

  • AVR單片機與GCC編程

    AVR 單片機與GCC編程 目錄第一章 AVR 單片機開發概述1.1 一個簡簡單的例子1.2 用MAKEFILE 管理項目1.3 開發環境的配置第二章 存儲器操作2.1 AVR 單片機存儲器組織結構2.2 I/O 寄存器操作2.3 SRAM 內變量的使用2.4 在程序中訪問FLASH 程序存儲器2.5 EEPROM 數據存儲器操作2.6 avr-gcc 段結構與再定位第三章 功能模塊編程示例3.1 中斷服務程序3.2 定時器/計數器應用3.3 看門狗應用3.4 UART 應用3.5 PWM 功能編程3.6 模擬比較器3.7 A/D 轉換模塊編程第四章 使用C 語言標準I/O 流調試程序4.1 avr-libc 標準I/O 流描述4.2 利用標準I/0 流調試程序第五章 AT89S52 下載編程器的制作5.1 LuckyProg S52 概述5.2 AT89S52 ISP 功能簡介5.3 程序設計第六章 硬件TWI 端口編程6.1 TWI 模塊概述6.2 主控模式操作實時時鐘DS13076.3 兩個Mega8 間的TWI 通信第七章 BootloADer 功能應用7.1 BootloADer 功能介紹7.2 avr-libc 對BootloADer 的支持7.3 BootloADer 應用實例 第八章 匯編語言支持8.1 C 代碼中內聯匯編程序8.2 獨立的匯編語言支持8.3 C 與匯編混合編程第九章 C++語言支持結束語附錄 1 avr-gcc 選項附錄 2 ihex 格式描述

    標簽: AVR GCC 單片機 編程

    上傳時間: 2013-10-26

    上傳用戶:wangyi39

  • 陽初S3C2440開發板使用手冊

    S3C2440開發板使用手冊:在陽初2440 開發板上,我們使用了mizi 公司開發的開放源代碼啟動程序vivi 來作為BootloADer,在原有vivi的基礎上,我們增加了VGA/TV芯片初始化等功能。vivi我們使用來下載Linux 的映象,將來會擴展到支持下載WindowsCE 的映象。經陽初改進后,vivi的基本功能- 啟動操作系統- 通過xmodem協議下載映象文件- 通過USB DEVICE 接口下載映象文件(開發中,暫不提供)- 通過網絡接口下載映象文件(開發中,暫不提供)- 設置操作系統啟動參數- 初始化硬件

    標簽: S3C2440 開發板 使用手冊

    上傳時間: 2013-12-20

    上傳用戶:xiaohanhaowei

  • 單片機程序遠程升級的設計

    為了解決一些遠程單片機設備不方便升級內部程序的困難,本文提出了利用單片機系統中現有的數據獲取方式來升級單片機內部程序的方法。本文利用凌陽16 位單片機可以自讀寫片內程序空間的特性,通過在片內駐留BootloADer 程序的方式實現了凌陽16 位單片機片內程序的在需要時的遠程升級。單片機獲取數據的方式可以有很多,本文選取通過串口獲取數據進行程序升級為例,并選取常見的凌陽單片機SPCE061A 為例介紹了此方法的設計思路以及實現過程。單片機的應用非常廣泛,在某些情況下,單片機內部程序的升級在所難免,但是往往需要對單片機產品進行收回才能實現,這樣在一些遠程設備的程序升級問題上就顯得非常不方便。但是有些遠程設備本身留有遠程通訊的方式:例如某些遠程數據傳輸模塊,為了把數據上報總會留有通訊的接口,比如422、485 甚至GPRS 或者局域網接口;又或者某些車載定位設備,為了和監控中心通訊會留有GSM、CDMA 或者GPRS 等通訊方式。在這種情況下就可以利用其現有的通訊方式對其內部單片機程序進行升級而不需要收回產品。本文的主要內容就是來研究這種遠程升級單片機程序的方法。由于近年來凌陽科技的單片機,尤其是 16 位單片機,得到了越來越多的推廣,其應用領域越來越廣泛。本文選取一種常見的凌陽科技的16 位單片機SPCE061A 為例,來介紹單片機程序遠程升級的方法。SPCE061A 里內嵌了32K 字的閃存(FLASH),即可以作為程序存儲空間又可以存儲數據,并且有自讀寫任意閃存地址的能力,本文利用這一功能,提出了通過在單片機中駐留BootloADer 程序的方法,來實現單片機程序的遠程升級。遠程升級的實現,需要單片機自身的響應同時還需要遠程服務器提供升級所需的代碼。下文將通過這兩個方面來分別介紹。

    標簽: 單片機程序 遠程升級

    上傳時間: 2013-10-31

    上傳用戶:yxgi5

  • AVR單片機GCC程序設計

    AVR單片機GCC程序設計:第一章 概述1.1 AVR 單片機GCC 開發概述1.2 一個簡單的例子1.3 用MAKEFILE 管理項目1.4 開發環境的配置1.5 實驗板CA-M8第二章 存儲器操作編程2.1 AVR 單片機存儲器組織結構2.2 I/O 寄存器操作2.3 SRAM 內變量的使用2.4 在程序中訪問FLASH 程序存儲器2.5 EEPROM 數據存儲器操作2.6 avr-gcc 段結構與再定位2.7 外部RAM 存儲器操作2.8 堆應用第三章 GCC C 編譯器的使用3.1 編譯基礎3.2 生成靜態連接庫第四章 AVR 功能模塊應用實驗4.1 中斷服務程序4.2 定時器/計數器應用4.3 看門狗應用4.4 UART 應用4.5 PWM 功能編程4.6 模擬比較器4.7 A/D 轉換模塊編程4.8 數碼管顯示程序設計4.9 鍵盤程序設計4.10 蜂鳴器控制第五章 使用C 語言標準I/O 流調試程序5.1 avr-libc 標準I/O 流描述5.2 利用標準I/0 流調試程序5.3 最小化的格式化的打印函數第六章 CA-M8 上實現AT89S52 編程器的實現6.1 編程原理6.2 LuckyProg2004 概述6.3 AT989S52 isp 功能簡介6.4 下位機程序設計第七章 硬件TWI 端口編程7.1 TWI 模塊概述7.2 主控模式操作實時時鐘DS13077.3 兩個Mega8 間的TWI 通信第八章 BootloADer 功能應用8.1 BootloADer 功能介紹8.2 avr-libc 對BootloADer 的支持8.3 BootloADer 應用實例8.4 基于LuckyProg2004 的BootloADer 程序第九章 匯編語言支持9.1 C 代碼中內聯匯編程序9.2 獨立的匯編語言支持9.3 C 與匯編混合編程第十章 C++語言支持附錄 1 avr-gcc 選項附錄 2 Intel HEX 文件格式描述

    標簽: AVR GCC 單片機

    上傳時間: 2014-04-03

    上傳用戶:ligi201200

主站蜘蛛池模板: 龙陵县| 合川市| 大连市| 洛宁县| 尤溪县| 肥乡县| 台东市| 江北区| 文化| 巨野县| 家居| 军事| 辉县市| 襄城县| 华亭县| 银川市| 获嘉县| 绥阳县| 浏阳市| 阜宁县| 长兴县| 公主岭市| 罗田县| 德格县| 文成县| 阿巴嘎旗| 五台县| 行唐县| 和硕县| 东宁县| 宣武区| 顺义区| 拉萨市| 楚雄市| 隆安县| 共和县| 额尔古纳市| 额尔古纳市| 竹北市| 太保市| 梁平县|