返回頂部
關閉軟件導航
位置:首頁 > 資訊 > 其他>2Bootloader引導程序的設計

  在工程代碼編寫之前要求對硬件器件有所了解,主要需要了解FPGA所需要的配置文件空間,還有Flash存儲結構。例如:XC3S500E配置文件空間為2270208位,所以要根據它計算存儲應用程序的基地址。AT45DB161D是串行接口的閃存芯片,它包含有17301504位,被組織為4096頁,每頁512/528字節。除了主存儲器,AT45DB161D還包括2個SRAM數據緩沖區,每個緩沖區512/528字節。在主存儲器正在編程時,緩沖區是允許接收數據的,并且支持數據流式寫入。(此處為528字節/頁)

  AT45DB161D的存儲器陣列分為3個級別的粒度,分別為扇區、塊與頁用flash實現鏈接跳轉。圖4對各個級別進行了分析,詳細說明了每個扇區與塊的頁數。所有的編程操作都是針對頁的。擦除操作可以作用于芯片、扇區、塊或頁。

  最后利用定義的空函數int(*boot_app_jump)(void);”將地址指針指向內存的應用程序基地址,使其從此處開始運行程序。

  //將目的地址賦給跳轉函數

  boot_app_jump=(int(*)(void))DESTINATION_AD-DR;

  //運行跳轉函數,使其在該函數地址開始運行程序boot_app_jump();

  3SPIFlash軟件引導過程及SPIFlash編程

  本實驗使用簡單的應用程序(打印hello_world),即工程“hello_world”flash跳轉軟件 。工程serial_Flash_bootloader就是上面設計的引導程序。

  3.1編譯用戶應用程序的二進制文件

  由于應用程序要在外部SDRAM中運行,所以不需要初始化BRAM存儲器,如圖5所示。

  為了指明程序的開始地址和應用程序的可執行文件的產生路徑,需要在編譯選項中設置。右鍵“應用程序工程”用flash實現鏈接跳轉,SetCompilerOptions在OutputELFfile中選擇可執行文件的產生路徑,如XC3S500E\hello_world\hello_world.elfFLASH跳轉生成器 ,在ProgramStartAddress中鍵入程序執行的起始地址(這里是SDRAM的基地址:0x90000000)。接下來編譯應用程序工程,編譯完成后就會在XC3S500E\hello_world文件夾中產生hello_world.elf。為了后面對SPIFlash編程的需要,應將elf轉變成二進制形式的文件。這就需要利用cygwinshell窗口命令來完成,這個腳本提供了一個簡單的命令實現這個目的。利用mb-objcopy-Obinaryoptions>ELFfileinput>bi-naryfiletooutput>命令就可以將elf轉變成二進制形式的文件(.b文件)。

  ELFfileinput>bi-naryfiletooutput>命令就可以將elf轉變成二進制形式的文件(.b文件)。

  bi-naryfiletooutput>命令就可以將elf轉變成二進制形式的文件(.b文件)。

  命令就可以將elf轉變成二進制形式的文件(.b文件)。

  例如:mb-objcopy-Obinary./helloworld/helloworld.elf./hello_world/hello_world.b用來在工程目錄下hello_world文件夾創建工程的一個hello_world.b的二進制文件。生成的文件hello_world.b大約2KB左右用flash實現鏈接跳轉 。

  3.2Bootloader引導程序與硬件配置文件的生成

  serial_Flash_bootloader要初始化到BRAM中(即在“工程”上右鍵→BRAMInitializationandunmarka11)。

  這樣做的意義是在編譯Bootloader程序時就將它編譯后的執行文件(.elf文件)加入到硬件system.bit中生成一個download.bit。這個文件既包含了系統硬件配置信息,又包括了Bootloader程序執行文件。由于設置了初始化到BRAM中用flash實現鏈接跳轉 ,所以在系統上電時才能使Bootloader程序自動加載到片內BRAM中運行,實現程序的引導功能。只要利用EDK用軟件中downloadbitstram功能就可以實現上述功能。

如果您覺得 2Bootloader引導程序的設計 這篇文章對您有用,請分享給您的好友,謝謝
文章地址:http://m.meyanliao.com/article/other/Bootloaderydcxdsj.html
解放雙手無盡可能,有問題添加天線貓微信
主站蜘蛛池模板: 亚洲成?v人片天堂网无码| 日韩A无码AV一区二区三区| 高潮潮喷奶水飞溅视频无码| 亚洲精品无码MV在线观看| 亚洲AV无码国产精品色午友在线| 亚洲AV综合色区无码二区偷拍| 亚洲最大无码中文字幕| 免费无码又爽又刺激高潮| 亚洲AV无码乱码在线观看裸奔| 曰韩无码二三区中文字幕| 无码视频一区二区三区在线观看| 国产精品va无码免费麻豆| 色综合久久久久无码专区| 精品久久久久久中文字幕无码| 青青草无码免费一二三区| 亚洲中文字幕无码专区| 精品久久久久久无码人妻中文字幕 | 日韩成人无码一区二区三区| 亚洲热妇无码AV在线播放| 亚洲熟妇少妇任你躁在线观看无码| 免费人妻无码不卡中文字幕系| 国产精品无码一二区免费| 亚洲午夜无码久久久久小说| 日韩精品无码一区二区三区免费 | 亚洲A∨无码无在线观看| 亚洲精品无码AV中文字幕电影网站| 啊灬啊别停灬用力啊无码视频| 久久无码专区国产精品| 国产成人无码一区二区在线播放| 国产成人无码精品久久久免费| 人妻av中文字幕无码专区| 亚洲av无码有乱码在线观看| 日韩精品中文字幕无码一区| 无码人妻精品一区二区三区夜夜嗨 | 亚洲AV无码无限在线观看不卡 | 亚洲?v无码国产在丝袜线观看 | 久久无码专区国产精品s| 国产成人无码一区二区在线播放| 国产综合无码一区二区三区| 亚洲va中文字幕无码| 国精品无码一区二区三区在线蜜臀|