百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 优雅编程 > 正文

FM20S用户手册-Linux开发环境搭建

sinye56 2024-11-17 15:41 2 浏览 0 评论

评测试板卡介绍

创龙科技TLFM20S-EVM是一款基于复旦微FMQL20S400M四核ARM Cortex-A7(PS端) + FPGA可编程逻辑资源(PL端)异构多核SoC处理器设计的全国产工业评估板,PS端主频高达1GHz。核心板CPU、ROM、RAM、电源、晶振、连接器等所有器件均采用国产工业级方案,国产化率100%。同时,评估底板大部分元器件亦采用国产工业级方案。核心板经过专业的PCB Layout和高低温测试验证,质量稳定可靠,可满足各种工业应用环境要求。

评估板接口资源丰富,引出2路Ethernet、4路USB2.0、2路CAN、2路RS485、RS232等接口,方便用户快速进行产品方案评估与技术预研。

图 1 评估板正面图

图 2 评估板斜视图

图 3 评估板侧视图1

图 4 评估板侧视图2

图 5 评估板侧视图3

图 6 评估板侧视图4

1评估板快速测试

1.1系统启动测试

将Linux系统启动卡插至评估板Micro SD卡槽,评估板接入电源,并使用Type-C线 将评估板的USB TO UARTO调试串口连接至PC机。评估板硬件连接如下图所示。

打开设备管理器,确认评估板USB TO UARTO调试串口对应的COM端口号。

打开串口调试终端SecureCRT,选择对应的COM端口号,设置波特率为115200,8N1, 无检验位。建立串口连接,如下图所示。

根据评估底板丝印将启动方式选择拨码开关拨为1010(1~4),此档位为MicroSD卡启 动模式。将评估板上电启动,串口调试终端将会打印如下类似启动信息。

系统启动后会自动登录root用户,说明使用Uinux系统启动卡启动评估板成功。

核心板LED在系统启动过程中的变化说明如下:

评估板上电后,电源指示灯LEDO点亮:随后FSBL(一级Bootloader程序)启动,LED3

点亮:紧接着U-Boot启动(二级Bootloader程序),LED4点亮:直到内核启动运行时,

LED4熄灭,LED3进行心跳闪烁:读写eMMC时,LED4闪烁。

如需从SPI FLASH +eMMC启动评估板,请执行如下脚本命令一键固化Linux系统至 SPI FLASH+eMMC。

Target# /opt/tools/mkemmcboot.sh

用时约3min,成功固化Uinux系统至SPIFLASH+eMMC,同时串口调试终端打印提 示信息。将评估板断电,将Linux系统启动卡从评估板Micro SD卡槽中取出,根据评估 底板丝印将拨码开关拨为1000(1-4),此档位为SPIFLASH启动模式。将评估板上电启 动,即可从SPI FLASH+eMMC启动系统。

1.2文件传送测试

PC机和评估板之间传送文件的常见方式如下:

(1)通过Linux系统启动卡、U盘等存储介质方式拷贝。

(2)通过NFS、TFTP、OpenSSH等网络方式拷贝。

1.2.1通过Linux系统启动卡

将配套的系统启动卡插至PC机,然后把目标文件拷贝至系统启动卡的BOOT分区, 如下图所示。

将系统启动卡插至评估板Micro SD卡槽,评估板上电启动系统,进入文件系统执行 如下命令,在"/run/medla/mmcblkOp1/"日录下可看到拷贝的test文件。系统启动卡的 BOOT分区挂载在评估板文件系统"/run/media/mmcblk0p1/"日录下。

Tar get# df Tar get# s /run/media/mmcblk0p1

1.2.2通过OpenSSH

OpenSSH是SSH(SecureShell)协议的免费开源实现。SSH协议族可用来进行远程控制, 或在计算机之间传送文件,评估板文件系统默认已支持SSH库。

在Ubuntu中执行如下命令,查询是否已安装OpenSSH。

Host#ssh

可看到系统已自带OpenSSH。如未安装,请先自行正确安装OpenSSH。

将评估板PS端ETHO网口通过网线连接至路由器。在评估板上执行如下命令可自动 获取到IP,如下图所示。"4"用于指定网卡,ethO为网卡名字,请根据实际情况修改。

