概述 CH376是文件管理控制芯片,用于單片機系統(tǒng)讀寫 U 盤或者 SD 卡中的文件。 CH376 支持 USB 設(shè)備方式和 USB 主機方式,并且內(nèi)置了 USB 通訊協(xié)議的基本固件,內(nèi)置了處理Mass-Storage 海量存儲設(shè)備的專用通訊協(xié)議的固件,內(nèi)置了SD 卡的通訊接口固件,內(nèi)置了FAT16和FAT32 以及 FAT12 文件系統(tǒng)的管理固件,支持常用的 USB 存儲設(shè)備(包括 U 盤/USB 硬盤/USB 閃存盤/USB讀卡器)和SD卡(包括標準容量SD 卡和高容量HC-SD 卡以及協(xié)議兼容的MMC 卡和 TF 卡)。 CH376 支持三種通訊接口:8 位并口、SPI 接口或者異步串口,單片機/DSP/MCU/MPU 等控制器可以通過上述任何一種通訊接口控制CH376芯片,存取U 盤或者 SD 卡中的文件或者與計算機通訊。 CH376的 USB設(shè)備方式與CH372 芯片完全兼容,CH376 的 USB 主機方式與CH375 芯片基本兼容。
上傳時間: 2014-12-27
上傳用戶:sglccwk
AVR單片機Bootloader使用手冊(Atmega16) 目前單片機的使用越來越趨于靈活,資源越來越豐富,這一點我們可以在它的下載方式中可以看到。傳統(tǒng)的單片機(51系列)下載方式基本上就是使用高壓(12V)編程器,雖然效率高,但是使用不便,成本很高。而新型單片機可以使用ISP下載,使得芯片的編程變得更加容易和低成本,但是效率較低,同時要占用單片機一定的功能口,在設(shè)計時必須考慮這些。目前,高檔單片機都有一種類似于PC機中BIOS功能的下載方式:IAP(在應(yīng)用編程),用戶可以根據(jù)需要直接使用串口,SPI口,I2C口等各類適合用戶開發(fā)的資源口來實現(xiàn)芯片的程序下載,要實現(xiàn)以上功能,我們就必須要用到Bootloader。
標簽: Bootloader Atmega AVR 16
上傳時間: 2013-10-28
上傳用戶:drink!
單片機讀寫U盤方案開發(fā)手冊 目錄 1.芯片及模塊手冊資料2.應(yīng)用電路圖及封裝3.SPI例程及UART例程4.其他外圍應(yīng)用電路5.232、電平轉(zhuǎn)換資料6.芯片測試文檔7.U盤支持列表
上傳時間: 2013-11-01
上傳用戶:whymatalab
at91rm9200啟動過程教程 系統(tǒng)上電,檢測BMS,選擇系統(tǒng)的啟動方式,如果BMS為高電平,則系統(tǒng)從片內(nèi)ROM啟動。AT91RM9200的ROM上電后被映射到了0x0和0x100000處,在這兩個地址處都可以訪問到ROM。由于9200的ROM中固化了一個BOOTLOAER程序。所以PC從0X0處開始執(zhí)行這個BOOTLOAER(準確的說應(yīng)該是一級BOOTLOADER)。這個BOOTLOER依次完成以下步驟: 1、PLL SETUP,設(shè)置PLLB產(chǎn)生48M時鐘頻率提供給USB DEVICE。同時DEBUG USART也被初始化為48M的時鐘頻率; 2、相應(yīng)模式下的堆棧設(shè)置; 3、檢測主時鐘源(Main oscillator); 4、中斷控制器(AIC)的設(shè)置; 5、C 變量的初始化; 6、跳到主函數(shù)。 完成以上步驟后,我們可以認為BOOT過程結(jié)束,接下來的就是LOADER的過程,或者也可以認為是裝載二級BOOTLOER。AT91RM9200按照DATAFLASH、EEPROM、連接在外部總線上的8位并行FLASH的順序依次來找合法的BOOT程序。所謂合法的指的是在這些存儲設(shè)備的開始地址處連續(xù)的存放的32個字節(jié),也就是8條指令必須是跳轉(zhuǎn)指令或者裝載PC的指令,其實這樣規(guī)定就是把這8條指令當作是異常向量表來處理。必須注意的是第6條指令要包含將要裝載的映像的大小。關(guān)于如何計算和寫這條指令可以參考用戶手冊。一旦合法的映像找到之后,則BOOT程序會把找到的映像搬到SRAM中去,所以映像的大小是非常有限的,不能超過16K-3K的大小。當BOOT程序完成了把合法的映像搬到SRAM的任務(wù)以后,接下來就進行存儲器的REMAP,經(jīng)過REMAP之后,SRAM從映設(shè)前的0X200000地址處被映設(shè)到了0X0地址并且程序從0X0處開始執(zhí)行。而ROM這時只能在0X100000這個地址處看到了。至此9200就算完成了一種形式的啟動過程。如果BOOT程序在以上所列的幾種存儲設(shè)備中找到合法的映像,則自動初始化DEBUG USART口和USB DEVICE口以準備從外部載入映像。對DEBUG口的初始化包括設(shè)置參數(shù)115200 8 N 1以及運行XMODEM協(xié)議。對USB DEVICE進行初始化以及運行DFU協(xié)議。現(xiàn)在用戶可以從外部(假定為PC平臺)載入你的映像了。在PC平臺下,以WIN2000為例,你可以用超級終端來完成這個功能,但是還是要注意你的映像的大小不能超過13K。一旦正確從外部裝載了映像,接下來的過程就是和前面一樣重映設(shè)然后執(zhí)行映像了。我們上面講了BMS為高電平,AT91RM9200選擇從片內(nèi)的ROM啟動的一個過程。如果BMS為低電平,則AT91RM9200會從片外的FLASH啟動,這時片外的FLASH的起始地址就是0X0了,接下來的過程和片內(nèi)啟動的過程是一樣的,只不過這時就需要自己寫啟動代碼了,至于怎么寫,大致的內(nèi)容和ROM的BOOT差不多,不同的硬件設(shè)計可能有不一樣的地方,但基本的都是一樣的。由于片外FLASH可以設(shè)計的大,所以這里編寫的BOOTLOADER可以一步到位,也就是說不用像片內(nèi)啟動可能需要BOOT好幾級了,目前AT91RM9200上使用較多的bootloer是u-boot,這是一個開放源代碼的軟件,用戶可以自由下載并根據(jù)自己的應(yīng)用配置。總的說來,筆者以為AT91RM9200的啟動過程比較簡單,ATMEL的服務(wù)也不錯,不但提供了片內(nèi)啟動的功能,還提供了UBOOT可供下載。筆者寫了一個BOOTLODER從片外的FLASHA啟動,效果還可以。 uboot結(jié)構(gòu)與使用uboot是一個龐大的公開源碼的軟件。他支持一些系列的arm體系,包含常見的外設(shè)的驅(qū)動,是一個功能強大的板極支持包。其代碼可以 http://sourceforge.net/projects/u-boot下載 在9200上,為了啟動uboot,還有兩個boot軟件包,分別是loader和boot。分別完成從sram和flash中的一級boot。其源碼可以從atmel的官方網(wǎng)站下載。 我們知道,當9200系統(tǒng)上電后,如果bms為高電平,則系統(tǒng)從片內(nèi)rom啟動,這時rom中固化的boot程序初始化了debug口并向其發(fā)送'c',這時我們打開超級終端會看到ccccc...。這說明系統(tǒng)已經(jīng)啟動,同時xmodem協(xié)議已經(jīng)啟動,用戶可以通過超級終端下載用戶的bootloader。作為第一步,我們下載loader.bin.loader.bin將被下載到片內(nèi)的sram中。這個loder完成的功能主要是初始化時鐘,sdram和xmodem協(xié)議,為下載和啟動uboot做準備。當下載了loader.bin后,超級終端會繼續(xù)打印:ccccc....。這時我們就可以下在uboot了。uboot將被下載到sdram中的一個地址后并把pc指針調(diào)到此處開始執(zhí)行uboot。接著我們就可以在終端上看到uboot的shell啟動了,提示符uboot>,用戶可以uboot>help 看到命令列表和大概的功能。uboot的命令包含了對內(nèi)存、flash、網(wǎng)絡(luò)、系統(tǒng)啟動等一些命令。 如果系統(tǒng)上電時bms為低電平,則系統(tǒng)從片外的flash啟動。為了從片外的flash啟動uboot,我們必須把boot.bin放到0x0地址出,使得從flash啟動后首先執(zhí)行boot.bin,而要少些boot.bin,就要先完成上面我們講的那些步驟,首先開始從片內(nèi)rom啟動uboot。然后再利用uboot的功能完成把boot.bin和uboot.gz燒寫到flash中的目的,假如我們已經(jīng)啟動了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 然后系統(tǒng)復位,就可以看到系統(tǒng)先啟動boot,然后解壓縮uboot.gz,然后啟動uboot。注意,這里uboot必須壓縮成.gz文件,否則會出錯。 怎么編譯這三個源碼包呢,首先要建立一個arm的交叉編譯環(huán)境,關(guān)于如何建立,此處不予說明。建立好了以后,分別解壓源碼包,然后修改Makefile中的編譯器項目,正確填寫你的編譯器的所在路徑。 對loader和boot,直接make。對uboot,第一步:make_at91rm9200dk,第二步:make。這樣就會在當前目錄下分別生成*.bin文件,對于uboot.bin,我們還要壓縮成.gz文件。 也許有的人對loader和boot搞不清楚為什么要兩個,有什么區(qū)別嗎?首先有區(qū)別,boot主要完成從flash中啟動uboot的功能,他要對uboot的壓縮文件進行解壓,除此之外,他和loader并無大的區(qū)別,你可以把boot理解為在loader的基礎(chǔ)上加入了解壓縮.gz的功能而已。所以這兩個并無多大的本質(zhì)不同,只是他們的使命不同而已。 特別說名的是這三個軟件包都是開放源碼的,所以用戶可以根據(jù)自己的系統(tǒng)的情況修改和配置以及裁減,打造屬于自己系統(tǒng)的bootloder。
上傳時間: 2013-10-27
上傳用戶:wsf950131
本文介紹了一個以嵌入式USB 主機接口芯片SL811HS 為核心,采用U 盤為存儲介質(zhì)的單片機低功耗海量存儲系統(tǒng)。該系統(tǒng)實現(xiàn)了儀器的便攜化,從而,為便攜儀器或嵌入式系統(tǒng)的外掛式海量存儲的發(fā)展開拓了新思路。近幾年,隨著Flash Memory 非易失存儲技術(shù)的發(fā)展,基于USB 接口的閃存即U 盤現(xiàn)已得到廣泛應(yīng)用。從理論上講,以U 盤作為便攜式采集存儲系統(tǒng)的存儲載體完全能夠滿足長時間采集海量數(shù)據(jù)的要求。但目前所面臨的問題是,U 盤主要應(yīng)用于PC 機系統(tǒng)中。以單片機等微處理器為核心的嵌入式系統(tǒng)的應(yīng)用中,尚缺少與U 盤的直接接口技術(shù)。因此將單片機技術(shù)與U 盤存儲技術(shù)兩者結(jié)合起來,利用單片機直接讀寫U 盤,并通過總線方式與嵌入式系統(tǒng)的其它部分實現(xiàn)命令和數(shù)據(jù)的通信,從而實現(xiàn)便攜儀器或者嵌入式系統(tǒng)的外掛式海量存儲,具有廣闊的應(yīng)用前景。而以Cypress 公司的SL811HS 為代表的嵌入式USB 主機接口芯片為這種方案的實現(xiàn)提供了可能。
上傳時間: 2013-10-09
上傳用戶:無聊來刷下
U盤IC1114的電路圖和C語言源程序
上傳時間: 2013-12-17
上傳用戶:hanli8870
附件有51單片機加上sl811讀寫U盤的源程序和原理圖 /*--------------------------------------------------------------------------AT89X52.H Header file for the low voltage Flash Atmel AT89C52 and AT89LV52.Copyright (c) 1995-1996 Keil Software, Inc. All rights reserved.--------------------------------------------------------------------------*/ #ifndef AT89X52_HEADER_FILE#define AT89X52_HEADER_FILE 1 /*------------------------------------------------Byte Registers------------------------------------------------*/sfr P0 = 0x80;sfr SP = 0x81;sfr DPL = 0x82;sfr DPH = 0x83;sfr PCON = 0x87;sfr TCON = 0x88;sfr TMOD = 0x89;sfr TL0 = 0x8A;sfr TL1 = 0x8B;sfr TH0 = 0x8C;sfr TH1 = 0x8D;sfr P1 = 0x90;sfr SCON = 0x98;sfr SBUF = 0x99;sfr P2 = 0xA0;sfr IE = 0xA8;sfr P3 = 0xB0;sfr IP = 0xB8;sfr T2CON = 0xC8;sfr T2MOD = 0xC9;sfr RCAP2L = 0xCA;sfr RCAP2H = 0xCB;sfr TL2 = 0xCC;sfr TH2 = 0xCD;sfr PSW = 0xD0;sfr ACC = 0xE0;sfr B = 0xF0;
上傳時間: 2014-01-05
上傳用戶:lnnn30
u-boot移植筆記,網(wǎng)友分享
上傳時間: 2013-10-15
上傳用戶:edisonfather
[linux的內(nèi)核及其內(nèi)核源碼分析].U-Boot.Quick.Reference
標簽: Reference U-Boot linux Quick
上傳時間: 2013-11-13
上傳用戶:frank1234
ArmLinux.bootloader.全程詳解
標簽: bootloader ArmLinux
上傳時間: 2013-11-14
上傳用戶:1583060504
蟲蟲下載站版權(quán)所有 京ICP備2021023401號-1