自定义博客皮肤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 操作系统、物联网等领域的嵌入式开发。

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

原创 Linux从头学09:x86 处理器如何进行-层层的内存保护?

作 者:道哥,10+年的嵌入式开发老兵。转 载:欢迎转载文章,转载需注明出处。文章目录实模式:bootloader 为程序计算段的基地址保护模式:bootloader 为自己创建段描述符确定 GDT 的地址创建代码段描述符创建数据段描述符创建栈段描述符段描述符是如何确保段的安全访问的?段寄存器高速缓存对段寄存器本身的保护对段界限的检查在上一篇文章中,我们已经顺利的从实模式,过渡到了保护模式。保护模式与实模式最本质的区别就是:保护模式使用了全局描述符表,用来保存每一个程序(bootloader.

2021-08-30 08:28:40 855

原创 Linux从头学08:Linux 是如何保护内核代码的?【从实模式到保护模式】

作 者:道哥,10+年的嵌入式开发老兵。转 载:欢迎转载文章,转载需注明出处。文章目录从 16 位进入到 32 位8086 的 16 位模式80386 的 32 位模式从实模式进入到保护模式如何进入保护模式GDT 全局描述符表GDTR 全局描述符表寄存器段描述符的查找原理在之前的 7 篇文章中,我们一直学习的是最原始的 8086 处理器中的最底层的基本原理,重点是内存的寻址方式。也就是:CPU 是如何通过[段地址:偏移地址],来对内存进行寻址的。不知道你是否发现了一个问题:所有的程序都可.

2021-08-25 21:32:56 1065

原创 Linux从头学07:中断那么重要,它的本质到底是什么?

文章目录中断向量与中断描述符中断的分类内部中断外部中断中断号中断向量和中断处理程序中断向量的本质中断处理程序的安装中断现场的保护和恢复总结:中断的本质在软件开发中,中断是一个绕不开的重要话题,但是,不知道您是否遇到过这样的困惑:很多书籍、文章在介绍中断相关的知识点时,说的都挺有道理。这篇文章对中断的讲解很正确,那篇文章在描述中断的时候也挺对的,但是,这两篇文章中,怎么有些内容是矛盾的啊?!单独看任何一篇文章感觉都有道理,看的越多,反而越迷糊?好比在森林里迷路了,如果只有一个指南针,肯定能走出来。

2021-08-17 08:23:03 849

原创 Linux从头学06:16张结构图,彻底理解【代码重定位】的底层原理

作 者:道哥,10+年的嵌入式开发老兵。转 载:欢迎转载文章,转载需注明出处。文章目录程序的结构1. 程序头(Header)的描述信息2. 关于汇编地址bootloader 把程序从硬盘读取到内存1. 读取到内存中的什么位置?2. bootloader 设置数据段基地址3. bootloader 读取所有扇区4. 如果程序文件超过 64 KB 怎么办?代码重定位程序入口点重定位段表重定位跳转到程序的入口地址操作系统程序的执行在上一篇文章中Linux从头学05-系统启动过程中的几个神秘地址,你知.

2021-08-11 10:14:50 976

原创 Linux从头学05-系统启动过程中的几个神秘地址,你知道是什么意思吗?

作 者:道哥,10+年的嵌入式开发老兵。转 载:欢迎转载文章,转载需注明出处。文章目录0xFFFF:0x00000xF000:0xE05B0x0000:0x7C00在第一篇文章中,我们就提到,现代操作系统是从最古老的 8086 系统一步一步发展而来的。处理器厂商为了向后兼容,很多底层相关的原理都是一样的(如果不兼容,就会丢弃市场份额)。特别是从系统上电之后,一直到操作系统中第一个进程(Linux 下就是 init 进程)运行起来,这其中经历了 BIOS、引导程序、操作系统这三元大将的接力跑.

2021-08-03 09:37:49 1769

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关注的人

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