- 博客(7)
- 资源 (5)
- 收藏
- 关注
原创 printk 打印到伪终端
在调试驱动程序的时候,有时候必须用dmesg来看调试信息,特别是伪终端登录的时候。如何让可以在伪终端打印出调试信息呢?我用的方式是自己写个printk.见代码如下:#define myprintk(format,args...) { \ char string[200]; \ sprintf(string, format, args); ...
2018-05-09 17:38:07
505
原创 Emacs 配置
首先呢,我不是Emacs大师,也是新手,所以这里记述的也是初级配置。首先介绍一个网页:http://tuhdo.github.io/c-ide.html我是按照这个网页的配置做的。中间遇到一些问题,所以记述一下。第一,按照链接网页《quick setup》走一边。我采用了《ggtags》而非《helm-gtags》是以需要修改init.el第二,如链接网页所述,必须要学会用pack......
2018-05-03 17:38:57
1481
原创 /sys/kernel/debug/ 追踪ipmi执行流程的一个脚本
#! /bin/sh#enable tracingecho 1 > /sys/kernel/debug/tracing/tracing_on#add tracer to current_tracerecho 'function' > /sys/kernel/debug/tracing/current_tracer#add filt
2018-01-11 09:46:51
2032
原创 SAMA5D3的SPI10M速率传输
调试SAMA5D3的spi通信,Linux版本3.19.5,以10M速率通信,一次性发5个字节的时候,在FPGA上看到,每个字节间的间隔在40-50us之间。仔细研究一边寄存器,没找到能减少时间间隔的寄存器设置。一次性发200个字节,每个字节间的时间间隔成为100ns左右。由此可推论, struct spi_ioc_transfer xfer = { .tx_bu
2015-08-21 18:13:14
1814
转载 原子上下文
内核的一个基本原则就是:在中断或者说原子上下文中,内核不能访问用户空间,而且内核是不能睡眠的。也就是说在这种情况下,内核是不能调用有可能引起睡眠的任何函数。一般来讲原子上下文指的是在中断或软中断中,以及在持有自旋锁的时候。内核提供了四个宏来判断是否处于这几种情况里:#define in_irq() (hardirq_count()) //在处理硬中断中#define in_so
2015-07-22 10:55:59
2081
原创 初识linux
刚开始学习linux-arm嵌入式开发,从装linux系统到编译uclinux内核,一步步全是自己摸索着前进,没人指导,即使很小的一个问题我都要费很大力气解决,不瞒大家说我的U盘至今还不能挂载在虚拟机上,我每次都是把工具转成iso格式,从虚拟光驱里挂载……汗
2008-04-04 04:36:00
338
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人