Target#

ifconfig eth0 up

Target#

udhpc-ietho

执行如下命令可查询IP地址。本次查询到的IP地址是192.168.13.8。

Target#

ifconfig

(1)使用OpenSSH从PC机传送文件至评估板

执行如下命令在Ubuntu中新建文件test1.并使用OpenSSH命令将test1文件拷贝至 评估板文件系统根目录。

Host#touch test1 //新建文件 Host#scptest1 root@192.168.13.8:/

如出现提示"Are you sure youwantto continue connecting(yes/no)?",请输入:yes. 在评估板上执行如下命令可看到从PC机拷贝过来的文件,如下图所示。

Target#

s/

(2)使用OpenSSH从评估板传送文件至PC机

执行如下命令在评估板文件系统根目录新建一个测试文件test2。

Target#

cd/

Target#

touch test2

//新建文件

在Ubuntu上执行如下OpenSSH命令将评估板测试文件test2拷贝至PC机 "/home/fmsh/"目录下。如果传输的是文件夹,请在scp后面添加参数"-r"。

Host#sudo scp root@192.168.13.8:/est2 /home/imsh/ Host#Is/home/fmsh/

(3)使用OpenSSH登录至评估板文件系统

在Ubuntu执行如下命令可通过OpenSSH登录评估板文件系统

Host#sudo ssh root@192.168.13.8

如需退出登陆,请执行exit或者logout命令

1.3 LED测试

执行如下命令控制评估底板PS端LED1的亮灭。

Target# echo 0>/sys/ctass/leds/user-led0/brighthess //控制LED1灭 Tar get# echo 1>/sys/class/leds/user-led0/brightness /控制LED1亮

1.4 KEY测试

执行如下命令查看按键事件号,其中PS KEY(KEY3)按键对应的事件号为event0。 Target# cat /proc/bus/input/devkces

执行如下命令进行按键测试

Target# od-x/dev/input/evento

按下KEY3按键,可看到如下打印信息。按"Crl+C"可终止测试命令。

1.5外部RTC测试

Linux系统中分系统时钟(软件时钟)和RTC时钟(硬件时钟),系统时钟掉电即会 消失,RTC时钟在安装电池的情况下会长期运行。

如需使用RTC时钟,请先安装纽扣电池。BT1为RTC纽扣电池座,适配纽扣电池 ML2032(3V可充)、CR2032(3V不可充)。使用可充电电池时,请将跳线帽插入J3排 针实现充电。使用不可充电电池时,请确保无跳线帽插入J3排针。

如下为时钟相关的常用命令。

(1)查看外部RTC设备节点

Target#

s /dev/rtc*

Target#

dmesg I grep rte

(2)查看系统时钟

Target# date

(3)查看RTC时钟

Target# hwclock -u-f /dev/rtcO

(4)设置系统时间

Target# date -s "2024-02-0510.00:00"

分00秒

//设置时间:2024年2月5日10点00

Target# date

(5)同步系统时钟至RTC时钟

Target# hwclock -systohe -uf /dev/rtc0 Target# hwclock uf /dev/rtcO

(6)同步RTC时钟至系统时钟

Target# hwclock -hctosys u4 /dev/tcO

(7)将评估板断电,放置一段时间后,执行如下命令查询系统时间。 Target# hwclock -/dev/rtcO

1.6 DDR测试

Linux系统启动时,在U-8oot阶段完成DDR的初始化,并打印DDR实际容量,如下 图所示。

DDR读写速度受实际情况影响,测试速率以具体情况为准,如下测试数据仅供参考

(1)DDR读速度测试

执行如下命令对DDR读速度测试。

Tar get

bw_mem-P480M frd

测试从DDR中读取80MByte数据,可看到本次测试的读速度约为:1512.44MB/s。

(2)DDR写速度测试

执行如下命令对DDR写速度测试。

Target#

bw_mem-P480M fwr

测试写入80MByte数据到DDR中,可看到本次测试的写速度约为:626.15MB/s。

(3)DDR拷贝速度测试

执行如下命令对DDR拷贝速度测试

Tar get#

bw_mem-P440M icp

测试拷贝40MByte数据至DDR中,可看到本次测试的拷贝速度约为:1128.01MB/s。

