System V信号量 vs. POSIX信号量:核心区别与选型指南 最近在学习linux系统编程的章节,接触到了两种信号量,所以专门研究了二者的区别,将二者的对比记录于此。 在Linux多线程/进程开发中,信号量是解决同步问题的核心工具之一。System V和POSIX是两种主流的实现方式,它们的 ...
一、我的C++学习之路:一个嵌入式老兵的自白 先交代一下我的背景:理工科毕业,半路出家学的编程。大学时代是机械专业,但阴差阳错进了一家电子公司,被分配做嵌入式开发,于是硬着头皮自学了C语言和单片机,后来又接触了Linux和C++。 十多年摸爬滚打下来,从菜鸟到带团队再到自己创业开公司,我对C++这门 ...
共享内存 一、共享内存的概念 共享内存是Linux系统进程间通信的一种方式,是在Unix系统的system-V版本引入的一种IPC对象,除了共享内存外,其他的IPC对象还包含消息队列、信号量组。 共享内存其实就是指多个进程可以共享物理内存中的同一段内存区域,只不过还需要把物理内存映射到进程的私有虚拟 ...
上一篇水文中,老周给大伙伴们扯了关于 idf 中添加自定义 Arduino 组件的方案。这次咱们做一下 USB 鼠标玩玩。 很遗憾的是,老周无能,在 Arduino-esp32 组件依赖 TinyUSB 组件时无法进行编译,不管怎么配置都会找不到 tusb.h 文件;就算把 tinyUSB 内置到 ...
消息队列 一、消息队列的概念 Linux系统中消息队列(Message Queue)是进程间通信的一种方式,这种通信机制的好处是可以传输指定类型(用户可以自行定义)的数据,相同类型的数据根据到达顺序在队列中进行排队。 当然,不同类型的数据不能处于同一个队列中,也就是说系统中可能存在多个消息队列,每个 ...
大家好,我是痞子衡,是正经搞技术的痞子。今天痞子衡给大家介绍的是恩智浦i.MX RT1xxx系列上的XBAR外设。 得益于 Arm Cortex-M 内核的普及,现如今 MCU 厂商遍地开花,只要能取得内核授权,再去 OpenCores 开源网站或者直接第三方 IP 公司买一些通用的外设模块拼拼凑凑 ...
问题描述: 环境信息: OS:Debian 或 Ubuntu 磁盘文件:Disk Type 使用 Volume,而不是直接指定镜像文件。(File 模式下没有问题) Apparmor 打开(这是默认行为) 虚拟机描述文件中的 disk 相关信息类似这样: <disk type='volume' de ...
信号通信 信号的概念 信号(英文翻译为signal)是Unix系统、类Unix系统(比如Linux系统)以及其他POSIX兼容的操作系统中用于实现进程间通信的一种方式。信号采用的是一种异步通信机制。 同步通信:同步指的是当进程发起一个请求,但是该请求并未马上响应,则进程就会阻塞等待,直到请求被响应。 ...
管道通信 Linux系统提供了一种通信方式,名字叫做管道通信,顾名思义,管道是单向的,比如水管、燃气管道等,换个说法就是管道是采用半双工通信的,也就是同一时刻只能完成发送数据或者接收数据。 匿名管道 用匿名管道实现,创建匿名管道,在子进程中将I am child,hello!!!写入管道,在父进程中 ...
第十四章 ESPTIMER实验 1)实验平台:正点原子DNESP32S3开发板 2)章节摘自【正点原子】ESP32-S3使用指南—IDF版 V1.6 3)购买链接:https://detail.tmall.com/item.htm?&id=768499342659 4)全套实验源码+手册+视频下载地 ...
基本命令 命令路径 which命令 which命令用于定位和查找系统中可执行文件的路径。用于确定某个·命令是否存在以及命令的完整路径。 which [选项] 命令名 //基本格式 文件格式 file命令 file命令用于查找Linux系统中的文件的类型,包括但不限于文本文件、目录、二进制文件、符号链 ...
【新品上市】正点原子ESP32P4开发板震撼来袭,助力嵌入式AI应用开发! 正点原子推陈出新,紧跟AI时代潮流,推出基于ESP32P4NRW32芯片为主控的ESP32P4开发板。ESP32P4芯片搭载双核处理器,拥有AI指令扩展、先进内存子系统并集成高速外设。芯片主频高达400MHz,32MB PS ...
基本命令 查找文件 find命令 find命令可以查找Linux系统下某个指定路径下的文件的位置,可以把文件的绝对路径输出到终端。注意:如果查找根目录下的文件,需要使用sudo find /usr -name "*.h" //在/usr目录下寻找以.h结尾的文件 find /tmp -type d ...
Linux常用命令 查看文件 cat命令 cat命令可以创建一个或者多个文件、查看文件内容、连接文件,常用于查看文件内容 cat 文件名 //显示文件内容 cat -n 文件名 //显示文件内容,并显示行号 cat - 文件名 //显示文件内容(包括不可见字符) 系统时间 date命令 date命令 ...
Linux常用命令 删除文件 rm命令 rm命令可以删除文件或者目录,系统不会产生任何提示 rm -r 文件名 //递归删除,主要用于删除目录以及它包含的内容 rm -f 文件名 //强制删除,系统不会询问,直接删除指定的目录或者文件 rm -i 文件名 //在删除的时候系统会提示要不要删除 rm ...
基本命令 用户权限 sudo命令 linux系统,用户分为超级用户(root用户,拥有一切权限)和普通用户 sudo命令可以不在root权限下执行管理员的权限,使用此命令用户可以使用管理员的权限,下载和配置文件,使用sudo也可以将普通用户切换为root用户 sudo su //普通用户切换成roo ...
如果在用Armbian安装宝塔面板的时候遇到ModuleNotFoundError: No module named '_sqlite3'报错,并且无法进入web面板界面,可以尝试以下操作。 报错界面展示: 步骤1:更换或添加Ubuntu软件源地址到/etc/apt/source.list.d文件夹 ...
"你这程序怎么这么卡啊?能不能优化一下?" —— 你的leader,大概率 大家好,我是小康。 你有没有这样的经历:辛辛苦苦写完的 C++ 程序,功能测试一切正常,但一到生产环境就被吐槽"太慢了"?作为开发者,我们经常被要求解决性能问题,但如何找出程序的性能瓶颈,却是很多人的盲区。 今天,我就用大白 ...
不久前刚在OpenEuler 24.09 RISC-V上部署了 bitcoin,不过还没跑起来,这次我打算在这个环境下面运行一些应用服务,体验一下 OERV 的开发感觉。 编译出来的 bitcoin 主要有几个命令,bitcoin-cli、bitcoind、bitcoin-util、bitcoin- ...
前言:本文操作是在 CentOS-7 下执行的,不确定在其他 Linux 发布版是否能同样正常执行。 1、检查前置依赖组件 在安装 rsync 之前,需要确认已安装了相关依赖组件: gcc 、openssl-devel 、xxhash 、zstd 、lz4 。 rpm -qa | grep gcc ...