赛昉科技 星光v1 使用流程(默认uboot已经烧录完成)

一、编译linux kernel

编译需要riscv GNU工具链riscv64-unknown-linux-gnu-
riscv GNU工具链安装教程

#下载linux源码
git clone https://github.com/starfive-tech/linux
#进入linux源码目录
cd linux
#设置编译Linux Kernel的默认设置
export CROSS_COMPILE=riscv64-unknown-linux-gnu-
make ARCH=riscv visionfive_defconfig
#需要自行配置所需选项
make ARCH=riscv menuconfig
#编译Linux Kernel
make ARCH=riscv -j$(nproc)

系统将在linux/arch/riscv/boot目录下,生成Kernel镜像文件Image.gz
系统将在linux/arch/riscv/boot/dts/starfive下,生成dtb文件
在移植rootfs、dtb和Kernel到昉·星光上时,将使用到Image.gz和.dtb文件。不同的单板计算机将使用不同的dtb文件,详细请参考《赛昉科技40-Pin GPIO Header用户指南》中描述dtb文件的表格。

二、编译busybox

1、创建目录结构

mkdir rootfs
cd rootfs
mkdir dev usr bin sbin lib etc proc tmp sys var root mnt

2、下载busybox源代码,保存至rootfs文件夹以外的路径

git clone https://git.busybox.net/busybox

3、进入解压文件所在文件夹,并进入busybox设置界面

cd busybox
make CROSS_COMPILE=riscv64-linux-gnu- ARCH=riscv menuconfig
#选择Settings > Build Options,按Y键查看Build static binary (no shared libs)选项。
#在Build Options下选择cross compiler prefix,并输入以下命令指定编译器:
riscv64-unknown-linux-gnu-
#选择Installation Options > Destination path for ‘make install’,根据提示输入以下路径,将其设置为rootfs文件路径(即编译后的busybox安装路径)
/home/user/rootfs  #根据自己的rootfs文件所在路径设置
#退出并保存

4、编译busybox

make ARCH=riscv -j$(nproc)
make install
cd rootfs/etc
vim inittab

将以下内容复制到文件中

::sysinit:/etc/init.d/rcS
::respawn:-/bin/login
::restart:/sbin/init
::ctrlaltdel:/sbin/reboot
::shutdown:/bin/umount -a -r
::shutdown:/sbin/swapoff -a

在rootfs/etc路径下,新建名为profile的文件,然后使用Vim文本编辑器打开

vim profile

复制以下内容,并粘贴到profile文件内

# /etc/profile: system-wide .profile file for the Bourne shells
echo
#echo -n "Processing /etc/profile... "
# no-op
# Set search library path
#echo "Set search library path in /etc/profile"
export LD_LIBRARY_PATH=/lib:/usr/lib
# Set user path
#echo "Set user path in /etc/profile"
PATH=/bin:/sbin:/usr/bin:/usr/sbin
export PATH
# Set PS1
#Note: In addition to the SHELL variable, ash supports \u, \h, \W, \$, \!, \n, \w, \nnn (octal numbers corresponding to ASCII characters)
#And \e[xx;xxm (color effects), etc.
#Also add an extra '\' in front of it!
#echo "Set PS1 in /etc/profile"
export PS1="\\e[00;32m[$USER@\\w\\a]\\$\\e[00;34m"
#echo "Done"

在rootfs/etc路径下,新建名为fstab的文件,然后使用Vim文本编辑器打开

vim fstab

复制以下内容并粘贴到fstab文件内

proc /proc proc defaults 0 0
none /tmp tmpfs defaults 0 0
mdev /dev tmpfs defaults 0 0
sysfs /sys sysfs defaults 0 0

在rootfs/etc路径下新建名为passwd的文件,然后使用Vim文本编辑器打开

vim passwd

复制以下内容并粘贴到passwd文件内:

root:x:0:0:root:/root:/bin/sh

在rootfs/etc路径下新建名为group的文件,然后使用Vim文本编辑器打开:

vim group

复制以下内容并粘贴到group文件内:

root:x:0:root

在rootfs/etc路径下新建名为shadow的文件,然后使用Vim文本编辑器打开:

vim shadow

复制以下内容并粘贴到shadow文件内:

root:BAy5qvelNWKns:1:0:99999:7:::

在rootfs/etc路径下新建名为init.d的目录,然后进入到该目录:

mkdir init.d
cd init.d

在rootfs/etc/init.d路径下,新建名为rcS的文件,然后使用Vim文本编辑器打开:

vim rcS

复制以下内容,并粘贴到rcS文件内:

