摘要: Boot Loader 在前面说过BIOS完成初始化PCI和各种设备后,会寻找bootable device,如硬盘,CD-ROM等。然后BIOS从磁盘中读取boot loader。 软盘和硬盘都会被分割成512 byte的区域,叫做sectors。sector是磁盘最小的交换粒度:每次读写操作必须 阅读全文
posted @ 2017-10-29 22:27 zz刚 阅读(799) 评论(0) 推荐(0) 编辑
摘要: 1.The Rom BIOS 计算机启动时物理地址为0x000ffff0,是在64KB的ROM BIOS的顶端。此时CS为0xf000 and IP = 0xfff0。第一条指令为长跳转至CS = 0xf000 and IP = 0xe05b. 0xffff0是BIOS末端(0x100000)前16 阅读全文
posted @ 2017-10-29 19:36 zz刚 阅读(376) 评论(0) 推荐(0) 编辑
摘要: ioremap,iowrite,ioread,request_mem_region 一。I/O使用前准备工作 首先要搞清楚一个概念,就是I/O memory是什么。Memory-mapped I/O uses the same address space to address both memory 阅读全文
posted @ 2017-10-26 02:29 zz刚 阅读(456) 评论(0) 推荐(0) 编辑
摘要: 一。字符设备程序思路 字符设备是以不固定长度与系统进行数据传输。字符设备发出请求时,IO读写就发生了。而块设备需要一块内存缓冲区。 1.1 设备号分配 初始化(init): 首先进行设备号的分配,完成对设备主设备号的分配。其中涉及到结构体有dev_t, cdev。 dev_t中存储有主设备号和次设备 阅读全文
posted @ 2017-10-22 21:37 zz刚 阅读(187) 评论(0) 推荐(0) 编辑
摘要: 通过修改source.list是可以解决更新源的问题的。步骤如下: 1.sudo gedit /etc/apt/source.list 采用http://blog.csdn.net/suquan629/article/details/52333769提供的更新源 2.sudo apt-get upd 阅读全文
posted @ 2017-10-14 15:59 zz刚 阅读(81) 评论(0) 推荐(0) 编辑
摘要: 初次尝试内核模块编译及运行,遇到了许多问题,但好歹也算是实现了基于linux 2.6 kernel的编译。 一。树莓派 一直在通过树莓派学习linux的知识,于是首先尝试基于树莓派的内核模块编译。内核编译需要Kernel-header,尝试sudo apt-cache search kernel-h 阅读全文
posted @ 2017-10-13 04:31 zz刚 阅读(292) 评论(0) 推荐(0) 编辑