首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
您找到你想要的搜索结果了吗?
是的
没有找到

Linux基础(串口编程)

虽然以太网接口和USB接口也是以一个串行流进行数据传送的,但是串口连接通常特指那些与RS-232标准兼容的硬件或者调制解调器的接口。废话少讲,今天来解剖使用串口时的编程代码细节。...上面的代码是使用串口的第一步,来解释下都是啥意思。...来瞧瞧: 第21-22行,定义了一个用来配置串口属性的结构体: struct termios serial; bzero(&serial, sizeof(serial)); 第24行,将串口设置为raw...数据模式,即关闭掉字符回显、关闭输入输出时特殊的进度控制特殊字符,因为我们此时不需要使用串口来实现终端控制,因此这些功能都不需要: cfmakeraw(&serial); 第25-26行,很简单,设置输入输出波特率...: tcsetattr(fd,TCSANOW,&serial); 当然,上面的 fd 就是系统中的某一个你想要设置的成上面那样的属性参数的串口,比如就拿粤嵌GEC210开发板来说,他有四个串口,其中第一个就已经被用于终端控制了

12.7K20

Linux 查看本机串口方法

最近在了解嵌入式方面的知识,就随笔记录一下: 查看Linux本机串口: 1、查看串口是否可用    可以对串口发送数据比如对com1口,echo /dev/ttyS0 2、查看串口名称使用    ls...-l /dev/ttyS*   一般情况下串口的名称全部在dev下面,如果你没有外插串口卡的话默认是dev下的ttyS*,一般ttyS0对应com1,ttyS1对应com2,当然也不一定是必然的; 3、...查看串口驱动    cat/proc/tty/drivers/serial 4、查看串口设备    dmesg | grep ttyS* 5、查一下板子上的串口有没有设备    grep tty/proc.../dev下应该有一个USB串口:/dev/ttyUSB0. 当一个串行卡或数据卡被侦测到时,它会被指定成为第一个可用的串行设备。...PC上的串口一般是ttyS,板子上Linux串口一般叫做ttySAC; 串口使用: 如果需要查看这个串口设备输出: cat ttyUSB0 如果需要对这个设备输入: echo yaoxu > ttyUSB0

21.4K20

Linux 串口的基本用法

查看Linux本机串口: 1、查看串口是否可用 如果需要查看这个串口设备输出: cat ttyUSB0 如果需要对这个设备输入: echo yaoxu > ttyUSB0 常用的调试工具有: minicom...cutecom Linux系统可视化串口应用软件,使用上与Windows系统串口调试工具。 picocom 效果上类似 minicom 的精简版,设置比较简单,还可以有背景颜色。...PC上的串口一般是ttyS,板子上Linux串口一般叫做ttySAC; 串口权限问题 临时调试解决 在使用串口进行通信时,经常需要使用指令来赋予用户读写的权限 $ sudo chmod 777 /dev...查看linux所有用户 使用 /etc/passwd 文件 使用任何一个像 cat、more、less 等文件操作命令来打印 Linux 系统上创建的用户列表。.../etc/passwd 是一个文本文件,其中包含了登录 Linux 系统所必需的每个用户的信息。

9.9K41

ARM平台下Linux嵌入式环境搭建

/arm-none-linux-gnueabi-gcc -v后成功输出版本相关信息就表示安装成功。 cd arm-2009q3/bin/ ....export PATH=/usr/local/arm/arm-2009q3/bin/:$PATH 一般情况下使用arm-linux-*来使用交叉编译工具链,而不是arm-none-linux-gnueabi...下串口调试工具minicom的安装及使用 在Windows下SecureCRT来进行串口调试,在Linux下可用minicom代替。...安装 sudo apt install minicom 将开发板串口与电脑的USB口相连,在Windwos下通过查看设备管理器即可知道开发板连接的是哪个COM口,在Linux下会自动安装驱动程序,通过dmesg...设置u-boot的参数 在主机Linux上将zImage和rootfs分别放置在tftpboot目录和nfs目录下,将开发板的串口和主机Linux连接好后,启动minicom进入u-boot的命令行,在命令行下进行设置

2K40

RV1126调试(1)-修改默认调试串口

背景 RK系列的SDK给的默认的调试串口都是uart2/1500000波特率,本次调试设备已经把console调试口改为了uart0,所以需要修改下uboot和内核,然后把波特率设为常用的115200。...注:本次调试的SDK版本为原厂的V2.2版本 1.uboot修改 1)修改rv1126-evb.dts和rv1126-u-boot.dtsi 把uart2改成uart0, 对应的stdout-path也改为...2.内核修改 1)关闭fiq_debug串口 修改rv1126-evb-v10.dtsi &fiq_debugger { - status = "okay"; + status...ttyS0,115200n8 root=PARTUUID=614e0000-0000 rootfstype=ext4 rw rootwait snd_aloop.index=7"; 3.现象 至此已经把默认的uart2调试串口改为...uart0,因为最上层的boot固件瑞芯微是没有开源的,没法修改,在系统启动的时候uart2中还是会输出一些东西,因为改了波特率所以控制台看到的是乱码,之后在uart0的控制台看到正常的启动信息。

2.8K10

S3C2440移植linux3.4.2内核之内核框架介绍及简单修改

,设置内存等   3)挂载根文件系统,并执行应用程序 简单配置内核   修改Makefile,修改配置 tar xjf linux-3.4.2.tar.bz2 cd linux-3.4.2/ vi...= arm-linux-   配置编译 cd arch/arm/configs //由于我们板子是arm板,进入该目录 ls *2440*...timeconst.pl +373   进入uboot烧写 nfs 32000000 192.168.2.106:/work/nfs_root/uImage_new bootm 32000000   如下图所示,发现串口输出乱码...重新设置下环境变量的波特率 set bootargs root=/dev/mtdblock3 console=ttySAC0,115200   再次烧写启动,发现7cf(mini2440)这个ID,有串口输出正常...下面看下16a(smdk2440)为什么串口乱码,进入mach-smdk2440.c( 位arch/arm/mach-s3c24xx)找到问题出在smdk2440_map_io(): static void

