高端内存是Linux中一个重要的概念,初涉Linux时曾经对这个概念非常迷惑。实际上这个概念比较简单,理解这个概念,需要追溯一下Linux的内存管理。
从前,CPU的地址总线只有32位,再早的就不再追溯了。32的地址总线无论是从逻辑上还是从物理上都只能描述4G的地址空间,在物理上理论上最多拥有4G内存(除了IO地址空间,实际内存容量小于4G),逻辑空间也只能描述4G的线性地址空间。为了合理的利用4G空间,Linux采用了3:1的策略,即内核占用1G的线性地址空间,用户占用3G的线性地址空间。所以用户进程的地址范围从0~3G,内核地址范围从3G~4G,也就是说,内核空间只能管理1G的内存。
对于如此紧张的线性地址资源,内核空间与用户空间的肆意瓜分,导致了内存管理上的问题:当物理内存大于1G时,内核线性地址空间小于实际的物理内存容量,内核如何实现对大于1G内存的管理呢?说到这里,需要提一下内核空间对内存的管理方法。一方面为了提高内核空间对内存的管理效率;另一方面,为了简化内核空间对内存的管理方法,内核采用线性映射的方法实现对内存的管理,从Linux实现的方法来看,物理地址与内核的虚拟地址只差一个偏移量。所以,当物理内存大于1G时,物理内存无法全部映射到内核线性地址空间,这就产生了上述问题。
从上述描述可以看出,地址空间大于1G的内存区域称之为高端内存,同理,小于1G的内存区域称之为低端内存。高端内存的管理需要进行非线性映射,为此,在内核线性地址空间预留了128M的空间,位于线性地址空间的高端。如今,CPU的地址总线都扩大到64位了,线性地址资源非常丰富,所以,可以给内核空间预留足够的线性地址资源,在最近一段时间内,内核线性地址资源与物理内存容量之间的矛盾将不再突出,高端内存的概念也就在64位CPU上消失了。
原先一直都对Linux高端内存的管理认识模模糊糊的,可能主要是初次接触linux kernel 是0.11版吧,当初的内存设计是16M,Linus对拥有32M的内存都是觊觎万分,1G内存恐怕是天方夜谭了。16M内存哪里还顾得上高端内存,脑子就一直没有这种概念。先我们还是来看看为什么要有高端内存?
80386的线性寻址空间是4G,内核空间从3G开始,如果全部采用"线性映射"(物理地址和逻辑地址只差一个常量 PAGE_OFFSET ),最多管理1G物理内存,也就是1G的物理内存挨着挨着对应的是虚拟地址的3G到4G的位置。你想想如果多于1G的内存,我们用什么线性地址来装下这些多出的地址呢? 我朋友的机器有2G,据说玩游戏巨爽(AMD64300+).显然如果线性映射我的朋友就会浪费1G内存.为了使内核能够访问这些"高端内存",内核使用HighMem.做法是不将内核1G的虚拟地址空间全部映射成物理内存,而是预留一部分给高端内存做临时映射使用.
其实内核不仅仅预留了highmem的地址空间,还给fixmap,vmalloc预留了虚存空间.实际上,系统初始化的时候预留128M虚存,896M用于"直接"映射物理内存。下面我们先贴上一幅图,摘自《understand linux kernel 》
毕竟意淫是很考大家的空间想象能力的,所以我们还是依照图片来看图说话:
高端内存映射有三种方式:
1、映射到“内核动态映射空间”
这种方式很简单,因为通过 vmalloc() ,在"内核动态映射空间"(上图的VMALLOC_START到VMALLOC_END)申请内存的时候,就可能从高端内存获得页面(参看 vmalloc 的实现),因此说高端内存有可能映射到"内核动态映射空间" 中。
2、永久内核映射
如果是通过 alloc_page() 获得了高端内存对应的 page,如何给它找个线性空间?
内核专门为此留出一块线性空间,从 PKMAP_BASE 到 FIXADDR_START (上图的倒数第二块区域),用于映射高端内存。在 2.4 内核上,这个地址范围是 4G-8M 到 4G-4M 之间。这个空间起叫“内核永久映射空间”或者“永久内核映射空间”。
这个空间和其它空间使用同样的页目录表,对于内核来说,就是 swapper_pg_dir,对普通进程来说,通过 CR3 寄存器指向。
通常情况下,这个空间是 4M 大小,因此仅仅需要一个页表即可,内核通过来 pkmap_page_table 寻找这个页表。通过 kmap(), 可以把一个 page 映射到这个空间来。由于这个空间是 4M 大小,最多能同时映射 1024 个 page。因此,对于不使用的的 page,及应该时从这个空间释放掉(也就是解除映射关系),通过 kunmap() ,可以把一个 page 对应的线性地址从这个空间释放出来。
3、临时映射
内核在 FIXADDR_START 到 FIXADDR_TOP 之间保留了一些线性空间用于特殊需求。这个空间称为“固定映射空间”
在这个空间中,有一部分用于高端内存的临时映射。
这块空间具有如下特点:
1、每个 CPU 占用一块空间
2、在每个 CPU 占用的那块空间中,又分为多个小空间,每个小空间大小是 1 个 page,每个小空间用于一个目的,这些目的定义在 kmap_types.h 中的 km_type 中。
当要进行一次临时映射的时候,需要指定映射的目的,根据映射目的,可以找到对应的小空间,然后把这个空间的地址作为映射地址。这意味着一次临时映射会导致以前的映射被覆盖.通过 kmap_atomic() 可实现临时映射。
想学习的你和我联系预约就可以免费听课了。
以下课程可免费试听C语言、电子、PCB、STM32、Linux、FPGA、JAVA、安卓等。
宋工企鹅号:3524-6590-88 Tel/WX:173--1795--1908
通俗易懂!高手带你理解嵌入式Linux中高端内存与低端内存
相关推荐
5G最通俗易懂的解释
5G最通俗易懂的解释,缩略语中英文全称3GPP3rd Generation Partnership Project第三代合作伙伴计划5GC5G Core Network5G核心网AAUActive Anten...
2021-07-27 07:09:03
Linux作为嵌入式操作系统的优势是什么?如何建立嵌入式Linux?
Linux作为嵌入式操作系统的优势是什么如何建立嵌入式Linux?当前流行的几种嵌入式Linux系统
2021-04-27 06:34:40
嵌入式Linux
,但这种努力将是白费。现在需要的是一个便宜、成熟并且提供高端嵌入式系统所必须特性的操作系统,嵌入式Linux操作系统以价格低廉、功能强大又易于移植而正在被广泛采用,成为新兴的力量,所以,众多商家纷纷转向
2016-05-13 14:42:44
嵌入式Linux应用开发详解 光盘
所有实例的完整代码,读者可以作为学习和研究之用。全书涵盖了嵌入式Linux下应用开发的各个方面,实用性高,针对性强。 本书内容丰富,图文并茂,语言流畅,通俗易懂,可操作性强。本书既可作为各高等院校有关嵌入式Linux专业的教学用书,也可供在嵌入式Linux平台下进行应用开发的广大工作人员学习和参考 `
2013-06-02 10:26:46
嵌入式Linux驱动开发之DDR内存介绍
嵌入式Linux驱动开发(一)DDR内存DDRUARTI2CSPIDDR内存RAM: 随机存储器,可以随时进行读写操作,速度很快,掉电以后数据会丢失。比如内存条、 SRAM、 SDRAM、 DDR
2021-12-16 07:10:10
嵌入式linux入门学习书籍推荐
,由浅入深地讲解,使读者最终可以配置、移植、裁剪内核,编写驱动程序,移植gui系统,掌握整个嵌入式linux系统的开发方法。这本书是韦东山写的。配套这本书有一个开发板的视频。讲的很好。 第三:《深入理解
2015-10-08 09:17:16
嵌入式linux入门学习书籍推荐
系统,掌握整个嵌入式linux系统的开发方法。这本书是韦东山写的。配套这本书有一个开发板的视频。讲的很好。 第三:《深入理解Linux内核》 简称ULK,相比于LKD的内容不够深入、覆盖面不广
2015-10-18 10:13:53
嵌入式arm学习开发的要点
学习嵌入式linux必不可少的秘密武器资料有应用领域,编辑工具,编辑环境,典型应用等重点知识及案例来通俗易懂的讲解,开发学习的要点,让你一学就会。
2018-05-17 13:22:26
嵌入式从哪里入手?
,成本等等有严格要求的一个计算机系统。看起来是很复杂的,其实我们来总结一下就是两点: 第一,嵌入式系统是一个计算机系统 第二,嵌入式系统是针对某个应用的,也就是通常所说的“专用的”。 其实再说的通俗易懂点
2022-11-22 17:03:46
嵌入式名词简单的理解和定义
呢?当然是。只不过呢,我们现在把它看成一个低端的嵌入式系统。通常我们所说的嵌入式系统是指什么呢?指像“ARM+LINUX”这样结构的系统。 低端的单片机系统和高端的ARM+LINUX这种结构有
2013-10-29 09:59:03
嵌入式基础名词介绍
通常我们都有这么一个模糊的概念,我以前做单片机,单片机是不是嵌入式系统呢?当然是。只不过呢,我们现在把它看成一个低端的嵌入式系统。通常我们所说的嵌入式系统是指什么呢?指像“ARM+LINUX”这样
2020-05-21 22:55:50
嵌入式学习-嵌入式名词
,我以前做单片机,单片机是不是嵌入式系统呢?当然是。只不过呢,我们现在把它看成一个低端的嵌入式系统。通常我们所说的嵌入式系统是指什么呢?指像“ARM+LINUX”这样结构的系统。 低端的单片机系统和高端
2016-07-01 14:51:06
嵌入式学习分析
我对嵌入式概念名词简单的理解通常我们都有这么一个模糊的概念,我以前做单片机,单片机是不是嵌入式系统呢?嵌入式系统是指什么呢?指像“ARM+LINUX”这样结构的系统。 低端的单片机系统和高端
2021-05-13 10:28:49
嵌入式新手应该怎么学?
的”。 其实再说的通俗易懂点就是针对某个应用的计算机系统!这样的话就很好理解了。 那么重点来了,那就是要学什么,对于嵌入式来说,不要觉得他学很多东西,你就会没有目的的学这学那的,这样只会让自己更加迷茫,不知道
2023-09-08 10:22:20
嵌入式概念
我对嵌入式概念名词简单的理解通常我们都有这么一个模糊的概念,我以前做单片机,单片机是不是嵌入式系统呢?嵌入式系统是指什么呢?指像“ARM+LINUX”这样结构的系统。 低端的单片机系统和高端
2021-05-05 16:57:11
嵌入式程序为什么不能用堆内存
关于单片机使用mallco函数的问题:(malloc()到底从哪里得到了内存空间?答案是从堆里面获得空间。因此楼主请检查是否分配了heap空间以及heap是否足够大。)1、嵌入式程序为什么不能用堆
2022-01-27 07:39:21
嵌入式系统内存优化使用
响应运行。并且经过实践证明,嵌入式系统内存优化使用,能够提升系统空间5%内存,确保系统顺利运行。【关键词】 嵌入式 Linux系统 内存优化 使用方法研究现如今,嵌入式系统软件被广泛应用于各行...
2021-11-04 06:23:46
嵌入式系统内存管理
本帖最后由 VVX 于 2016-9-18 13:15 编辑
1、概述操作系统的内存管理功能用于向操作系统提供一致的地址映射功能和内存页面的申请、释放操作。在嵌入式实时系统中,内存管理根据
2016-09-17 19:40:05
带你走进嵌入式ARM MMU神秘的内部世界
table的信盈达嵌入式企鹅要妖气呜呜吧就零久要。但在linux内核启动的初始化阶段,临时建立页表(initial page tables)以供linux内核初始化提供执行环境,这时L1的页表项使用的就是
2017-08-22 11:22:34
通俗易懂之电子称开发导航篇
通俗易懂之电子称开发立项篇https://bbs.elecfans.com/jishu_919726_1_1.html通俗易懂之电子称开发硬件篇https://bbs.elecfans.com
2016-07-18 21:22:53
通俗易懂之电子称开发硬件篇
本帖最后由 hobbye501 于 2016-7-18 20:52 编辑
通俗易懂之电子称开发硬件篇:即前篇之后,按照我们一贯的开发流程,显示硬件,后是软件,最后连调综合实验。下面我们先重点讲
2016-07-18 20:45:13
通俗易懂之电子称开发立项篇
本帖最后由 hobbye501 于 2016-7-18 20:40 编辑
通俗易懂之电子称开发立项篇:就是说我们要开发一个项目的前期功能与选型,功能: 1.实时称重并显示; 2.限位控制
2016-07-18 20:34:38
通俗易懂之电子称开发软件篇
通俗易懂之电子称开发软件篇 :程序才是一个项目的灵魂,就像心于人一样。。。前两篇链接:通俗易懂之电子称开发立项篇https://bbs.elecfans.com
2016-07-18 21:05:21
通俗易懂之电子称综合演示篇
通俗易懂之电子称综合演示篇:前几篇链接如下:通俗易懂之电子称开发立项篇https://bbs.elecfans.com/jishu_919726_1_1.html通俗易懂之电子称开发硬件篇https
2016-07-18 21:17:55
通俗易懂的PID教程
本帖最后由 Calvin248 于 2013-5-5 15:31 编辑
帮助大家更好的理解PID算法,讲解的很通俗易懂,并且附有程序,帮助大家理解掌握!
2013-05-05 15:30:29
通俗易懂系列整合—电源基础知识讲解
之前发表了六篇用通俗易懂的话讲解电源知识的文章,分别是关于三极管、电阻、电容、电感、二极管和场效应管的讲解。怕想学习的坛友找不到内容,所以这边整合一下,给大家分享文章的链接。用通俗易懂的话让你明白
2016-02-17 09:43:07
ARM嵌入式Linux系统开发从入门到精通
`编辑推荐 Linux是一个成熟而稳定的开放源代码操作系统,将Linux植入嵌入式设备具有众多的优点。 《ARM嵌入式Linux系统开发从入门到精通》通俗易懂,可作为高等院校电子类、电气类、控制
2017-10-31 13:36:35
ARM嵌入式Linux系统开发详解
“Linux典藏大系”自2010年陆续出版以来,因其内容丰富、讲解细腻、通俗易懂和实用性强等特色而深受广大读者的喜爱,2014年2月“Linux典藏大系“全新升级版(第2版)正式出版,第2版图书迎合
2018-09-14 08:57:17
C语言内存分配-通俗理解
最近很多同学希望了解C语言的内存分配,虽然可以在互联网上找到诸多的讲解,但是你会发现要么不通俗易懂,要么不算太全面。而这些对于新手而言,又绝对会把你弄得晕头转向的,所以在此对网上和书本上的诸般讲解
2016-10-08 14:57:24
FPGA通俗易懂入门书籍教程
书籍内容通俗易懂,推荐大家下载学习!内容太大,打包4个压缩包。内容包括:1 AD采集 2 FIR滤波器设计3 信号发生器4 VGA...............等十多个案例分析。
2018-11-15 10:51:04
RTOS和Linux中的内存映射及移植方法
映射到相应得用户空间去。同样重要的是,在I/O调用密集的嵌入式程序中怎么样把RTOS的硬件接口代码移植到更加规范的Linux设备驱动程序中去。 本文把概述几种常用的经常出现于现有嵌入式应用中的内存映射I
2019-07-03 07:43:06
stm32移植linux方法
stm32移植linux方法,推荐分享一个朋友的人工智能教程,零基础!通俗易懂!希望你也加入到人工智能的队伍中来!Ⅰ、概述该文写针对初学µC/OS的朋友,基于以下平台来一步一步移植µC/OS嵌入式操作系统。UCOS移植相关平台:系统平台:µC/OS-II(最新V2.92版)硬件平台:STM3...
2021-08-09 09:17:59
【高手问答】12—韦东山老师VS嵌入式LINUX应用开发完全手册
—韦东山老师VS嵌入式LINUX应用开发完全手册【高手问答】11——与张飞老师一起成为硬件电路设计的expert【高手问答】第10期—宋雪松老师l手把手教你学51单片机【高手问答】第9期——张工带你
2014-09-15 09:58:29
【下载】《ARM9 嵌入式系统设计与开发教程》
`编辑推荐 本书以ARM920T微处理器为硬件平台,结合Linux操作系统,详细介绍了嵌入式应用系统的设计、调试方法,以及嵌入式驱动程序开发。全书内容丰富,语言通俗易懂,具有很强的可读性。内容简介
2017-12-25 17:33:32
什么是嵌入式Linux?
,这些都进一步促进了Linux在嵌入式系统中的应用。2、内核高效稳定Linux内核的高效和稳定已经在各个领域内得到了大量事实的验证,Linux的内核设计非常精巧,分成进程调度、内存管理、进程间通信
2015-01-23 11:59:01
什么是嵌入式操作系统内存管理技术?
收内存。智能手机操作系统作为嵌入式操作系统的一种,较之普通桌面型操作系统,其内存管理有着独特之处:受硬件成本、设备体积等因素制约,内存容量一般相当有限,需要高效地使用;电源管理尤为重要,一次充电要保证数
2019-07-30 07:19:11
什么是嵌入式系统?深嵌入式系统又是什么
物联网中“事物”的定义差异很大。我们将事务定义为通过网络发送和接收信息的嵌入式计算设备(或嵌入式系统)。什么是嵌入式系统?嵌入式系统基于微控制器(MCU),并运行占用内存少的软件。某些基于Linux
2021-12-21 06:48:10
从树莓派带你掌握嵌入式linux产品实战开发
从树莓派带你掌握嵌入式linux产品实战开发–什么是嵌入式linux(二)作者:伍俊伟 本文非作者授权,,这个问题你真的答得出来吗?但绝大多数人耳熟能详。嵌入式产品是软件硬件可裁剪,适应应用系统
2021-11-04 06:21:04
使用go开发嵌入式linux
经一段时间的实战,使用go开发嵌入式linux完全没问题。使用高级语言开发嵌入式,是一种享受!( 注:是嵌入式linux,而非内存和空间都很吃紧的嵌入式其他系统。)速度,稳定性及开发效率都是最高
2021-11-04 09:07:17
使用memtester工具对嵌入式Linux内存压力进行测试
使用memtester工具对嵌入式Linux内存压力测试新的改变Memtest工具工具编译与使用使用命令使用格式测试新的改变内存是电子计算机的最重要组成要素之一。 与内存对应的就是外存,如硬盘、外部
2021-12-15 06:29:25
共享嵌入式开发资料
://www.embedu.org/xuexi/C语言入门视频教程女声完整版,声音甜美、代码潇洒、通俗易懂! 嵌入式入门经典并且不收费呦! 详情链接:http://www.embedu.org/C/嵌入式、安卓软件开发群 177836540,还有好多上传的嵌入式开发资料,需要的下载吧
2015-12-28 14:19:42
如何使用嵌入式的内存分配管理技术
嵌入式---内存分配管理嵌入式的内存一般都非常的小,最进在学习LWIP协议栈的移植,在正点原子的学习资料中找到了许多关于怎么移植协议栈的东西,其中使用到了内存的分配管理技术,能够高效的管理和使用内存
2021-12-17 06:41:46
怎么设计嵌入式系统的内存管理
系列文章:一篇讲透嵌入式操作系统任务调度从需求反推设计方案,假如让你设计嵌入式系统的内存管理,你怎么设计?最简单的,用一个双链表控制,所有已分配和未分配的内存用两个双链表标识:...
2021-12-17 06:54:55
我对嵌入式一些概念名词的理解。
通常我们都有这么一个模糊的概念,我以前做单片机,单片机是不是嵌入式系统呢?嵌入式系统是指什么呢?指像“ARM+LINUX”这样结构的系统。 低端的单片机系统和高端的ARM+LINUX这种结构有
2021-05-31 09:48:39
树莓派带你掌握嵌入式linux产品实战开发
从树莓派带你掌握嵌入式linux产品实战开发–我们实战开发的paipai one设备介绍附原理图(三)本文非作者授权,禁止转载2020年8月5日文章目录从树莓派带你掌握嵌入式linux产品实战开发
2021-11-05 06:39:12
求一本通俗易懂的led电源驱动设计的书籍,包含PCB设计
[size=17.1429px]现在想学一下LED驱动电源,哪本书比较好呢?上周日去书店看了下,相关的书不多,且很多讲的很高深,看不懂。因本人基础不是特别好,想找一本通俗易懂的。我曾经买过一本单片机
2016-04-01 13:00:19
求大神推荐一本通俗易懂的led电源设计的书籍,包含PCB设计
[size=17.1429px]现在想学一下LED驱动电源,哪本书比较好呢?上周日去书店看了下,相关的书不多,且很多讲的很高深,看不懂。因本人基础不是特别好,想找一本通俗易懂的。我曾经买过一本单片机
2016-04-01 13:02:20
用最基础的继电器通俗易懂地讲解门电路
【转载理由:用最基础的继电器通俗易懂地讲解门电路,对于理解CPU的与非或等门电路、触发器和寄存器有很大帮助】PS:很久之前看的文章了,现在翻出来看看,对于门电路理解很有裨益,也是CPU设计的基础阅读
2021-07-30 06:42:43
请问如何成为嵌入式高手?
成为嵌入式高手的技能清单和升级线路图第一部分:Linux平台搭建与环境熟悉了解linux系统;区分各种版本的Linux系统,以便于拓展 Linux视野。1、Linux 简介;2、Linux 系统
2020-08-30 11:28:25
谁能通俗易懂的讲下这些协议有哪些特点?
谁能通俗易懂的讲下这些协议有哪些特点?RS485 232422MODBUS 蓝牙 ZIGBEE红外 以太网TCP/IPHART 串口MPIUARTCANBUS profibus ASI PPIUDP、S7、profibus、pofinet ,,,等等 欢迎补充
2018-05-31 11:11:40
ARM嵌入式入门级教程
ARM嵌入式入门级教程
本书由浅入深、通俗易懂地讲解了嵌入式Linux的系统设计与开发。全书共25章,从嵌入式处理器ARM开始,讲解了ARM处理器的资源、ARM的指令
2010-03-09 14:39:21141
2009年笔记本技术发展回顾(通俗易懂)
2009年笔记本技术发展回顾(通俗易懂)
· 导语
2010年,您是否有购买笔记本的计划?作为一款对多数人来说都价格不
2010-02-04 15:55:28472
区块链最通俗易懂的阐述
区块链如何运作的? 下面这篇文翻译自How Does the Blockchain Work?全文。作者Michele DAliessi用通俗易懂的文字阐述了区块链(Blockchain
2017-12-22 16:37:523946
怎样通俗易懂地解释贝叶斯网络和它的应用?
怎样通俗易懂地解释贝叶斯网络和它的应用?详情请看下文。贝叶斯网络是一个用严格的数学方法来模拟一个世界的方法,是灵活的,适应于任何你拥有的知识程度的方法,同时也是计算效率的方法。
2018-02-02 16:09:163937
嵌入式Linux内存管理的知识汇总
这个内存管理的知识点还真的需要我们专门的去理解一下,今天大家一起来学习学习嵌入式Linux内存管理的知识。 1.不涉及linux内核的汇编知识,仅C语言层面解析 1.回答:汇编主要处理的是寄存器地址
2018-04-09 05:58:00887
通俗易懂的讲解FFT的让你快速了解FFT
相信网上现在有很多关于FFT的教程,我曾经也参阅了很多网上的教程,感觉都不怎么通俗易懂。在基本上的研究FFT,并且通过编程的形式实现之后。我决定写一篇通俗易懂的关于FFT的讲解。因此我在接下来的叙述中尽量非常通俗细致的讲解。
2019-03-24 11:52:2534610
通俗易懂的无源滤波器的时域和频域特性
近期看了一些无源滤波器的资料,其中Robert Keim写的文章通俗易懂,让我们一起来看看处理EMC问题中最常用的手段-RC滤波。
2019-07-19 09:55:4015222
高手进阶SDR的SDRAM内存原理
高手进阶SDR的SDRAM内存原理(c++嵌入式开发linux)-作为电脑中必不可少的三大件之一(其余的两个是主板与CPU),内存是决定系统性能的关键设备之一,它就像一个临时的仓库,负责数据的中转
2021-08-04 13:21:0616
嵌入式系统的内存指针操作
在嵌入式系统中,对内存地址的操作是一个重要的方面,从广义上讲,嵌入式系统的地址空间可以分成以下三种类型: 系统的内存 处理器内部的寄存器映射 处理器外部部件的内存映射 无论哪种内存,一般都映射
2021-08-27 11:33:225781
嵌入式linux+io+优化,嵌入式Linux系统内存优化使用方法研究
优化进而确保响应运行。并且经过实践证明,嵌入式系统内存优化使用,能够提升系统空间5%内存,确保系统顺利运行。【关键词】 嵌入式 Linux系统 内存优化 使用方法研究现如今,嵌入式系统软件被广泛应用于各行...
2021-11-01 16:31:4810
通俗易懂,嵌入式Linux驱动基础
前言上一篇分享的:《从单片机工程师的角度看嵌入式Linux》中有简单提到Linux的三大类驱动:我们学习编程的时候都会从hello程序开始。同样的,学习Linux驱动我们也从最简单的he...
2021-11-01 16:57:0310
FFT原理通俗易懂的解释
FFT原理通俗易懂的解释 傅里叶变换(Fourier Transform,简称FFT)是一个广泛应用的数学工具,它可以将一个连续或离散信号分解成一系列单一的正弦函数,这些正弦函数名称为频率成分
2023-09-07 16:35:031405
如何通俗易懂地解释卷积?
在本问题 如何通俗易懂地解释卷积?中排名第一的马同学在中举了一个很好的例子(下面的一些图摘自马同学的文章,在此表示感谢),用丢骰子说明了卷积的应用。
2023-12-26 17:36:24118
评论
查看更多