
linux内核
文章平均质量分 65
loongembedded
本人目前在佛山一家上市公司负责智能终端、服务机器人的研发工作,欢迎大家的指教和交流!。
展开
-
linux系统/proc/interrupts中断节点
/proc/interrupts中的字段依次是逻辑中断号、中断在各CPU上发生的次数,中断所属父设备名称、硬件中断号、中断触发方式(电平或边沿)、中断名称,有助于我们排查问题,原创 2021-03-20 09:17:25 · 1411 阅读 · 0 评论 -
linux常用的内核镜像格式
linux常用的内核镜像格式 Linux内核有多种格式的镜像,包括vmlinux、Image、zImage等。 1. Linux内核镜像格式1.1 vmlinux vmlinuz是可引导的、可压缩的内核镜像,vm代表Virtual Memory.Linux支持虚拟内存,因此得名vm.它是由用户对内核源码编译得到,实质是elf格式的文件.也就是说,vmlinux是编译出来的最原始的内核文件原创 2016-08-31 10:02:22 · 2083 阅读 · 0 评论 -
arm-linux内核编译过程小结
记在前面的杂七杂八内核的生成,实际上最终的目的是生成一个binary文件zImage,大小2-5MB的数量级。用户可以从kernel.org得到的tar.gz格式的内核源代码,此代码解压后,就会生成初始状态的内核源代码树,这种状态称为内核的初始状态。通过make mrproper/make distclean等指令,可以使内核恢复到刚解压的状态。其中make mrproper只清除包括.confi转载 2016-08-31 10:45:30 · 6362 阅读 · 0 评论 -
linux iio子系统
//============================================================================\\|| 系 统:WindowsXP & Ubuntu14.04 || 工 具:Source Insight 3.5 || 作 者:疯狂的三极管 \\转载 2016-08-24 12:04:41 · 3872 阅读 · 0 评论 -
如何将dtb反编译成dts
点击打开链接由于device tree会将一个node的信息分布在各个文件里,查看起来很不方便,比如如下例子,ldb在三个文件中都有配置:imx6qdl-sabresd.dtsi:[plain] view plain copy &ldb { status = "okay"; ....... }; imx6qdl.dtsi:[plain] view plain copy ldb: l转载 2016-10-04 12:27:46 · 3192 阅读 · 0 评论 -
什么是menuconfig和menuconfig的使用方法和技巧
【背景】之前折腾过:linux内核中的 make menuconfig和后来的交叉编译方面,crosstool-ng的ct-ng menuconfig:【记录】crosstool-ng-1.18.0中配置xscale【记录】Ubuntu下更新crosstool-ng的menuconfig配置什么是menuconfigmenuconfig,从名字上,就可以看出,是基于menu的config,即,菜单转载 2017-03-17 15:37:22 · 13395 阅读 · 0 评论 -
修改Linux内核的printk缓冲区(log缓冲区)大小
点击打开链接我们可以用printk打印kernel的日志信息(即log信息),根据时间戳可以判断内核新打印的log会覆盖掉以前打印的log。原因是内核用环形缓冲区存放打印的log信息。那么如何增大缓冲区的大小呢?我们看kernel/printk.c的代码[cpp] view plain copy "font-family: Arial, Helvetica, sans-serif;">/* rec转载 2017-03-25 10:50:54 · 3538 阅读 · 1 评论 -
sysfs方式控制GPIO
sysfs方式控制GPIO 使用"gpiolib"实现框架的平台可选择配置一个GPIO的sysfs用户接口,这不同于debugfs接口,因为它提供GPIO方向和值的控制,而不仅是显示gpio状态摘要,另外,它可再没有调试支持的产品级系统中使用。 为系统提供合适的硬件文档,比如,用户空间可知道GPIO23控制Flash的写保护引脚,用来保护bootloader分区。系统升级处理可能需要原创 2017-06-01 16:26:20 · 4521 阅读 · 0 评论 -
linux开发摘要
1.linux内核文档链接点击打开链接2.配置文件在out\target\product\project\obj\KERNEL_OBJ\.config中可以看到 # CONFIG_MTD_LPDDR is not set # CONFIG_MTD_UBI is not set CONFIG_DTC=y CONFIG_OF=y # # Device Tree and Open Fi原创 2017-03-17 14:24:07 · 2106 阅读 · 0 评论 -
Android7.1+msm8937系统/proc/sys/kernel/printk参数介绍及日志打印设置
Android7.1+msm8937系统/proc/sys/kernel/printk参数介绍及日志打印设置 1. 相关概念Console,控制台,通常是一个字符模式的终端、一个串口打印机或是一个并口打印机。我们这里是指串口。 显示系统消息的终端就叫控制台,Linux 默认所有虚拟终端都是控制台,都能显示系统消息。/dev/console即控制台,是与操作系统交互的设备,系统将一些信息直接输...原创 2018-06-01 12:51:45 · 2297 阅读 · 0 评论 -
Linux设备驱动模型概述(Linux device driver model overview)
平台(platform)设备和平台驱动是连接到平台总线(bus)的linux驱动模型接口,总线将设备和驱动绑定,这个伪总线(platform bus)以最小的基础结构被用来连接设备到总线上。在系统每注册一个设备时,会寻找与之匹配的驱动;相反,在系统每注册一个驱动时,会寻找与之匹配的设备,而匹配由总线来完成。平台设备通常作为系统中自治实体(autonomous entities)出现,平台设...原创 2018-12-24 10:39:50 · 995 阅读 · 0 评论 -
linux/android kernel层读写二进制数据我找了些示例代码
#define NODE "/dev/block/mmcblk0p48"int get_partition_info(const char *filename, char *buf, loff_t offset, int length, bool flag){ struct file *filep; mm_segment_t old_fs; ...原创 2019-08-22 09:07:20 · 636 阅读 · 0 评论 -
boot.img的分析
1 boot.img boot.img是由文件头信息,内核数据以及文件系统数据组成,它们之间非页面对齐部分用0填充文件头信息的具体结构可以在system/core/mkbootimg/bootimg.h中看到:struct boot_img_hdr { unsigned char magic[BOOT_MAGIC_SIZE]; unsigned ke转载 2014-08-25 16:03:52 · 3496 阅读 · 0 评论 -
使用 /sys 文件系统访问 Linux 内核
sysfs 与 /syssysfs 文件系统总是被挂载在 /sys 挂载点上。虽然在较早期的2.6内核系统上并没有规定 sysfs 的标准挂载位置,可以把 sysfs 挂载在任何位置,但较近的2.6内核修正了这一规则,要求 sysfs 总是挂载在 /sys 目录上;针对以前的 sysfs 挂载位置不固定或没有标准被挂载,有些程序从 /proc/mounts 中解析出 sysfs 是否被挂载转载 2014-11-10 15:59:06 · 1461 阅读 · 0 评论 -
Android驱动中的Kconfig文件与Makefile文件
内核源码树的目录下都有两个文档Kconfig(2.4版本是Config.in)和Makefile。分布到各目录的Kconfig构成了一个分布式的内核配置数据库,每个Kconfig分别描述了所属目录源文档相关的内核配置菜单。在内核配置make menuconfig(或xconfig等)时,从Kconfig中读出菜单,用户选择后保存到.config的内核配置文档中。 在内核编译时,主Makefile调转载 2014-11-13 14:09:46 · 1248 阅读 · 0 评论 -
Android编译系统中的Kconfig,Makefile,.config编译系统浅析
在对Android进行编译时,用的就是Linux下的Makefile和Kconfig编译系统,对整个系统进行编译。当然还包括很多配置命令,比如make defconfig, make oldconfig以及各种编译的脚本,共同构成Android的整个编译系统!跟make menuconfig这个命令相关的文件,包括三类,包括.config,Kconfig,Makefile。为什么不说三个,转载 2014-11-13 14:10:13 · 1664 阅读 · 3 评论 -
DEVICE_ATTR
使用DEVICE_ATTR,可以在sys fs中添加“文件”,通过修改该文件内容,可以实现在运行过程中动态控制device的目的。类似的还有DRIVER_ATTR,BUS_ATTR,CLASS_ATTR。这几个东东的区别就是,DEVICE_ATTR对应的文件在/sys/devices/目录中对应的device下面。而其他几个分别在driver,bus,class中对应的目录下。转载 2014-11-16 20:23:55 · 1796 阅读 · 0 评论 -
DEVICE_ATTR
说道sysfs接口,就不得不提到函数宏 DEVICE_ATTR,原型是#define DEVICE_ATTR(_name, _mode, _show, _store) \struct device_attribute dev_attr_##_name = __ATTR(_name, _mode, _show, _store)函数宏DEVICE_ATTR内封装的是__AT转载 2014-11-16 20:25:04 · 1299 阅读 · 0 评论 -
linux内核中的GPIO系统之(1):软件框架
一、前言作为一个工作多年的系统工程师,免不了做两件事情:培训新员工和给新员工分配任务。对于那些刚刚从学校出来的学生,一般在开始的时候总是分配一些非常简单的任务,例如GPIO driver、LED driver。往往CPU datasheet的关于GPIO或者IO ports的章节都是比较简单的,非常适合刚入行的工程师。虽然GPIO子系统相关的硬件比较简单,没有复杂的协议,不过,对于软件抽象而言,其转载 2015-10-28 11:38:05 · 4145 阅读 · 0 评论 -
linux内核3.4基于wakeup_source的autosleep机制分析
点击打开链接一:wakeup_source简介: linux 3.4内核PM使用了wakeup_source来保持唤醒状态,也就是keep awake。之前android一直是基于Linux加入了wake_lock机制来阻止系统休眠,后来Linux 3.4内核加入了wakeup_source来管理,安卓4.4跟着升级内核也就摒弃了自己的臃肿的wake_lock机制,在对上层接口并不改变,在内转载 2015-12-18 19:36:27 · 2287 阅读 · 0 评论 -
linux开发缩写
1.CONFIG_OF在一些驱动中经常看到#ifdef CONFIG_OF,这里的OF是Open Firmware。Open Firmware. This was invented long time ago when Apple was producing laptops based on PowerPC CPUs. Openfirmware provides a good descriptio原创 2016-03-02 09:20:53 · 2097 阅读 · 0 评论 -
Linux and the Device Tree
来之\kernel\Documentation\devicetree\usage-model.txtLinux and the Device Tree-------------------------The Linux usage model for device tree dataAuthor: Grant Likely This article describes how Linux uses转载 2016-03-02 09:23:03 · 1433 阅读 · 0 评论 -
深入理解SELinux SEAndroid
按哥的习惯,应该是全部洗剪吹完后再发,不过今年是马年,什么都强调 马上。所以 现在就先奉献 马上有第一部分 祝各位同仁,朋友 马年快乐。 深入理解SELinux SEAndroidSEAndroid是Google在Android 4.4上正式推出的一套以SELinux为基础于核心的系统安全机制。而SELinux则是由美国NSA(国安局)和一些公司(RedHat、Tresys)设计的一个针对Lin转载 2016-03-10 12:33:12 · 5835 阅读 · 0 评论 -
Device Tree Usage(理解DTS文件语法)
Basic Data FormatThe device tree is a simple tree structure of nodes and properties. Properties are key-value pairs, and node may contain both properties and child nodes. For example, the following is转载 2016-04-26 14:26:11 · 4033 阅读 · 0 评论 -
SIMPLE_DEV_PM_OPS宏
SYSTEM_SLEEP_PM_OPS和dev_pm_ops的定义:[cpp] view plain copy #define SET_SYSTEM_SLEEP_PM_OPS(suspend_fn, resume_fn) \ .suspend = suspend_fn, \ .resume = resume_fn, \ .freeze = suspend_fn, \转载 2016-08-04 19:31:59 · 2493 阅读 · 0 评论 -
窥探 kernel --- 几个linux学习资源分享
内核常用文档:README:该文件介绍了linux的背景及发展。怎样编译和配置内核。出现问题怎样解决等。Documentation/Changes:编译和使用内核的最小软件包。Documentation/CodingStyle:指定内核编码风格。Documentation/SubmittingPatches,指出了提交补丁的过程和方法Documentation/Submitti转载 2013-01-20 13:52:40 · 1619 阅读 · 0 评论