1.7 MicrosD接口测试

本小节使用SanDisk品牌、FAT32格式、128GByte容量的MicroSD卡测试评估板Micro SD接口性能。不同的SD卡以及不同的测试方法,对Micro SD接口测试结果将造成一定 差异。

请根据《LInux系统启动卡制作及系统固化》文档将MicroSD卡制作为Linux系统启 动卡。将Linux系统启动卡插入评估板Micro SD卡槽,根据评估底板丝印将启动方式选 择拨码开关拨为1000(1~4),此档位为SPI启动模式,再将评估板上电启动。

执行如下命令可查看Micro SD各分区的设备节点,其中rootfs分区为"/dev/mmcblk Op2",在评估板文件系统挂载路径为"/run/media/mmcblkOp2",本次测试对rootfs分区进 行读写。

Tar get#

df-h

(1)MicroSD卡写速度测试

执行如下命令测试Micro SD卡写速度。

Target# fio -filename=/dev/mmcblk0p2 -drect=1 -iodepth 1-thread -rw=randwrite - ioengine=psync -bs=1024k -size=1024M -numjobs=10 -runtime=30 -group_reporting name=mytest -allow_mounted_write=1

此处一共写1024MByte测试数据至Micro SD卡的test文件,可看到本次测试的Micro SD卡写速度约为6289KB/s.

(2)MicroSD卡读速度测试

执行如下命令测试Micro SD卡读速度。

Target# fio -flename=/dev/mmcbk0p2 -drect=1 -lodepth 1 -thread -w=randread· oengine=psync -bs=1024k -sze=1024M -numjobs=10 -runtime=30 -group_reporting· name=mytest

此处从test文件中一共读出1024MByte的数据,可看到本次测试的Micro SD卡读速 度约为:7179KiB/s。

1.8 eMMC测试

根据评估底板丝印将启动方式选择拨码开关拨为1010(1-4),此档位为Micro SD启动 模式。评估板出厂时,默认己完成eMMC设备分区工作,执行如下命令可查看eMMC容 量以及分区信息。

备注:需对eMMC设备进行分区后方可对其进行读写测试。

Target#

dmesgI grepmmcblk1

执行如下命令可查看eMMC各分区的设备节点。其中rootfs分区为"/dev/mmcblklp 2",在评估板文件系统挂载路径为"/run/media/mmcbk1p2",本次测试对rootfs分区进行 读写。

Target# df

(1)eMMC写速度测试

执行如下命令对eMMC设备写速度测试。

Target# fio-flename=/dev/mmcblk1p2-direct=1 Hodepth1-thread-w=randwrite- loengine=psync -bs=1024k-size=1024M-numjobs=10-funtime=30-group_reporting- name=mytest-allow_mounted_write=1

此处一共写1024MByte测试数据至eMMC设备roots分区下的test文件,可看到本 次测试的eMMC设备写速度约为21.8MiB/s。

(2)eMMC读速度测试

执行如下命令对eMMC设备读速度测试。

Target# fio -flename=/dev/mmcblk1p2-direct=1 Hodepth1-thread -w=randread· ioengine=psync -bs=1024k-size=1024M-oumjobs=10 -funtime=30 -group_reporting- name=mytest

此处从test文件中一共读出1024MByte数据,可看到本次测试的eMMC设备读速度

约为22.8MiB/s。

1.9 SPI FLASH测试

本小节对SPIFLASH的MTD2分区进行读写速度测试。MTD2是SPIFLASH的用户数据 分区,读写测试会将该分区内容擦除,请做好数据备份。

执行如下命令查询SPIFLASH分区,确认MTD2分区大小(读写请勿超出分区大小), 将该分区内容擦除。

Target# cat /proc/mtd Target# flash_erase/dev/mtd200

(1)SPIFLASH写速度测试

执行如下命令,先清理缓存,再对SPI FLASH进行写速度测试。

Target# echo 3>/proc/sys/vm/drop_caches

Target#

timedd i=/dev/zero of=/dev/mtd2bs=1024k count=14

测试写入14MByte数据至SPI FLASH的MTD2分区下,可看到本次测试的SPI FLASH 写速度约为:14MByte/39.154s=0.36MB/s.

(2)SPIFLASH读速度测试

