前 言

本指导文档适用开发环境:

Windows开发环境:Windows 7 64bit、Windows 10 64bit

Linux开发环境:Ubuntu18.04.4 64bit

虚拟机:VMware15.5.5

进行本文档操作前,请先按照调试工具安装、Linux开发环境搭建相关文档,安装SecureCRT串口调试终端、VMware虚拟机等相关软件。

本文档主要提供开发板的硬件资源测试方法。无特殊说明情况下,默认使用USB TO UART0作为调试串口,使用Linux系统启动卡(Micro SD方式)启动系统,通过路由器与PC机进行网络连接。

本文测试板卡为创龙科技TLT3F-EVM开发板,它是一款基于全志科技T3四核ARM Cortex-A7 + 紫光同创Logos PGL25G/PGL50G FPGA设计的异构多核国产工业开发板,ARM Cortex-A7处理器单元主频高达1.2GHz。评估板由核心板和评估底板组成,核心板CPU、FPGA、ROM、RAM、电源、晶振、连接器等所有器件均采用国产工业级方案,国产化率100%。同时,评估底板大部分元器件亦采用国产工业级方案。核心板经过专业的PCB Layout和高低温测试验证,稳定可靠,可满足各种工业应用环境。

评估板接口资源丰富,引出三路网口、三路USB、双路CAN、双路RS485等通信接口,板载Bluetooth、WIFI、4G(选配)模块,同时引出LVDS LCD、TFT LCD、MIPI LCD、CVBS OUT、LINE IN、H/P OUT等音视频多媒体接口,支持双屏异显、Mali400 MP2 GPU、1080P@45fps H.264视频硬件编解码,并支持SATA大容量存储接口,方便用户快速进行产品方案评估与技术预研。

系统启动测试

接入电源,并使用Type-C线连接PC机和评估板的USB TO UART0调试串口。打开设备管理器,确认评估板USB TO UART0调试串口对应的COM端口号。

图 1
 
图 2

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

图 3

将Linux系统启动卡插入评估板Micro SD卡槽,根据评估底板丝印将启动方式选择拨码开关拨为0(并非拨码开关上文字),此档位将优先从Linux系统启动卡中启动系统。将评估板上电启动,系统将会自动登录root用户,串口终端会打印如下类似启动信息。

图 4
 
图 5

备注:由于我司提供的Linux系统保留了部分官方驱动配置,且实际未使用到相关驱动的部分功能,因此在内核启动过程中,驱动会打印"OF: no ranges;cannot translate"、"failed to get normal led pin assign"等类似警告信息。此类警告信息不会影响系统的正常运行,请忽略即可。

图 6

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

评估板上电后,电源指示灯LED0点亮;随后U-Boot第一阶段启动,LED1点亮;紧接着U-Boot第二阶段启动,LED2点亮;直至内核启动运行时,LED2熄灭,LED1进行心跳闪烁;eMMC进行读写时,LED2闪烁。

图 7

文件传送测试

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

  1. 通过Linux系统启动卡、U盘等存储介质方式拷贝。
  2. 通过NFS、TFTP、OpenSSH等网络方式拷贝。

通过Linux系统启动卡

将配套的系统启动卡通过读卡器插至PC机挂载至虚拟机Ubuntu系统,如下图,查询系统启动卡设备节点,其中"/dev/sdb7"为Linux系统启动卡文件系统分区,具体以实际名称为准。

图 8

执行如下命令,将"/dev/sdb7"设备节点挂载至"/mnt/"目录下。

Host# sudo mount /dev/sdb7 /mnt

Host# ls /mnt/

图 9

执行如下命令在Ubuntu中新建文件test0,将test0文件拷贝至评估板文件系统root目录。

Host# touch test0

Host# sudo cp test0 /mnt/root/

图 10

文件拷贝完成后,请执行如下命令卸载设备,并拔出读卡器,从中取出Linux系统启动卡。

Host# sudo umount /dev/sdb7

图 11

将Linux系统启动卡插至评估板Micro SD卡槽,评估板上电启动即可查看root目录下的文件。

Target# ls

图 12

通过OpenSSH

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

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

Host# ssh -v

图 13

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

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

Target# udhcpc -i eth0

图 14

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

Target# ifconfig

图 15

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

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

