自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

IOT物联网小镇

专注于:Linux 操作系统、物联网等领域的嵌入式开发。

  • 博客(6)
  • 资源 (12)
  • 收藏
  • 关注

原创 【分页机制】-看了这篇文章还没彻底搞懂?我自罚三杯!

目录 文章目录分段存储的坏处物理内存的管理映射表一个线性地址的寻址过程终于开始介绍分页机制了,作为一名 Linuxer,大名鼎鼎的分页机制必须要彻底搞懂!我就尽自己的最大努力,正确把我理解的分页机制,用图文形式彻底分解,希望对您有所帮助!一共分 3 篇文章:这篇文章主要介绍单映射表;下一篇介绍两级映射(页目录和页表);最后一篇介绍对映射表自身的操作。分段存储的坏处在之前的文章中,我们多次描写了一个段描述符的结构,其中就包括段的开始地址、界限和各种段的属性。经过分段处理单元的权限.

2021-09-30 08:35:58 1007

原创 链接两个“名字完全一样”的【动态库】,你会怎么处理?

作 者:道哥,10+年嵌入式开发老兵,专注于:C/C++、嵌入式、Linux。 目录 文章目录第一个动态库文件应用程序第二个动态库文件错误做法:直接给它改名正解:patchelf 工具One More Thing在Linux应用的开发过程中,直接利用现成的第三方库(俗称:轮子)来完成自己的业务功能,是很常见的事情。不知道你是否遇到这样的场景:应用程序中需要使用两个动态库里的不同功能的函数,但是这两个动态库的作者发生心灵感应了,居然起了完全一样的动态库名字,这该如何是好?具体来说面对的问题是..

2021-09-30 08:25:58 1673

原创 Linux从头学13:想彻底搞懂“系统调用”的底层原理?建议您别错过这篇【调用门】

作 者:道哥,10+年嵌入式开发老兵,专注于:C/C++、嵌入式、Linux。 目录 文章目录门描述符调用门特权级检查规则调用门的使用过程安装调用门把调用门的选择子告诉用户程序用户程序通过调用门进入系统函数栈的切换在之前的文章中Linux从头学10:三级跳过程详解-从 bootloader 到 操作系统,再到应用程序,由于当时没有引入特权级的概念,用户程序和操作系统都工作在相同的特权级,因此可以直接通过[段选择子:偏移量] 的方式,来调用属于操作系统代码段中的函数,如下所示:用户程序head.

2021-09-22 08:17:08 962

原创 Linux从头学12:读完这篇【特权级】文章,你就比别人更“精通”操作系统!

作 者:道哥,10+年嵌入式开发老兵,专注于:C/C++、嵌入式、Linux。【IOT物联网小镇】 目录 文章目录CPL:当前特权级DPL:描述符特权级RPL:请求者特权级特权级检查规则代码段的特权级检查数据段的特权级检查栈段的特权级检查x86 处理器中,提供了4个特权级别:0,1,2,3。数字越小,特权级别越高!一般来说,操作系统是的重要性、可靠性是最高的,需要运行在0 特权级;应用程序工作在最上层,来源广泛、可靠性最低,工作在3 特权级别。中间的1 和 2两个特权级别,一般很少使用.

2021-09-16 08:39:24 862

原创 Linux从头学11:理解了这三个概念,才能彻底理解任务管理和任务切换

作 者:道哥,10+年的嵌入式开发老兵。转 载:欢迎转载文章,转载需注明出处。文章目录LDT:局部描述符表TSS: 任务状态段TCB: 任务控制块x86 系统中的保护模式,给系统的安全性提供了很大的保障,但是在我们之前的文章中,一直都淡化了特权级别这个概念。例如:在保护模式下的段选择器,我们一直都只把它看做一个段描述符的"索引号",用来在 GDT (全局描述描述符表) 中查找一个段描述符,例如:图中:代码段寄存器中的索引号是 4 ,GDT 中每一个表项占用 4 个字节,于是就在偏移量为 .