执行如下命令,先清理缓存,再对SPI FLASH进行读速度测试

Target# echo3>/proc/sys/vm/drop_caches Tar get# timeddif=/dev/mtd2 of=/dev/nul bs=1024k count=14

测试从SPI FLASH的MTD2分区读取14MByte数据,可看到本次测试的SPI FLASH读 速度约为:14MByte/6.325s=2.21MB/s.

1.10 USB2.0 HOST接口测试

本小节使用SAMSUNG公司、FAT32格式、120GByte容量的SATA3.0接口SSD固态硬 盘对评估板USB接口进行测试。不同品牌、格式或容量的硬盘,测试结果会有所差异。

请通过USB3.0转SATA转换器(厂家:绿联,型号:CR108),将SSD固态硬盘与评

估板USB2.0 HOST(CON11、CON12)任一接口连接,如下图所示。系统将打印固态硬盘容 量、挂载名等信息。

从上图可看到挂载名为sda,当评估板挂载多个存储设备时,挂载名可能会变更。

(1)USB2.0 HOST接口写速度测试

进入评估板文件系统,执行如下命令测试USB2.0 HOST接口写速度。

fio -flename=/dev/sda -direct=14odepth 1 -thread -w=randwrite· ioengine=psync -bs=1024k -size=1024M -numjobs=10 -runtime=30 -group_reporting · name=mytest -allow_mounted_wrte=1

此处通过USB2.0 HOST接口一共写入1024MByte测试数据至固态硬盘,可看到本次

测试的USB2.0 HOST接口写速度约为36.9MiB/s.

(2)USB2.0 HOST接口读速度测试

进入评估板文件系统,执行如下命令测试USB2.0 HOST接口读速度。

Target# fio filename=/dev/sda -direct=1 -bodepth 1 -thread -rw=randread · ioengine=psync -bs=1024k -size=1024M -numjobs=10 -runtime=30 -group_reporting · name=mytest

此处通过USB2.0 HOST接口从固态硬盘一共读出1024MByte的数据,可看到本次测

试的USB2.0 HOST接口读速度约为38.9MiB/s.

1.11

网络接口测试

评估板配备一个PS端千兆网口ETHO,使用网线将评估板PS端网口连接至路由器, 绿灯常亮、黄灯闪烁表示连接正常。

1.11.1网络连通测试

进入评估板文件系统,执行如下命令获取IP以及查看网口配置信息。

Target# ifconfig

如网卡未自动获取到IP,请执行如下命令。

Target# udhφc-iethO

//4”用于指定网卡,eth0为网卡名字。

如网口未正常连接,可尝试先关闭网口(命令为"ifconfig ethO down")再打开网口(命 令为"ifconfig ethOup")。

可使用ethtool命令查看网口属性,并测试网口连接外网是否正常。以访问 www.baidu.com为例,执行如下命令,”-代表指定网口,不加”-P则使用默认网卡。可按 "Ctrl+C"终止测试。网卡名字请根据实际情况修改。

Tar get# ethtool etho

执行如下命令查看网关,并通过ping网关来测试内网连接功能是否正常。

Target# route

Target# ping 192.168.13.254

1.11.2网口带宽测试

本小节使用Iperf3工具测试评估板与PC机的TCP、UDP通信带宽。

(1)TCP通信带宽测试

在Ubuntu执行如下命令查看PC机IP地址,并等待评估板连接。

Host#ifconfig

Host#iperf3-s

在评估板文件系统执行如下命令测试网络通信速度,命令中192.168.13.74为PC机 IP地址。测试完成后,Ubuntu和评估板均会打印测试结果。不同测试环境,测试结果将 会有所差异。

iperf3 -c192.168.13.74-02-V-32K-w256K

Target#

(2)UDP通信带宽与丢包率测试

在Ubuntu执行如下命令查看PC机IP地址,并等待评估板连接。

Host#ifconfig

Host#iperf3-s

在评估板文件系统执行如下命令测试网络通信速度,命令中"192.168.13.74"为PC机 IP地址。测试完成后,Ubuntu和评估板均会打印测试结果,本次测得EFTHO网口带宽约 为924Mbit/s,丢包率为0.047%。不同测试环境,测试结果将会有所差异。