Host# touch test1 //新建文件

Host# scp test1 root@192.168.0.87:/

图 16
 

如出现提示"Are you sure you want to continue connecting (yes/no)?",请输入:yes。

在评估板上执行如下命令可看到从PC机拷贝过来的文件,如下图所示。

Target# ls /

图 17
  1. 使用OpenSSH从评估板传送文件至PC机

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

Target# cd /

Target# touch test2 //新建文件

图 18

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

Host# sudo scp root@192.168.0.87:/test2 /home/tronlong/

Host# ls

图 19
  1. 使用OpenSSH登录到评估板文件系统

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

Host# sudo ssh root@192.168.0.87

图 20

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

LED测试

评估底板LED1、LED2与GPIO对应关系如下表所示,系统启动后默认点亮。

表 1

LED1

LED2

PB4

PB10

进入评估板文件系统,执行如下命令逐盏熄灭、点亮LED。

Target# echo 0 > /sys/class/leds/user-led0/brightness //控制LED1灭

Target# echo 1 > /sys/class/leds/user-led0/brightness //控制LED1亮

Target# echo 0 > /sys/class/leds/user-led1/brightness //控制LED2灭

Target# echo 1 > /sys/class/leds/user-led1/brightness //控制LED2亮

图 21
 

按键测试

评估底板包含3个用户按键:USER0(KEY3)、USER1(KEY4)、USER2(KEY5)。进入评估板文件系统,执行如下命令查看用户按键对应的事件号。其中USER0(KEY3)和USER1(KEY4)对应的按键事件号为event1,USER2(KEY5)对应的按键事件号为event5。

Target# cat /proc/bus/input/devices

图 22

执行如下命令,分别按下USER0(KEY3)和USER1(KEY4)进行按键测试,可看到如下打印信息,其中"0094"表示USER0(KEY3),"0095"表示USER1(KEY4),按"Ctrl + C"可终止测试命令。

Target# od -x /dev/input/event1

图 23

执行如下命令,按下USER2(KEY5)进行按键测试,可看到如下打印信息,"00ca"表示USER2(KEY5),按"Ctrl + C"可终止测试命令。

Target# od -x /dev/input/event5

图 24

时钟设置测试

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

如需使用外部RTC时钟,请先安装RTC电池。如下为时钟相关的常用命令。

查看系统时钟

Target# date

图 25

查看RTC时钟

Target# hwclock -u

图 26

设置系统时间

Target# date -s "2023-01-01 8:30:00" //设置时间:2023年1月1日8点30分00秒

Target# date

图28

同步系统时钟至RTC时钟

Target# hwclock --systohc -u

Target# hwclock -u

同步系统和RTC的时钟

执行指令后,系统会同步RTC时钟作为系统时钟。

Target# hwclock --hctosys -u

图 29

DDR读写测试

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

DDR读速度测试

进入评估板系统,执行如下命令对DDR进行读速度测试。

Target# bw_mem 100M rd

图 30

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

DDR写速度测试

进入评估板系统,执行如下命令对DDR进行写速度测试。

Target# bw_mem 100M wr

图 31

测试写入100MByte数据至DDR中,可看到本次测试的写速度为560.64MB/s。

DDR拷贝速度测试

进入评估板系统,执行如下命令对DDR进行拷贝速度测试。

Target# bw_mem 100M cp

图 32

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

Micro SD接口读写测试

本小节使用SanDisk品牌、128GByte容量的Micro SD卡来测试评估板Micro SD接口性能。请参考《Linux系统启动卡制作及系统固化》文档将其制作成Linux系统启动卡再进行测试。不同的Micro SD卡以及不同的测试方法,对Micro SD接口测试结果将造成一定差异。

请先取出Linux系统启动卡,根据底板丝印将启动方式选择拨码开关拨为0,将评估板上电,系统将从eMMC启动,再将Linux系统启动卡插入评估板Micro SD卡槽。进入评估板文件系统执行如下命令查看Micro SD卡信息。

Target# fdisk -l

图 33

Micro SD接口写速度测试

进入评估板系统,执行如下命令测试Micro SD接口写速度。

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

Target# mkdir -p /run/media/mmcblk1p7

Target# mount /dev/mmcblk1p7 /run/media/mmcblk1p7

