UART 接口测试 一、系统下串口测试 1.minicom minicom -s 组合键 Ctrl+a 进入设置状态 按z打开帮助菜单,或者直接输入菜单对应的字母即可 S键:发送文件到目标系统中...测试程序 带传参波特率、奇偶校验、停止位、数据位 #include #include #include #include <pthread.h...; exit(1); } //set_parity(uart_fd, speed, 8, 'O', 1); ret = set_parity(uart_fd, speed, databits, parity...} 1.测试接受 将串口ttyS1接受到的数据保存在1.log文件里 ..../uart_text /dev/ttyS1 115200 8 n 1 1.log receive 2.测试发送 将文件1.log内容发送到串口ttyS1上 .
2 模块介绍 2.1 模块功能介绍 Linux 内核中,UART 驱动的结构图 1 所示, 可以分为三个层次: 图 2-1: Linux UART 体系结构图 Sunxi UART Driver..._pins_a>; /* 设备正常状态下使用的pin脚*/ pinctrl-1 = ; /* 设备休眠状态下使用的pin...别名形式为字符串 “serial” 加连续编号的数字,在 UART 驱动程序中可以通过 of_alias_get_id() 函数获取对应的 UART 控制器的数字编号,从而区分每一个 UART 控制器。...通过 SUNXI_UART_NUM 宏确认支持 uart 的数量。 修改完毕后,启动小机,查看 ttySn 设备是否生成,通过该设备测试 uart 是否正常使用即可。...更精确地说,这个字符使得 tty 缓冲中的内容被送到等待输入的用户程序中,而不必等到 EOL。如果它是一行的第一个字符,那么用户程序的 read() 将返回 0,指示读到了 EOF。
发表于2019-12-052019-12-05 作者 wind 安装speedtest speedtest是一个用Python编写的轻量级Linux命令行工具,在Python2.4至3.4版本下均可运行...path中 # mv speedtest.py /usr/local/bin/speedtest # chown root:root /usr/local/bin/speedtest 使用speedtest测试网速...# speedtest 输入这个命令后,它会自动发现离你最近的Speedtest.net服务器(地理距离),然后打印出测试的网络上/下行速率,类似于这样的输出: $ .
chips/t113/configs/evb1/sys_config.fex 中的 uart_debug_port 修改前: [uart_para] uart_debug_port = 0 uart_debug_tx...= port:PF02 uart_debug_rx = port:PF04 修改后 [uart_para...] uart_debug_port = 0 uart_debug_tx = port:PE02 uart_debug_rx = port:PE03...> ^ ^ PE2脚 引脚功能6(查阅datasheet得知) 修改设备树(Linux使用的串口输出) 路径:device/config/chips.../t113/configs/evb1/board.dts 修改前 uart0_pins_a: uart0_pins@0 { /* For EVB1 board */ pins = "PF2", "PF4
场景二:使用UART3,需要从UART0改为UART3(PB6,PB7) 修改sys_config.fex(BOOT0与Uboot的串口) sys_config.fex 的路径是 device/config.../chips/t113/configs/evb1/sys_config.fex 中的 uart_debug_port 修改前: [uart_para] uart_debug_port = 0 uart_debug_tx...] uart_debug_port = 3 uart_debug_tx = port:PB06 uart_debug_rx = port:PB07... 修改设备树(Linux使用的串口输出) 路径:device/config/chips/t113/configs/evb1/board.dts 修改前 uart3..."; }; &uart0 { pinctrl-names = "default", "sleep"; pinctrl-0 = ; pinctrl-1 = <&uart0
对于 linux的开发板来说,串口的驱动是不需要我们去开发,我目前是在内核4.9上开发,只需要修改一下设备树就可以了。所以直接对设备文件进访问就可以了。...如果既未设置IGNBRK 也未设置 BRKINT,BREAK 将视为与 NUL 字符同义,除非设置了 PARMRK,这种情况下它被视为序列 /377 /0 /0。...更精确地说,这个字符使得 tty 缓冲中的内容被送到等待输入的用户程序中,而不必等到 EOL。如果它是一行的第一个字符,那么用户程序的 read() 将返回 0,指示读到了 EOF。...VDSUSP:(not in POSIX; not supportedunder Linux; 031, EM, Ctrl-Y) 延时挂起信号。当用户程序读到这个字符时,发送 SIGTSTP 信号。...fd= open("/dev/ttyS2", O_RDWR | O_NOCTTY | O_NONBLOCK); if(fd <= 0) { printf("uart
通常情况下,我们都是使用tcp或者icmp来测试机器的TCP信息,但是有一部分环境下,我们需要使用UDP来进行通讯,常规测试方法是搭建一个正常的酸酸乳服务,然后进行udp测试,但是此方法比较繁琐,可以使用更简单的测试工具.../udpping.py 127.0.0.1 4000 如果在其他机器进行测试: ./udpping.py ip 4000 如果正常,可以得到如下结果: [root@VM-6462 ~]# .
在上一篇笔记中有分享Linux下的vi/vim编辑器的使用方法(【Linux笔记】Vi/Vim编辑器),现在我们就可以使用vi/vim编辑器编写C代码了。那么写完代码该怎么进行编译呢?...关于在Windows命令行下编译C程序的方法可查看往期笔记:【C语言笔记】windows命令行下编译C程序、【C语言笔记】使用notepad++、MinGW来开发C程序。...以上就是在Linux下编译C程序的基本方法,适用于源文件不多的情况。后续的笔记中还会分享其他编译方法,欢迎持续关注!如果你觉得对你有用的话,麻烦帮忙点个赞。...在Linux下进行C语言编程的学习可能会增加学习的成本,但是从长远来看仍然是有必要的。...若不想安装Linux系统,也想适应一下Linux环境,则可参考往期笔记:【C语言笔记】Windows下体验Linux环境。
提醒 本程序针对使用者对非他人(自己)的站点进行压力测试,达到防御CC攻击为目的,请勿恶意使用!...演示压测 webbench -t 60 -c 100 http://www.heibai.org/ 说明:测试猫先生博客网址, 启动100个客户端同时请求猫先生博客首页,持续60S 目前只支持HTTP方式提交
0kB, shmem-rss:0kB total-vm:进程总共使用的虚拟内存; anon-rss:虚拟内存实际占用的物理内存; file-rss:虚拟内存实际占用的磁盘空间; OOM KILLER LINUX
如何在 Linux 上安装 tcpping 测量到远程主机的网络延迟的一种常用方法是使用ping应用程序。该ping工具依赖 ICMP ECHO 请求和回复数据包来测量远程主机的往返延迟。...但是,在某些情况下,ICMP 流量可能会被防火墙阻止,这使得该ping应用程序对于受限制的防火墙后面的主机毫无用处。...在这种情况下,你将需要依赖使用 TCP/UDP 数据包的第 3 层测量工具,因为这些第 3 层数据包更有可能绕过常见的防火墙规则。 一种这样的第 3 层测量工具是tcpping....但是,如果你tcpping在最小 Linux 运行时环境(例如Docker容器、AWS 最小映像 AMI)中运行,则bc可能不会预先安装。在这种情况下,你需要bc自己安装。...0.5秒(1秒=1000毫秒),单位 秒 tcping -w 0.5 1.1.1.1 80 -d :在每行返回信息中加入时间信息 tcping -d 1.1.1.1 80 -s : 当 TCPing 测试成功后
安装apache自带的测试工具 yum -y install httpd-tools 安装完事之后直接获取语法 ab or ab -help 此外,我们再根据上面的用法介绍界面来详细了解每个参数选项的作用...-n 即requests,用于指定压力测试总共的执行次数。 -c 即concurrency,用于指定的并发数。 -t 即timelimit,等待响应的最大时间(单位:秒)。...-r 指定接收到错误信息时不退出程序。 -h 显示用法信息,其实就是ab -help。...ab -c 100 -n 10000 待测试网站路径 示例 ab -c 100 -n 5000 http://192.168.1.106/index1.html 注意事项 测试机与被测试机要分开...不要对线上的服务器做压力测试 观察测试工具ab所在机器,以及被测试的前端机的CPU、内存、网络等都不超过最高限度的75% 如果有报错,参考下面方式,关闭保护即可最大并发 vim /etc/sysctl.conf
但使用JMeter在自己的电脑(下称本机)上运行压测脚本时,一般会有两个瓶颈: 网络:本机与服务器之间的网络开销,会严重影响服务的性能表现。而且,本机与服务器一般不在同一个网段,网络瓶颈会更加明显。...基于以上两点考虑,将压测脚本部署到Linux服务器上运行,是一个很好的选择。在实际的性能测试中,一般会专门申请一台CPU、内存、磁盘指标都较好的linux服务器作为压测机器。...no-gui模式运行脚本 一、操作步骤 在windows下Jmeter里编写完成脚本,脚本名称:test.jmx; 将脚本上传到Linux系统指定目录中,例如:/opt/local/jmeterScripts...-t表示测试计划,后面跟测试计划名称 -l表示测试结果,后面跟测试结果文件名称 ?...解决方案是:在Filename处填写参数化文件在Linux系统下的绝对路径,当然这个输入框是不允许输入Linux路径格式的,需要通过引用变量的方式赋值。 ?
当 UART 接收 RS-232 输入时,移位寄存器在波特率模式下采集 RS-232 输入信号,并且保存结果;当 UART 进行 RS-232 输出时,UART 内核首先将数据加载到移位寄存器内,再使移位寄存器在波特率模式下将数据输出到...图 7 UART 发送数据流程图 下面依次介绍一下 UART 各个模块的实现方法。...3.11 测试平台的编写和仿真 为了验证 UART 实现的正确性,需要设计一个仿真平台对 UART 顶层模块进行仿真,下面就介绍一下 UART 仿真平台的编写方法和仿真结果的分析。...', '0', '1', '0', '1', '0', '0', others => '1'); 在波特率为 9600 情况下利用上述测试平台对 UART 进行仿真,得到数据发送的仿真结果分别如图 28...可见,发送的结果符合 RS-232 的时序要求,UART 的发送功能完全正确。 同样测试条件下数据接收的仿真结果如图 29 所示。
image.png 如何启动程序 双击(windows系统下),或者在shell终端上执行....在主函数执行之前,主要做了以下准备工作: 检查并尝试打开/dev/tty 检查shell是否在调试模式下运行 分析命令行参数 读取shell环境 加载.bashrc、.profile和其他配置文件等。...二进制参数准备 struct linux_binprm linux_binprm结构用于保存加载二进制文件时使用的参数。...bprm-> exec = bprm-> p; 堆栈的顶部将包含程序文件名,我们将该文件名存储到linux_bprm结构的exec字段中。...elf_phdata) goto out; 程序解释器指定在可执行文件的.interp部分(在大多数情况下,对于x86_64,链接器为– /lib64/ld-linux-x86-64.so.2)
(2)内存有多种管理方法:栈、堆、数据段、bss段、.text段等,其实这个Linux环境可以查看以ELF结尾的可执行程序,可以看到所说的这些的;一个变量的存储类属性就是描述这个变量存储在何种内存段中。...(3)研究变量的生命周期可以我们理解程序运行的一些现象、理解C语言的一些规则。 - 链接属性 - (1)大家知道程序从源代码到最终可执行程序,经历的过程:编译、链接。...Linux下c程序的内存映像 - 代码段、只读数据段 - (1)对应着程序中的代码(函数),代码段在linux中又叫文本段(.text)。...- 内核映射区 - (1)内核映射区就是将操作系统内核程序映射到这个区域了。 (2)对于linux中的每一个进程来说,它都以为整个系统中只有它自己和内核而已。...总结 上面的介绍,只是一些概念性的介绍,要详细更加深入的理解Linux内存,可以看这篇文章:https://blog.csdn.net/f22jay/article/details/7925531
Sysstat 包包含许多商业单位共有的各种实用程序,用于监控系统性能和使用活动: iostat (1) 报告设备、分区和网络文件系统的CPU统计和硬盘吞吐效率的数据。...sadf (1) 以多种格式 (CSV、XML、JSON等) 显示由sar收集的数据,并可用于与其他程序的数据交换。...%steal 管理程序(hypervisor)为另一个虚拟进程提供服务而等待虚拟CPU的百分比。 %idle 显示 CPU 空闲时间占用CPU总时间的百分比。...我们只了解一下常用的内容就行,大多数内容我们了解就行。...参考文献 Systat Document Linux下sysstat安装使用图文详解 --------------------- Author: Frytea Title: Linux 下 Sysstat
一、为什么要使程序在后台执行 我们计算的程序都是周期很长的,通常要几个小时甚至一个星期。我们用的环境是用putty远程连接到日本Linux服务器。...所以使程序在后台跑有以下三个好处: 1:我们这边是否关机不影响日本那边的程序运行。...(不会像以前那样,我们这网络一断开,或一关机,程序就断掉或找不到数据,跑了几天的程序只能重头再来,很是烦恼) 2:不影响计算效率 2:让程序在后台跑后,不会占据终端,我们可以用终端做别的事情。...二、怎么样使程序在后台执行 方法有很多,这里主要列举两种。假如我们有程序pso.cpp,通过编译后产生可执行文件pso,我们要使pso在linux服务器后台执行。...附: 在Linux中,如果要让进程在后台运行,一般情况下,我们在命令后面加上&即可,实际上,这样是将命令放入到一个作业队列中了: $ .
程序员也一定认同,程序不是写出来的,是调试出来的。那么调试工具就显得尤为重要,linux作为笔者重要的开发平台,在linux中讨论调试工具主要是为那些入门者提供一些帮助。...在Linux下的用户空间调试工具主要有系统工具和专门调试工具:'print' 打印语句,这是新手最常用的,也是最不提倡使用的;查询 (/proc, /sys 等)系统的虚拟文件查看,这个方法有局限性;跟踪...若需要调试的程序比较大,这将是一个耗时费力的方法。 2. 查询 在某些情况下,我们需要弄清楚在一个运行在内核中的进程的状态和内存映射。为了获得这些信息,我们不需要在内核中插入任何代码。...跟踪 strace的和ltrace是两个在Linux中用来追踪程序的执行细节的跟踪工具。 strace: strace拦截和记录系统调用及其接收的信号。...例如,如果'x'是调试程序内的变量,'print x'会打印x的值。 检查源码: 源码可以在GDB中打印。默认情况下,'list'命令会打印10行代码。
举个例子,有A模块需要调用B模块,需要对A模块进行测试,但是B模块没有实现,那么就可以利用gmock和gtest对B模块进行打桩测试,来模拟B接口的实现测试A接口。...本文主要介绍gmock和gtest在linux中的环境搭建。...准备gtest框架 (1) 获取gtest框架 命令行模式下输入: git clone https://github.com/google/googletest 进入googletest目录,目录有以下内容...(4)编写单元测试代码functionsTest.cpp ? (5)编写测试代码TestAll.cpp ? ? 编译与运行测试代码 (1)在TestGtest目录下新建lib目录。...并复制libgtest.a到其中,再将googletest中的include复制到TestGtest下。
领取专属 10元无门槛券
手把手带您无忧上云