#! /bin/sh
#echo "----------mount all"
/bin/mount -a
#echo "----------Starting mdev......"
#/bin/echo /sbin/mdev > /proc/sys/kernel/hotplug
mdev -s
echo "********************************************************"
echo " starfive mini RISC-V Rootfs"
echo "********************************************************"

进入到此前创建的rootfs/dev路径下,并执行以下命令:

cd rootfs/dev
sudo mknod -m 666 console c 5 1
sudo mknod -m 666 null c 1 3

在rootfs根目录下,新建软链接:

cd rootfs/
ln -s bin/busybox init

修改rootfs目录下所有文件的权限

sudo chmod 777 -R *

在rootfs目录下,执行以下命令在指定的目录下生成rootfs.cpio.gz(cpio系统软件包)

cd rootfs
find . | cpio -o -H newc | gzip > /home/user/Desktop/rootfs.cpio.gz

完成后生成rootfs.cpio.gz文件。

三、将启动文件放入sd卡中

1、将Micro SD卡插入计算机

2、输入以下命令查看连接中的Micro SD 卡地址

lsblk

3、输入以下命令,进入分区配置:

sudo gdisk /dev/sdb
#根据lsblk得到的设备地址自行修改

4、分别输入以下命令删除原来的分区并创建新的分区

d--->o--->n--->w--->y
#为保持某些默认设置,请按Enter回车键

5、格式化 Micro SD 卡,并创建文件系统:

sudo mkfs.vfat /dev/sdb1

6、从计算机中移除 Micro SD 卡,并重新插入以挂载系统镜像

使用mount命令挂载sd卡,将Image、jh7100-starfive-visionfive-v1.dtb、rootfs.cpio.gz三个文件放入sd卡

四、启动昉·星光

