![](https://img-blog.csdnimg.cn/20201014180756919.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Linux应用层开发
文章平均质量分 93
Linux应用层开发
西伯利亚大草原的狼
新疆大学硕士在读:工业物联网方向:借此平台记录自己的学习过程,方便自己后期的知识复习,也借此记录人生最美好的青春
展开
-
openwrt入门经典案例
一:下载编译编译出来的镜像位于 bin 目录下面其中 openwrt-ramips-rt305x-mpr-a2-squashfs-sysupgrade.bin 这个就是我们要的镜像。烧写到板子上面即可启动。这样最简单的 OpenWrt 就可以启动了。二:设置开发板的IP地址开发板中设置IP地址在开发板上面,通过修改/etc/config 目录下的 network 配置文件,可以达到目的,首先输入一些命令# cd /# vi etc/config/network在源码.原创 2022-05-24 15:43:55 · 1383 阅读 · 0 评论 -
openwrt学习指南
路由器的硬件构成路由器的软件构成路由器固件开发的一般流程Openwrt常用命令1.文件、目录类命令:cd cat rm touch mkdir Is mv grep2.文本编辑器命令:ⅵ3.权限类命令:chmod4.模块命令:rmmod insmod modprobe Ismod5.进程管理命令:ps top kill killall6.文件下载上传工具:scp wget tftp7.系统命令:mount dmesg reboot chpasswd data time原创 2022-05-20 15:45:05 · 4486 阅读 · 0 评论 -
Linux CMake 入门与进阶
示例程序中都只有一个.c 源文件,非常简单。所以,编译这些示例代码其实都非常简单,直接使用 GCC 编译器编译即可,连 Makefile 都不需要。但是,在实际的项目中,并非如此简单,一个工程中可能包含几十、成百甚至上千个源文件,这些源文件按照其类型、功能、模块分别放置在不同的目录中;面对这样的一个工程,通常会使用 make 工具进行管理、编译,make 工具依赖于 Makefile 文件,通过 Makefile 文件来定义整个工程的编译规则,使用 make 工具来解析 Makefile 所定义的编译规则原创 2022-11-11 20:22:55 · 642 阅读 · 0 评论 -
Linux应用开发5 信号(软中断,处理异步请求,进程间通讯)
信号是事件发生时对进程的通知机制,也可以把它称为软件中断。信号与硬件中断的相似之处在于能够 打断程序当前执行的正常流程,其实是在软件层次上对中断机制的一种模拟。大多数情况下,是无法预测信号达到的准确时间,所以,信号提供了一种处理异步事件的方法。原创 2022-10-31 12:20:52 · 681 阅读 · 0 评论 -
Linux应用层例程3 输入设备应用编程
首先要知道什么是输入设备?输入设备其实就是能够产生输入事件的设备就称为输入设备,,它们都能够产生输入事件,产生输入数据给计算机系统。对于输入设备的应用编程其主要是等,譬如获取触摸屏当前触摸点的 X、Y轴位置信息以及触摸屏当前处于按下还是松开状态。原创 2022-11-09 12:11:06 · 593 阅读 · 0 评论 -
Linux应用层例程4 串口应用编程
在串口终端的原始模式下,使用串口进行数据传输,包括通过串口发送数据、以及读取串口接收到的数据,并将其打印出来。循环,这是对用户传参进行了解析,我们这个应用程序设计的时候,允许用户传入相应的参数,譬如用户可以指定串口终端的设备节点、串口波特率、数据位个数、停止位个数、奇偶校验等,具体的使用方法,大家可以看一看 show_help()同理,串口也作为系统的标准输入设备,用户通过串口与 Linux。原创 2022-11-10 12:45:16 · 3951 阅读 · 4 评论 -
Linux应用层例程7 CAN 应用编程基础
CAN 是一种多主方式的串行通讯总线,基本设计规范要求有高的位速率,高抗电磁干扰性,而且能够检测出产生的任何错误。经过几十年的发展,现在,CAN的高性能、高可靠性以及高实时性已被认同,并被广泛地应用于工业自动化、船舶、医疗设备、工业设备等方面。以汽车电子为例,汽车上有空调、车门、发动机、大量传感器等,这些部件、模块都是通过 CAN总线连在一起形成一个网络,车载网络构想图如下所示:CAN 总线使用两根线来连接各个单元:CAN_H和CAN_L,CAN。原创 2022-11-11 16:18:06 · 3958 阅读 · 2 评论 -
Linux应用开发3 字符串处理,字符串与其他数字类型的转换,向应用程序传参
常用的字符串输出函数有 putchar()、puts()、fputc()、fputs(),前面我们经常使用 printf()函数来输出字符串信息,而并没有使用到 putchar()、puts()、fputc()、fputs()这些函数,原因在于 printf()可以按照自己规定的格式输出字符串信息,一般称为格式化输出;而 putchar()、puts()、fputc()、fputs()这些函数只能输出字符串,不能进行格式转换。与 printf()一样,putchar()、puts()、fputc()、fpu原创 2022-09-16 18:07:10 · 878 阅读 · 0 评论 -
Linux应用开发1 文件I/O 入门看这一份就够了
每一个被打开的文件在同一个进程中都有 一个唯一的文件描述符,不会重复,如果文件被关闭后,它对应的文件描述符将会被释放,那么这个文件描述符将可以再次分配给其它打开的文件、与对应的文件绑定起来。当我们对动态文件进行读写操作后,此时内存中的动态文件和磁盘设备中的静态文件就不同步了,数据的同步工作由内核完成,内核会在之后将内存这份动态文件更新(同步)到磁盘设中。可以进行复制,复制成功之后可以得到一个新的文件描述符,使用新的文件描述符和旧的文件描述符都可以对文件进行 IO 操作,如果复制失败将返回-1。原创 2022-09-14 18:13:57 · 446 阅读 · 0 评论 -
Linux应用开发6 进程,进程间的通讯
一个在内存中运行的应用程序。每个进程都有自己独立的一块内存空间,一个进程可以有多个线程,比如在Windows系统中,一个运行的xx.exe就是一个进程进程其实就是一个可执行程序的实例程序如何结束?程序结束其实就是进程终止,进程终止的方式通常有多种,大体上分为正常终止和异常终止,正常终止 包括:⚫ main()函数中通过 return 语句返回来终止进程;⚫ 应用程序中调用 exit()函数终止进程;⚫ 应用程序中调用_exit()或_Exit()终止进程;原创 2022-11-04 17:09:34 · 190 阅读 · 0 评论 -
Linux应用层例程1 点亮LED灯
⚫应用层控制外设的两种不同的方式;⚫应用层控制外设的两种不同的方式;在Linux系统下,一切皆文件!方法一:驱动层设备文件控制外设包括字符设备文件和块设备文件,,应用层通过对设备文件的 I/O 操作来操控硬件设备,譬如 LCD显示屏、串口、按键、摄像头等等,所以设备文件其实是与硬件设备相互对应的。目录下,我们也把/dev目录下的文件称为设备节点。原创 2022-11-08 15:55:39 · 1731 阅读 · 0 评论 -
Linux应用开发2 标准C库和文件操作(linux下一切皆文件)
标准 I/O库则是标准C库中用于文件I/O 操作(譬如读文件、写文件等)相关的一系列库函数的集合,头文件,应用于标准IO库中的文件描述符参数path指向文件路径,可以是绝对路径、也可以是相对路径。参数mode指定了对该文件的读写权限,是一个字符串,稍后介绍。调用成功返回一个指向FILE类型对象的指针(FILE *),该指针与打开或创建的文件相关联,后续的标准I/O操作将围绕FILE指针进行。如果失败则返回NULL,并设置errno以指示错误原因。原创 2022-09-15 16:37:32 · 415 阅读 · 0 评论 -
Linux应用层例程6 网络基础知识+socket编程基础
UDP 虽然有很多缺点,但也有自己的优点,所以它也有很多的应用场合,因为在如今的网络环境下, UDP 协议传输出现错误的概率是很小的,并且它的实时性是非常好,常用于实时视频的传输,比如直播、网络电话等,因为即使是出现了数据丢失的情况,导致视频卡帧,这也不是什么大不了的事情,所以,UDP 协议还是会被应用与对传输速度有要求,并且可以容忍出现差错的数据传输中。TCP 协议在建立连接、断开连接以及数据传输过程中都会呈现出现不同的状态,不同的状态采取的动作也是不同的,需要处理各个状态之间的关系。原创 2022-11-11 12:21:33 · 344 阅读 · 0 评论 -
Linux应用开发4 如何获取系统参数信息(监测终端信息)
通过这一节的学习,你可以在UI界面做监测终端信息,如CPU 时间等各类系统参数,狂拽酷炫吊炸天原创 2022-10-08 19:25:17 · 1368 阅读 · 0 评论 -
Linux应用层例程5 看门狗应用编程
前面已经说到,看门狗其实就是一个可以在一定时间内被复位/重置的计数器,一般叫做看门狗计时器 (或看门狗定时器);如果在规定时间内没有复位看门狗计时器,计数器溢出则会对 CPU产生一个复位信号使系统重启,当然有些看门狗也可以只产生中断信号而不会使系统复位。I.MX6UL/I.MX6ULL SoC 集成了两个看门狗定时器(WDOG):WDOG1和WDOG2;WDOG2用于安全目的,而 WDOG1则是一个普通的看门狗,支持产生中断信号以及复位CPU。原创 2022-11-10 17:29:38 · 1177 阅读 · 2 评论 -
Linux应用开发7 线程、线程同步
线程是参与系统调度的最小单位。它被包含在进程之中,是进程中的实际运行单位。一个线程指的是进程中一个单一顺序的控制流(或者说是执行路线、执行流),一个进程中可以创建多个线程,多个线程实现并发运行,每个线程执行不同的任务。譬如某应用程序设计了两个需要并发运行的任务 task1 和 task2,可将两个不同的任务分别放置在两个线程中。原创 2022-11-07 17:19:03 · 265 阅读 · 0 评论 -
Linux应用层例程2 GPIO 应用编程
引脚是否已经导出,若未导出,则通过 "/sys/class/gpio/export"文件将其导出;引脚是否已经导出,若未导出,则通过 "/sys/class/gpio/export"文件将其导出。gpioX 目录是否存在,如果不存在则表示未导出,则通过"/sys/class/gpio/export"引脚之后,我们需要将导出的引脚删除,同样该文件也是只写文件、不可读。导出成功之后会发现在/sys/class/gpio。上述代码中首先使用 access()文件是只写文件,不能读取,将一个指定的编号写入到。原创 2022-11-08 17:39:23 · 1123 阅读 · 0 评论