自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(8)
  • 收藏
  • 关注

原创 platform之字符设备创建

    在嵌入式系统里,想要对GPIO管脚等进行操作的话,需要在内核中注册一个字符设备及相应的驱动。字符设备提供了对IO地址的映射,从而可以使用虚拟地址对各寄存器进行读写。字符设备驱动实现设备的初始化,关联到设备文件,提供通用的open、release、ioctl、read、write等接口。最终应用程序才能通过这些文件接口,间接控制设备。设备号分为主设备号和次设备号,设备驱动通过主设备号来与设备...

2018-04-14 20:52:28 928

原创 linux内核学习笔记之虚拟文件系统

虚拟文件系统(VFS)是内核的一个子系统,为用户提供通用的系统调用,而无需考虑具体文件系统和介质。VFS抽象层定义了所有文件系统都支持的、基本的、概念上的接口和数据结构。图1如图1所示内核通过VFS把不同类型的文件系统连接在一起,给用户提供一个通用的接口(如read/write等)。不同的文件系统所提供的接口不同,从而对文件的操作也不一样。通过VFS就能实现从ext2到ext3的文件拷贝等操作,而...

2018-04-14 20:48:05 217

原创 linux内核学习笔记之内存管理

linux内核把物理页作为内存管理的基本单位。每一页的大小根据系统架构不同有所区别,32位系统下为4KB,64位系统下为8KB。内存管理单元(MMU)以页为单位来管理系统中的页表,负责虚拟地址到物理地址的转换,用户所使用的内存地址一般都是虚拟地址。内核中页的结构体中比较重要的成员为:struct page {    unsigned long flags;        /* 页的状态,包括脏标志...

2018-04-09 21:05:05 236

原创 linux内核学习笔记之设备与模块

模块linux设备类型分为字符设备(cdev)、块设备(blkdev)、网络设备(netdev)。字符设备是不可寻址的,仅提供对数据的流式访问,如键盘、鼠标等。通过称为“块设备节点”的特殊文件来进行访问,该设备通常被挂载为文件系统。块设备是可寻址,支持对数据的随机访问,如硬盘、光碟等。可以直接通过文件接口访问设备节点来进行交互。网络设备提供了对网络的访问,通过特定的协议(如IP),来进行通信。但该...

2018-04-07 20:44:18 446

原创 应用程序中各数据段的划分

应用程序数据分段如下:BSS段:BSS段(bss segment)通常是指用来存放程序中未初始化的全局变量或静态变量的一块内存区域。BSS是英文Block Started by Symbol的简称。BSS段属于静态内存分配。最终通过将零页映射到指定的内存区域,即可将内存区域的数据清0。该段不占用可执行文件的大小,在运行时才会去初始化。对于未初始化的全局变量,在编译阶段变量是被放在COMMMON段内...

2018-04-06 12:37:52 1354

原创 GDB调试工具的使用

GDB(GNU Project debugger)是linux下和程序调试工具,主要用于用户态程序。具有VC等IDE工具提供的调试功能,能够执行单步跟踪、设置断点、查看变量等操作。使用GDB还可以对运行中的线程、多线程进行调试。操作步骤如下:一、启动GDB有以下几种启动方式:1、以gdb启动可执行文件 2、运行程序后,单独启动gdb,在gdb中挂载进程二、执行gdb命令进行调试如果是以第1种方式启...

2018-04-05 10:12:59 551

原创 C语言sizeof的计算方式

对于C语言开发人员来说,sizeof应该不陌生吧。此次我主要写的是sizeof对各变量长度的计算方式。sizeof这个函数主要是对各数据类型的长度进行计算,入参为数据类型,返回值计算结果。但由于不同OS的系统架构下,sizeof计算的结果会存在一定的差异。下文主要基于32位系统,讨论sizeof的计算方式。比较常见的场景是基本数据类型长度的计算结果如下:类型32位系统(bytes)64位系统(by...

2018-04-04 22:12:11 4112

原创 初次写博客,请大家关照!

hello, world!对C语言、linux内核、网卡驱动、tcp/ip协议感兴趣的可以关注我,希望和大家一起讨论技术问题,一起进步。接下来我将会给大家分享下自己的收获。...

2018-04-04 19:07:25 144

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

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