Target#

iperf3 -c192.168.13.74-02-V-B2K-w256K-u-b0

2网络静态IP设置

本小节以评估板PS端千兆网口ETHO为例,演示如何配置网口静态IP。请使用网线 将评估板PS端网口与PC机连接至局域网路由器,本次测试使用局域网

评估板启动进入文件系统,执行如下命令打开"/etc/network/interfaces"文件,按照如 下方法修改网络配置文件并保存。

Tar get# wi/etc/network/interfaces

//注释以下代码

//添加以下代码

执行如下命令,在"/etc/initd/"目录下新建S41resolv.sh脚本文件,按照如下方法修改 文件并保存

Target# wi/etc/init.d/S41resolv.sh

修改内容如下

执行如下命令,赋予541resolv.sh脚本文件可执行权限,然后重启系统。 Target# chmod 777/etc/init.d/S41resolv.sh Target# reboo

系统重启后,执行ifconfig命令即可查看静态IP已配置生效,如下图所示。

相关推荐

Linux在线安装JDK1.8

首先在服务器pingwww.baidu.com查看是否可以连网然后就可以在线下载一、下载安装JDK1.81、在下载安装的同时做好一些准备工作...

Linux安装JDK,超详细

1、了解RPMRPM是Red-HatPackageManager(RPM软件包管理器)的缩写,这一文件格式名称虽然打上了RedHat的标志,但是其原始设计理念是开放式的,现在包括OpenLinux...

Linux安装jdk1.8(超级详细)

前言最近刚购买了一台阿里云的服务器准备要搭建一个网站,正好将网站的一个完整搭建过程分享给大家!#一、下载jdk1.8首先我们需要去下载linux版本的jdk1.8安装包,我们有两种方式去下载安装...

Linux系统安装JDK教程

下载jdk-8u151-linux-x64.tar.gz下载地址:https://www.oracle.com/technetwork/java/javase/downloads/index.ht...

干货|JDK下载安装与环境变量配置图文教程「超详细」

1.JDK介绍1.1什么是JDK?SUN公司提供了一套Java开发环境,简称JDK(JavaDevelopmentKit),它是整个Java的核心,其中包括Java编译器、Java运行工具、Jav...

Linux下安装jdk1.8

一、安装环境操作系统:CentOSLinuxrelease7.6.1810(Core)JDK版本:1.8二、安装步骤1.下载安装包...

Linux上安装JDK

以CentOS为例。检查是否已安装过jdk。yumlist--installed|grepjdk或者...

Linux系统的一些常用目录以及介绍

根目录(/):“/”目录也称为根目录,位于Linux文件系统目录结构的顶层。在很多系统中,“/”目录是系统中的唯一分区。如果还有其他分区,必须挂载到“/”目录下某个位置。整个目录结构呈树形结构,因此也...

Linux系统目录结构

一、系统目录结构几乎所有的计算机操作系统都是使用目录结构组织文件。具体来说就是在一个目录中存放子目录和文件,而在子目录中又会进一步存放子目录和文件,以此类推形成一个树状的文件结构,由于其结构很像一棵树...

Linux文件查找

在Linux下通常find不很常用的,因为速度慢(find是直接查找硬盘),通常我们都是先使用whereis或者是locate来检查,如果真的找不到了,才以find来搜寻。为什么...

嵌入式linux基本操作之查找文件

对于很多初学者来说都习惯用windows操作系统,对于这个系统来说查找一个文件简直不在话下。而学习嵌入式开发行业之后,发现所用到的是嵌入式Linux操作系统,本想着跟windows类似,结果在操作的时...

linux系统查看软件安装目录的方法

linux系统下怎么查看软件安装的目录?方法1:whereis软件名以查询nginx为例子...

Linux下如何对目录中的文件进行统计

统计目录中的文件数量...

Linux常见文件目录管理命令

touch用于创建空白文件touch文件名称mkdir用于创建空白目录还可以通过参数-p创建递归的目录...

Linux常用查找文件方法总结

一、前言Linux系统提供了多种查找文件的命令,而且每种查找命令都具有其独特的优势,下面详细总结一下常用的几个Linux查找命令。二、which命令查找类型:二进制文件;...

取消回复欢迎 发表评论: