91av视频/亚洲h视频/操亚洲美女/外国一级黄色毛片 - 国产三级三级三级三级

資源簡介

我們整個ARM課程就分為三部分,這是第一部分,實現一個自己的最小bootloader 1.Read Me 一、實現功能 1.硬件初始化 2.延時判斷加載操作系統還是進入Bootloader Shell 3.加載操作系統 4.Bootloadershell 二、Bootloader Shell 支持的命令 1.help 幫助,顯示所有支持的命令,及命令格式 2.loadx 下載文件到開發板的內存,默認到0x32000000 3.led_on 點亮一個led燈 4.led_off 關閉一個led燈 5.led_test 測試所有led燈,全亮全滅循環3次 6.beep_test 測試蜂鳴器,響3聲 7.seg7_test 測試7段數碼管 8.dip4_test 測試4位撥碼開關 9.flash_load 將NandFlash中的文件搬移到SDARAM中 10.flash_write 將SDRAM中的內容下載到NandFlash中 11.GO 跳到某地址執行,默認到0x32000000 三、文件結構 1.start.s 程序入口,負責硬件初始化,Bootloader自搬移 2.uart.c uart.h 串口驅動的實現 3.load.c 選擇加載操作系統還是進入Shell 4.stdlib.h stdlib.c 標準庫函數的實現 5.stdio.h stdio.c 標準輸入輸出函數的實現 6.shell.c shell.h shell命令的實現 7.dip4.h dip4.c 撥碼開關相關底層函數 8.seg7.h seg7.c 7段數碼管相關底層函數 9.copy_myself.c nan.h NandFlash底層函數 10.xmodem.h xmodem.c xmodem協議實現 11.Datatype.h 數據定義 12.os/os.c 模擬操作系統 13.Makefile 四、流程及設計思想 1.硬件初始化 2.Bootloader自搬移 3.延時,判斷是否有輸入 4.(1)無輸入則加載操作系統,操作系統燒寫于Nand Flash的第100塊,即位于100*32*512 = 0x190000 操作系統加載到內存的Sdram中 (2)有輸入則進入shell命令模式 5.解釋命令,使用自己實現的標準庫函數來匹配輸入的命令 6.匹配函數,定義了一個包含字符指針以及函數指針的結構體,可以通過對應關系迅速調用命令對應的函數 所有函數為void fun(void *)形式。 五、測試條件及結果 1. 打開超級終端,給開發板上電,超級終端上打印提示信息 2. 超級終端上開始3秒倒計時,3秒內不動鍵盤,提示加載操作系統,模擬操作系統的閃燈程序運行,可觀察到LED等一閃一滅 3. 重啟開發板,3秒內按下任意鍵,可看到有T-Boot#提示符,程序進入Shell模式 4. 輸入help,可看到10條命令的使用方法 5. 輸入led_on 1可看到第一個led燈亮 6. 輸入led_off 1可看到第一個led燈滅 7. 輸入led_test 可看到所有led一閃一滅3次 8. 輸入beep_test 可聽到蜂鳴器響3聲 9. 輸入seg7_test 可看到7段數碼管每個led循環點亮 10.輸入dip4_test 撥動撥碼開關可觀察到7段數碼管對應的LED亮 11.輸入loadx,發送文件0x/0s.bin 12.輸入go 0x32000000 可觀察到led燈一亮一滅 13.輸入flash_load 0x190000 0x32000000 0x1000 (0x190000模擬操作系統燒寫位置) 14.go 0x32000000 可觀察到led一亮一滅 16.輸入flash_write 0x32000000 0x200000 0x1000 17.輸入flash_load 0x200000 0x31500000 0x1000 18.輸入go 0x31500000 可觀察到led燈一亮一滅

資源截圖

代碼片段和文件信息

評論

共有 條評論