创龙科技TLFM20S-EVM是基于复旦微FMQL20S400M四核ARM Cortex-A7(PS侧)+FPGA可编程逻辑资源(PL侧)异构多核SoC处理器设计的国产工业评估板。 PS侧是主频,最高可达1GHz。核心板CPU、ROM、RAM、电源、晶振、连接器等部件全部采用国产工业级方案,国产化率100%。同时,评测背板大部分部件也采用国产工业级解决方案。核心板经过专业PCB Layout及高低温测试验证,品质稳定可靠,可满足各种工业应用环境的要求。
评估板拥有丰富的接口资源,包括2路以太网、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。
目标# /opt/tools/mkemmcboot.sh
大约需要3分钟,成功将Uinux系统固化到SPIFLASH+eMMC,同时串口调试终端打印提示信息。将评估板断电,从评估板的Micro SD卡槽中取出Linux系统启动卡,根据评估板丝印将拨码开关设置为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/”日志下看到复制的测试文件。系统启动卡的BOOT分区安装在评估板文件系统“/run/media/mmcblk0p1/”中。
Tar get# df Tar get# s /run/media/mmcblk0p1
1.2.2 通过OpenSSH
OpenSSH 是SSH (SecureShell) 协议的免费开源实现。 SSH协议簇可用于远程控制或在计算机之间传输文件。评估板文件系统默认支持SSH库。
在Ubuntu中执行以下命令,检查OpenSSH是否已安装。
主机#ssh
可以看到系统自带了OpenSSH。如果没有安装,请先正确安装OpenSSH。
通过网线将评估板PS侧的ETHO网口连接至路由器。在评估板上执行以下命令,自动获取IP,如下图所示。 ‘4’用于指定网卡,ethO为网卡名称,请根据实际情况修改。
目标
ifconfig eth0 up
目标
udhpc-ietho
执行以下命令查询IP地址。本次查询的IP地址为192.168.13.8。
目标
如果配置
(1) 使用OpenSSH将文件从PC传输到评估板
执行以下命令在Ubuntu中创建一个新文件test1。并使用OpenSSH命令将test1文件复制到评估板文件系统的根目录下。
Host#touch test1 //新建文件Host#scptest1 root@192.168.13.8:/
如果提示“您确定要继续连接吗(是/否)?”出现,请输入:是。在评估板上执行以下命令,即可看到从PC复制过来的文件,如下图所示。
目标
s/
(2) 使用OpenSSH将文件从评估板传输到PC
执行以下命令,在评估板文件系统根目录下创建新的测试文件test2。
目标
光盘/
目标
触摸测试2
//新文件
在Ubuntu上执行以下OpenSSH命令,将评估板测试文件test2复制到PC的“/home/fmsh/”目录中。如果要传输文件夹,请在scp 后面添加参数“-r”。
主机#sudo scp root@192.168.13.8:/est2 /home/imsh/主机#Is/home/fmsh/
(3)使用OpenSSH登录评估板文件系统
在Ubuntu中执行以下命令,通过OpenSSH登录评估板文件系统
主机#sudo ssh root@192.168.13.8
如果需要退出,请执行exit或logout命令。
1.3 LED测试
执行以下命令控制评估背板PS侧LED1的亮灭。
Target# echo 0/sys/ctass/leds/user-led0/brightness //控制LED1 关闭Tar get# echo 1/sys/class/leds/user-led0/brightness /控制LED1 打开
1.4 按键测试
执行以下命令查看关键事件编号。 PS KEY(KEY3)键对应的事件号是event0。目标# cat /proc/bus/input/devkces
执行以下命令进行关键测试
目标#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设备节点
目标
/dev/rtc*
目标
dmesg 我grep rte
(2)检查系统时钟
目标#日期
(3) 检查RTC时钟
目标# hwclock -u-f /dev/rtcO
(4)设置系统时间
目标#日期-s'2024-02-0510.00:00'
分钟00 秒
//设置时间:2024年2月5日10:00
目标#日期
(5) 同步系统时钟和RTC时钟
目标# hwclock -systohe -uf /dev/rtc0 目标# hwclock uf /dev/rtcO
(6) 将RTC时钟同步到系统时钟
目标# hwclock -hctosys u4 /dev/tcO
(7) 关闭评估板电源并放置一段时间。然后执行以下命令查询系统时间。目标# hwclock -/dev/rtcO
1.6 DDR测试
Linux系统启动时,在U-8oot阶段完成DDR初始化,并打印实际的DDR容量,如下图所示。
DDR读写速度受实际情况影响。测试速度视具体条件而定。以下测试数据仅供参考。
(1)DDR读取速度测试
执行以下命令测试DDR读取速度。
目标
bw_mem-P480M frd
测试从DDR读取80MByte数据。可以看到本次测试的读取速度约为:1512.44MB/s。
(2)DDR写入速度测试
执行以下命令测试DDR写入速度。
目标
bw_mem-P480M 固件
测试将80MByte数据写入DDR。可以看到,本次测试的写入速度约为:626.15MB/s。
(3)DDR复制速度测试
执行以下命令测试DDR拷贝速度
目标
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 分区上执行。阅读和写作。
目标
df-h
(1)MicroSD卡写入速度测试
执行以下命令测试Micro SD卡写入速度。
目标# 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卡的测试文件中。可以看到,本次测试中Micro SD卡的写入速度约为6289KB/s。
(2)MicroSD卡读取速度测试
执行以下命令测试Micro SD卡读取速度。
目标# 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
这里,从测试文件中总共读取了1024MByte的数据。可以看到,本次测试中Micro SD卡的读取速度约为:7179KiB/s。
1.8 eMMC测试
根据评估基板丝印,将启动模式选择拨码开关设置为1010(1-4)。该位置为Micro SD启动模式。评估板出厂时,eMMC设备分区已默认完成。执行以下命令可以查看eMMC容量和分区信息。
注意:eMMC设备需要先进行分区,然后才能对其进行读写测试。
目标
dmesgI grepmmcblk1
执行以下命令查看每个eMMC分区的设备节点。 rootfs分区为“/dev/mmcblklp 2”,评估板文件系统的挂载路径为“/run/media/mmcbk1p2”。此测试读取和写入rootfs 分区。
目标#df
(1)eMMC写入速度测试
执行以下命令测试eMMC设备的写入速度。
目标# 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分区下的测试文件中。可以看到,本次测试中eMMC设备的写入速度约为21.8MiB/s。
(2)eMMC读取速度测试
执行以下命令测试eMMC设备的读取速度。
目标# fio -flename=/dev/mmcblk1p2-direct=1 Hodepth1-thread -w=randread· ioengine=psync -bs=1024k-size=1024M-oumjobs=10 -funtime=30 -group_reporting- name=mytest
这里,从测试文件中总共读取了1024MByte的数据。在此测试中可以看到eMMC设备的读取速度。
大约22.8MiB/s。
1.9 SPI FLASH测试
本节测试SPIFLASH的MTD2分区的读写速度。 MTD2是SPIFLASH的用户数据分区。读写测试将擦除该分区的内容。请做好数据备份。
执行以下命令查询SPIFLASH分区,确认MTD2分区的大小(不要超过读写的分区大小),并擦除该分区的内容。
目标# cat /proc/mtd 目标# flash_erase/dev/mtd200
(1)SPIFLASH写入速度测试
执行以下命令,首先清除缓存,然后对SPI FLASH进行写入速度测试。
目标# echo 3/proc/sys/vm/drop_caches
目标
timedd i=/dev/零of=/dev/mtd2bs=1024k 计数=14
测试将14MByte数据写入SPI FLASH的MTD2分区。可以看到本次测试中SPI FLASH的写入速度约为:14MByte/39.154s=0.36MB/s。
(2)SPIFLASH读取速度测试
执行以下命令,首先清除缓存,然后测试SPI FLASH的读取速度。
目标# 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公司的SATA3.0接口SSD固态硬盘,FAT32格式,120GByte容量来测试评估板的USB接口。不同品牌、格式或容量的硬盘的测试结果会有所不同。
请使用USB3.0转SATA转换器(厂家:Greenlink,型号:CR108)将SSD固态硬盘连接至评估
连接评估板上USB2.0 HOST(CON11、CON12)的任意接口,如下图所示。系统会打印固态硬盘容量、挂载名称等信息。
从上图可以看到,挂载名称是sda。当评估板安装多个存储设备时,安装名称可能会发生变化。
(1)USB2.0 HOST接口写入速度测试
进入评估板文件系统,执行以下命令,测试USB2.0 HOST接口的写入速度。
fio -flename=/dev/sda -direct=14o深度1 -thread -w=randwrite· ioengine=psync -bs=1024k -size=1024M -numjobs=10 -runtime=30 -group_reporting · name=mytest -allow_mounted_wrte=1
这里总共1024MByte的测试数据通过USB2.0 HOST接口写入固态硬盘。你可以看到这个
测试的USB2.0 HOST接口写入速度约为36.9MiB/s。
(2)USB2.0 HOST接口读取速度测试
进入评估板文件系统,执行以下命令测试USB2.0 HOST接口读取速度。
目标# 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并查看网口配置信息。
目标# ifconfig
如果网卡没有自动获取IP,请执行以下命令。
目标#udhc-iethO
//4”用于指定网卡,eth0为网卡名称。
如果网口连接不正常,可以尝试关闭网口(命令为“ifconfig ethO down”),然后再打开网口(命令为“ifconfig ethOup”)。
您可以使用ethtool命令查看网口属性并测试网口与外部网络的连接是否正常。以访问www.baidu.com为例。运行以下命令。 “-”代表指定的网络端口。如果不加“-P”,则使用默认网卡。按“Ctrl+C”可以终止测试。请根据实际情况修改网卡名称。
tar 获取#ethtool etho
执行以下命令检查网关,通过ping网关测试内网连接功能是否正常。
目标#路线
目标# ping 192.168.13.254
1.11.2 网口带宽测试
本节使用Iperf3工具测试评估板与PC之间的TCP和UDP通信带宽。
(1)TCP通信带宽测试
在Ubuntu上执行以下命令检查PC IP地址并等待评估板连接。
主机#ifconfig
主机#iperf3-s
在评估板文件系统中执行以下命令,测试网络通信速度。命令中的192.168.13.74是PC的IP地址。测试完成后,Ubuntu和评估板都会打印测试结果。不同的测试环境下测试结果会有所不同。
iperf3-c192.168.13.74-02-V-32K-w256K
目标
(2)UDP通信带宽和丢包率测试
在Ubuntu上执行以下命令检查PC IP地址并等待评估板连接。
主机#ifconfig
主机#iperf3-s
在评估板文件系统中执行以下命令,测试网络通信速度。命令中的“192.168.13.74”是PC的IP地址。测试完成后,Ubuntu和评估板都会打印测试结果。本次测得EFTHO网口带宽约为924Mbit/s,丢包率为0.047%。不同的测试环境下测试结果会有所不同。
目标
iperf3-c192.168.13.74-02-V-B2K-w256K-u-b0
2网络静态IP设置
本节以评估板PS侧的千兆网口ETHO为例,演示如何为网口配置静态IP。请使用网线将评估板的PS网口和PC连接至LAN路由器。本次测试使用局域网
将评估板引导到文件系统,执行以下命令打开“/etc/network/interfaces”文件,按如下方式修改网络配置文件并保存。
tar get# wi/etc/network/interfaces
//注释下面的代码
//添加以下代码
目标#wi/etc/init.d/S41resolv.sh
标签:
用户评论
这FM20S用户手册Linux开发环境搭建的文章太实用了,我最近也在捣鼓这个,真是帮了大忙了!
有18位网友表示赞同!
刚看到这个标题,我以为是Windows环境搭建,没想到是Linux,学到了新知识。
有8位网友表示赞同!
看了用户手册,发现Linux环境搭建还挺复杂的,希望作者能出一篇详细的教程。
有6位网友表示赞同!
感谢作者分享,我已经按照这个方法搭建好了环境,感觉效率提升了不少。
有11位网友表示赞同!
Linux开发环境搭建对我来说是个难题,这篇用户手册真的太及时了。
有14位网友表示赞同!
这篇FM20S用户手册太详细了,我都快成Linux高手了。
有20位网友表示赞同!
看了这篇文章,我发现Linux开发环境搭建并没有想象中那么难,感谢作者的指导。
有10位网友表示赞同!
这篇文章对我帮助很大,之前搭建环境总是遇到问题,现在轻松解决了。
有11位网友表示赞同!
FM20S用户手册写得很清晰,对于新手来说真是太友好了。
有19位网友表示赞同!
Linux环境搭建真的挺有挑战性的,这篇文章给了我很大帮助,感谢分享。
有13位网友表示赞同!
看了这个用户手册,我发现Linux开发环境搭建原来可以这么简单。
有10位网友表示赞同!
这篇文章真是实用,我已经按照步骤操作,希望尽快搭建完成。
有8位网友表示赞同!
FM20S用户手册里的Linux环境搭建方法太棒了,我要给作者点个赞。
有13位网友表示赞同!
之前一直觉得Linux开发环境搭建很复杂,现在发现其实很简单,多亏了这篇文章。
有8位网友表示赞同!
这篇文章让我对Linux开发环境搭建有了更深的理解,谢谢作者分享。
有12位网友表示赞同!
FM20S用户手册里的Linux环境搭建步骤太详细了,我已经开始动手实践了。
有13位网友表示赞同!
看完这篇文章,我对Linux开发环境搭建有了信心,希望能顺利搭建成功。
有9位网友表示赞同!
这篇文章让我对Linux开发环境搭建有了新的认识,希望作者能继续分享更多经验。
有5位网友表示赞同!
FM20S用户手册真的很棒,不仅解决了我的问题,还让我对Linux有了更深的兴趣。
有12位网友表示赞同!
这篇文章太有帮助了,我已经成功搭建了Linux开发环境,感谢作者的指导!
有8位网友表示赞同!