ST DFU 上位機的源代碼,請將rar改為7z
上傳時間: 2013-05-28
上傳用戶:417313137
BlueCore supports a mechanism called Device Firmware Upgrade (DFU) to enable its software and configuration data to be replaced. To guard against unauthorised changes, downloaded files can be verified by means of signatures. The DFU Tools are a suite of programs that enable firmware and persistent store files to be signed and combined to form DFU files.
標簽: mechanism BlueCore supports Firmware
上傳時間: 2015-12-04
上傳用戶:manking0408
openmoko host system DFU-util
標簽: openmoko DFU-util system host
上傳時間: 2013-12-18
上傳用戶:康郎
STM32 DFU FULL(V3.0.1) You can upload your program via USB-DeviceFirmwareUpdate mode
標簽: USB-DeviceFirmwareUpdate program upload FULL
上傳時間: 2014-03-06
上傳用戶:nanshan
nRF52832 secure DFU詳細步驟 SDK1552832 SDK15 DFU升級筆記,本人整個操作一步一步記錄下來的,寫文檔配套重新安裝軟件就花了2天時間
上傳時間: 2022-07-06
上傳用戶:
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協議。現在用戶可以從外部(假定為PC平臺)載入你的映像了。在PC平臺下,以WIN2000為例,你可以用超級終端來完成這個功能,但是還是要注意你的映像的大小不能超過13K。一旦正確從外部裝載了映像,接下來的過程就是和前面一樣重映設然后執行映像了。我們上面講了BMS為高電平,AT91RM9200選擇從片內的ROM啟動的一個過程。如果BMS為低電平,則AT91RM9200會從片外的FLASH啟動,這時片外的FLASH的起始地址就是0X0了,接下來的過程和片內啟動的過程是一樣的,只不過這時就需要自己寫啟動代碼了,至于怎么寫,大致的內容和ROM的BOOT差不多,不同的硬件設計可能有不一樣的地方,但基本的都是一樣的。由于片外FLASH可以設計的大,所以這里編寫的BOOTLOADER可以一步到位,也就是說不用像片內啟動可能需要BOOT好幾級了,目前AT91RM9200上使用較多的bootloer是u-boot,這是一個開放源代碼的軟件,用戶可以自由下載并根據自己的應用配置。總的說來,筆者以為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后,超級終端會繼續打印:ccccc....。這時我們就可以下在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。
上傳時間: 2013-10-27
上傳用戶:wsf950131
STM有自帶的USB,下載程序也就可以用USB
標簽: D.F.U.
上傳時間: 2016-03-29
上傳用戶:wuhua123
某客戶在其產品的設計中,使用了STM32F411。由于產品外觀的要求,無法在外部對BOOT 腳進行控制,而且外觀上只有USB 接口是留在外邊的,需要使用USB DFU 進行升級。而且USB接口只用于代碼升級,沒有其他功能,所以客戶不想去碰USB 代碼,希望能夠直接使用System Memory 中的Bootloader 進行代碼升級。
標簽: 存儲器 bootloader
上傳時間: 2022-02-22
上傳用戶:aben
現在我們介紹一種基于USB物理線纜的以太網連接。只需要一根USB線,復用之前的DFU固件下載接口,將Windows主機與STM32MP1連接起來構成TCP/IP網絡。本文介紹了基于STM32MP1的便捷網絡配置,能夠提高開發STM32MP1的工作效率。
上傳時間: 2022-03-06
上傳用戶:
個人定制版openmv,使用官方原版openmv4硬件文件修改而來,三次打樣(修改兩次)后實現全部功能,使用國內常用元件,保證都是淘寶容易買到的,并且簡化一部分電路設計,去掉BTB接口,直接單板實現,使用FPC鏡頭,焊接個FPC座就行,免得焊BGA的感光元件,現在只有STM32H743VIT6+OV7725(FPC小鏡頭),一體化設計,兼容原版尺寸接口,去掉不必要的SWD接口,OV7725獨立供電,大部分功能已驗證過(包括攝像頭、TF卡、串口、SPI屏幕、當然肯定有USB連接上位機),在電賽時也使用過,好幾個月了沒出過問題。沒有key,即“盜版 openmv”,除每次彈窗外不影響使用,固件使用DFU刷入,SWD是沒有用的,所以去掉了。 給出原理圖、PCB、PCB工程文件、集成封裝庫等硬件全部文件,Altium Designer 16格式(AD16)。 (使用原版openmv二次修改而來,已包含原版openmv的license文件:master/openmv LICENSE.txt)
上傳時間: 2022-06-11
上傳用戶: