在工程代碼編寫之前要求對硬件器件有所了解帶動產業發展,主要需要了解FPGA所需要的配置文件空間責任製,還有Flash存儲結(jié)構(gòu)。例如:XC3S500E配置文件空間為2270208位倍增效應,所以要根據(jù)它計算存儲應用程序的基地址規則製定。AT45DB161D是串行接口的閃存芯片製造業,它包含有17301504位,被組織為4096頁關規定,每頁512/528字節(jié)發展基礎。除了主存儲器,AT45DB161D還包括2個SRAM數(shù)據(jù)緩沖區(qū)建強保護,每個緩沖區(qū)512/528字節(jié)同期。在主存儲器正在編程時,緩沖區(qū)是允許接收數(shù)據(jù)的使命責任,并且支持數(shù)據(jù)流式寫入效果。(此處為528字節(jié)/頁)
AT45DB161D的存儲器陣列分為3個級別的粒度,分別為扇區(qū)合規意識、塊與頁用flash實現(xiàn)鏈接跳轉(zhuǎn)密度增加。圖4對各個級別進行了分析,詳細說明了每個扇區(qū)與塊的頁數(shù)創新內容。所有的編程操作都是針對頁的機遇與挑戰。擦除操作可以作用于芯片、扇區(qū)善於監督、塊或頁集成技術。
最后利用定義的空函數(shù)int(*boot_app_jump)(void);”將地址指針指向內(nèi)存的應用程序基地址至關重要,使其從此處開始運行程序發展空間。
//將目的地址賦給跳轉(zhuǎn)函數(shù)
boot_app_jump=(int(*)(void))DESTINATION_AD-DR有所應;
∽懔藴蕚?。\行跳轉(zhuǎn)函數(shù),使其在該函數(shù)地址開始運行程序boot_app_jump()敢於監督;
3SPIFlash軟件引導過程及SPIFlash編程
本實驗使用簡單的應用程序(打印hello_world)幅度,即工程“hello_world”flash跳轉(zhuǎn)軟件 。工程serial_Flash_bootloader就是上面設計的引導程序重要的作用。
3.1編譯用戶應用程序的二進制文件
由于應用程序要在外部SDRAM中運行貢獻,所以不需要初始化BRAM存儲器,如圖5所示穩中求進。
為了指明程序的開始地址和應用程序的可執(zhí)行文件的產(chǎn)生路徑統籌,需要在編譯選項中設置。右鍵“應用程序工程”用flash實現(xiàn)鏈接跳轉(zhuǎn)協同控製,SetCompilerOptions在OutputELFfile中選擇可執(zhí)行文件的產(chǎn)生路徑振奮起來,如XC3S500E\hello_world\hello_world.elfFLASH跳轉(zhuǎn)生成器 ,在ProgramStartAddress中鍵入程序執(zhí)行的起始地址(這里是SDRAM的基地址:0x90000000)利用好。接下來編譯應用程序工程深入各系統,編譯完成后就會在XC3S500E\hello_world文件夾中產(chǎn)生hello_world.elf解決問題。為了后面對SPIFlash編程的需要,應將elf轉(zhuǎn)變成二進制形式的文件作用。這就需要利用cygwinshell窗口命令來完成相互配合,這個腳本提供了一個簡單的命令實現(xiàn)這個目的。利用mb-objcopy-Obinaryoptions>ELFfileinput>bi-naryfiletooutput>命令就可以將elf轉(zhuǎn)變成二進制形式的文件(.b文件)著力增加。
ELFfileinput>bi-naryfiletooutput>命令就可以將elf轉(zhuǎn)變成二進制形式的文件(.b文件)智能化。
bi-naryfiletooutput>命令就可以將elf轉(zhuǎn)變成二進制形式的文件(.b文件)。
命令就可以將elf轉(zhuǎn)變成二進制形式的文件(.b文件)流程。
例如:mb-objcopy-Obinary./helloworld/helloworld.elf./hello_world/hello_world.b用來在工程目錄下hello_world文件夾創(chuàng)建工程的一個hello_world.b的二進制文件合作。生成的文件hello_world.b大約2KB左右用flash實現(xiàn)鏈接跳轉(zhuǎn) 。
3.2Bootloader引導程序與硬件配置文件的生成
serial_Flash_bootloader要初始化到BRAM中(即在“工程”上右鍵→BRAMInitializationandunmarka11)助力各業。
這樣做的意義是在編譯Bootloader程序時就將它編譯后的執(zhí)行文件(.elf文件)加入到硬件system.bit中生成一個download.bit極致用戶體驗。這個文件既包含了系統(tǒng)硬件配置信息,又包括了Bootloader程序執(zhí)行文件應用。由于設置了初始化到BRAM中用flash實現(xiàn)鏈接跳轉(zhuǎn) 建議,所以在系統(tǒng)上電時才能使Bootloader程序自動加載到片內(nèi)BRAM中運行,實現(xiàn)程序的引導功能相貫通。只要利用EDK用軟件中downloadbitstram功能就可以實現(xiàn)上述功能不斷發展。
文章地址:http://61py.com/article/other/Bootloaderydcxdsj.html