Target# time dd if=/dev/zero of=/run/media/mmcblk1p7/test bs=1024K count=500

time命令有计时作用,dd用于复制,从if(input file)文件读出,写到of(output file)指定的文件,bs是每次写块的大小,count是读写块的数量。

"if=/dev/zero"不产生IO,即不断输出数据,可用来测试纯写速度。

图 34

此处一共写500MByte测试数据至Micro SD卡的test文件,可看到本次测试的Micro SD接口写速度约为:500MB/28.169s = 17.733MB/s。

Micro SD接口读速度测试

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

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

Target# time dd if=/run/media/mmcblk1p7/test of=/dev/null bs=1024K

"of=/dev/null"不产生IO,即不断接收数据,可用来测试纯读速度。

图35

此处从test文件一共读出500MByte的数据,可看到本次测试的Micro SD接口读速度约为:500MB/27.727s = 18.032MB/s。

eMMC读写测试

将Linux系统启动卡插入评估板Micro SD卡槽,评估板上电启动完成后,执行如下命令查看信息。

Target# fdisk -l

图 36

eMMC写速度测试

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

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

Target# mkdir -p /run/media/mmcblk0p7

Target# mount /dev/mmcblk0p7 /run/media/mmcblk0p7

Target# time dd if=/dev/zero of=/run/media/mmcblk0p7/test bs=1024K count=500

图 37

此处一共写500MByte测试数据至eMMC设备,可看到本次测试的eMMC设备写速度约为500MB/12.301s = 40.647MB/s。

(2)eMMC读速度测试

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

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

Target# time dd if=/run/media/mmcblk0p7/test of=/dev/null bs=1024K

图 38

此处从eMMC设备中一共读出500MByte数据,可看到本次测试的eMMC设备读速度约为500MB/12.617 = 39.629MB/s。

SPI FLASH读写测试

本小节对SPI FLASH的MTD0分区进行读写速度测试。SPI FLASH由ARM端和FPGA端共同控制,因此在测试之前,需停止FPGA端控制,并配置SPI总线工作模式,使SPI与SPI FLASH通信。

执行如下命令,停止FPGA端控制,然后安装SPI FLASH驱动。

Target# echo 68 > /sys/class/gpio/export

Target# echo out > /sys/class/gpio/gpio68/direction

Target# echo 0 > /sys/class/gpio/gpio68/value //停止FPGA的控制

Target# echo 69 > /sys/class/gpio/export

Target# echo out > /sys/class/gpio/gpio69/direction

Target# echo 1 > /sys/class/gpio/gpio69/value //使能SPI与SPI FLASH通信

Target# depmod -a

Target# modprobe m25p80

图 39

执行如下命令,查看FLASH分区如下图所示。

Target# cat /proc/mtd

图 40

执行如下命令,拷贝文件至该分区,测试分区功能是否正常。

Target# time dd if=/CameraUI of=/dev/mtd0

图 41

SPI FLASH写速度测试

进入评估板系统,执行如下命令对SPI FLASH进行写速度测试。

Target# time dd if=/dev/zero of=/dev/mtd0 bs=1024K count=8

图 42

测试写入8MByte数据至SPI FLASH的MTD0分区下,可看到本次测试的SPI FLASH写速度约为:8MByte/19.248s = 0.415MB/s。

SPI FLASH读速度测试

重启评估板,进入评估板系统,执行如下命令对SPI FLASH进行读速度测试。

Target# time dd if=/dev/mtd0 of=/dev/null bs=1024K

图 43

测试从SPI FLASH的MTD0分区读取8MByte数据,可看到本次测试的SPI FLASH读速度约为:8MByte/1.382s = 5.788MB/s。

SATA接口测试

本章节使用三星品牌、120GByte容量的SATA接口SSD固态硬盘(以下简称“SATA硬盘”)并划分一个FAT32格式20GByte容量的分区测试SATA接口。请将SATA硬盘通过数据线连接至评估底板SATA接口。

进入评估板文件系统,执行如下命令可查询到SATA硬盘设备节点为sda1,容量为20GByte。挂载多个存储设备时,挂载名可能会变更,请以实际查询为准。

Target# fdisk -l

Target# df -h

图 44
图 45

写速度测试

执行如下命令,测试SATA接口写速度。

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

