腾讯云
开发者社区
文档
建议反馈
控制台
登录/注册
首页
学习
活动
专区
工具
TVP
最新优惠活动
文章/答案/技术大牛
搜索
搜索
关闭
发布
精选内容/技术社群/优惠产品,
尽在小程序
立即前往
文章
问答
视频
沙龙
2
回答
什么是linux内核上下文中的DMA映射和DMA引擎?
、
、
、
、
什么是linux内核上下文中的DMA映射和DMA引擎?什么时候DMA映射API和DMA引擎API可以在Linux设备驱动程序中使用?任何真正的Linux设备驱动程序示例作为参考都是很好的。
浏览 10
提问于2015-12-25
得票数 10
1
回答
如何转储进程的内存页?
、
、
、
当进程完成执行时,我想转储它的内存页。为此,我尝试使用gdb,首先在exit和_exit设置断点,然后在gdb中运行进程,一旦进程中断,我就使用info proc mappings获取进程的内存映射。如下所示: Mapped address spaces: Start Addr End Addr Size Offset objfile 0x400000 0x415000 0x15000 0x0 /path/workspace/freqmine 0
浏览 6
提问于2015-02-17
得票数 3
回答已采纳
1
回答
Linux进程地址空间的解释?
在linux中,每个进程都有地址空间,当创建子进程时,这个地址空间将被exec()系统调用覆盖。我想知道的是这个地址空间由什么组成?地址空间中将包含什么类型的信息?
浏览 1
提问于2013-03-18
得票数 0
回答已采纳
1
回答
当两个进程写入mmaped文件的同一部分时,会发生什么情况?
、
、
、
我正在编写一个C程序,它使用mmap系统调用,运行在Linux3.12-64位上。 如果我有两个进程对磁盘文件的相同区域进行读/写访问,然后同时修改两个进程的区域内容. 一个进程能看到(读取)另一个进程在msync之前或之后所做的更改数据吗? 如果其他进程可以看到更新--在Linux实现做出保证之前是否发生了?
浏览 0
提问于2013-12-28
得票数 4
回答已采纳
2
回答
内存读/写操作中出现总线错误
、
、
、
、
我写了一个用于内存读写操作的内核程序。 #include<linux/kernel.h> #include<linux/module.h> #include<linux/init.h> #include<linux/io.h> static uint32_t *mem_alloc(void) { uint32_t *base, *mem; base=kmalloc(5*sizeof(uint32_t),GFP_KERNEL); mem=ioremap(base,5*sizeof(uint32_t)); return(me
浏览 2
提问于2011-05-20
得票数 0
回答已采纳
2
回答
linux -映射文件的非线性部分
、
、
我有一个场景,我需要在进程空间中线性地映射文件的非线性部分。 例如,如果文件是10页,我可能需要映射前3页,跳过4页,最后3页。映射应该是线性的,s.t。进程空间中的增量访问允许在第3页之后转到文件的第8页,因为第4、5、6和7页未映射。 我想知道这在Linux中是否可能。 谢谢。
浏览 4
提问于2013-01-16
得票数 3
回答已采纳
1
回答
为linux内核配置物理内存
、
、
、
我有一个嵌入式主板(MIPS架构),运行Linux2.6.29,并使用u-boot作为引导加载程序。我有512MB(字节)的DDR3内存。 问题是,Linux只能使用大约128MB的内存。我尝试在内核编译时更改内存大小,但内核在启动时崩溃。 有没有人能帮我一下?我甚至尝试将mem=512MB作为内核命令行参数从uboot传递,但这不起作用。
浏览 1
提问于2011-09-23
得票数 0
1
回答
如何在Linux中访问控制寄存器
、
、
我一直在阅读Linux源代码,移植到一个基于ARM Cortex -A7 MPCore - NEON Architecture的合适的平台上。 下面的代码显示了如何在调用API时修改模块的控制寄存器 drivers\module\module-specific_file.c static inline void API(....) { if (set) __raw_writel(msk, (void *)((u32) (reg) + 0x1000)); else { __raw_writel(msk, (void *)((u32) (re
浏览 8
提问于2015-02-20
得票数 0
2
回答
如何在__turn_mmu_on阶段后调试Linux内核启动过程?
、
、
、
、
我正在尝试启动安卓4.0.1 (冰淇淋三明治),基于Linux内核3.0.1在自定义硬件上。 我能够调试Linux Kernel 3.0.1的引导过程,直到在head.S中定义的__enable_mmu函数,使用串口。 但是一旦执行了__turn_mmu_on功能,我就无法调试引导过程。 我研究过linux-arm-kernel邮件列表归档&我尝试过他们的printascii()工作。但在__turn_mmu_on之后,我仍然无法在串行控制台上看到任何启动日志。 在这里,我能够在__turn_mmu_on之前获得日志,所以我的串行控制台端口工作正常。 还有一件事-我没有JTAG。 谁能
浏览 5
提问于2012-09-24
得票数 0
1
回答
Linux内核内存布局
我在一台64位的x86 Linux计算机上工作。 在这种体系结构上,每个进程都有自己的64位地址存储空间。 内存块由MMU组件映射到物理内存(或交换)。 现在,我想知道内核内存是如何工作的。如果我用下面的代码编写linux内核模块: char * address; address = 0x.....; *address = 0x42; 此0x42将写入何处?直接在物理内存中? 还是说linux内核是64位内存空间,就像任何用户和进程一样? 谢谢
浏览 25
提问于2019-04-01
得票数 1
1
回答
如何将mmio路由到io设备?
、
、
、
我试图了解IO设备是如何映射到运行Linux的现代x86机器上的“常规”内存地址空间的。 我想弄清楚的一些细节如下: cat /proc/iomem打印出一个io内存映射区域列表(打印物理地址),这些区域是不连续的。 内核模块可以在运行时动态请求这些区域,并通过中定义的函数request_mem_region分配这些区域。 x86机器使用mov进行内存访问和IO (映射到内存中)。 因此,现在,假设内核模块代码正在运行,我们可能会遇到类似mov [value] [virtual address]的指令,其中虚拟地址可能是指内存中存在的mmio区域或“正常”数据值。将mmio流量从“正常”内存中
浏览 0
提问于2023-04-02
得票数 3
1
回答
在linux内核中,页面地址、虚拟地址和物理地址有什么不同
、
在linux内核中,页面地址、虚拟地址和物理地址有什么不同?另外,如果我有结构页面地址,我如何找到它的虚拟地址? 有没有人可以解释清楚关于Linux内核版本3.10的问题? 提前感谢你的回答。
浏览 0
提问于2015-10-29
得票数 2
2
回答
Linux IOMMU页表
、
我一直在阅读关于Linux中的支持的文章,并对IOMMU中的页表提出了一些问题: IOMMU是否使用CPU页表来存储VA、→、更高级的PA映射? 如果没有,即虚拟地址是不同的,那么每个设备还是每个IOMMU单元都创建了映射? 我还没有看过任何驱动程序代码,所以如果有人能告诉我一些示例驱动代码,那就太好了。
浏览 2
提问于2016-05-30
得票数 5
2
回答
Linux中的虚拟内存管理器
Linux中的虚拟内存管理器的目的是什么,以及它与Linux机器上的传统“交换”有何不同。
浏览 0
提问于2020-06-30
得票数 0
4
回答
为什么内核映射到与进程相同的地址空间?
、
、
、
这是一个需要详细说明的问题: 这也许是个愚蠢的问题,但它突然出现在我的脑海中。所有关于进程地址空间和虚拟内存布局的文本都提到进程地址空间为内核保留了空间。例如,在32位系统上,进程地址空间为4GB,其中1GB保留给Linux中的内核(在其他操作系统上可能有所不同)。 我只是想知道为什么说内核在进程地址空间中,而进程不能直接寻址内核。为什么我们不说内核有一个独立的地址空间而不是一个进程,为什么我们不能为内核本身提供一个不同的页面表,它与进程的页表是分开的? 我能得到关于Linux (Debian或Ubuntu)特定操作系统的解释吗?
浏览 5
提问于2012-10-22
得票数 17
回答已采纳
5
回答
linux内核如何管理小于1GB的物理内存?
、
、
、
、
我正在学习linux内核的内部结构,在阅读“理解Linux内核”时,一些与内存相关的问题给我留下了深刻的印象。其中之一是,如果在我的系统上安装了512 MB的物理内存,Linux内核将如何处理内存映射。 正如我所读的,内核将0(或16) MB-896 MB物理RAM映射到0xC0000000线性地址,并可以直接寻址它。因此,在上面描述的情况下,我只有512 MB: 内核如何从512 MB映射896 MB?在所描述的方案中,内核设置了每个进程的页表,以便每个进程的页表将虚拟地址从0xC00000映射到0xFFFFFFF (1GB),直接映射到从0x00000000到0x3FFFFFF (1G
浏览 11
提问于2010-12-24
得票数 52
回答已采纳
2
回答
虚拟内存中的0x400000以下是什么?
、
、
、
、
在学习Linux操作系统时,我知道以下几点: 实模式将使用0x10000以下的地址。 保护模式使用4G进行32位,用户空间可以使用2/3G。 程序的虚拟内存将从0x40000开始到更高的位置。 那么,在0x400000以下是什么,是预订的吗?
浏览 7
提问于2020-12-17
得票数 2
回答已采纳
1
回答
Linux操作系统如何理解底层硬件?
、
、
我想知道Linux操作系统是如何理解底层的hardware.Can的。有人建议我从哪里开始理解吗?到目前为止,我只知道'/dev‘子目录在其中起着至关重要的作用。 它具有设备特殊文件,这些文件就像是设备驱动程序的门户,然后设备驱动程序将其带到物理设备。 我在某处读到,Udev守护进程侦听netlink套接字以收集此信息,并且Udev设备管理器会在设备发生时检测设备的添加和删除。 但是,我对Linux读取硬件的方式并不满意。 请让我知道从哪里开始理解这一点,我非常感谢任何试图帮助我的人。
浏览 27
提问于2020-01-08
得票数 0
2
回答
如何获取内核空间的大小?
、
、
、
我需要获得我的linux发行版的内核大小和用户空间。有没有一个命令可以获取内核和用户空间的大小? 谢谢托马斯
浏览 0
提问于2014-07-02
得票数 0
4
回答
内核虚拟地址与内核逻辑地址的区别?
、
我无法准确区分内核逻辑地址和虚拟地址。在Linux设备驱动程序书中,所有逻辑地址都是内核虚拟地址,并且虚拟地址没有任何线性映射。但是从逻辑上讲,当我们说它是逻辑的,当我们说虚拟的时候,我们在什么情况下使用这两个?
浏览 2
提问于2012-01-03
得票数 30
回答已采纳
1
回答
python `‘模块问题(FreeBSD)
、
我试着用套接字工作,我有这样的问题 在代码示例中: setsockopt(socket.SOL_SOCKET,IN.SO_BINDTODEVICE,self.listen_address+'\0') 我有错误 AttributeError: 'module' object has no attribute 'SO_BINDTODEVICE' 在Linux机器上,这个属性是可以的,但是在FreeBSD trere上,模块IN中没有任何SO_*属性。我应该安装哪个端口来解决FreeBDS机器上的这个问题? Linux上的Python版本测试: 2.5
浏览 17
提问于2010-06-09
得票数 1
回答已采纳
1
回答
在Linux中使用什么命令来了解有关内存交错的信息?
、
、
、
、
作为我课程作业的一部分,我正在研究Linux内核,这是我想要的信息: 在最新的系统中,内存被划分为不同的级别,在这些级别下,内存以不连续的方式在不同的级别之间交错。这是为了提高处理器访问内存的速度。我想知道Linux中是否有任何命令,当执行时,它会给我们任何关于内存如何被划分为队列的信息。我已经尝试使用以下命令 sudo dmidecode --type memory 但上面的命令显示了有关硬件的信息,但没有显示内存是否正在交错。有没有人能告诉我有没有什么命令可以显示这些信息?如果没有这样的命令,你能告诉我在Linux内核中实现内存交错可以参考代码的哪一部分吗? 谢谢。
浏览 1
提问于2013-10-27
得票数 2
1
回答
内存中的程序及其内存映射
、
、
我对内存中程序的地址空间映射感到有点困惑,这里有一个链接,它处理正在执行的程序的虚拟地址映射,并标记为内核模式为1 GB,用户模式为3 GB,并提到使用页表访问内存段。 Linux使用的页面文件在x86架构上只有4KB,如果我没有错,那么一个进程如何使用内存中3 KB的映射地址空间(如链接中所给出的,每个进程为4 KB ).This对我来说有点违反直觉,或者我的理解在某些地方是错误的?
浏览 2
提问于2013-01-11
得票数 0
4
回答
在使用C++和GCC的Linux中,是否可以将虚拟地址转换为物理地址?
、
、
、
、
在Linux、C++和GCC下,可以获取给定虚拟地址的物理地址吗?我知道我不能将物理地址作为物理地址来操作。
浏览 1
提问于2010-10-05
得票数 2
回答已采纳
2
回答
远程连接到MySQL
、
、
、
我想使用命令提示符从Windows连接到Linux上的MySQL服务器,并使用以下命令: prompt>mysql -u root -p -h remote_hostname 连接、端口、用户帐户和凭据都很好。但是它抛出了以下错误: 错误1130 (HY000):不允许主机'my_hostname‘连接到此MySQL服务器 我想知道是否可以通过Windows命令提示符与Linux通信?或者,在设计提示符时,根本不需要连接到Linux进行任何远程操作吗?或者它在MySQL的情况下是特别的。 我注意到,我可以从Linux连接到Windows,但正如我前面解释的那样,当我尝试时,情况就
浏览 0
提问于2012-10-09
得票数 1
1
回答
mmap是否返回对齐指针值?
、
、
mmap()是否保证返回值与系统上最大的对齐方式对齐?也就是说,mmap必须返回的指针值是alignof(std::max_align_t)的倍数,这是POSIX标准的保证吗? 我无法在Ubuntu linux mmap(2)手册页或mac osx mmap(2)手册页上找到此信息。
浏览 5
提问于2017-02-15
得票数 11
回答已采纳
3
回答
mmap是如何工作的?
、
、
、
我在Linux上工作,需要硬盘中的mmap文件,但我有一个问题,什么会导致它失败。例如,如果所有的内存都是碎片化的,每个内存只有200M,但我想将一个文件映射到1000M的内存,会成功吗?? 另一个问题是,linux中有没有像Windows中的一些工具一样的内存回收工具,例如xp的内置工具。 谢谢。
浏览 0
提问于2011-05-04
得票数 18
回答已采纳
3
回答
了解Linux /proc/pid/map或/proc/self/map
、
我正在尝试了解我的嵌入式Linux应用程序的内存使用情况。/proc/pid/maps实用程序/文件似乎是一个很好的查看细节的资源。不幸的是,我不能理解所有的列和条目。 匿名inode 0条目意味着什么?这些似乎是一些较大的内存段。
浏览 2
提问于2009-09-09
得票数 189
回答已采纳
3
回答
从用户空间访问寄存器物理地址
、
、
我是Linux世界的新手,想在这个论坛上问一个问题: 如果我想从用户空间访问物理地址,并且没有任何针对此特定硬件设备的内核驱动程序实现,我能做到吗? 我知道这不是“正确”的做法,只是想知道有没有办法。 在进阶时谢谢!
浏览 2
提问于2014-05-03
得票数 1
2
回答
在linux中,每个进程都有一个4GB的虚拟地址空间,考虑到32位的体系结构。
、
、
、
、
嗨,我是Linux内核开发的新手。因此,希望对下面的语句有一些清晰的说明。 在内存中,每个进程都有一个4GB的虚拟地址空间。 考虑32位架构。进程的用户空间部分可以访问较低的3GB虚拟地址,内核空间部分可以访问上1GB的虚拟地址。 这是否意味着linux中的每个进程都分配了那么多内存空间( 1GB+3GB )? 如果是的话,那么linux中就有数百个进程,那么100*4GB的空间来自系统获得这么多内存空间的地方吗? 它与内核堆栈和用户堆栈有什么关系? linux中的每个进程都有内核和用户堆栈吗?
浏览 3
提问于2015-06-13
得票数 3
1
回答
什么是指内存Linux中的漏洞?
、
、
我在Linux的内存中遇到了一个术语漏洞。我相信这就是我所记忆的。我的理解正确吗?
浏览 3
提问于2014-05-13
得票数 3
回答已采纳
2
回答
Linux x86:在受保护的内核模式中映射到的真正模式地址空间在哪里?
、
、
、
、
在运行在x86平台上的Linux中,以受保护的内核模式映射到的真实模式地址空间在哪里?在内核模式下,线程可以直接访问内核地址空间。内核位于较低的8MB,页面表位于某个位置,等等(如描述)。但是真正的模式地址空间在哪里呢?它可以直接访问吗?例如,BIOS和BIOS加载项(参见)?
浏览 13
提问于2015-03-29
得票数 2
回答已采纳
1
回答
如何测试linux内核中的地址是虚拟的还是逻辑的?
、
、
、
、
我很熟悉Linux内核内存通常是1:1映射的(在一定范围内)。据我所知,为了使这个1:1映射更有效,结构页面数组实际上是映射的。 我想看看是否是这样的。是否有一种方法来测试给定的地址(例如结构页的地址),检查它是1:1映射还是实际映射?
浏览 0
提问于2021-08-26
得票数 4
2
回答
Python和内存映射?
、
、
在Linux机器上,一个使用python的'mmap‘可以有多少个文件(限制是多少)?谢谢。
浏览 2
提问于2011-03-04
得票数 0
回答已采纳
1
回答
32位和64位内核上的zone_NORMAL和ZONE_HIGHMEM
、
我试图使linux内存管理在调优和性能方面更加清晰。 通过阅读这本非常有趣的红皮书“指南”,我发现了一些我不完全理解的东西。 在32位架构(如IA-32 )上,Linux内核只能直接寻址物理内存的第一个千兆字节(当考虑保留范围时为896 MB )。所谓的ZONE_NORMAL上面的内存必须映射到1GB以下的内存中.这种映射对应用程序是完全透明的,但是在ZONE_HIGHMEM中分配内存页会导致较小的性能下降。 为什么896 MB以上的内存必须映射到较低的1GB? 为什么在ZONE_HIGHMEM中分配内存页会对性能产生影响? 那么ZONE_HIGHMEM是用来做什么的呢?
浏览 2
提问于2011-05-26
得票数 3
1
回答
虚拟内存管理案例研究
、
需要了解虚拟内存的概念。 当一个进程请求2GB映射到4GB的Linux环境中的virutal内存( 1GB内核: 3GB Userspace)时,当另一个进程已经保存了2GB的映射时。 如何实现堆栈、堆、数据段的映射?我找不到任何例子来说明我的理解。教科书只针对每一种映射单独提及,而不是一种实际的方法。
浏览 0
提问于2015-06-16
得票数 2
回答已采纳
1
回答
内存映射设备上的Pagemap不工作
、
、
、
我试图使用/proc/{pid}/pagemap文件找到堆变量、堆栈变量和内存映射的外围地址的物理地址,使用文件http://lxr.free-electrons.com/source/Documentation/vm/pagemap.txt中详细介绍的步骤。详细说明的过程对于堆栈和堆变量非常有效。但是,对于内存映射的外围设备,在/proc/{pid}/pagemap文件中找不到任何页面。“cat/proc/{pid}/maps”的输出是: 00008000-0000a000 r-xp 00000000 b3:02 289852 /home/linaro/ocm_test/write-
浏览 0
提问于2016-05-18
得票数 1
2
回答
关于内存分配,C malloc/calloc依赖于Linux /malloc还是相反?
、
、
据我所知,C具有以下函数,例如:malloc、calloc、realloc,用于分配内存。而linux内核还具有以下功能:malloc、mmap、kmalloc、vmalloc.分配内存 我想知道哪一个是最低的。如果你说"Linux内核是最低的函数,你的C程序必须用Linux内核分配内存“,那么Linux内核如何分配它自己的内存呢? 或者说,"Linux内核是最低的函数“,那么当我编写一个C程序并在Linux系统中运行时,为了分配内存,我应该通过系统调用。 希望能得到答案。
浏览 1
提问于2022-03-19
得票数 -1
回答已采纳
5
回答
在Linux中是否有从虚拟地址确定物理地址的API?
、
、
、
、
在Linux操作系统中,是否有从虚拟地址确定物理地址的API?
浏览 10
提问于2011-04-21
得票数 42
2
回答
了解U-Boot进程的Linux加载地址
、
、
、
、
我正在尝试理解嵌入式Linux的原理,但在u-boot输出中找不到地址。 例如,我有一个基于i.MX6四核处理器的UDO板,我从U-Boot得到了以下输出: U-Boot 2013.10-rc3 (Jan 20 2014 - 13:33:34) CPU: Freescale i.MX6Q rev1.2 at 792 MHz Reset cause: POR Board: UDOO DRAM: 1 GiB MMC: FSL_SDHC: 0 No panel detected: default to LDB-WVGA Display: LDB-WVGA (800x480) In:
浏览 1
提问于2015-01-25
得票数 13
1
回答
系统是如何从内存映射文件的内存中捕获通过“`asm: MOV`”访问内存的?
、
、
、
、
当我使用将文件映射到内存时,它不是直接加载到内存中(缓存缓冲区RAM),而是只加载访问特定映射内存区域时所需的部分。 系统如何通过C: *ptr = val;或asm: MOV捕捉到内存映射文件的内存并从文件中生成加载数据,使用什么机制(IRQ或类似于分页内存的机制),以及如何调用它? x86_64 操作系统: Linux,Windows
浏览 0
提问于2013-11-09
得票数 0
回答已采纳
3
回答
页面结构的有效负载在哪里?
、
、
我正在研究Linux中的MM,当我找不到原始数据的存储位置时,我感到非常困惑。我以为它存储在的某个字段中,但我在那里找不到。 由页面表示的实际数据存储在哪里?以及如何得到指向它的指针?
浏览 7
提问于2013-10-04
得票数 2
回答已采纳
2
回答
堆栈粉碎后如何处理错误信息
、
、
、
我在Linux上的C程序遇到了一些问题。它在Windows上编译和运行得很好。Linux终端返回以下信息: *** stack smashing detected ***: ./student terminated ======= Backtrace: ========= /lib/libc.so.6(__fortify_fail+0x4b)[0xb7e908ab] /lib/libc.so.6(__fortify_fail+0x0)[0xb7e90860] ./
浏览 5
提问于2010-02-22
得票数 4
回答已采纳
1
回答
在64位x86体系结构上,内核中的页面缓存是如何映射的?
、
、
、
在现代64位x86 Linux上,内核端虚拟页面和物理页面之间的映射是如何设置的?在用户端,您可以在页面缓存中使用mmap,这将直接将4K页映射到用户空间--但我很感兴趣的是如何在内核端映射这些页面。 它是否利用了“整个ram标识映射”或其他什么东西?整个ram标识映射通常使用1GB页面吗?
浏览 0
提问于2016-12-31
得票数 7
回答已采纳
1
回答
激活被动Arp学习
、
、
、
我想让我的linux内核被动地监听(学习)在局域网段中广播的arp请求(网络中的arp请求不是我的目的地)。有可用的配置吗?
浏览 0
提问于2012-06-28
得票数 0
2
回答
共享内存分配到哪里?
在Linux中,当我们使用共享内存在2个或更多进程之间共享数据时,共享内存分配到哪里? 它会在运行时成为进程地址空间的一部分吗?因为进程不能访问其地址空间之外的存储器。 有人能澄清一下吗?
浏览 4
提问于2010-10-14
得票数 3
1
回答
Linux 3/1拆分与物理映射
、
、
我试图理解Linux 3/1拆分(或2/2,1/3,任意)以及如何映射到物理内存。让我们假设x86。 我特别不明白为什么内核在va[3 4GiB,4 4GiB]中的1 4GiB总是映射到pa0,1 1 1GiB。拆分位于(虚拟) PAGE_OFFSET。 如果我有更多的记忆呢?如果我的钱少了呢?用户空间的所有内存都去哪里了? 从TLDP中我了解到底层的物理1GiB总是用于内核(为什么?)。当虚拟地址空间小于物理地址空间时,使用高内存(通过这个职位),因为内存很多,否则会浪费(对吗?);在x86-64中,由于虚拟地址空间是不存在的,所以没有使用它。 让内核始终保持不变的一件事可能是,在上下文开关
浏览 0
提问于2019-02-12
得票数 3
回答已采纳
1
回答
设备的内存映射IO地址(Es)是否映射到进程的内核空间?
、
、
、
假设我有一个使用内存映射IO的设备。 我们知道,在Linux中,每个进程都有3GB的用户空间和1GB的内核空间。 现在,我假设此设备的地址(Es)将映射到进程的内核空间,因此进程(在用户模式下运行)无法访问该设备。我说的对吗?
浏览 2
提问于2017-06-15
得票数 0
回答已采纳
1
回答
不使用linux API获取gpio的值。
、
、
、
我正在用ARM汇编代码编写一个例程,并且我必须访问gpio。我不能使用linux API中的函数gpio_get_value。谁能告诉我另一种获取值的方法,是用C语言还是汇编程序?
浏览 2
提问于2014-04-08
得票数 0
2
回答
我们需要为memmap保留内存块映射吗?
、
、
、
、
我使用memmap=8G$4G linux内核引导参数保留内存块。 是否需要ioremap这个内存? ioremap手册页说: ioremap执行特定于平台的操作序列,以便通过readb/readw/readl/writeb/ writew/writel函数和其他mmio帮助程序访问总线内存CPU。返回的地址不能保证可以直接作为虚拟地址使用。 因此,如果我不能使用ioremap返回的地址作为直接寻址内存的虚拟地址,那么更广泛的问题是什么时候应该对内存进行ioremap?
浏览 7
提问于2012-10-16
得票数 0
扫码
添加站长 进交流群
领取专属
10元无门槛券
手把手带您无忧上云
相关
资讯
Linux查看日志
Linux内存映射mmap原理分析
微信开发地址映射工具下载及使用
如何查看路由器地址
Linux下查看CPU信息
热门
标签
更多标签
云服务器
ICP备案
实时音视频
云直播
对象存储
活动推荐
运营活动
广告
关闭
领券