![](https://img-blog.csdnimg.cn/20190923143712234.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
Linux开发系列教程
文章平均质量分 92
Mculover666
CSDN博客专家,微信公众号mculover666,凭借与生俱来的热爱专注于嵌入式领域,在自己折腾的同时,以文字的方式分享所玩、所思、所想、所悟,作为一个技术人,我们一起前进~
展开
-
基于MySQL的嵌入式Linux智慧农业信息采集控制系统设计与实现(附源码)
1.系统设计与实现本设计的是“智慧农业信息采集控制系统”,系统主要实现的功能有:(1) 采集终端向服务器上报温度、湿度、电机状态(用于降低温度)、开关状态(用于自动浇水);(2) 服务器接收到数据后提取信息,将数据及其上报时间写入数据库存储历史记录,便于用于查看;(3) 服务器接收到数据后从数据库中读取用户设定的阈值,对数据进行判断,如果超过或者低于阈值即发送对应指令,打开/关闭电机,或者打开/关闭开关;(4) 用户端程序可以修改报警阈值;整个系统的实现架构如下图:(1) 农业采集终端运行在嵌原创 2020-05-15 16:12:01 · 4891 阅读 · 0 评论 -
基于MySQL的嵌入式Linux自动抄表系统设计与实现(附源码)
1. 系统设计1.1. 服务端程序设计服务器端程序具有如下功能:① 同时具备通信和数据库管理功能,协议自定(即收到的哪个字段表示什么意思,为了简化,可直接用普通字符串,不考虑通信开销问题);② 绑定 IP、端口,等待接收客户端消息(UDP);③ 收到用户(客户端)发过来的信息(需要携带用户号、总用电量)后,在数据库中更新该用户的总用电量、本年度用电量、电费余额(根据本次用电、阶梯电价和...原创 2020-04-23 17:29:46 · 2202 阅读 · 2 评论 -
Qemu连接外网的配置方法
环境说明:PC:Win10,连接WIFI正常上网;VMware:Ubuntu16.04,使用Net模式正常上网;Qemu:无法ping通外网;1. 开启 IP 转发首先切换到root模式,然后开启ip转发:sudo suecho 1 > /proc/sys/net/ipv4/ip_forward此方式为临时开启,重启之后不再生效。如果想永久生效,则在root用户下编...原创 2020-04-21 18:52:02 · 10429 阅读 · 0 评论 -
Linux UDP服务端和客户端程序
UDP服务端:/** * @brief UDP服务端 * @author Mculover666 * @date 2020/04/15*/#include <stdio.h>#include <unistd.h>#include <sys/types.h>#include <sys/socket.h>#include ...原创 2020-04-19 17:00:19 · 2569 阅读 · 0 评论 -
Linux中使用exec函数族详解及示例代码 | 嵌入式Linux应用开发篇 - 03
1.exec函数族exec 为 execute(执行),exec 函数族用来替换调用进程所执行的程序,该进程的用户空间代码和数据完全被新程序替换,从新程序的启动例程开始执行,替换前后进程的 PID 不会改变。exec函数族中包括6个函数:#include <unistd.h>int execl(const char *path, const char *arg, ...);...原创 2020-03-14 20:54:08 · 2478 阅读 · 0 评论 -
Linux中使用fork创建子进程和使用exit退出子进程详解及示例代码 | 嵌入式Linux应用开发篇 - 02
1. 进程1.1. 什么是进程当可执行文件开始运行之后,就变为了系统中的一个进程,一个程序(可执行文件)运行起来之后可以创建多个进程执行,称之为多进程程序。每个进程包含有进程运行环境、内存地址空间、进程ID、和至少一个被称为线程的执行控制流等资源。系统中所有的这些进程实体共享计算机系统的 CPU、外设、内存等资源。1.2. 进程的状态系统中的一个CPU在某一个时刻只能执行一个进程,系统...原创 2020-03-13 19:51:07 · 4589 阅读 · 0 评论 -
Linux中的文件读写操作详解及示例代码 | 嵌入式Linux应用开发篇 - 01
1. Linux中“一切皆文件”在Linux系统中,一切皆文件,文件类型根据其表示的意义,分为:普通文件设备文件:代表一个具体的硬件设备管道文件、FIFO文件:具有特殊意义的文件,用于进程间通信;套接字文件:用于网络通信;所有这些文件都可以用一套API来操作,最基本的四个API是:打开:open读文件:read写文件:write关闭:close在使用这些API操作文件...原创 2020-03-12 19:58:59 · 11823 阅读 · 2 评论 -
uboot研读笔记 | 00 - 嵌入式Linux系统中Bootloader的作用和基本运行原理
1. 嵌入式Linux系统开发架构一个嵌入式Linux的系统的架构如下图:软件程序开发中,从下往上每一次的作用依次为:Bootloader:将硬件初始化,并将内核引导起来;Linux Kernel:定制、裁剪之后的Linux内核;根文件系统:提供文件系统,更好的使用存储空间;设备驱动:完成设备操作,并向上层软件提供设备的调用接口;应用程序:Linux系统编程、网络编程、shell...原创 2020-02-21 21:03:31 · 3084 阅读 · 0 评论 -
嵌入式Linux | Ubuntu上搭建NFS(网络文件系统)
1.NFSNFS是Network File System,网络文件系统,可以通过网络让不同机器、不同系统之间实现文件共享。通过NFS ,可以访问远程共享目录,就和访问本地磁盘一样。在嵌入式Linux开发中常用于开发板运行目标机上的程序。2.Linux主机建立NFS服务端2.1.安装NFS服务器sudo apt-get install nfs-kernel-server2.2.添加NFS.........原创 2019-02-18 21:48:41 · 1990 阅读 · 0 评论 -
【嵌入式Linux(环境篇)】开发板、windows、Vmware虚拟机之间网络环境构建(开发板与电脑网线直连使用静态ip方式)
1.前提 —— 确保三者之间网络互通1.1.核心——开发板和windows主机之间网线直连1.2.windows主机设置静态ip使用win+r,输入cmd,打开命令行,输入ipconfig查看是否设置正确:1.3.虚拟机Linux设置静态ip重要:虚拟机和开发板之间需要连通,所以需要使用网桥方式。首先配置虚拟机使用的虚拟网卡:打开虚拟网络编辑器:然后配置Ubuntu系...原创 2019-02-18 21:45:44 · 3161 阅读 · 1 评论 -
【嵌入式Linux(环境篇)】开发板、windows、Vmware虚拟机之间网络环境构建(通过路由器使用动态ip方式)
1.前提 —— 确保三者之间网络互通1.1.核心——一个可以正常上网的路由器1.2.windows主机连接网络使用网线将主机连接到路由器上,确保windows主机获取到ip地址,并且可以上网。尽量使用网线,如果使用WIFI,不确保成功使用win+r打开运行,输入cmd启动命令行,在命令行输入ipconfig,查看主机是否获取到ip,然后ping一下百度,检查是否可以上外网:1.3....原创 2019-02-18 21:41:13 · 1312 阅读 · 0 评论 -
Linux下常用的串口助手 —— minicom、putty、cutecom
!!!如果使用的是虚拟机,确保串口设备挂载到虚拟机里!!!1.Linux下可用的串口助手在linux下使用串口终端有两个选择:基于命令行的minicom图形界面的putty(xshell没有linux版本)这里两种都介绍一下~2.Linux的串口设备Linux下的串口和windows不同,是以设备文件的方式出现,在/dev/目录下,有两种情况:主机配置的串口:设备文件通常是t...原创 2019-02-18 21:32:04 · 24652 阅读 · 1 评论 -
Linux发行版包管理器的使用 + 更换软件源
在Linux系统安装完成之后,系统会有一些自带的软件可以使用,但是我们使用的时候要手动安装软件来搭建开发环境,本篇就来扯一扯Ubuntu和Debian下如何安装软件、卸载软件、更新软件以及更换源~文章目录1.软件包2.传统方式打包的软件2.1.描述2.2.安装方法2.3.举例3.专门的软件包管理工具打包的软件3.1.描述3.2.安装3.3.举例4.通过网络在线发布与更新的软件4.1.描述4.2.......原创 2018-11-29 09:28:27 · 3217 阅读 · 0 评论 -
【Linux(基础篇)】Ubuntu远程访问和文件传输 | 配置SSH和VNC服务
Linux通常安装在服务器或者虚拟机上,所以需要配置进行远程访问,文件传输,远程桌面等服务。文章目录1.前提 —— 检查双方是否可以ping通1.1.查看Linux主机ip地址1.2.在windows命令行下使用ping工具2.远程访问 —— SSH2.1.检查SSH服务状态2.2.Linux主机安装SSH服务端2.3.Windows主机使用SSH客户端2.4.Xshell显示优化2.4.1....原创 2018-11-29 09:29:18 · 2333 阅读 · 7 评论 -
追求效率, 上古神器 | Vim的基本使用方法与配置
传说中的Vim一直有着不可磨灭的神话, 为了追求效率, 嵌入式开发应该转入LInux下, 首先当然是学会使用强大的Vim了~1. vi与vim2. vim使用在开始学习vim使用之前,先了解一下vim的三种工作模式:命令模式vim默认打开就处于命令模式,在此模式之下可以简单粗暴的使用vim快捷键操作文本,比如光标移动,文本复制、移动、粘贴、选择、替换等等;插入模式在命令模式下按i进...原创 2018-12-01 20:49:51 · 1792 阅读 · 2 评论 -
【Linux(应用开发篇)】Linux C语言编程(上篇) | gcc的使用
嵌入式软件开发主要使用C语言开发,编译过程称为交叉编译 —— 在PC机上编译出可以在嵌入式处理器上运行的程序,在真正进入嵌入式开发前,先来了解下如何使用gcc+make编译C语言工程,如何用gdb调试工程~1.C编程流程1.1.编辑源文件(.c)使用文本编辑器(比如vim)编辑C语言源文件(.c)和头文件(.h)1.2.编译源文件使用编译工具编译之前编写的所有C语言源文件,生成可执行程序...原创 2018-12-05 16:53:45 · 3466 阅读 · 1 评论 -
【Linux(应用开发篇)】Linux C语言编程(中篇) | make的使用
上一篇Linux C语言编程(上篇) | gcc的使用讲述了如何使用gcc进行编译,其中只是对hello.c这一个文件进行编译,那么当我们需要编译多个文件的时候该怎么做呢?1.多文件编译实例这个例子中分别在四个文件(add.c, dec.c, mul.c, div.c)实现相应的运算函数,在头文件main.h里声明,在主函数(main.c)进行调用,首先编写代码如下:main.h...原创 2018-12-06 15:42:35 · 1988 阅读 · 2 评论 -
【Linux(应用开发篇)】Linux C语言编程(下篇) | gdb的使用
前两篇Linux C语言编程(上篇) | gcc的使用和Linux C语言编程(中篇) | make的使用讲述了在Linux下如何编译得到可执行程序,那么当程序执行结果不符合我们的预期时,如何进行调试呢?这个时候就要使用到gdb工具了~1.gdb介绍gdb也属于GNU项目的一部分,是一个调试工具,它的主要功能是:用户可以自定义如何运行程序可以在指定断点处运行停止可以检查各个变量的值可...原创 2018-12-07 12:15:32 · 1554 阅读 · 0 评论 -
【嵌入式Linux(基础篇)】从标准Linux到嵌入式Linux + 嵌入式Linux知识架构
主要介绍了GNU/Linux的诞生,标准Linux是如何应用在嵌入式系统中的,最后讲述了嵌入式Linux知识架构。原创 2019-02-18 12:05:34 · 1961 阅读 · 0 评论 -
【嵌入式Linux(基础篇)】嵌入式Linux底层系统开发流程和应用开发流程
介绍了嵌入式Linux系统体系架构,以及每一层开发人员的开发流程。原创 2019-02-18 21:20:11 · 2976 阅读 · 0 评论