当前位置:   article > 正文

Nexys4 DDR开发(二)-- Litex启动Linux

Nexys4 DDR开发(二)-- Litex启动Linux

系列文章目录

第一章 Nexys4 DDR开发(一)--板子启动及测试

第二章 Nexys4 DDR开发(二)-- Litex启动Linux


目录

系列文章目录

前言

一、Litex安装

二、Config配置、构建SOC

1.配置文件

2.构建SOC

3.烧录Bit,启动Bios

4.Ethernet启动Linux

总结


前言

基于开源Litex去Boot Linux


一、Litex安装

这里不赘述,建议安装Linux环境下Litex环境,具体可按照官方步骤安装。

Litex

二、Config配置、构建SOC

1.配置文件

首先进入如下目录(忽略我进入了root权限,在user权限下操作):

可以看到该目录下两个文件夹:platforms、targets

  • platforms:该文件夹下存放着所有开发板的约束文件。
  • targets:该文件夹下存放着构建对应开发板SOC的脚本文件。

我们本次使用Nexys4 DDR开发板,相对应的platforms和targets中文件为digilent_nexys4ddr.py,下图

soc的配置可以手动修改脚本文件,将对应外设配置为True;也可以在命令行进行配置。

因为后续Boot Linux,需要将dts、镜像文件等加载至内存,通常有三种启动方式:

  • 串口输入(不太建议,速度相当慢)
  • SD卡写入(最主流的做法)
  • Ethernet写入(相较于串口稍微快一点)

因为这次没有准备SD卡,所以我们采用Ethernet输入,直接修改脚本文件,如下图:

仅构建SOC最小系统+Ethernet:Core、DDR、Ethernet。

2.构建SOC

使用的Xilinx芯片,所以需要预先安装好Vivado,Litex会调用Vivado进行综合。

Core选用Vexriscv-smp,可以git下面这个工程更方便构建Linux

https://github.com/litex-hub/linux-on-litex-vexriscv

进入主目录下,运行如下命令:

/make.py --board=Nexys4DDR --build

运行结束后,会在build目录下生成nexysddr文件夹,里面存放着dts、bitstream等文件

3.烧录Bit,启动Bios

两种方法烧录:

  • 在Ubuntu中安装FpgaProgrammer,直接烧录
  • 利用Vivado烧录Bit

成功烧录后,打开串口可以打印如下界面:

4.Ethernet启动Linux

启动顺序:串口 - SD card - Ethernet,我们本次采用Ethernet加载镜像文件。

首先下载tftp,并将所需文件存放至本地文件夹中,fpga地址192.168.1.50,driver中主机地址配置为192.168.1.100,所以需要将本地主机设置为同一地址。

在Bios界面输入help,查看如何通过Ethernet启动。

可以看到可以在Bios界面通过输入netboot从主机启动。

等待Opensbi引导完毕,Linux可以正常启动。


总结

以上是使用Litex boot Linux简单说明,Litex功能十分强大,可以去深入学习。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小小林熬夜学编程/article/detail/641354
推荐阅读
相关标签
  

闽ICP备14008679号