- 博客(7)
- 资源 (4)
- 收藏
- 关注
转载 initrd与initramfs的区别
boot loader装入kernel, 然后kernel需要执行/sbin/init, 读取这个文件就必须先mount根文件系统, 早期是通过启动时的root=参数告诉内核根文件系统在哪个设备上, 随着硬件和技术的发展,现在根文件系统可能位于一个网络存储如NFS上, 可能由于RAID而散布于多个设备上, 可能位于一个加密设备上需要提供用户名和密码,这时root=参数就显得不
2011-11-19 13:23:50 2084
转载 ramdisk与 initrd、initramfs的关系
1、ramdisk、initrd是什么?ramdisk是一种基于内存的虚拟文件系统,通常用于放置内核的中间数据。而initrd全称为"boot loader initialized RAM disk",也就是由启动加载器所初始化的RamDisk设备,它的作用是完善内核的模块机制,让内核的初始化流程更具弹性;内核以及initrd,都由bootloader在机子启动后被加载至内存的指定位置,主
2011-11-19 13:22:17 5818 3
原创 vim写程序常用技巧
1.我们可以使用gf快捷键来进入任意一个被#include 的头文件. 2.使用ctrl+O来回到使用gf之前的文件中。 3.找到的一个不错的vimrc修改了一下可以自动更新ctags文件 4.增加了对系统头文件进行ctrl+]来查找的功能 5.增加了对splint进行代码检查的快捷键映射 6.如果想编译时自动定位到出错的地方,那么写一个Makefi
2011-11-13 11:43:29 3357
原创 corte-m3中的pc值的问题
在Cortex-M3中指令是3级流水线,出于对Thumb代码的兼容的考虑,读取pc时,会返回当前指令地址+4的值。但是在进入中断服务程序后,压入栈的地址是pc,而返回时也是用作pc,那么pc的值如果是当前指令加4的话就有可能返回后就漏掉一条指令。 但是事实上中断服务程序可以完美的返回。那么这中间就一定存在着某些诡异的地方。 下面来看一段测试代码:
2011-11-10 21:04:58 1713
原创 关于keil编译cortex-m3纯汇编时为什么问题使用align地址问题
在编译下面一段代码时:STACK_TOP EQU 0x20002000 AREA Reset,CODE,READONLY DCD 0x20002000 DCD Start ENTRY; CODE16 Start ldr r2,=Test LDRD r0,r1,[r2,#4] LDRD r0,r1,[r2] LDRD r0,r1,[r2]; movs r0,r0
2011-11-05 11:32:32 6701 1
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人