功能
spl抽取u-boot的部分**進行編譯生成,spl完成cpu的初始化,ddr初始化,spi介面及nor flash的初始化等內容,然後載入u-boot**到ddr,跳轉到u-boot執行.
**流程
spl的執行流程:reset: (start.s)
lowlevel_init(lowlevel_init.s)
s_init(board.c),配置引腳,uart0, ddr
_main: (crt0.s)
board_init_f(arch/arm/lib/spl.c)
board_init_r(common/spl.c)//申請記憶體,初始化主機板,判斷啟動型別
spl_board_init(common/spl.c)//初始化gpmc,mpu,musb
spl_spi_load_image(spi_spl_load.c)
spi_flash_probe(spi_flash.c)//配置spi匯流排並檢測flash
spi_flash_read//讀取u-boot頭結構
spl_parse_image_header//u-boot頭結構校驗處理
spi_flash_read//讀取u-boot資料
jump_to_image_no_args//跳轉到u-boot執行
s_init:
board_init_r:
編譯
編譯生成spl檔案:make clean arch=arm cross_compile=arm-linux-gnueabihf-
make distclean arch=arm cross_compile=arm-linux-gnueabihf-
make arch=arm cross_compile=arm-linux-gnueabihf- am335x_evm_spiboot_config
make arch=arm cross_compile=arm-linux-gnueabihf-
使用
cpb啟動後rom進入uart啟動模式,pc端通過xmodem傳送u-boot-spl.bin檔案
u-boot-spl.bin檔案傳送結束後會自動執行,進入ymodem接收模式,pc端可以通過ymodem傳送u-boot.bin檔案
嵌入式(linux)平台搭建coredump
1.開啟coredump檔案儲存功能 1 可以直接使用命令 ulimit c unlimited 數字 用來限定core檔案的大小為 無限制 數字 2 可以在 etc profile 中新增該命令,開機即生效。2.修改coredump檔案生成路徑及檔名 1 echo 1 proc sys kerne...
Linux嵌入式開發平台選擇
我們採用openwrt作為我們linux開發的作業系統。可以被描述為乙個嵌入式的 linux 發行版。openwrt是乙個高度模組化 高度自動化的嵌入式linux系統,擁有強大的網路元件和擴充套件性,常常被用於工控裝置 小型機械人 智慧型家居。其不同於其他許多用於路由器的發行版,它是乙個從零開始編寫...
嵌入式開發軟體平台
嵌入式開發過程中主要用到的軟體主要有 1.超級終端。本軟體是windows xp 系統中的自帶的乙個應用軟體,這使得嵌入式開發在xp系統中多了一重方便。該軟體在開始 程式 附件 超級終端,就是這個。根據自己的硬體來設定引數。3.dnw,一款不用安裝就能使用的類似超級終端的軟體。可以顯示片上的bios...