Linux常用命令
文件/目录类 注:目录或称文件夹。 新建文件 1. `touch xxxfile` 新建xxxfile文件。 新建目录 1. `mkdir xxxdir` 新建xxxdir目录 mkdir /home/workdir 在/home目录下创建workdir目录。 mkdir -p /home/workdir/dir1/dir2 连续创建,若中间目录不存在则强制创建。 查看文件/目录 1. `ls
纳米网嵌入式技术频道 — 提供嵌入式技术领域最新资讯、技术文章和行业动态。
文件/目录类 注:目录或称文件夹。 新建文件 1. `touch xxxfile` 新建xxxfile文件。 新建目录 1. `mkdir xxxdir` 新建xxxdir目录 mkdir /home/workdir 在/home目录下创建workdir目录。 mkdir -p /home/workdir/dir1/dir2 连续创建,若中间目录不存在则强制创建。 查看文件/目录 1. `ls
今天我们就来说说在程序界里无人不知无人不晓大名鼎鼎的Hello World,好比数学界里大名鼎鼎1+1=2,无数码农入坑正是从写这样一段代码开始的,从此踏入了万劫不复的深渊一发不可收拾。。。这段代码是这样写的, include <stdio.h> int main() { printf("Hello World!\n"); return 0; } 很简单啊,有没有,我们
以下,我们将简单介绍**面向对象编程**的基本概念和图形化描述方法,在后面的章节中我们将会辅以具体编程实例进行详细介绍。 1 类和对象 对象是数据及其行为的集合,而类往往用来描述具有相同的属性和方法的对象的集合。它定义了该集合中每个对象所共有的属性和方法。例如苹果和橘子属于两个不同类,苹果属于苹果类、橘子属于橘子类。 那么对象和类之间的区别是什么?类是用来描述对象的。它们就
Sming 是一款具备卓越性能且集成丰富网络功能的异步嵌入式 C++ 框架。该框架为开源项目,采用模块化设计,支持多种硬件架构,包括 ESP8266、ESP32 以及树莓派 Pico(涵盖 RP2040 和 RP2350 两个版本)。 源代码文件 文件结构说明 此开源资料可以查看底部源文件链接了解详情 如何下载资料 不会获取的同学,看一下下方获取资料视频教程。
关注“码农爱学习”,设置“星标公众号” 之前的文章《curl编程实例-上传文件》,介绍过如何使用curl编程来上传文件,是通过指定文件路径的方式来上传,关键的特征如下: const char *file_path = "./test.txt"; // 要上传的本地文件 // 打开待上传的文件(二进制模式) FILE *fp = fopen(file_path, "rb"); curl_ea
1.1 面向过程编程与面向对象编程 OOP 在嵌入式开发中,我们往往使用 C 语言进行编程,将待完成的问题看作一系列需要完成的任务,函数则用于完成这些任务,解决问题的焦点集中于函数,这就是所谓的面向过程编程。 与之相对的是面向对象编程,它把对象作为程序的基本单元,一个对象包含了数据和操作数据的函数,相同属性和操作方法的对象被抽象为类。以在工业制造上,使用模具来铸造机壳和零件为例,类
有学员问我:老师,用Arduino做东西,这算不算嵌入式开发,还是说这只能算是玩?今天和大家一起聊聊这个话题。 一、先说结论:算 Arduino当然是嵌入式开发。首先嵌入式开发本质是什么?就是用单片机去感知输入、控制输出,完成特定的功能。Arduino不就是这样,写代码,下载到板子上,控制LED闪烁、读取传感器数据、驱动电机转动,这不就是嵌入式开发干的事。 只不过Arduino把很多复杂的东西封装
在C/C++开发中,结构体是一种常用的数据结构形式,在某些应用场景中,需要特别关注结构体对齐问题。 本篇就来通过一个实际例子,来探究结构体对齐的具体表现以及结构体对齐应该怎么计算。 关注“码农爱学习”,设置“星标公众号” 1 结构体对齐问题 举个例子,一个结构体中,有多个成员,那结构体的整体空间占用大小,等于各个成员大小的累加和吗?再进一步,结构体套结构体,最外面结构体的整体大小,等于各个成员结
前言 对于嵌入式入门的同学来说,往往会遇到设备端处理能力不足、在面对大规模计算情况下需要借助上位机完成进一步的数据处理的情况。此时,Python 语言因其简单易用的特点和丰富多样的库成为了我们做上位机的不二选择。然而,尽管我们可以很方便使用 Python 的 GUI 和科学计算库,但是写出的代码还是用的面向过程的那一套东西,代码是老太太的裹脚布,又臭又长,面向对象的设计方法为我们提供了一种
训练营最近又上线了一个新项目: C++ MCP 服务器实现。 这个项目是对跨平台 AI 工具调用的全新解决方案。无论是文件操作、数据库查询,还是 API 调用,借助 MCP 协议,AI 与外部工具的连接都会变得前所未有的简单。通过统一的标准协议,AI 只需要一次实现,即可支持多个平台,彻底告别碎片化的生态! 下面来看看关于这个项目的详细介绍吧~ 为什么需要 MCP? 下面看一个真实场景 当你问 A
FreeModbus是一款开源的Modbus协议栈。同时网上也没有发现比较好的开源的Modbus主机协议栈,所以才开发这款支持主机模式的FreeModbus协议栈。本版FreeModbus版本号更改为V1.6,特性如下: 新增加的主机源码与原有从机的风格及接口保持一致; 支持主机与从机在同一协议栈运行; 支持实时操作系统及裸机移植; 为应用提供多种请求模式,用户可以选择阻塞还是非阻塞模式,自定义
点击上方蓝字【囧囧妹】一起学习,一起成长! 引言 最近因为项目要求用c++,之前一直很讨厌c++,没办法只能短时间弥补c++的知识,项目中需要定义一个函数指针类型的vector,本以为很简单的问题,结果调试了一天,才发现错在哪里。 多余的std::function 先上代码吧,这里有一个测试代码,为什么要有测试代码?是因为下面的方式我在最开始验证该种实现时打印的地址是对的,但是之后一段时间就不对了
之前介绍过使用backtrace的方式定位程序崩溃问题,本篇来介绍另一种方式,通过生成core-dump文件,再通过gdb工具来定位程序崩溃问题。 关注“码农爱学习”,设置“星标公众号” 1 使用core-dump分析崩溃的条件 1.1 开启core-dump文件的生成条件 解除core 文件大小的限制,有临时生效和永久生效两种方案,在本篇的例子中,在Ubuntu中使用临时生效的方式,嵌入式Li
bootm的镜像加载地址与uImage镜像的加载地址、入口地址之间的关系 分析的U-Boot源码版本为2021.07: wget ftp://ftp.denx.de/pub/u-boot/u-boot-2021.07.tar.bz2 make ARCH=arm CROSS_COMPILE=aarch64-linux-gnu- clean distclean make ARCH=arm CROS
一、什么是 MicroPython? MicroPython 是面向微控制器的 Python 语言。借助 MicroPython,你可以编写 Python3 代码,甚至在资源受限的裸机架构上运行它。 💡 基础知识补充: 裸机架构 :指没有操作系统(OS)、直接在硬件上运行程序的环境,资源(RAM、Flash 存储)非常有限,比如 ESP32、STM32 等单片机。 Python3 兼容性 :
1. 前言 总线验证会涉及很多Masters和Slaves接口,少则十来个,多则成百上千个,每个口通常都需要挂接对应的VIP来产生激励,如下图示例,有5个Master VIP,4个Slave VIP。挂接的Master VIP用于发起激励,挂接的Slave VIP用于响应激励。在挂接如此众多的VIP验证环境汇总,需要有更高效且灵活的方法去控制每一个VIP激励行为。 图1 总线示例 如何判断一种
训练营筹备很久了的AI模拟面试项目上线啦~AI模拟面试项目依托 C++ 与AI 技术,构建 AI 辅助面试软件。 项目定位 一句话描述:C++ AI 面试官,但其实你可以改造为各种编程语言,各种场景的AI面试官。 基于C++17开发的实时语音技术面试系统,实现从简历解析、面试问题生成、实时交互到评分报告的全流程自动化,适用于企业初筛、机构考核、个人练习等场景,我们这个项目其实主要适合个人练习等
DMA与MMIO的读写操作均通过三种基本报文实现:MWr(写请求)、MRd(读请求)和CPLD(完成带数据)。 MMIO的读写机制较为简单:写操作直接发起一次MWr请求;读操作则先发起MRd请求,然后等待一个包含数据的CPLD报文作为响应。 相比之下,DMA的读写行为则复杂得多,但其原理依然可以理解。 Request Memory请求包在传输时需遵循以下规范 4KB 地址边界限制 Memor
点击上方蓝字【囧囧妹】一起学习,一起成长! 引言 最近因为项目要求用c++,之前一直很讨厌c++,没办法只能短时间弥补c++的知识,项目中需要一个接口只调用一次,需要使用到c++的call_once机制,于是写一个小demo来测试,就因为这个足够小发现了一个非常有意思的问题。 call_once,基本原理 std::call_once 的内部实现基于两个重要的组件:std::once_flag 和
POST方法:用于向服务器提交新资源或触发一次非幂等的操作,强调 “创建”的动作 1.2 幂等性 幂等性是 HTTP 协议中的核心概念,指多次执行同一个请求,得到的服务器资源状态和执行一次的结果完全一致,不会产生额外的副作用 幂等:第一次上传会创建该文件,第二次上传同一个或不同内容的文件,会直接覆盖掉原来的文 非幂等:每次请求服务器都会生成一个新的文件副本(比如自动命名 file1.txt`