大圓機是一種涉及到計算機、機械、電子、控制等諸多領域,比較復雜的典型機電一體化產品。近幾年來,伴隨著我國針織行業的快速發展,大圓機的需求日益加大,傳統的基于MCU面板控制和采用薄膜按鍵方式的大圓機控制系統已經無法滿足需求。隨著微處理器技術的發展,嵌入式技術以其高集成度和高穩定性、高性價比在工控領域有著廣闊的應用前景。 近幾年,隨著嵌入式技術的發展,對人機界面的要求越來越高,友好的圖形人機界面為嵌入式系統的人機交互提供了豐富的圖形圖像信息。uC/GUI是一款不僅可以實現快速開發,而且能夠提供低功耗型GUI支持的嵌入式GUI軟件。用戶可以使用它方便地定制出自己的圖形用戶界面,完成各種應用程序的開發。因此已經被越來越多的領域所采用。 本文在對大圓機系統的功能和控制要求進行分析的基礎上,提出了一個以ARM微處理器和CPLD器件為中心構建硬件平臺、基于uC/OS-Ⅱ和uC/GUI的嵌入式大圓機控制系統解決方案。 此方案中的硬件平臺由主CPU核心應用系統電路、人機交互接口電路、協處理器CPLD模塊電路等部分組成。主CPU采用Samsung公司的基于ARM7內核的S3C44BOX處理器,人機交互接口電路采用觸摸屏和LCD液晶顯示器,為了解決閉環控制的問題,采用了CPLD作為協處理器,進行外圍擴展構成控制電路,軟件部分包括uC/OS-Ⅱ、Boot LOADER、設備驅動程序、人機界面和主控制應用程序等。其中Boot LOADER支持系統啟動,程序下載到RAM執行和燒寫到Flash存儲器等功能,而人機界面和主控制應用程序則基于設備驅動程序實現了對于大圓機系統的控制。 與傳統的基于MCU或工控機的大圓機控制系統相比,基于此設計方案實現的控制系統具有低成本、高集成度和高性能等特點,具有較大的實用價值和廣闊的應用前景。
上傳時間: 2013-07-13
上傳用戶:皇族傳媒
boot LOADER for stm32 offical demo code
標簽: flash_LOADER stm 32
上傳時間: 2013-07-09
上傳用戶:mingaili888
第一章 序論……………………………………………………………6 1- 1 研究動機…………………………………………………………..7 1- 2 專題目標…………………………………………………………..8 1- 3 工作流程…………………………………………………………..9 1- 4 開發環境與設備…………………………………………………10 第二章 德州儀器OMAP 開發套件…………………………………10 2- 1 OMAP介紹………………………………………………………10 2-1.1 OMAP是什麼?…….………………………………….…10 2-1.2 DSP的優點……………………………………………....11 2- 2 OMAP Architecture介紹………………………………………...12 2-2-1 OMAP1510 硬體架構………………………………….…12 2-2.2 OMAP1510軟體架構……………………………………...12 2-2.3 DSP / BIOS Bridge簡述…………………………………...13 2- 3 TI Innovator套件 -- OMAP1510 ……………………………..14 2-2.1 General Purpose processor -- ARM925T………………...14 2-2.2 DSP processor -- TMS320C55x …………………………15 2-2.3 IDE Tool – CCS …………………………………………15 2-2.4 Peripheral ………………………………………………..16 第三章 在OMAP1510上建構Embedded Linux System…………….17 3- 1 嵌入式工具………………………………………………………17 3-1.1 嵌入式程式開發與一般程式開發之不同………….….17 3-1.2 Cross Compiling的GNU工具程式……………………18 3-1.3 建立ARM-Linux Cross-Compiling 工具程式………...19 3-1.4 Serial Communication Program………………………...20 3- 2 Porting kernel………………………………………………….…21 3-2.1 Setup CCS ………………………………………….…..21 3-2.2 編譯及上傳LOADER…………………………………..…23 3-2.3 編譯及上傳Kernel…………………………………..…24 3- 3 建構Root File System………………………………………..…..26 3-3.1 Flash ROM……………………………………………...26 3-3.2 NFS mounting…………………………………………..27 3-3.3 支援NFS Mounting 的kernel…………………………..27 3-3.4 提供NFS Mounting Service……………………………29 3-3.5 DHCP Server……………………………………………31 3-3.6 Linux root 檔案系統……………………………….…..32 3- 4 啟動及測試Innovator音效裝置…………………………..…….33 3- 5 建構支援DSP processor的環境…………………………...……34 3-5.1 Solution -- DSP Gateway簡介……………………..…34 3-5.2 DSP Gateway運作架構…………………………..…..35 3- 6 架設DSP Gateway………………………………………….…36 3-6.1 重編kernel……………………………………………...36 3-6.2 DEVFS driver…………………………………….……..36 3-6.3 編譯DSP tool和API……………………………..…….37 3-6.4 測試……………………………………………….…….37 第四章 MP3 Player……………………………………………….…..38 4- 1 MP3 介紹………………………………………………….…….38 4- 2 MP3 壓縮原理……………………………………………….….39 4- 3 Linux MP3 player – splay………………………………….…….41 4.3-1 splay介紹…………………………………………….…..41 4.3-2 splay 編譯………………………………………….…….41 4.3-3 splay 的使用說明………………………………….……41 第五章 程式改寫………………………………………………...…...42 5-1 程式評估與改寫………………………………………………...…42 5-1.1 Inter-Processor Communication Scheme…………….....42 5-1.2 ARM part programming……………………………..…42 5-1.3 DSP part programming………………………………....42 5-2 程式碼………………………………………………………..……43 5-3 雙處理器程式開發注意事項…………………………………...…47 第六章 效能評估與討論……………………………………………48 6-1 速度……………………………………………………………...48 6-2 CPU負載………………………………………………………..49 6-3 討論……………………………………………………………...49 6-3.1分工處理的經濟效益………………………………...49 6-3.2音質v.s 浮點與定點運算………………………..…..49 6-3.3 DSP Gateway架構的限制………………………….…50 6-3.4減少IO溝通……………….………………………….50 6-3.5網路掛載File System的Delay…………………..……51 第七章 結論心得…
上傳時間: 2013-10-14
上傳用戶:a471778
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
使用注意:注意燒寫的時候不要勾選SC0,SC1這兩項加密項也不要選 初學51單片機或是業余玩玩單片機開發,每次總要不斷的調試程序,如沒有仿真器又不喜歡用軟件仿真,那只有每次把編譯好的程序燒錄到芯片上,然后在應用電路或實驗板上觀察程序運行的結果,對于一些小程序這樣的做好也可以很快找到程序上的錯誤,但是程序大了,變量也會變的很多,而直接燒片就很難看到這些變量的值了,在修改程序時還要不斷的燒片實驗,確實很麻煩,這時如果有一臺仿真器就會變得很好方便了。但一臺好的仿真器對于業余愛好者來說確實有一些貴,在這里介紹這種易于自制的51芯片仿真器雖然有一些地方不夠完善,但還是非常適于初學51單片機的朋友和經濟能力不是很好的業余愛好者。 這個仿真器的仿真CPU是使用SST公司的SST89C58或SST89C54(其它相容的芯片也可,這里主要講述SST89C58),對于沒有可以燒寫SST89C58芯片的朋友應該選用CA版本的SST89C58芯片,這個CA型號的芯片出廠時已內置了BSL1.1E的固件程序。那什么是BSL呢?BSL就是英文BOOT-Strap LOADER,意思就是可引導裝載,形象來說就像電腦用DOS起動盤起動后可以裝載應用程序并運行。只不過SST89C58是用串口來輸入程序資料的。為了能把編譯好的單片機程序HEX或BIN文件下載到SST89C58芯片上,SST公司還提供了一種叫EasyIAP的軟件,IAP為In-Application Programming,有了這個軟件就可以把SST89C54變為在線下載的實驗器。
上傳時間: 2013-11-18
上傳用戶:gonuiln
詳細介紹基于嵌入式系統中的 OS 啟動加載程序 ―― Boot LOADER 的概念、軟件設計的主要任務以及結構框架等內容。
上傳時間: 2013-10-26
上傳用戶:阿譚電器工作室
引導裝載程序(boot LOADER)控制復位后的初始化操作,并提供對Flash存儲器進行編程的方法。這可以對空片進行初始編程、對事先已編程的芯片進行擦除和再編程或者是在系統運行時通過系統中的應用程序對Flash存儲器進行編程。19.3特性在系統編程:在系統編程(ISP)是通過使用引導裝載程序軟件和UART0串口對片內Falsh存儲器進行編程/再編程的方法。這種方法也可以在芯片位于終端用戶板時使用;在應用編程:在應用編程(IAP)是通過終端用戶的應用代碼對片內Flash存儲器進行擦除/寫操作的方法;只有LPC134x系列Cortex-M3微控制器支持從USB端口引導,通過將其枚舉為大容量存儲器等級(MSC)設備來連接到USB主機接口(僅適用于Windows操作系統);Flash訪問時間可通過Flash控制器模塊中的寄存器來配置;每個扇區的擦除時間為100ms±5%;而每個256字節的模塊,其編程時間為1ms±5%。
上傳時間: 2013-11-04
上傳用戶:weixiao99
微型操作系統,想知道操作系統秘密的初學者可以在這起步。 文件列表: 1 micro-os.img 已編好的軟盤映象。 2 micro-os_kernel.bin 命令核心二進制代碼 3 micro-os_LOADER.boot 啟動二進制代碼 4 micro-os_LOADER.asm micro-os_kernel.asm 源文件 用法:1 編譯源文件 2 將LOADER.boot 用工具寫入軟盤0道0頭1扇區 kernel.bin寫入0.0.2-0.0.n (n<10) 在 0.0.1的最后兩個字節寫入55h ,aah 3 啟動 有幾個可用命令 help cls quit exit reboot
標簽: 操作系統
上傳時間: 2013-12-11
上傳用戶:zwei41
從dos下裝載內核,運行。AA為工具軟件,它在當前目錄下讀取Image文件,去掉前面的bootsect和setup程序,僅剩下內核 main.c和LOADER.asm為主程序文件。
上傳時間: 2013-11-29
上傳用戶:lingzhichao
動態連結程式庫 (DLL) 一直以來都是Windows的重要基礎,Windows CE也不例外。DLL對作業系統十分重要,本節的內容主要是分析LOADER.c中的程式碼,它負責載入EXE和DLL。這裏要討論的是關於DLL的部分
上傳時間: 2015-07-01
上傳用戶:vodssv