发布

Linux知识

专栏成员
74
文章
5727
阅读量
10
订阅数
【Linux内核】【锁机制】RCU机制入门
RCU的名字取自Read-Copy-Update(读-复制-更新)三个单词的首字母,至于为什么叫这个名字,主要还是和它的工作方式有关,它本质上是一种同步机制,为了便于建立概念,你可以暂时简单地将RCU和互斥锁、读写锁、自旋锁归为一类,但RCU与它们不同的是——RCU支持多个读者和单一写者并发进行,并且读者是无锁的,因此RCU适用于读密集型的应用场景。
知否知否应是绿肥红瘦
2025-02-25
990
Linux MTD子系统(二)——mtdblock驱动分析
在之前的文章Linux MTD子系统(一)中有提到过mtd块设备,mtd块设备是在MTD设备之上模拟的块设备。 它的作用实际上只有一个——便于我们使用mount(umount)挂载(卸载)MTD设备中的文件系统,例如yaffs2,JFFS2等等。
知否知否应是绿肥红瘦
2025-02-19
670
【嵌入式单元测试】C语言单元测试框架搭建
单元测试框架是一个软件包,它能够让开发者比较方便的表达产品代码需要表现出什么样的行为。单元测试框架提供了一个自动化单元测试的解决方案,让开发者把更多的精力放在测试用例的设计的编写上,而不用花精力考虑如何对测试用例进行组织。
知否知否应是绿肥红瘦
2025-02-19
1210
iperf2简单使用介绍
设置套接字缓冲区大小。对于TCP,设置TCP窗口大小。对于UDP,它只是接收数据报的缓冲区,因此限制了最大的可接收数据报的大小。
知否知否应是绿肥红瘦
2025-02-19
760
ARMv8-A TrustZone概述
TrustZone 是 Arm A-profile 架构中安全架构的名称。 在 Armv6K 中首次引入 TrustZone,在 Armv7-A 和 Armv8-A 中也得到支持。 Arm TrustZone是一种针对基于 ARM Cortex 处理器系统的嵌入式安全选项的系统范围方法。 ArmTrustZone也可以说是一种嵌入式安全技术,它从硬件级别开始,通过创建两个可以同时运行在单个核心上的环境:一个安全世界和一个正常世界。
知否知否应是绿肥红瘦
2025-02-19
640
i2c-tools快速调试E2PROM
i2c-tool是Linux应用层调试I2C设备(特别是E2PROM)的利器,这个工具是开源的,并且几乎可以交叉编译到任何Linux系统上。 它是一个工具集,具体包括如下工具:
知否知否应是绿肥红瘦
2025-02-19
880
Linux串口编程示例
termios是用于终端I/O的较新(现在已经有几十年历史)Unix API。在termios的帮助下执行串行I/O的程序剖析如下:
知否知否应是绿肥红瘦
2025-02-19
1820
Linux input子系统(一)
Linux将按键、键盘、鼠标、触摸屏等设备统称为输入设备,其本质还是字符设备。在一般情况下,这些输入设备在被按下时会产生一个中断或者由CPU定时轮询这些输入设备,如果输入有效,那么cpu会将读到的键值存在缓冲区,驱动的read接口就可以让用户层获取到这些键值。 对于上述流程,在cpu读到有效键值之后的处理都是一样的,也就是read接口只会读取键值,不会关心具体是哪个设备。因此,Linux就设计了一个input框架来处理输入事件,这就是——input子系统。 总结起来就是——Linux内核输入子系统是对不同类别的输入设备进行抽象,随后调用统一的服务函数进行处理。
知否知否应是绿肥红瘦
2025-02-19
620
firefly-rk3288开发板Linux驱动——W25Q32 SPI驱动
Linux下的spi驱动和i2c驱动十分类似,也可以分为三个部分:SPI核心,spi主机控制器(i2c中叫做i2c适配器),spi设备。
知否知否应是绿肥红瘦
2025-02-19
310
firefly-rk3288开发板Linux驱动——AT24C02 E2PROM驱动
I2C核心提供了I2C总线驱动和设备驱动注册、注销函数,I2C通信函数、探测设备、检测设备地址函数等。
知否知否应是绿肥红瘦
2025-02-19
700
firefly-rk3288开发板Linux驱动——LED驱动
本文主要介绍三个部分的内容:一、准备SDK源码 二、如何操作GPIO 三、LED设备驱动的实现。由于firefly官方一直在对源码进行更新,所以本文只以我正在用的版本介绍。此外,官方提供的下载工具版本不同需要准备的镜像文件(.img文件)也不同,因此,这里也只介绍我正在使用的版本。 SDK版本:firefly-sdk-20200629.7z 下载工具版本:AndroidTool v2.58 U-Boot:2017.09 Linux内核:4.4.194 文件系统:buildroot
知否知否应是绿肥红瘦
2025-02-19
310
C语言的值传递
刚好今天无意中看到一道有关C语言值传递的面试题,感觉非常具有代表性,背后涉及的知识也非常多,所以这里就拿出来分析一下,顺便讲讲C语言的值传递。(高手请直接略过本文)
知否知否应是绿肥红瘦
2025-02-19
760
AMetal平台学习——初步了解篇
AMetal是广州周立功科技股份有限公司开发的一套轻量级嵌入式开发平台,它为各种外设定义了统一的抽象接口,使应用程序与芯片底层可以完全分离,轻松实现“跨平台”复用。除此之外,AMetal还致力于为用户提供大量“可裁剪、可替换、可配置”的组件,提升开发的灵活性。
知否知否应是绿肥红瘦
2025-02-19
410
开源作品——CMSIS-DAP调试器
CMSIS-DAP调试器是一款开源调试器,网上也有很多制作资料,我也是根据这些资料,自己制作了一款CMSIS-DAP调试器,目前使用没发现什么BUG,下载调试功能都OK,就是速度没有JLink快,但是毕竟人家完全开源,还要啥自行车。
知否知否应是绿肥红瘦
2025-02-19
1090
常用降压电路设计
AMS1117-xxx是一颗LDO芯片,这个系列有很多型号,后面的xxx代表输出电压,如果是AMS1117-ADJ表明输出是通过电阻调节的。
知否知否应是绿肥红瘦
2025-02-19
400
STM32F10x从零开始配置时钟
实际上,对于STM32F10x系列的芯片,如果使用库函数方式开发,芯片的时钟初始化函数已经写好,并且在启动文件(例如startup_stm32f10x_hd.s)中被自动调用,在进入main函数之前,系统以及外设时钟均配置完成,main程序中不需要对时钟再进行任何配置,直接编写应用程序即可。但是作为一个底层驱动玩家必须要打破砂锅问到底,看看STM32F10x系列芯片的时钟系统到底是怎么样的以及如何配置时钟,下文将着重分析STM32F10x的时钟系统以及用寄存器方式从零开始一步一步配置时钟。
知否知否应是绿肥红瘦
2025-02-19
940
HC-05蓝牙模块主从机通信
HC-05是一款主从一体式串口蓝牙模块,使用时无需理解复杂的蓝牙协议,把它当作普通串口使用即可,串口通信为透传模式,由于它同时支持主从机模式,所以任意两个蓝牙模块之间都是可以通信的,下文将介绍如何使用两个蓝牙模块进行主从机通信。 注意:HC-05属于经典蓝牙2.0版本,与BLE蓝牙区别很大,由于BLE蓝牙没有向下兼容,所以是无法和HC05通信的。
知否知否应是绿肥红瘦
2025-02-19
1430
RK3288开发板——Debian8系统制作
Debian 10(buster) — 当前的稳定版(stable) Debian 9(stretch) — 旧的稳定版(oldstable) Debian 8(jessie) — 更旧的稳定版(oldoldstable) Debian 7(wheezy) — 被淘汰的稳定版 Debian 6.0(squeeze) — 被淘汰的稳定版 Debian GNU/Linux 5.0(lenny) — 被淘汰的稳定版 Debian GNU/Linux 4.0(etch) — 被淘汰的稳定版 Debian GNU/Linux 3.1(sarge) — 被淘汰的稳定版 Debian GNU/Linux 3.0(woody) — 被淘汰的稳定版 Debian GNU/Linux 2.2(potato) — 被淘汰的稳定版 Debian GNU/Linux 2.1(slink) — 被淘汰的稳定版 Debian GNU/Linux 2.0(hamm) — 被淘汰的稳定版
知否知否应是绿肥红瘦
2025-02-19
500
Linux安装TFTP服务器
为了方便在Linux环境和嵌入式开发板互相传文件,可以使用TFTP服务。Linux主机作为服务端,嵌入式开发板作为客户端, 由于开发板的Linux环境一般自带tftp,本文只介绍如何在Linux主机上(ubuntu 16.04 LTS)安装tftp服务。 目前ubuntu环境可以使用以下TFTP服务器:
知否知否应是绿肥红瘦
2025-02-19
990
i.MX283开发板SPI驱动——RC522
内核版本:2.6.35 Linux下SPI驱动和I2C驱动很类似,他们都是一种总线,且都不支持热拔插,因为一般情况下spi或者i2c设备都是直接焊接在板子上的,不像USB设备那样随时插拔,所以根据总线——设备——驱动模型,spi和i2c设备都可以通过xxx_board_info结构体进行注册,Linux下spi驱动的架构如下:
知否知否应是绿肥红瘦
2025-02-19
600
点击加载更多
社区活动
Python精品学习库
代码在线跑,知识轻松学
博客搬家 | 分享价值百万资源包
自行/邀约他人一键搬运博客,速成社区影响力并领取好礼
技术创作特训营·精选知识专栏
往期视频·干货材料·成员作品 最新动态
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档