Target# time dd if=/dev/zero of=/mnt/usb/sda1/test bs=1024K count=1000

图 46

此处一共写1000MByte测试数据至SATA硬盘,可看到本次测试的SATA接口写速度约为1000MB/30.119s = 33.201MB/s。

读速度测试

执行如下命令,测试SATA接口读速度。

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

Target# time dd if=/mnt/usb/sda1/test of=/dev/null bs=1024K

图 47

此处从SATA硬盘中一共读出1000MByte的数据,可看到本次测试的SATA接口读速度为1000MB/5.326s = 187.758MB/s。

USB接口读写测试

USB HOST模式测试

本章节进行USB HOST模式读写测试,使用SanDisk品牌、FAT32格式、16GByte容量的U盘,支持USB3.0/2.0。不同品牌、格式或容量的U盘,测试结果会有所差别。

请通过Type-C转接头将U盘与评估板USB0 OTG接口连接,或直接将U盘与评估板USB1 HOST(双层)任意一个HOST接口连接。如下测试以USB1 HOST接口为例,其余接口方法一致,将U盘插至评估板USB1 HOST接口后,出现如下打印信息,可以从中看到U盘大小、挂载名等,如下图所示。出现如下信息说明正确识别到设备。

图 48

执行如下命令可查询挂载路径。挂载名和挂载路径请以实际查询为准,如下图所示。

Target# df -h

图 49

备注:USB0 OTG默认是DEVICE模式,测试USB HOST模式时,需将USB0 OTG修改为USB HOST模式。请执行如下命令,修改adb.sh文件,在文件最后一行添加内容"cat /sys/bus/platform/devices/usbc0.2/usb_host"。

Target# vim /adb.sh

图 50
图 51

写速度测试

执行如下命令,测试USB接口写速度。

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

Target# time dd if=/dev/zero of=/mnt/usb/sda1/test bs=1024K count=200

图 52

此处一共写200MByte测试数据至U盘,可看到本次测试的USB接口写速度约为:200MB/15.218s = 13.142MB/s。

读速度测试

执行如下命令,测试USB接口读速度。

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

Target# time dd if=/mnt/usb/sda1/test of=/dev/null bs=1024K

图 53

此处从USB接口读取200MByte数据,可看到本次测试的USB接口读速度约为200MB/12.617s = 15.851MB/s。

USB DEVICE模式测试

本小节测试仅支持USB0 OTG接口,USB0 OTG默认是DEVICE模式,请通过Type-C线将PC机与评估板的USB0 OTG(CON17)接口进行连接。

执行如下指令,将系统boot-resource分区(mmcblk1p2)虚拟化为U盘,PC机将识别该U盘。

Target# echo /dev/mmcblk1p2 > /sys/class/android_usb/f_mass_storage/lun/file

Target# cat /sys/bus/platform/devices/usbc0.2/otg_role //查看当前USB模式

图 54
图 55

将U盘中的图片bootlogo.bmp拷贝至PC机中,在PC机查看图片是否正常显示,接着再把图片从电脑拷贝至U盘。

图 56

PC机可正常识别boot-resource分区虚拟化的U盘,并能正常查看boot-resource分区文件与正常读写,说明USB DEVICE功能正常。

串口测试

TTL UART6、TTL UART7串口

使用TTL转Micro USB模块,将评估板的TTL UART6(CON7)或TTL UART7(CON8)串口连接至PC机的USB接口。本小节以TTL UART6(CON7)串口为例(设备节点为:ttyS6)进行演示。如需测试TTL UART7(CON8)串口,请将设备节点修改为ttyS7。

打开设备管理器,本次测试中调试串口USB TO UART0端口号为COM9,TTL UART6串口的端口号为COM4,如下图所示。

图 57

打开串口调试终端,COM4、COM9波特率设为115200,8N1,无校验位,并建立串口连接,如下图所示。

图 58

发送测试

进入评估板文件系统,执行如下命令,设置TTL UART6串口。

Target# stty -F /dev/ttyS6 ispeed 115200 ospeed 115200 cs8 //设置串口波特率

Target# echo tronlong > /dev/ttyS6

图 59
 
图 60

接收测试

执行如下命令,由调试串口向TTL UART6串口发送数据,TTL UART6串口对应的串口调试终端将显示接收到的数据,按"Ctrl + C"可终止测试命令。

