
简介
该用户还未填写简介
擅长的技术栈
未填写擅长的技术栈
可提供的服务
暂无可提供的服务
在Linux用户层使用MMAP对寄存器进行读写
0. 前言最近需要在嵌入式系统上调试驱动程序,需要在用户态下频繁读取ARM的寄存器的值。为了方便测试,发现可以在用户态下,通过mmap函数将设备节点/dev/mem进行映射,实现在用户态下将物理地址映射到虚拟地址,并通过对虚拟地址的修改来实现寄存器的修改。1. 原理1.1 /dev/mem设备节点简单一点说,/dev/mem是Linux系统下的物理内存的全镜像,可通过该节点实现对物理内存的访问。一
Linux Arm上的RGB液晶屏驱动开发遇到的问题总结
(基于三星Exynos 4412 / iTop4412精英版开发板)1. 开发前准备和内核编译将Linux内核iTop4412_Kernel_3.0_20180508.tar.gz复制到虚拟机,解压。进入解压后的文件夹,使用命令cp config_for_linux_scp_elite .config覆盖配置文件。执行make zImage编译内核。注意:...
Linux下避免程序被重复运行
Linux下避免程序被重复运行目标在Linux下,有些程序同时运行多个实例时会出错。因此,需要使用一些方法避免程序被重复运行,即同一时间段内只能有一个程序实例运行。思路程序启动的时候打开某个锁文件并对该文件加锁,退出程序时解锁。如果无法正常加锁,则说明程序已经在内存中运行了,当前线程return即可。代码实现首先,先以创建+可读写模式打开锁文件temp.lock(可自行定义文件名)之后使用floc
到底了