1、将sd卡插入昉·星光
2、使用 USB 转串口转换器,将昉·星光连接至计算机,然后打开minicom,等待昉·星光进入 u-boot 模式。以下示例输出表明昉·星光已进入u-boot 模式(硬件连接见第五章


3、输入启动命令

setenv kernel_comp_addr_r 0x90000000;setenv kernel_comp_size 0x10000000;setenv kernel_addr_r 0x84000000;setenv fdt_addr_r 0x88000000;setenv ramdisk_addr_r 0x88300000
fatls mmc 0:1
fatload mmc 0:1 ${kernel_addr_r} Image.gz
fatload mmc 0:1 ${fdt_addr_r} jh7100-starfive-visionfive-v1.dtb
fatload mmc 0:1 ${ramdisk_addr_r} rootfs.cpio.gz
booti ${kernel_addr_r} ${ramdisk_addr_r}:${filesize} ${fdt_addr_r}

4、输入用户名和密码

Username: root
Password: starfive

五、昉·星光硬件连接

首先、准备一台安装linux系统的机器(虚拟机也可以)、一根usb转串口线。
串口线连接方式如下

1、安装minicom

sudo apt-get update
sudo apt-get install minicom

2、连接串口

将usb转串口线连接到调试主机(linux)上

#查看连接中的串口设备
dmesg | grep tty

显示效果如下:(我这里用的双串口调试,所以有两个串口设备)

输入以下命令连接到板子

sudo minicom -D /dev/ttyUSB0 -b 115200


出现无法输入的情况:
1、按下ctrl-a z
2、按o
3、选择串口设置
4、将以下两项都设置为否
| F - 硬件流控制 : 否
| G - 软件流控制 : 否

六、遇到的问题

1、将usb转串口接入虚拟机时错误

提示如下错误

USB设备“future devices dual rs232”的连接失败。驱动程序错误

驱动程序问题,新版本Ubuntu一般默认安装该设备驱动,单需要手动加载

sudo modprobe usbserial
sudo modprobe pl2303

然后重新插入usb转串口线就可以连接成功了
(不一定都是这个原因,不过可以试一试)

赛昉科技 星光v1 使用笔记相关推荐

  1. 加速智慧能源转型 赛昉科技、微五科技携手名气家打造“港华芯”

    当前,数字经济相关产业正在成为我国经济转型升级的新引擎,随着技术的进步,物联网.大数据.云计算.人工智能等数字化技术在驱动能源行业结构性变革.推动能源行业低碳绿色发展方面扮演重要的角色,能源行业的数字 ...

  2. 推动RISC-V拾级而上 赛昉科技发布两款高性能产品: JH7110多媒体处理器与VisionFive 2开发板

    推动RISC-V拾级而上  赛昉科技发布两款高性能产品 8月23日,RISC-V领域迎来重大突破.RISC-V软硬件生态领导者赛昉科技在线举办2022新产品发布会,揭晓两款重磅新品:全球首款量产高性能 ...

  3. 中国RISC-V机遇与变革下,赛昉科技发布两款高性能新品

    8月23日,专注于RISC-V芯片研发的赛昉科技举办2022新产品发布会,发布两款重磅新品:全球首款量产高性能RISC-V多媒体处理器--昉·惊鸿7110(JH7110),和全球性能最高的量产RISC ...

  4. 睿赛德科技(RT-Thread)宣布完成A轮融资

    6月12日消息,国内领先的物联网操作系统RT-Thread暨睿赛德科技宣布,公司获得君联资本的数百万美金A轮投资.本轮融资距上一次公司获得天使轮融资仅一年时间不到.新的投资将用于大幅扩张研发团队,优化 ...

  5. ​赛分科技冲刺科创板上市:拟募资8亿元,复星、高瓴为股东​

    近日,苏州赛分科技股份有限公司(下称"赛分科技")在上海证券交易所递交招股书,准备在科创板上市.本次冲刺上市,赛分科技计划募资8亿元,将用于20万升/年生物医药分离纯化用辅料.研发 ...

  6. 睿赛德科技携手中国电子学会、意法半导体、广和通,共建嵌入式人才认证与培养体系...

    11月28-29日,由中国电子学会.中共绍兴市委.绍兴市人民政府主办的2020年第十六届中国高校电子信息学院年会在绍兴国际大酒店圆满举办.来自全国各地电子信息领域的专家学者以"后疫情时代的新 ...

  7. YOLO v1学习笔记

    YOLO v1学习笔记 一. 概述 1.优点: 2. 缺点: 二.模型详细介绍 1.设计思路 2.网络结构 3.网络输出详细介绍 三.损失函数 1.位置误差 2.置信度误差 3.分类误差 四.模型预测 ...

  8. 艾拉比与睿赛德科技强强联手,推出基于RT-Thread操作系统的OTA差分升级

    上海艾拉比智能科技有限公司(简称 艾拉比 ABUP)与国内领先的物联网操作系统厂商睿赛德科技(简称RT-Thread)签订战略合作,双方优势互补,生态共赢,推出基于国产自主可控操作系统RT-Threa ...

  9. 创新与互动的科技盛宴:探索3DVR元宇宙赛博科技世界虚拟展

    导语: 在现代科技迅猛发展的时代,3DVR元宇宙虚拟展厅为我们带来了一场前所未有的科技盛宴.特别是在赛博科技领域,它展现了一系列令人惊叹的优势.优点和实质性的作用,为客户带来了非凡的体验和无限的可能. ...

最新文章

  1. MyBatis中使用流式查询避免数据量过大导致OOM
  2. IntelliJ IDEA快捷键总结
  3. SmartCode 使用常见问题
  4. JZOJ 5274. 数组
  5. nagios nrpe
  6. c语言时钟报告,C语言图形时钟课程设计实验报告
  7. c语言调用话筒的程序,c – OpenAL:如何创建简单的“麦克风回声”程序?
  8. 2020 年,大火的 Python 和 JavaScript 是否会被取而代之?
  9. java之servlet学习基础(一)
  10. Kubernetes 学习2 k8s基础概念
  11. Linux命令行下批量重命名文件名为数字索引编号(0~N.xxx)的方法
  12. DiscuzNT改造-远程图片自动采集-DNT2.5(自动采集、源码下载)
  13. varchar(10)与nvarchar(10)有什么区别
  14. 学习之苦也正是学习之甜------知识的本质
  15. 4个很 丝滑 的 Veu 路由过渡动效
  16. 文字烫金效果html,一种浮雕烫金效果的收缩套标的制作方法
  17. 鸿蒙系统 微内核 sel4,微内核 seL4 Mapping
  18. 将姓名转为拼音,首字母大写
  19. 最全的css中解决外边距合并问题
  20. 网易裁员,让保安把身患绝症的员工赶出公司!前网易员工亲述经历的噩梦!...

热门文章

  1. Mal-PEG3-acid,518044-40-1亲水性PEG间隔物增加了在水介质中的溶解度
  2. Java简介与JDK安装
  3. BAPI创建CLASS和CHARACTERISTICS
  4. 爆聚美优品售假货,中国老龄商城有话说
  5. PAT 乙级1032 挖掘机技术哪家强(C语言,含判断点解析)
  6. 手机二维码业务行业报告
  7. 单片机PWM输出控制直流电机(89c51系列、stc12c5a60s2系列)
  8. 贪心算法 | 最优装载问题——加勒比海盗船
  9. 一篇文章带你认识 Java 异常以及如何处理异常
  10. 银行卡的卡号号段标识