自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(13)
  • 收藏
  • 关注

转载 关闭error, forbidden warning

最近在编译android kernel时,遇到error, forbidden warning, 导致编译中断,大大降低了debug效率。关闭方法如下:在kernel/scripts/gcc-wrapper.py中注释掉interpret_warning(line)即可。--- a/scripts/gcc-wrapper.py+++ b/scripts/gcc-wr

2015-11-21 16:08:19 625

转载 autoreconf: not found

./autogen.sh: 4: autoreconf: not found  是在不同版本的 tslib 下执行 autogen.sh 产生。它们产生的原因一样,是因为没有安装  automake 工具,      (ubuntu 8.04)用下面的命令安装好就可以了。  sudo apt-get install autoconf automake libtool

2015-11-20 16:21:17 14732 1

转载 linux内核的 等待队列 使用方法,wait_queue_head_t,进程休眠

假设我们在 kernel 里产生一个 buffer,user 可以经由 read,write 等 system call 来读取或写资料到这个 buffer 里。如果有一个 user 写资料到 buffer 时,此时 buffer 已经满了。那请问你要如何去处理这种情形呢 ? 第一种,传给 user 一个错误讯息,说 buffer 已经满了,不能再写入。第二种,将 user 的要求 block 住

2015-11-18 14:57:35 489

转载 linux INIT_WORK 创建工作队列

Linux 2.6内核使用了不少工作队列来处理任务,他在使用上和 tasklet最大的不同是工作队列的函数可以使用休眠,而tasklet的函数是不允许使用休眠的。工作队列的使用又分两种情况,一种是利用系统共享的工作队列来添加自己的工作,这种情况处理函数不能消耗太多时间,这样会影响共享队列中其他任务的处理;另外一种是创建自己的工作队列并添加工作。(一)利用系统共享的工作队列添加工作:

2015-11-18 14:41:01 470

转载 ARM中关于绝对寻址相对寻址LDR,ADR的理解

LDR:是与位置有关的,是个绝对寻址,其后的地址值是在程序编译的时候就确定位置了.例如当程序在内部stepping stone中执行时候,如果使用ldr pc, =copy_proc_beg ,则程序就是把copy_proc_beg的绝对地址,即在编译时候确定的地址0x30000000加上偏移量的地址付给pc,实现跳转。其中,​ldr伪指令的实际寻址空间是32位的

2015-11-11 00:28:59 1155

转载 ARM的位置无关程序设计

ARM处理器支持位置无关的程序设计,这种程序加载到存储器的任意地址空间都可以正常运行,其设计方法在嵌入式应用系统开发中具有重要的作用。尤其在裸机状态下开发Bootloader程序及进行内核初始化设计;利用位置无关的程序设计方法还可以在具体应用中用于构建高效率动态链接库,因而了解位置无关的程序设计方法,有助于开发人员设计出结构简单、清晰的应用程序。应用程序必须经过编译、汇编和链接后才变成可执行文

2015-11-11 00:05:54 1325

原创 install and run tftp dhcp nfs server

1. install sudo apt-get install tftpd-hpasudo apt-get install isc-dhcp-serversudo apt-get install nfs-kernel-server2.configurenfs:编辑/etc/exports      nfs-dir 192.168.101.0/24(rw,fsid=0,ins

2015-11-10 00:47:35 345

转载 sema api

内核同步机制-信号量信号量通用信号量用户类进程之间使用信号量(semaphore)进行同步,内核线程之间也使用了信号量。信号量与自旋锁类似,保护临界区代码。但信号量与自旋锁有一定的区别,信号量在无法得到资源时,内核线程处于睡眠阻塞状态,而自旋锁处于忙等待状态。因此,如果资源被占用时间很短时,使用自旋锁较好,因为它可节约调度时间。如果资源被占用的时间较长,使用信号量较好,

2015-11-05 10:51:29 428

转载 list_for_each()与list_for_each_safe()的区别

list_for_each()的定义:[plain] view plaincopyprint?/**   * list_for_each    -   iterate over a list   * @pos:    the &struct list_head to use as a loop counter.   * @head:   the head for y

2015-11-05 00:46:08 394

转载 Scheduling while atomic

"Scheduling while atomic" indicates that you've tried to sleep somewhere that you shouldn't - like within a spinlock-protected critical section or an interrupt handler.改进程序,在计时器里使用了workqueue,搞定问题。

2015-11-04 23:58:26 541

原创 opensource codes configure and compile with toolchain

./configure -build,-host,-target设置build:执行代码编译的主机,正常的话就是你的主机系统。这个参数一般由config.guess来猜就可以。当然自己指定也可以。host:编译出来的二进制程序所执行的主机,因为绝大多数是如果本机编译,本机执行。所以这个值就等于build。只有交叉编译的时候(也就是本机编译,其他系统机器执行)才会build和host

2015-11-03 17:08:02 362

转载 MACHINE_START与MACHINE_END

在移植Linux时,有个结构体需要填写,它以MACHINE_START开始并以MACHINE_END结束,如下mini2440开发板的移植为示例[cpp] view plaincopyMACHINE_START(MINI2440, "MINI2440")      .phys_io    = S3C2410_PA_UART,      .io_pg_offst    =

2015-11-03 11:00:22 309

原创 Makefile常见问题汇总

1。Makefile 命令行以tab建开始, 对于vim设置的用空格代替tab的可以使用set noexpandtab来取消vim里的设置。

2015-11-02 19:58:55 517

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除