1.3K20

嵌入式Linux串口编程

简介 嵌入式Linux串口编程与Linux系统下的编程没有什么区别,系统API都是一样的。...用到的API函数 函数 说明 open 打开设备,用于打开串口设备 fcntl 修改设备描述符属性参数 isatty 检测打开的描述符是否指向一个终端 tcgetattr 用来获取串口终端参数 cfmakeraw...将终端设置为原始模式,该模式下所有的输入数据以字节为单位被处理 tcflush 用于清空输入、输出缓冲区 tcsetattr 设置串口终端参数 read 读取数据 write 写数据 close 关闭串口设备...*入口参数: 串口号 *返 回 值: 成功返回文件描述符,失败返回负值 *作 者: *修改时间: ***************************************/ int open_port...奇偶校验, stop_bits 停止位 * 调用示例: set_port(fd, 115200, 8, 'N',1); *返 回 值: 成功返回0,失败返回-1 *作 者: *修改

13K20

arm-linux 开发步骤

ARM-Linux开发步骤 拿到一块YC2440(s3c2440)的开发板,经过几天的学习,我对arm-linux系统开发步骤有了一些认识。...基本上u-boot是一个精简的linux,它提供人机交换的,一般现在linux开发都采用串口方式使用u-boot。...d) 如果要修改u-boot需要。。编译。。。。。。。。。。。。 内核 Linux内核部分是工作量比较多的部分 1. 交叉编译 2. BSP 3. Kconfig以及内核裁减 4....以ubuntu 8.10说明一下: a) 下载编译器,比如arm-linux-gcc 3.4.1 b) sudo tar vxjf arm-linux-gcc 3.4.1.bz2 –C / c) 命令行编译需要设置环境变量...比如扩了一个串口,需要编写设备驱动。关于设备驱动编写是一个很大的话题,我想这是另外需要一本书的《Linux Device Driver.3rdEdition》。

3.9K30

高效搭建树莓派3b rt-thread的开发环境

准备条件: 1.树莓派3b 2.usb转ttl模块(树莓派串口输出) 3.一台装有Ubuntu16.04的电脑 当准备好这些东西后,就可以开启我们的树莓派rt-thread之旅了。...tar vxf gcc-arm-none-eabi-5_4-2016q3-20160926-linux.tar.bz2 Linux环境下需要修改编译器目录设置,修改bsp/raspi3-32/rtconfig.py...准备好串口线 目前版本是使用raspi3的 GPIO 14, GPIO 15来作路口输出,连线情况如下图所示: ? 串口参数:115200 8N1 ,硬件和软件流控为关。...按上面的方法做好SD卡后,插入树莓派3B,通电可以在串口上看到如下所示的输出信息: ? 05 通过YMODEM下载RTT 上述步骤中,修改代码后每次都需要重新上电断电。...解压后可以进行相关的操作: export CROSS_COMPILE=arm-linux-gnueabihf- export ARCH=arm make rpi_2_defconfig 输入make后编译

3.2K10

基于NXP i.MX28 MPU的疫情监控平台1-交叉编译环境搭建

操作系统; arm-none-linux-gnueabi-gcc,表示目标处理器是 ARM,运行 Linux 操作系统; mips-linux-gnu-gcc,表示目标处理器是 MIPS,运行 Linux...进行 ARM Linux 开发,通常选择 arm-linux-gcc 交叉编译器。ARM-Linux 交叉编译器可以自行从源代码编译,也可以从第三方获取。...编译这个C文件,并指定输出文件为pc.o gcc hello.c -o pc.o 看一下这个文件的类型,并执行这个文件。 ?...好了,程序运行没问题,就可以使用arm-gcc来编译这个程序,并生成可以在arm开发板上运行的可执行文件了。 使用交叉编译工具编译这个C程序,指定输出arm.o文件。...再者,若该程序始终占用串口终端,将会造成其他程序,无法通过串口终端与用户交互。

1.6K30

ARM Linux ELF加壳方案

随着移动应用和IoT设备的普及,大量的硬件抛弃了传统的x86架构,选择使用能耗低、性价比高的ARM芯片,ARM指令级渐渐成为主流,但随之而来的,是愈发严峻的安全问题。...ARM-虚拟化保护技术 ARM-VM 技术借鉴了桌面应用中对 x86 指令的虚拟化保护思路,将其完整地适配到了 ARM 平台,该技术的实现完全独立,直接对编译生成的二进制文件进行保护。...适应性高 直接处理 ARM 指令,不受限于开发语言和语法标准,几乎可以保护任何编译为 ARM 架构的程序,如 golang 等。...支持工具推荐 支持ARM 虚拟化保护方案的工具:Virbox Protector 开发环境支持 Windows、Linux、macOS。...架构支持 X86、x64、ARM32、ARM64 申请试用 https://shell.virbox.com/apply.html 版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。

5.4K30
领券