因为项目需要,需要对相应部分进行裸机开发。
板卡:小梅哥AC540开发板
参考资料:(后两文件均在intel官网所得)
AN 709:HPS Soc Boot Guide- Cyclone V Soc Development Kit
Intel® SoC FPGA Embedded Development Suite User Guide
一、BSP建立
使用提供的GHRD,通过SOC-EDS脚本,切换到相应文件夹,打开bsp_editor
File->new bsp->
其他选项不变,点击OK.
在Setting文件夹下,选择BOOT_FROM_SDMMC-------从SD卡中加载
*注意:FAT_LOAD_PAYLOAD_NAME一定要和后面添加的mkimag文件名称一致
再打开Adwanced选项卡,取消WATCHDOG_ENABLE选项,点击Generate生成BSP文件
二、 preloader-mkpimage.bin建立
继续使用SOC_EDS脚本,在spl_bsp文件夹下输入make指令来生成硬件的引导镜像
make
成功后将在spl_bsp文件夹下生成多个文件,其中preloader-mkpimage.bin便是我们需要写入SD卡的文件。
*注意:如果make报错,可以将spl_bsp文件夹清空,重新进行generate等操作。
三、SD卡制作与写入
由Intel官方的AN 709:HPS Soc Boot Guide可知加载流程如下图所示,其中preloader在上一步中已经完成,但是还未添加到SD卡中。
接下来我们便是要对SD卡进行制作,需要满足拥有一个A2的分区,最简单方法如下指南所说,将安装目录下
:\embedded\ embeddedsw\socfpga\prebuilt_images\sd_card_linux_boot_image.tar.gz 相应文件添加到Win32DiskImager软件中进行制作SD卡
*注:与制作linux卡方法相同
制作完成后,插入SD卡会检测到3个分区,但windows系统只能显示一个分区,不需要将其他分区进行格式化。
加下来进行写入preloader镜像,首先以管理员身份运行soc eds(一会要对磁盘写入,必须为管理员身份)。切换到第二步中spl_bsp文件夹并输入一下指令来完成写入。
alt-boot-disk-util -a write -p preloader-mkimage.bin -d <sd卡>
四、生成裸机app镜像(bootloader)
在综合完成输出文件夹下,继续使用soc eds对镜像文件进行制作,其中输出的.img文件与preloader制作中设置的img名称一致。完成后便可在文件夹下看到相应的镜像文件。
mkimage -A arm -O u-boot -T standalone -C none -a 0x02100000 -e 0 -n "Bare Metal image" -d hello_world.bin hello_world.img
进行文件的写入,依旧使用alt-boot-disk-util将文件进行写入,写入前的前缀应该为-b
最后插入SD卡便可以实现相应功能了。
如有问题可以随时交流。