-
上一篇我们已经讲了如何搭建一个多线程的服务器模型,可以支持多个客户端同时连接服务器,本篇我们来实现多个客户端,如何实现向服务器注册信息,并实现登录的功能。数据结构接着上一篇的实例代码继续增加功能。要 ...
-
1.设备树概念 1.1.设备树感性认识设备树(Device Tree),将这个词分开就是“设备”和“树”,描述设备树的文件叫做DTS(Device Tree Source),这个DTS 文件采用树形结构描述板级设备,比如CPU 数量、 内存基地址、II ...
-
在上一篇《手把手教Linux驱动8LinuxIO模型》我们已经了解了阻塞、非阻塞、同步和异步等相关概念,本文主要讲解如何通过等待队列实现对进程的阻塞。应用场景: 当进程要获取某些资源(例如从网卡读取 ...
-
上周末写了一篇《偶得两只神兽》,本想信誓旦旦驯好边牧,却被现实无情打脸,特作此篇,以作纪念。众里寻他千百度,张灯结彩迎边牧。东市打疫苗,西市办狗证;南市买狗粮,北市买尿片;闲鱼买狗笼,超市买狗绳;B站 ...
-
platform总线是学习linux驱动必须要掌握的一个知识点。本文参考已发布:Linux 3.14内核一、概念嵌入式系统中有很多的物理总线:I2c、SPI、USB、uart、PCIE、APB、AHBlinux从2.6起就加入了一套新的驱动管理和注册的 ...
-
在嵌入式开发中,ADC应用比较频繁,在讲述ADC之前,我们需要先了解什么是模拟信号和数字信号。什么是模拟信号?主要是与离散的数字信号相对的连续的信号。模拟信号分布于自然界的各个角落,如每天温度的变 ...
-
自旋锁的提出背景由于在多处理器环境中某些资源的有限性,有时需要互斥访问(mutual exclusion),这时候就需要引入锁的概念,只有获取了锁的任务才能够对资源进行访问,由于多线程的核心是CPU的时间分片,所以同一时 ...
-
一、Linux设备分类Linux系统为了管理方便,将设备分成三种基本类型:字符设备块设备网络设备字符设备: 字符(char)设备是个能够像字节流(类似文件)一样被访问的设备,由字符设备驱动程序来实现这种特性。字符 ...
-
一口君最近移植了一款SPI转CAN的芯片CSM300A,在这里和大家做个分享。一、CSM300概述CSM300(A)系列是一款可以支持 SPI / UART 接口的CAN模块。1. 简介CSM300(A)系列隔离 SPI / UART 转 CAN 模块是集成微处理器、 CA ...
-
最后整理时间:2020年12月2日整理的学习Linux的一些干货,大家可以根据自己的学习进度,查看对应的文章,一口君会持续更新,欢迎各位收藏关注!操作工具合集如何设置与查看Linux系统中的环境变量?如何在Linux上恢 ...
-
一、脚本今天主要分享一个shell脚本,用来获取linux系统CPU、内存、磁盘IO等信息。#!/bin/bash# 获取要监控的本地服务器IP地址IP=`ifconfig | grep inet | grep -vE 'inet6|127.0.0.1' | awk '{print $ ...
-
大家生活中肯定都有这样的经验,那就是大众化的产品都比较便宜,但便宜的大众产品就是一个词,普通;而可以定制的产品一般都价位不凡,这种定制的产品注定不会在大众中普及,因此定制产品就是一个词,独特。有的同 ...
-
一、Linux设备分类Linux系统为了管理方便,将设备分成三种基本类型:字符设备块设备网络设备字符设备:字符(char)设备是个能够像字节流(类似文件)一样被访问的设备,由字符设备驱动程序来实现这种特性。字符设 ...
-
在Linux系统中有大量的临界资源需要保护,如何让各个任务有条不紊的访问这些资源,这涉及到Linux中并发访问的保护机制设计相关知识。后面会详细介绍这几个机制。(据可靠消息,锁的实现经常出现在笔试环节。既可以 ...
-
本文目标 什么是文件描述符?进程打开文件相关信息管理Linux设备文件三大结构:inode,file,file_operationsmknod 做了什么事?进程打开设备文件驱动如何支持同类型设备?如何获得注册的设备结构体私有地址?什么 ...
-
一个沉浸在嵌入式无法自拔的人。 我是谁? 大家好,我是一名从事多年嵌入式开发工作的非主流程序猿,来自苏北的一个小县城,儿童画之乡-睢宁县,2006年毕业于南京理工大学,之后一直从事嵌入式产品的开发和教学工 ...
-
前言Uart在一个嵌入式系统中是一个非常重要的模块,他承担了CPU与用户交互的桥梁。用户输入信息给程序、CPU要打印一些信息给终端都要依赖UART。本文将以Exynos4412的UART控制器为基础,讲解UART的原理以及驱动程序 ...
-
一个沉浸在嵌入式无法自拔的人。 我是谁? 大家好,我是一名从事多年嵌入式开发工作的非主流程序猿,来自苏北的一个小县城,儿童画之乡-睢宁县,2006年毕业于南京理工大学,之后一直从事嵌入式产品的开发和教学工 ...
-
本文由嵌入式大牛:蒙工投稿!1.SPI总线1.1.SPI总线概述 SPI,是英语Serial Peripheral interface的缩写,顾名思义就是串行外围设备接口。是Motorola首先在其MC68HCXX系列处理器上定义的。SPI接口主要应用在 EEPROM ...
-
---通过《手把手教Linux驱动1模块化编程》的学习,我们已经掌握了如何向内核加载一个模块,现在我们学习模块之间如何传递参数。一、给模块传递参数当我们加载一个模块到Linux内核的时候,Linux内核允许向这个模块传 ...
-
前言昨天写了一篇《看了这几个C语言例子你一定会连续说5个卧槽声音一次比一次大》,一不小心在头条小火了一把,废话不说,上数据统计信息:对于其他大V来说,这点阅读量算不上什么,但这篇文章属于计算机软件题材, ...
-
一口君最近工作用到CRC校验,顺便整理本篇文章和大家一起研究。一、CRC概念 1. 什么是CRC?CRC(Cyclic Redundancy Checksum)是一种纠错技术,代表循环冗余校验和。数据通信领域中最常用的一种差错校验码,其信息 ...
-
嵌入式数据共3篇,本片是最后一篇。《嵌入式数据库sqlite3【基础篇】基本命令操作,小白一看就懂》《嵌入式数据库sqlite3【进阶篇】子句和函数的使用,小白一文入门》sqlite3编程接口非常多,对于初学者来说,我们 ...
-
概念Linux内核的信号量在概念和原理上和用户态的System V的IPC机制信号量是相同的,不过他绝不可能在内核之外使用,因此他和System V的IPC机制信号量毫不相干。如果有一个任务想要获得已经被占用的信号量时,信号量 ...
-
击上方“一口Linux”,选择“星标公众号”干货福利,第一时间送达!MMU的重要性不言而喻,支撑操作系统之上的各种复杂应用。但在正式讲MMU之前,我们先说说MMU的发展史,因为ARMv8-A的MMU相当复杂,直接切入正题, ...
-
继续更新两篇ARM专题文章,该系列汇总如下:《从0学ARM》本文主要目的是如何从0编译和移植uboot,增加串口、网络、emmc等功能,让他支持exynos4412开发板。一、移植步骤 1. Uboot配置指定交叉编译工具链进入uboot代 ...
-
前言在计算机软件领域,做出过重大贡献的神人很多,在这闪耀的明星中,最为闪耀的莫过于「Linus Torvalds和Dennis Ritchie」。那么这两位谁的贡献更大呢?这是一个很难回答的问题,就如同关公战秦琼,仁者见仁, ...
-
问题描述:某个函数fun_1()是在lib内,没法修改的,在程序中大量的使用了该函数,现在想把原本fun_1失效(现在失效的方法是#define fun_1(..)),用另外一个函数fun_2(),可是fun_2最后也需要调用fun_1,上面的失效方法 ...
-
短路现象1比如有以下表达式 a && b && c只有a为真(非0)才需要判断b的值;只有a和b都为真,才需要判断c的值。举例求最终a、b、c、d的值。main(){ int a,b,c,d; a = 0; b = 1; c = 2; d = ...
-
推荐关注下方公众号学习更多Linux、驱动知识!0. MINIGUI MiniGUI 是一款面向嵌入式系统的高级窗口系统(Windowing System)和图形用户界面(Graphical User Interface,GUI)支持系统,由魏永明先生于 1998 年底开 ...
-
学习ARM,就必须要学习ARM指令,ARM指令是CPU提供给我们的接口,是我们打开CPU这个潘多拉魔盒的钥匙。ARM指令有很多,为了让大家能快速上手,一口君整理了一些对我们最有帮助的指令。keil软件的操作,可以参考第一 ...
-
一、5月3日 5月3日晚上,小舅子在酒店的婚礼顺利举行,收拾完现场,送走所有宾客之后,已经夜里11点多了,这日子选的是真的好,5月1日到3日都是晴天,婚礼举行完毕,过了12点,外面就下起了大雨。新郎、新娘、我媳 ...
-
本文由技术大拿:蒙工 投稿!桂电毕业的资深嵌入式专家。一、模块硬件学习1.1.Uart介绍通用异步收发传输器(Universal Asynchronous Receiver/Transmitter),通常称为UART,是一种异步收发传输器,是电脑硬件的一部 ...
-
前面文章链接如下:《从0实现基于Linuxsocket聊天室多线程服务器模型1》《从0实现基于Linuxsocket聊天室多线程服务器一个很隐晦的错误2》《从0实现基于Linuxsocket聊天室实现聊天室的登录、注册功能3》上文中,我们 ...
-
一口君中学阶段最喜欢的一首歌。窦仙才华横溢、潇洒不羁、与世无争,酷的外焦里嫩!让我们随着窦仙高昂的声音来学习什么是(酷)库吧!一、什么是库?在windows平台和linux平台下都大量存在着库。一般是软件作者为 ...
-
这一节我们将实现字符设备的ioctl接口。 一 实现xxx_ioctl接口 (1)为什么要实现xxx_ioctl ? 前面我们在驱动中已经实现了读写接口,通过这些接口我们可以完成对设备的读写。但是很多时候我们的应用层工程师除 ...
-
本篇彭老师将图文并茂教你如何使用抓包工具,并在文章最后教大家如何偷取FTP的用户名密码。一、安装本文为大家介绍一个非常好用的抓包工具,科来。下载地址:http://www.colasoft.com.cn/下载科莱下载完毕,双击直 ...
-
最近被东方甄选刷屏了,截止6月21日,粉丝已经达到1749万,2000W阶段目标也近在咫尺。在这里插入图片描述飞瓜数据显示,东方甄选已经是抖音带货第一名东方甄选火起来也就是从上周那个双语带货视频在各个社群里到处 ...
-
千年小城-睢宁一口君82年人,是一个典型的80后,生于苏北农村,后到南京定居,成长经历可以说是中国改革开放城镇化进程的一个典型的缩影。睢宁!一个千年历史的小县城!这里有儿童画!这里有1个机场,2个高铁站!这 ...
-
关注、星标公众号,不错过精彩内容本片文章较长,大家先看下目录1、IP地址1.1、简介1.2、IP地址的组成1.3、IP地址分类1.4、特殊IP地址1.5、子网掩码2、IP数据包组成3、IP分片解析4、IP分片攻击之前的文章《以太网数 ...
-
FreeRADIUS 为AAA Radius Linux下开源解决方案,DaloRadius为图形化web管理工具。freeradius一般用来进行账户认证管理,记账管理,常见的电信运营商的宽带账户,上网账户管理,记账,都是使用的radius服务器进行 ...
-
击上方“一口Linux”,选择“星标公众号”干货福利,第一时间送达!0. 前言 之前写过一篇关于MD5摘要算法的文章,很多老铁说能否出一篇关于加密的文章吗?《C语言实现MD5,竟如此简单!》一口君的字典里没有"不行" ...
-
点击左上方蓝色“一口Linux”,选择“设为星标”第一时间看干货文章 【干货】嵌入式驱动工程师学习路线【干货】一个适合初学者的Linux物联网综合项目【干货】Linux嵌入式知识点思维导图免费获取 1瑞芯微摄像头ov1 ...
-
前言兜兜转转,一晃年关将至。时间证明了一个道理,学啥忘啥,学的越快忘得越快,还不如踏踏实实写点笔记心得来的实在。编程初学期间,排序算法是让人抓头最多的一块。为什么我连最简单的冒泡排序都理解不了,我是 ...
-
击上方“一口Linux”,选择“星标公众号”干货福利,第一时间送达!一、前言 上次写了一篇关于Makefile的文章。《利用Makfile给多文件、多目录C源码建立工程》有很多粉丝留言,有的粉丝想进一步了解cmake的使用方法 ...
-
点击左上方蓝色“一口Linux”,选择“设为星标”第一时间看干货文章 【干货】嵌入式驱动工程师学习路线【干货】一个可以写到简历的基于Linux物联网综合项目【干货】Linux嵌入式知识点思维导图免费获取 1一、linux ...
-
点击左上方蓝色“一口Linux”,选择“设为星标”第一时间看干货文章 【干货】嵌入式驱动工程师学习路线【干货】一个可以写到简历的基于Linux物联网综合项目【干货】Linux嵌入式知识点思维导图免费获取【感谢】我 ...
-
一、终于20000粉了! 从2020年8月8日起,到2021年9月23日,一共1年零1个半月,终于顺利度过了20000这个生死线,总共输出了171篇原创,平均每周输出将近3篇原创!头条平均阅读达到了1500+,2000+,3000+阅读的文章出 ...
-
-
击上方“一口Linux”,选择“星标公众号”干货福利,第一时间送达!1. 前言 很多朋友在调试驱动的时候,都会遇到这样一个场景:修改一个参数,然后调用某个内核中的函数。比如将某个gpio的值拉高/拉低,修改某个寄 ...