- 博客(7)
- 资源 (3)
- 收藏
- 关注
原创 在x86 linux上porting driver 遇到的dma memory不一致的问题
前几天在Intel i386 linux PC上移植了一个PCIE Ramdisk的驱动。在PC上通过dma_alloc_coherent()分配了一块区域,分配出来的physical address在0x15000~0x15000+1M区间。按照linux的Documentaion,用这个函数分配的区域能保证数据一致性,而且x86平台本身就有硬件保证让这段区域non-cacheable no
2014-02-12 11:13:31
1163
转载 【转】printk和printf 实现完全不一样
这两个函数是经常用到的函数,闲暇之余,剖析下这两个函数的原理。这两个函数都是把字符串打印到终端上。其最终所要做的就是把存放在缓存区里的内容输出到串口。printk printk函数在kernel/printk.c中,其把主要工作交给了vprintk。vprintk经过vscnprintf把要打印的数据格式化 后存放到printk_buf缓存区中,然后通过emit_log_char把要打印
2013-05-19 20:04:44
2213
原创 ARM处理器异常与中断处理 学习总结
今天学习《ARM System Developer's Guide: Designing and Optimizing System Software》第9章 异常与中断处理,总结一下:1. 异常处理Q1. 异常和中断嘛关系啊? 中断时异常的一种,中断两种:IRQ, FIQ。异常好多种呢?reset,data abort, FIQ,IRQ,prefetch abort,
2013-05-15 22:44:46
1758
原创 寄存器使用规则学习小结
r0-r3:就是保存子程序的操作数。子程序返回时需要恢复这些寄存器值么?不! 如果参数多于4个,就需要用栈来保存了。r12就是用来保存栈指针的,子程序返回时也不需要恢复r12. r0经常被用做子程序返回值r4-r11:这8个寄存器用来保存子程序的局部变量,返回时需要恢复。r13: sp,堆栈指针,sp在进入子程序和退出子程序时要相等。
2013-05-15 06:32:59
1168
原创 免密码登录ssh配置
如果需要免密码登入开发板,首先要知道开发板的root用户密码。应该可以在开发板上用passwd修改root用户的密码,但是我的开发板上没有移植passwd,所以直接在宿主机上修改root用户,然后将用户名密码拷贝到开发板上:1. 一般ubuntu的root用户没有设置密码,所以用passwd在host 虚拟机中修改了root密码。这是第一步。2. 然后将/etc 文件夹下的passwd,
2013-02-04 10:13:34
461
原创 ltp 交叉编译 出现error 解决
别人说一个行为坚持**天就能成为习惯,我姑且称为今天是第2天吧~ltp交叉编译arm-linux:1. 进入ltp-full-20130109源码目录中,执行 ./configure --host=arm-non-linux-gnueabi --prefix = CFLAGS="-static" LDFLAGS="-static -pthread"2. make make时
2013-02-04 09:01:38
1618
原创 ubuntu 中下载openssh源码移植到 arm开发,出现you don't exist, go away问题的解决
前段日子移植openssh的痛苦经历, 让我下定决心开个博客记录每天问题的解决, 为以后的日子减少点麻烦openssh 的移植, 我参考 http://blog.youkuaiyun.com/cuijianzhongswust/article/details/7090387 讲三个包都移植玩具体到我的板子: /*zlib安装*/./configure --shared --prefix=
2013-02-03 21:28:56
2114
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人