S04_CH03_QSPI燒寫LINUX系統
3.1概述
3.2搭建硬件系統
本章硬件工程還是使用《S04_CH01_搭建工程移植LINUX/測試EMMC/VGA》所搭建的VIVADO工程。
3.3修改內核文件
Step1:切換到管理員模式
Step2:切換到scripts目錄下,執行source setup_env.sh(注意source和“.”是一致的),並將scripts.tar.gz中的兩個腳本放到scripts目錄下,通過這兩個腳本可以打包QSPI鏡像和將QSPI鏡像燒錄至QSPI中。本項目是基於上一個項目工程。
Step4:切換到bootloader源碼目錄,打開include/configs/zynq-common.h文件
Step5:修改以下內核、設備樹及內存文件系統在QSPI的起始位置如Step6所示:
Step6:QSPI的起始位置放置FSBL、FPGA比特流和uboot,文件大小大概是5MB,所以內核的存放位置從0x500000開始,而這里同樣給內核留5MB,當然,如果你的內核增加更多配置或減少配置,可以適當修改,這樣的話,設備樹就需要從0xA00000位置開始存放,然后留給設備樹的空間大概是2K,即從0xA20000開始存儲文件系統,這樣ramdisk的大小就應該是0x15E0000,當然,內核默認支持8MB
Step7:打開zynq-zed.dts,找到qspi節點,這里把原有的分區刪掉,當然,你也可以根據剛才對QSPI的分區,做對應的修改。可以出從SD啟動或從QSPI啟動Linux,然后在系統里更新QSPI鏡像。
3.3編譯內核及uboot
Step1:執行mk_bootloader.sh編譯bootloader源碼
Step2:執行mk_kernel.sh編譯kernel源碼
3.4制作qspi鏡像
Step3:制作qspi鏡像,制作完畢后,可以在images/qspi_image目錄下看到qspi_image.bin鏡像
3.5安裝screen
Step1:安裝screen,可以直接在Ubuntu系統下查看串口調試信息,當然,你也可以在Windows下使用putty之類的
Step2:輸入 /dev/ttyUSB0正是串口
3.6一件燒寫YIJIANQSPI FLASH
接下JTAG並打開開發板電源,執行program_qspi_flash.sh將QSPI鏡像燒錄到QSPI芯片上,或許會出現以下錯誤,沒關系,此時因為驅動還沒有加載,重新執行一次。
3.7燒寫QSPI FLASH 2
如果確實不行,那么打開SDK來燒錄吧
如果是切換到su的話,可能會提示沒有找到license,那么把/home/osrc/.Xilinx目錄復制到/root/目錄下
燒錄完畢后,重啟開發板,當然,請先確保調整啟動模式為從QSPI啟動,在Ubuntu下打開串口終端
即可以看到以下信息
在HDMI顯示器上也可以看到相關信息。