首页 > 系统服务 > 详细

Bringup // Booting linux from QSPI 1024Mb // JTAG+tftp+sf篇

时间:2014-03-29 12:08:08      阅读:1177      评论:0      收藏:0      [点我收藏+]

㈠ 过程预览

⑴ 生成QSPI Flash启动方式所需要的文件

① 生成preloader;

② 生成uboot;

③ 生成dtb;

④ 生成kernel;

⑤ 生成rootfs;

 

⑵ 上电烧写文件到QSPI Flash

① 设置BSEL/CSEL pin使用QSPI Flash启动;

② JTAG烧写preloader到QSPI Flash;

③ JTAG烧写uboot到QSPI Flash;

④ 配置HPS RGMII网口;

⑤ tftp下载并烧写dtb到QSPI Flash;

⑥ tftp下载并烧写kernel到QSPI Flash;

⑦ tftp下载并烧写rootfs文件QSPI Flash;

⑧ tftp下载并烧写fpga文件QSPI Flash;

 

⑶ 配置uboot环境变量

 

⑷ QSPI Flash booting log

 

㈡ 注意事项

⑴ TAG烧写Flash工具quartus_hps.exe要求文件名扩展名必须为*.bin,否则将会出错。

quartus_hps -c 1 -o PV -a 0x60000 u-boot.img.bin

bubuko.com,布布扣

 

quartus_hps -c 1 -o PV -a 0x60000 u-boot.img

bubuko.com,布布扣

其它文件同理,故都需要增加扩展名为bin。

 

⑵ 由于JTAG理论速度是8Mbps,实际中往往达不到,对于14M字节左右的rootfs,烧写比较费时间。为节省时间也可以使用tftp通过RGMII口来sf命令烧写QSPI FLash。

㈢ 步骤细述


⑴ 生成QSPI Flash启动方式所需要的文件

① 生成preloader;

命令:bsp-editor.exe

bubuko.com,布布扣

 

C:\altera\13.1\embedded\examples\hardware\cv_soc_devkit_ghrd\hps_isw_handoff\soc_system_hps_0

bubuko.com,布布扣

 

修改BOOT_FROM_QSPI

bubuko.com,布布扣

 

命令:make

bubuko.com,布布扣

 

② 生成uboot;

命令:make

bubuko.com,布布扣



③ 生成dtb;

对于QSPI Flash大小:32MByte,每个分区的起始地址、大小及其功能,如下:

bubuko.com,布布扣

 

故修改soc_system_qspi_flash_booting.dts如下:

bubuko.com,布布扣

修改之后的dts文件:

soc_system_qspi_flash_booting.dts

 

命令:

dtc -I dts -O dtb -o soc_system_qspi_flash_booting.dtb soc_system_qspi_flash_booting.dts

bubuko.com,布布扣

生成的dtb:

soc_system_qspi_flash_booting.dtb

 

④ 生成kernel;

步骤⑤同时会生成kernel:

bubuko.com,布布扣

 

⑤ 生成rootfs;

A)下载链接:

http://releases.rocketboards.org/release/2013.11/gsrd/src/linux-socfpga-gsrd-13.1-src.bsx

B)生成过程:

bubuko.com,布布扣

 

C)生成后位置:

bubuko.com,布布扣

 

⑵ 上电烧写文件到QSPI Flash

① 设置BSEL/CSEL pin使用QSPI Flash启动;

bubuko.com,布布扣

bubuko.com,布布扣

 

② JTAG烧写preloader到QSPI Flash;

命令:

quartus_hps -c 1 -o PV -a 0x0000 preloader-mkpimage.bin

bubuko.com,布布扣

 

③ JTAG烧写uboot到QSPI Flash;

命令:

quartus_hps -c 1 -o PV -a 0x60000 u-boot.img.bin

bubuko.com,布布扣

 

④ 配置HPS RGMII网口;

命令:

set ethaddr 01:11:22:33:44:55

setenv serverip 192.168.1.66

setenv ipaddr 192.168.1.55

saveenv

bubuko.com,布布扣

 

ping $serverip

bubuko.com,布布扣

 

⑤ tftp下载并烧写dtb到QSPI Flash;

A)tftp Server配置

bubuko.com,布布扣

 

B)命令:

tftp 0x1000000 soc_system_qspi_flash_booting.dtb

bubuko.com,布布扣

 

C)命令:

sf erase 0x50000 0x10000

sf write 0x1000000 0x50000 0x10000

bubuko.com,布布扣

 

⑥ tftp下载并烧写kernel到QSPI Flash;

命令:

tftp 0x1000000 zImage

bubuko.com,布布扣

 

擦除+烧写QSPI Flash命令:

sf update 0x1000000 0xa0000 0x310000

bubuko.com,布布扣

 

⑦ tftp下载并烧写rootfs文件QSPI Flash;

命令:

tftp 0x1000000 altera-image-minimal-socfpga_cyclone5.jffs2

bubuko.com,布布扣

 

擦除+烧写QSPI Flash命令:

sf update 0x1000000 0x800000 0xb40000

bubuko.com,布布扣

 

⑧ tftp下载并烧写fpga文件QSPI Flash;

命令:

tftp 0x1000000 output_file.rbf

bubuko.com,布布扣

 

擦除+烧写QSPI Flash命令:

sf update 0x1000000 0x1800000 0x6b0000

bubuko.com,布布扣

 

⑶ 配置uboot环境变量

命令:

setenv qspifpgaaddr 0x1800000
setenv qspifpga  sf probe $\{qspiloadcs\}\; sf read $\{fpgadata\} $\{qspifpgaaddr\} $\{fpgadatasize\}\; fpga load $\{qspiloadcs\} $\{fpgadata\} $\{filesize\};
setenv bootcmd run qspifpga\; run bridge_enable_handoff\; run qspiload\; run qspiboot
saveenv

bubuko.com,布布扣

 

⑷ QSPI Flash booting log

QSPI_Flash_booting_linux_RGMII.rar

Bringup // Booting linux from QSPI 1024Mb // JTAG+tftp+sf篇,布布扣,bubuko.com

Bringup // Booting linux from QSPI 1024Mb // JTAG+tftp+sf篇

原文:http://www.cnblogs.com/StevenZhan/p/Booting_Linux_from_QSPI_Flash_1024Mbit.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!