摘要: 公众号【一起学嵌入式】 与内存有关的错误属于那种最令人惊恐的错误。在时间和空间上,经常在距离错误源一段距离之后才表现出来。将错误的数据写到错误的位置,你的程序可能在最终失败之前运行了一段时间。 下面列举并分析与内存有关的几种错误: 1、间接引用坏指针 如果间接引用一个指向没有任何意义的数据的指针,那 阅读全文
posted @ 2022-01-24 09:42 一起学嵌入式 阅读(75) 评论(0) 推荐(0) 编辑
摘要: 首发,公众号【一起学嵌入式】 前言 偶然看到了吃灰多年的 esp32 开发板。先把板子上的灰吹吹,然后找了一根 USB 线,接上电脑。灯亮了,嗯,还能用。 这块板子是 2018 年买的,三年多没玩这块板子了,乐鑫官网的开发软件包不知道更新多少个版本了。 上官网查资料,尝试在 Windows 下搭建最 阅读全文
posted @ 2022-01-24 09:40 一起学嵌入式 阅读(2604) 评论(0) 推荐(1) 编辑
摘要: 引言 在学习C语言或者其他编程语言的时候,我们编写的一个程序代码,基本都是在屏幕上打印出 hello world ,开始步入编程世(深)界(坑)的。C 语言版本的 hello world 代码: #include <stdio.h> int main() { printf("hello world\ 阅读全文
posted @ 2022-01-04 10:53 一起学嵌入式 阅读(594) 评论(0) 推荐(0) 编辑
摘要: 学习目标 通过分析 cp 指令,来学习 Linux 编程读写文件操作。 代码实验环境 操作系统:Ubuntu 18.04 LTS 编译器gcc版本:gcc (Ubuntu 7.5.0-3ubuntu1~18.04) 7.5.0 cp指令介绍 cp 指令主要用于复制文件或者目录。 典型用法: cp [ 阅读全文
posted @ 2021-12-24 10:10 一起学嵌入式 阅读(498) 评论(0) 推荐(0) 编辑
摘要: 上一篇简单介绍了Linux系统编程的一些概念知识,从本篇文章开始,从解释系统命令的功能入手,由浅入深,逐步讲解Linux系统编程。 建议学习者最好具有一定的C语言基础,了解数组、结构体、指针和链表的概念。 代码实验环境 操作系统:Ubuntu 18.04 LTS 编译器gcc版本:gcc (Ubun 阅读全文
posted @ 2021-12-24 10:06 一起学嵌入式 阅读(485) 评论(0) 推荐(0) 编辑
摘要: 一些概念 操作系统职责:计算机用操作系统来管理所有的资源,并将不同的设备和不同的程序连接起来。 操作系统与普通程序一样,在内存中运行。它的特殊之处是,能把普通程序与其他程序或者设备连接起来。 内存空间用来存放程序和数据,所有的程序都必须在内存空间中才能运行,用来容纳操作系统的内存空间叫做系统空间,容 阅读全文
posted @ 2021-12-20 14:02 一起学嵌入式 阅读(165) 评论(0) 推荐(0) 编辑
摘要: 开篇 本文引用的内核代码参考来自版本 linux-5.15.4 。 在 Linux 系统中,每个注册到系统的设备都有一个编号,这个编号便是 Linux 系统中的设备号。 设备号作为一种系统资源,需要加以管理。否则,如果设备号与驱动程序对应关系错误,就会引起混乱或引起潜在的问题。 通过查看 /proc 阅读全文
posted @ 2021-12-16 09:55 一起学嵌入式 阅读(214) 评论(0) 推荐(1) 编辑
摘要: 开篇 本文引用的内核代码参考来自版本 linux-5.15.4 。 在用户空间,用指令 insmod 来向内核空间安装一个内核模块,其使用方法如下: insmod xx.ko /* 向内核空间安装模块 xx */ 注意,加载内核模块需要具有 root 权限,否则会加载失败。 当调用 “insmod 阅读全文
posted @ 2021-12-13 08:57 一起学嵌入式 阅读(878) 评论(0) 推荐(0) 编辑
摘要: Linux内核模块,可以在系统运行期间动态扩展系统功能而无须重启系统,更无须为这些新增的功能重新编译一个新的系统内核映像。内核模块的这个特性为内核开发者开发验证新的功能提供了极大的便利。 内核模块的文件格式 以内核模块形式存在的驱动程序,比如 hello.ko,其在文件的数据组织形式上是 ELF(E 阅读全文
posted @ 2021-12-10 15:58 一起学嵌入式 阅读(308) 评论(0) 推荐(0) 编辑
摘要: 什么是局部性 一个编写良好的计算机程序常常具有良好的局部性(locality)。即,他们倾向于引用临近与其最近引用过的数据项的数据项,或者最近引用过的数据项本身。这种倾向性,被称为局部性原理。 局部性通常有两种不同的形式: 时间局部性 具有良好时间局部性的程序中,被引用过一次的内存位置很可能在不远的 阅读全文
posted @ 2021-12-09 14:04 一起学嵌入式 阅读(141) 评论(0) 推荐(0) 编辑