摘要:
本人有个坏习惯,每次写博客时,都不是一气呵成写完博客,因为多数时候在写博客的时候脑子中的素材顿时无影无踪,过了一小段时间,才会不断地涌现而出;所以每次写博客都是先建个博客,把主要的先写下来,或者先写个框架,等以后有时间了,慢慢地往上边补充,慢慢地整理格式。但是也有时候会出现博客发出去好久了,但是却压根儿都没想起来什么要往上边补充,就一直把一个不完整的博客搁置。
为了克服这个坏毛病,特地建立了这个目录文件,用来检索方便,还可以在突然有新收获或者新想法的时候,能够快速地定位到相关的文章,并进行补充,也用来记录需要写的博客。 阅读全文
摘要:
Ubuntu+Hexo+Github搭建个人博客 目录 [TOC] 1. 简介 以前部署的Hexo博客是在Windows上搭建的,在Windows系统使用很方便,碰到一些问题也都能够解决;现在安装了Ubuntu 18.04.1系统,需要重新使用Hexo搭建博客;为了兼容以前的windows博客,还需 阅读全文
摘要:
Hexo+Github搭建个人博客 目录 [TOC] 1. 简介 首次通过Hexo和Github搭建自己的博客,尝试成功,从别人那里借来个yilia主题,看着挺漂亮,索性直接当我的主题用了,虽然还不会太多的配置操作,先把自己搭建博客过程中的主要操作记录下来。 环境简介 本地电脑环境: windows 阅读全文
摘要:
设置测试系统
第1步,要先从kernel.org的镜像网站上获取一个主线内核,并安装到自己的系统中,因为学习驱动程序的编写,最好使用标准内核。
第2步,必须在自己的系统中配置并构造好内核树,这样可以得到一个更加健壮的模块装载器,可以使内核的模块要和内核源码树中的目标文件连接。同时也需要这些目标文件存在于内核目录树中。这样,准备一个内核源代码树,构造一个新内核,并安装到自己的系统中,有利于开发工作的进行。
第3步,要决定在什么地方完成模块的开发、调试,内核代码中的错误可能导致用户进程甚至整个系统崩溃,这些错误通常不会制造更加严重的问题,但建议开发者应该在一个不包含任何敏感数据或者不执行重要服务的系统上完成内核的调试实验。 阅读全文
摘要:
大多数中小规模的应用程序是从头到尾执行单个任务,而模块却只是预先注册自己以便服务于将来的某个请求,然后初始化函数立即结束。即模块初始化函数(hello_init)的任务就是为以后调用模块函数预先做准备。模块的退出函数(hello_exit)将在模块被卸载之前调用。 阅读全文
摘要:
Linux系统的优点是,系统内部实现细节对所有人都是公开的。Linux内核由大量复杂的代码组成,设备驱动程序可以作为进入Linux内核世界大门的切入口。
设备驱动程序在Linux内核中,是一个个独立的黑盒子,在调用内部接口时某个特定硬件做出响应,这些接口隐藏了设备的工作细节。用户的操作通过独立于特定驱动程序的一组标准化调用执行,将这些调用映射到作用于实际硬件的设备特有操作上,是设备驱动程序的任务。 阅读全文
摘要:
Linux设备驱动程序学习笔记 阅读全文
摘要:
Time is flying! 转眼间,工作已经这么多年了,按理说,在职场经过这么多年时间的洗礼,我也应该被洗成职场老手了;然而事实上,老的只是年龄,技术方面一点也不老,甚至还比不过一个刚入职的职场新人。 阅读全文
摘要:
在面试或者笔试中,经常会碰到“用一个宏实现求两个数中的最大数”这个题目,大家看到这个问题,觉得很容易实现,认为这有什么难度呢,随手就能写出一个,但是这写出来的宏定义有多少含金量呢,待考察。 阅读全文
摘要:
经过上一篇《Qemu搭建ARM vexpress开发环境(二)----通过u-boot启动Linux内核》,已经实现了通过u-boot加载Kernel启动开发板,并且挂载根文件系统,本文讲述通过NFS网络挂载根文件系统。通过NFS网络根文件系统,可以实现开发板在通过u-boot启动内核后,通过NFS网络在别的PC主机上挂载根文件系统。对于开发调试阶段的工作学习提供了很大的便利,可以直接在Linux主机上开发、编译驱动或者APP,并将目标文件拷贝到NFS服务目录中进行使用(此时文件相当于被拷贝到了开发板的根文件系统中)。也可以在主机端直接修改rootfs文件系统中别的文件,等效于在开发板上直接修改。 阅读全文
摘要:
在上文《Qemu搭建ARM vexpress开发环境(一)》中已经简单讲述了通过Qemu模拟直接启动Linux内核,并挂在SD卡根文件系统的方法,这种方法是直接启动内核,与实际应用中ARM板的启动方式:u-boot、kernel、rootfs有些不同。现在就来讲述下通过Qemu搭建通过u-boot启动Linux内核并挂载根文件系统的方法。 阅读全文