2021-09-09 08:21:12 835

原创 Linux从头学10:三级跳过程详解-从 bootloader 到 操作系统,再到应用程序

作 者:道哥,10+年的嵌入式开发老兵。转 载:欢迎转载文章,转载需注明出处。文章目录bootloader 跳转到操作系统操作系统的 header 布局建立操作系统的三个段描述符操作系统跳转到应用程序应用程序调用操作系统中的函数不论是在 x86 平台上,还是在嵌入式平台上,系统的启动一般都经历了 bootloader 到 操作系统,再到应用程序,这样的三级跳过程。每一个相互交接的过程,都是我们学习的重点。这篇文章,我们仍然以 x86 平台为例,一起来看一下:从上电之后,系统是如何一步一步的.

2021-09-03 08:18:38 933

Stunnix-CXX-Obfus-4.7-Linux-trial.zip

这是用于C/C++源代码级别的混淆工具,不是二进制混淆。官网的下载特别特别慢,因此在这里提供一下,给需要的开发者。

2020-03-10

Git2.25.0.1.zip

Git2.25.0.1.zip是在 windows系统中使用的版本管控工具,在我们的开发过程中大部分是使用这个工具进行代码版本的管控。但是官网下载的速度太慢,所以在这里提供一下。

2020-02-04

cmake-3.15.6-win64-x64.msi

cmake-3.15.6-win64-x64.msi 是在windows下进行开发时大部分需要的构建工具,但是官网下载的太慢太慢,所以在这里提供一下,确认可用。

2020-02-04

CppPluginSample1.tgz

1. 实现原理。 因为工作需要使用C++插件的开发形式,于是调研了目前的实现方式和思路,本质上就是在一个插件管理模块,使用容器(map)存储所有注册的插件名称和构造函数。 注册的过程可以使用代码,也可以使用XML配置的方式。在应用程序需要某个插件对象的时候,直接通过传递插件的名称作为参数,从插件管理模块中获取一个创建好的插件对象。 2. 实例代码 我一共写了2个demo,这一个是按照上面的思路实现的,比较简单、基础。解压后,直接在命令行使用 make 一下就可以得到可执行文件。 另外一个demo过会再上传,本质原理是一样,但是没有使用插件管理模块,而是在每一个插件接口中,使用静态成员容器来保存实现了本接口的所有插件信息,当应用程序需要插件时,调用该插件实现的接口中的静态函数即可。

2019-09-20

ZWave实战入门-完全自己总结整理的基本知识

这是我自己在刚入门ZWAVE设备开发时,自己总结的文档,包括了ZWAVE最基本的知识。

2019-04-04

ZWave 700 系列 Z-Wave Roadmap 700 Series - Asia Forum_B2B_V3.pdf

这个PDF描述了在ZWave 700系列的产品的一些基本情况,已经路线图,很有参考价值。

2019-04-03

iOS开发指南:从零基础到App Store上架-第2章

iOS开发指南:从零基础到App Store上架 第2章 由于全新问题,只能分开传。

2014-09-14

iOS开发指南:从零基础到App Store上架-第一章

iOS开发指南:从零基础到App Store上架 第一章 由于权限问题,只能分开上传。

2014-09-14

在虚拟机中直接使用liveCD

在练习LFS的过程中,对各种依赖的版本需求和宿主机的版本要求,相关性是很大的。这里提供一个有效的步骤去使用兼容的虚拟机,将会大大提高LFS的创建流程。

2014-07-15

DL-LFS开始之前.txt

在练习LFS时,很多朋友遇到一些版本兼容的问题,而且这些问题是最能打击新手的自信心的,在开始LFS之前,了解一些相关的必要知识,将会避免很多问题。

2014-07-15

LFS-BOOK-6.3.pdf

非常详细、非常接底气的LFS参考资料,按照里面的提示流程走一遍,将会大大增强自己对linux操作系统的理解。

2014-07-15

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除