08 2020 档案

摘要:前言 Uart在一个嵌入式系统中是一个非常重要的模块,他承担了CPU与用户交互的桥梁。用户输入信息给程序、CPU要打印一些信息给终端都要依赖UART。 本文将以Exynos4412的UART控制器为基础,讲解UART的原理以及驱动程序如何编写。 UART是什么 UART是通用异步收发传输器(Univ 阅读全文
posted @ 2020-08-31 08:42 一口Linux 阅读(601) 评论(0) 推荐(0) 编辑
摘要:原子操作原理分析 概念 原子操作是指不被打断的操作,即它是最小的执行单位。最简单的原子操作就是一条条的汇编指令(不包括一些伪指令,伪指令会被汇编器解释成多条汇编指令)。在 linux 中原子操作对应的数据结构为 atomic_t,定义如下: typedef struct { int counter; 阅读全文
posted @ 2020-08-28 14:03 一口Linux 阅读(901) 评论(0) 推荐(0) 编辑
摘要:浏览器的请求数据包如何到达web服务器? 很多读者对于其中的完整流程不是特别的了解,下面一口君通过这22张图,详细的讲解我们点击浏览器的网址之后,数据包是如何经过重重险阻到达web server的。 LAN网络中的用户要访问位于远程网络中的服务器存储的网页。用户首先激活网页上的链接。 如果该域名对应 阅读全文
posted @ 2020-08-28 13:22 一口Linux 阅读(626) 评论(0) 推荐(0) 编辑
摘要:Ubuntu安装后默认只有ssh客户端,即只能在Ubuntu内去连接其他ssh服务器,若想实现我们的Ubuntu被其他主机远程连接,则需要自己去安装ssh服务端。 安装 进入Ubuntu18.04,打开终端,su进入root,输入命令: sudo apt install openssh-server 阅读全文
posted @ 2020-08-27 18:00 一口Linux 阅读(612) 评论(0) 推荐(0) 编辑
摘要:概念 scp是secure copy的简写, 是 linux 系统下基于 ssh 登陆进行安全的远程文件拷贝命令。scp 是加密的,rcp 是不加密的,scp 是 rcp 的加强版。 因为scp传输是加密的,可能会稍微影响一下速度。另外,scp还非常不占资源,不会提高多少系统负荷,在这一点上,rsy 阅读全文
posted @ 2020-08-27 17:56 一口Linux 阅读(1485) 评论(0) 推荐(0) 编辑
摘要:前言 前段时间群里讨论,想实现某个文件定时上传到服务器要怎么来实现。我记得之前做过 一个项目:为高通的iot模组编写FOTA功能:实现模组可以远程下载升级镜像包,实现版本升级功能。并当时使用的一个超级强大的工具cURL。心血来潮,决定专门写一篇文章,送给需要的朋友。 文章分两部分 首先介绍cURL的 阅读全文
posted @ 2020-08-27 08:24 一口Linux 阅读(2446) 评论(0) 推荐(0) 编辑
摘要:本文目标 什么是文件描述符? 进程打开文件相关信息管理 Linux设备文件三大结构:inode,file,file_operations mknod 做了什么事? 进程打开设备文件 驱动如何支持同类型设备? 如何获得注册的设备结构体私有地址? 什么是文件描述符? Linux 中一切都可以看作文件,包 阅读全文
posted @ 2020-08-25 14:01 一口Linux 阅读(1742) 评论(1) 推荐(0) 编辑
摘要:在Linux系统中有大量的临界资源需要保护,如何让各个任务有条不紊的访问这些资源,这涉及到Linux中并发访问的保护机制设计相关知识。后面会详细介绍这几个机制。 (据可靠消息,锁的实现经常出现在笔试环节。既可以考察面试者对锁的原理的理解,又可以考察面试者编程技能)。 注:部分代码都是根据ARM64架 阅读全文
posted @ 2020-08-25 12:10 一口Linux 阅读(800) 评论(0) 推荐(0) 编辑
摘要:在Linux内核中,提供了一个用来创建双向循环链表的结构 list_head。虽然linux内核是用C语言写的,但是list_head的引入,使得内核数据结构也可以拥有面向对象的特性,通过使用操作list_head 的通用接口很容易实现代码的重用,有点类似于C++的继承机制(希望有机会写篇文章研究一 阅读全文
posted @ 2020-08-24 21:47 一口Linux 阅读(3840) 评论(0) 推荐(0) 编辑
摘要:本文基于三星Cortex-A9架构,Exynos4412讲解I2C原理、以及基于I2C的mpu6050陀螺仪的数据读取实例(包括在裸机模式下数据的读取以及基于Linux驱动的读取)。还会分析Linux内核I2C架构,篇幅过长,绝对干货。 裸机篇 本篇首先详细讲解I2C时序,然后讲解如何基于三星I2C 阅读全文
posted @ 2020-08-24 19:09 一口Linux 阅读(1182) 评论(0) 推荐(0) 编辑
摘要:前言 在嵌入式开发中,ADC应用比较频繁,本文主要讲解ADC的基本原理以及如何编写基于ARM的裸机程序和基于Linux的驱动程序。 ARM架构:Cortex-A9 Linux内核:3.14 在讲述ADC之前,我们需要先了解什么是模拟信号和数字信号。 模拟信号 主要是与离散的数字信号相对的连续的信号。 阅读全文
posted @ 2020-08-23 09:27 一口Linux 阅读(1653) 评论(0) 推荐(0) 编辑
摘要:一、Linux设备分类 Linux系统为了管理方便,将设备分成三种基本类型: 字符设备 块设备 网络设备 字符设备: 字符(char)设备是个能够像字节流(类似文件)一样被访问的设备,由字符设备驱动程序来实现这种特性。字符设备驱动程序通常至少要实现open、close、read和write的系统调用 阅读全文
posted @ 2020-08-22 20:00 一口Linux 阅读(2056) 评论(0) 推荐(0) 编辑
摘要:通过《手把手教Linux驱动1-模块化编程,玩转module》的学习,我们已经掌握了如何向内核加载一个模块,现在我们学习模块之间如何传递参数。 一、给模块传递参数 当我们加载一个模块到Linux内核的时候,Linux内核允许向这个模块传递一些参数。这样设计的好处就是,让我们的模块操作起来更灵活,我们 阅读全文
posted @ 2020-08-17 15:03 一口Linux 阅读(761) 评论(0) 推荐(0) 编辑
摘要:大家好,从本篇起,一口君将手把手教大家如何来学习Linux驱动,预计会有20篇关于驱动初级部分知识点。本专题会一直更新,有任何疑问,可以留言或者加我微信。 一、什么是模块化编程? Linux的开发者,遍布世界各地,他们相互之间觉大数估计都不认识。如果真的是对这些开发者进行统一管理,那是很难做到的。所 阅读全文
posted @ 2020-08-17 13:57 一口Linux 阅读(1710) 评论(2) 推荐(0) 编辑

点击右上角即可分享
微信分享提示