Target# cat /dev/ttyS6 //等待接收UART6串口数据

图 61
 
图 62

RS232 UART3串口

使用RS232交叉串口母母线、USB转RS232公头串口线,将评估板的RS232 UART3串口连接至PC机的USB接口。

打开设备管理器,本次测试中调试串口USB TO UART0端口号为COM9,RS232 UART3串口的端口号为COM12,如下图所示。

图 63

打开串口调试终端,COM9、COM12波特率设为115200,8N1,无校验位,并建立串口连接,如下图所示。

图 64

发送测试

进入评估板文件系统,执行如下命令,由调试串口向RS232 UART3串口发送数据,RS232 UART3串口对应的串口调试终端将显示接收到的数据。

Target# stty -F /dev/ttyS3 ispeed 115200 ospeed 115200 cs8 //设置串口波特率

Target# echo tronlong > /dev/ttyS3

图 65
 
图 66

接收测试

执行如下命令,并在RS232 UART3串口输入数据,调试串口对应的串口调试终端将显示接收到的数据,按"Ctrl + C"可终止测试命令。

Target# cat /dev/ttyS3 //等待接收RS232 UART3串口数据

图 67
 
图 68

RS485 UART4、RS485 UART5串口

使用RS232转RS485模块、USB转RS232公头串口线,将评估板的RS485 UART4或RS485 UART5串口连接至PC机的USB接口。

RS232转RS485模块与评估板RS485串口连接方法如下:

  1. RS232转RS485模块485+端子,连接评估板RS485串口A端子。
  2. RS232转RS485模块485-端子,连接评估板RS485串口B端子。
  3. RS232转RS485模块GND端子,连接评估板RS485串口GND1端子。

本章节以RS485 UART4串口(设备节点为:ttyS4)为例进行演示。如需测试RS485 UART5串口,请将设备节点修改为ttyS5。

打开设备管理器,本次测试中调试串口USB TO UART0端口号为COM9,RS485 UART4串口的端口号为COM12,如下图所示。

图 69

打开串口调试终端,COM9、COM12波特率设为115200,8N1,无校验位,并建立串口连接,如下图所示。

图 70

发送测试

进入评估板文件系统,执行如下命令进行调试串口与RS485 UART4串口互发数据。RS485 UART4串口测试步骤、现象与RS232串口类似。

Target# stty -F /dev/ttyS4 ispeed 115200 ospeed 115200 cs8 //设置波特率

Target# echo tronlong > /dev/ttyS4 //向RS485 UART4串口发送数据

图 71
图 72

接收测试

执行如下命令,并在RS458 UART4串口输入数据,调试串口对应的串口调试终端将显示接收到的数据,按"Ctrl + C"可终止测试命令。

Target# cat /dev/ttyS4 //等待接收RS485 UART4串口数据

图 73
 
图 74

