12 2021 档案

摘要:学习目标 通过分析 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 一起学嵌入式 阅读(573) 评论(0) 推荐(0) 编辑
摘要:上一篇简单介绍了Linux系统编程的一些概念知识,从本篇文章开始,从解释系统命令的功能入手,由浅入深,逐步讲解Linux系统编程。 建议学习者最好具有一定的C语言基础,了解数组、结构体、指针和链表的概念。 代码实验环境 操作系统:Ubuntu 18.04 LTS 编译器gcc版本:gcc (Ubun 阅读全文
posted @ 2021-12-24 10:06 一起学嵌入式 阅读(609) 评论(0) 推荐(0) 编辑
摘要:一些概念 操作系统职责:计算机用操作系统来管理所有的资源,并将不同的设备和不同的程序连接起来。 操作系统与普通程序一样,在内存中运行。它的特殊之处是,能把普通程序与其他程序或者设备连接起来。 内存空间用来存放程序和数据,所有的程序都必须在内存空间中才能运行,用来容纳操作系统的内存空间叫做系统空间,容 阅读全文
posted @ 2021-12-20 14:02 一起学嵌入式 阅读(178) 评论(0) 推荐(0) 编辑
摘要:开篇 本文引用的内核代码参考来自版本 linux-5.15.4 。 在 Linux 系统中,每个注册到系统的设备都有一个编号,这个编号便是 Linux 系统中的设备号。 设备号作为一种系统资源,需要加以管理。否则,如果设备号与驱动程序对应关系错误,就会引起混乱或引起潜在的问题。 通过查看 /proc 阅读全文
posted @ 2021-12-16 09:55 一起学嵌入式 阅读(272) 评论(0) 推荐(1) 编辑
摘要:开篇 本文引用的内核代码参考来自版本 linux-5.15.4 。 在用户空间,用指令 insmod 来向内核空间安装一个内核模块,其使用方法如下: insmod xx.ko /* 向内核空间安装模块 xx */ 注意,加载内核模块需要具有 root 权限,否则会加载失败。 当调用 “insmod 阅读全文
posted @ 2021-12-13 08:57 一起学嵌入式 阅读(985) 评论(0) 推荐(0) 编辑
摘要:Linux内核模块,可以在系统运行期间动态扩展系统功能而无须重启系统,更无须为这些新增的功能重新编译一个新的系统内核映像。内核模块的这个特性为内核开发者开发验证新的功能提供了极大的便利。 内核模块的文件格式 以内核模块形式存在的驱动程序,比如 hello.ko,其在文件的数据组织形式上是 ELF(E 阅读全文
posted @ 2021-12-10 15:58 一起学嵌入式 阅读(327) 评论(0) 推荐(0) 编辑
摘要:什么是局部性 一个编写良好的计算机程序常常具有良好的局部性(locality)。即,他们倾向于引用临近与其最近引用过的数据项的数据项,或者最近引用过的数据项本身。这种倾向性,被称为局部性原理。 局部性通常有两种不同的形式: 时间局部性 具有良好时间局部性的程序中,被引用过一次的内存位置很可能在不远的 阅读全文
posted @ 2021-12-09 14:04 一起学嵌入式 阅读(179) 评论(0) 推荐(0) 编辑
摘要:1. 问题背景 最近有小伙伴对于 C 语言中指针的运算有点疑问:指针变量加 1 之后,到底向后偏移了几个字节呢? 示例代码如下,这段代码运行在32位CPU平台上: #include<stdio.h> #pragma pack(1) struct tree { int height; int age; 阅读全文
posted @ 2021-12-08 23:49 一起学嵌入式 阅读(508) 评论(0) 推荐(1) 编辑
摘要:引言 在做嵌入式 Linux 开发的的程序员,不乏在 Windows 环境下编写代码,然后再复制到 Linux 系统中进行编译。代码托管或者版本管理绝大部分使用 git。 这样的开发流程,相信很多开发者在用:从 git 拉取代码到 Windows 系统中,添加或修改代码后,复制到 Linux 中进行 阅读全文
posted @ 2021-12-08 12:50 一起学嵌入式 阅读(2104) 评论(0) 推荐(0) 编辑

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