嵌入式ARM端测试手册——全志T3+Logos FPGA开发板(上)的更多相关文章

  1. dmalloc在嵌入式的开发板上的应用

    下面是我实际在开发环境里面做的dmalloc移植时候的一些随笔 配置PC的dmalloc环境1. 首先把源码包打开,进入dmalloc文件夹2. ./configure 配置Makefile,我是加了 ...

  2. 迅为嵌入式4412平台兼容3G/4G模块的安卓开发板

    安卓开发板特点说明: 1. 配备16G固态硬盘EMMC存储 2. 64位双通道2GB内存 三星S5M8767电源管理 板载高精度GPS模块 CAN,RS-485等工业接口 板载WIFI蓝牙模块,陀螺仪 ...

  3. QT5.4.1在ARM开发板上不能显示汉字

    在linux下正常的程序,移植到ARM上,中文不能显示.网上好多介绍,一头雾水.查看其中话题是关于中文显示的(http://www.qtcn.org/bbs/simple/?t55852.html). ...

  4. arm开发板上找不到/dev/i2c-*设备

    最近在调试arm与外设iic通讯是,想来个投机取巧,先不写单独的驱动,直接通过iic bus设备是否可以连接到外设,然后发现在板子上找不到"/dev/i2c-n"的设备,标准的系统 ...

  5. ARM开发板上iconv调用失败的解决方法

    当前流行的字符编码格式有:US-ASCII.ISO-8859-1.UTF-8.UTF-16BE.UTF-16LE.UTF-16.GBK.GB2312等,其中GBK.GB2312是专门处理中文编码的.而 ...

  6. minigui移植到arm linux开发板上无法执行

    要保证目录下有该文件 /etc/MiniGUI.cfg 复制过程使用cp –af 强制复制

  7. 入门嵌入式选择2440?树莓派?STM32?4412开发板?

    如果了解一下当前IT和物联网发展的形势,就会发现Android工程师越来越受欢迎,相比之下单纯的Linux工程师却逊色不少,当然,Android系统的内核也是Linux的,Linux和Android作 ...

  8. ARM开发板上查看动态库或者可执行程序的依赖关系

    以ARM32开发板为例,在/lib下有一个名为ld-linux-armhf.so.3的可执行程序(在ARM64开发板上是/lib/ld-linux-aarch64.so.1),这个程序负责加载可执行程 ...

  9. Qt在各平台上的搭建qt-everywhere(Qt for windows7-64bit, Ubuntu 12.04-32bit, 嵌入式x86平台, 嵌入式arm平台)

    下载地址:http://download.qt.io/ 当进入解压好的源码包后,使用./configure –help命令,可以获得相应帮助,前面是*号的表示默认参数. +号表示该功能要求被评估,评估 ...

  10. ARM 开发板嵌入式linux系统与主机PC通过串口传输文件

    本文转载自http://useless20.blog.163.com/blog/static/237409982010227127576/ 嵌入式linux系统与主机通过串口传输文件 我想如果要从PC ...

随机推荐

  1. 四:大数据架构回顾-IOTA架构

    IOTA大数据架构是一种基于AI生态下的全新的数据架构模式,2018年,易观首次提出这一概念.IOTA的整体思路是设定标准数据模型,通过边缘计算技术把所有的计算过程分散在数据产生.计算和查询过程当中, ...

  2. 视频讲解如何构建surging微服务调用

    surging 是一款优秀的微服务引擎,包括了社区版,标准版,异构版,平台版本来解决公司的业务场景需求,如果你是初学者,或者是技术狂热者,社区版完全可以符合你们的要求来学习或者构建起微服务体系的引擎框 ...

  3. 【简说Python WEB】Form提交表单

    目录 [简说Python WEB]Form提交表单 安装flask-wtf 代码树 app.py源码中表单类: index.html的源码修改:渲染form表单 app.py源码中from表单处理 会 ...

  4. csapp-datalab(菜鸟小白版)

    第1题: /* * bitXor - x^y using only ~ and & * Example: bitXor(4, 5) = 1 * Legal ops: ~ & * Max ...

  5. 等保测评--postgresql修改默认超级用户,建立普通用户使用

    1.postgresql权限说明 SELECT INSERT UPDATE DELETE TRUNCATE REFERENCES TRIGGER CREATE CONNECT TEMPORARY EX ...

  6. Pytorch:以单通道(灰度图)加载图片

    以单通道(灰度图)加载图片 如果我们想以单通道加载图片,设置加载数据集时的transform参数如下即可: from torchvision import datasets, transforms t ...

  7. 联网安装与源码安装mysql

    一.卸载mariadb的rpm包 1.首先,你需要找出已安装的MariaDB包的具体名称.可以使用以下命令列出所有已安装的MariaDB包: rpm -qa | grep mariadb 2.删除命令 ...

  8. mvc5接口报错:The JSON request was too large to be deserialized的一种原因

    是mvc5版本的接口,接口使用了dynamic接收数组,json对象数组只有56个,length长度不到10万,但是提交就报The JSON request was too large to be d ...

  9. 人脸识别库 虹软 客户端 服务端 示例 基于虹软SDK在C/S 模式下的多人脸实时识别(C#)

    https://github.com/18628271760/MultipleFacesProcess 一.前言 虹软开发SDK以来,其免费使用的营销策略,成功降低了中小企业使用人脸识别技术的成本.然 ...

  10. MySQL学习笔记-数据查询语言

    SQL-数据查询语言(DQL) DQL语法结构 #DQL语句编写顺序 select 字段列表 from 表名列表 where 条件列表 group by 分组字段列表 having 分组后条件列表 o ...