- 博客(28)
- 资源 (22)
- 收藏
- 关注
原创 电脑远程方法
1、teamviewer (可以突破域,域和非域都可以混着登录。)2. 如下转载两篇使用的设置。关键 防火墙 设置,以及services.msc 开启服务,电脑属性设置访问者权限,,无赖之下,你又只有去到用户哪里....准备:假设对方IP地址为:192.168.12.51正文:1.用“cmd”去“ping”一下对方的IP,确认对方在线。2.在键...
2020-04-11 10:33:10
1166
原创 printk 使用方法 收藏
内核通过 printk() 输出的信息具有日志级别,日志级别是通过在 printk() 输出的字符串前加一个带尖括号的整数来控制的,如 printk("Hello, world!/n");。内核中共提供了八种不同的日志级别,在 linux/kernel.h 中有相应的宏对应。#define KERN_EMERG "" /* system is unusable */#define
2020-04-11 10:32:06
461
转载 android 动态库死机调试方法
android 动态库死机调试方法这两种方法都不是我发明了,都是网上一些高手公共出来的调试方法,无奈找不到出处的地方了,所以就在此总结一下,以方便android下的调试:简要说明:android系统中调试Java非常容易,一般遇到错误都在logcat中打印出错时函数的调用关系,而C库中出错时只看到一些二进制信息,使用gdbserver调试环境搭建又比较复杂。
2012-05-22 16:19:16
327
原创 vi编辑器命令大全
#!/bim/shfunction add_dep_lib(){ local TARGET=$1 local LIB_SEARCH_DIRS=$2 local LIB_DIR=$3 local USR_LIB_SEARCH_DIRS=$4 local USR_LIB_DIR=$5 local libs=`arm-none-linux-readelf -a ${TARGET} |grep "shared library" |awk / '{print $5}' |awk -F/ '{print
2010-08-17 20:56:00
276
原创 shell_find_share_lib
#!/bim/shfunction add_dep_lib(){ local TARGET=$1 local LIB_SEARCH_DIRS=$2 local LIB_DIR=$3 local USR_LIB_SEARCH_DIRS=$4 local USR_LIB_DIR=$5 local libs=`arm-none-linux-readelf -a ${TARGET} |grep "shard library" |awk / '{print
2010-06-07 23:00:00
214
1
原创 DM365的UBL源码分析
<br /><br /> <br /> <br /> <br />DM365是的启动方式有两种,通过BOOTSEL[2:0]引脚决定。当其为001时,直接从AEMIF上启动,比如NOR和OneNAND。除此之外皆是从RBL启动,顺序为RBL-UBL-UBOOT-KERNEL,比如NAND,串口,SD卡等。RBL会搜寻block1到block24去找 UBL,关于RBL启动的详细细节可以参考用户指南关于ARM子系统的那篇文档,很详尽,下面只分析UBL的源码。 <br /> <br /> UBL源码在
2010-06-07 22:59:00
1432
转载 Linux 共享库编程
<br /><br /> <br /> <br /> <br /> <br />1、介绍<br />动态库是程序设计常用的技术,采用动态库可以有效的减少程序大小,节省空间,提高效率,增加程序的可扩展性,便于模块化管理。在Windows和Linux操作系统中都有动态库的概念。Windows将其称为动态链接库(Dynamic Link Library,DLL),其文件扩展名为.dll,Linux称其为共享库技术(Shared Library),相应的共享库文件扩展名为.so。<br />故名思义,动态库在程序运
2010-06-07 22:59:00
398
原创 完整的DM365软件环境搭建步骤
完整的DM365软件环境搭建步骤<br /> <br />1、安装ubuntu<br />安装大概10 分钟会自动检查站点,看个人网速,之后会出现下载语言包(如果选择汉语),点跳过就行了。同步时间也可以跳过。再过几分钟就安装完了。<br />2、安装 vmtools<br />最好先把光碟弹出,右键unmount,点install vmtools,安装完重启。<br />3、安装 samba<br />一、安装 samba<br />sudo apt-get install samba<br />sudo
2010-06-07 22:56:00
944
原创 DM365的Montavista
DM365的Montavista内核编译 总结了一下,DM365的Montavista内核编译步骤如下:1,以普通用户身份登录到NFS主机。2,设置PATH到Montavista工具链,交叉编译器(arm_v5t_le_gcc)才能够找到。一般在Shell资源文件 (如:home/user/.bashrc)中增加一个如下的定义,通常用export命令,在路径定义中不能有空格和回车。下面的命令是在文本中编辑 export命令行。host $ gedit /home/
2010-06-07 22:35:00
1092
转载 errno
<br />0: Success<br />1: Operation not permitted<br />2: No such file or directory<br />3: No such process<br />4: Interrupted system call<br />5: Input/output error<br />6: No such device or address<br />7: Argument list too long<br />8: Exec format error
2010-06-03 23:34:00
415
原创 移植 tslib 到Android 的注意事项
工作笔记——Tslib的编译和触摸屏测试1.编译前段时间非常的郁闷…因为在运行生成校准程序ts_calibrate时总是出现一个错误:ts_open:Inappropriate ioctol for device后来无数折腾后经过nanfansky指点才知道是自己板子的触摸屏驱动不支持ioctl操作
2010-05-24 23:10:00
2320
3
原创 input学习
在内核中,input_dev 表示一个 input设备;input_handler 来表示input设备的 interface。 所有的input_dev 用双向链表 input_dev_list 连起来 在调用 int input_register_device(struct input_dev *dev) 的时候,会将新的 input_dev 加入到这个链表中。 所有的i
2010-05-13 00:20:00
293
转载 Linux设备驱动编程之阻塞与非阻塞
阻塞操作是指,在执行设备操作时,若不能获得资源,则进程挂起直到满足可操作的条件再进行操作。非阻塞操作的进程在不能进行设备操作时,并不挂起。被挂起的进程进入sleep状态,被从调度器的运行队列移走,直到等待的条件被满足。 在Linux 关于上述例程,我们补充说一点,如果将驱动程序中的read函数改为:static ssize_t globalvar_read(struct f
2010-01-05 09:40:00
230
转载 wait
zieckey (http://zieckey.cublog.cn) wait(等待子进程中断或结束)表头文件 #include #include定义函数 pid_t wait (int * status);函数说明 wait()会暂时停止目前进程的执行,直到有信号来到或子进程结 束。如果在调用 wait()时子进程已经结束,则 wait()会立即返
2009-12-30 10:10:00
174
原创 50个c/c++源代码网站
50个c/c++源代码网站C/C++是最主要的编程语言。这里列出了50名优秀网站和网页清单,这些网站提供c/c++源代码。这份清单提供了源代码的链接以及它们的小说明。我已尽力包括最佳的C/C++源代码的网站。这不是一个完整的清单,您有建议可以联系我,我将欢迎您的建议,以进一步加强这方面的清单。 1、http://snippets.dzon
2009-12-17 17:24:00
191
转载 linux内核延时
1、#include void do_gettimeofday(struct timeval *tv){ unsigned long flags; unsigned long usec, sec; read_lock_irqsave(&xtime_lock, flags); sec
2009-11-30 15:20:00
2524
转载 linux驱动 自旋锁的运用
linux驱动 自旋锁的运用 //hello.c#define __NO_VERSION__ #include #include #include #include #include #include #include #include #include #include #include #inc
2009-11-26 17:29:00
741
转载 内核进程调度以及定时器实现机制2008-06-01
一、2.6版以前内核进程调度机制简介 Linux的进程管理由进程控制块、进程调度、中断处理、任务队列、定时器、bottom half队列、系统调用、进程通信等等部分组成。进程调用分为实时进程调度和非实时进程调度两种。前者调度时,可以采用基于动态优先级的轮转法(RR),也可以采用先进现出算法(FIFO)。后者调度时,一律采用基于动态优先级的轮转法。某个进程采用何种调度算法由改进程的进程控制块中的某些
2009-11-07 10:34:00
220
转载 linux内核中最常见的锁是自旋锁
linux内核中最常见的锁是自旋锁(spin lock)。自旋锁最多只能被一个可执行线程持有。如果一个执行线程试图获得一个被争用的自旋锁,那么该线程就会一直进行忙循环等待锁重新可用。要是锁未被争用,请求锁的执行线程便能立刻得到它,继续执行。在任意时间,自旋锁都可以防止多于一个的执行线程同时进入临界区。 一个被正用的自旋锁使得请求它的线程在等待锁重新可用时自旋(特别浪费处理器时间),
2009-11-06 16:18:00
500
转载 Linux设备驱动程序学习
Linux Device Driver学习笔记(转载) 前言: 接触ARM-Linux已经有9个多月了,经历了毕业设计和公司的练习设计,对ARM-Linux有了一定的了解,也让我爱上了ARM-Linux,决心以后从事Linux的工作。 8月份开始,我算是从头认认真真,一步一个脚印地学习ARM-Linux。先后对博创UP-N
2009-11-04 09:15:00
319
转载 linux线程(转)
程相关函数: pthread_attr_init() pthread_attr_setschedpolicy() pthread_attr_setschedparam() pthread_attr_destroy()具体应用demo:pthread_attr_init(&attr);pthread_attr_setschedpolicy(&attr, SC
2009-10-27 15:13:00
1537
转载 pthread_cond_wait().
今天终于有点明白了,赶快记下心得! 条件变量的结构为pthread_cond_t,函数pthread_cond_init()被用来初始化一个条件变量。它的原型为: extern int pthread_cond_init __P ((pthread_cond_t *__cond,__const pthread_condattr_t *__cond_attr)); 其中c
2009-10-26 15:02:00
3668
1
转载 The Linux Kernel Module Programming Guide笔记
1、通过lsmod来获得内核已加载了那些模块,这个命令是读取/proc/modules文件的内容来获得信息的。 2、内核模块管理守护进程kmod执行modprobe去加载内核模块。modprobe的功能和insmod类似,但是它除了装入指定模块外,还同时装入指定模块所依赖的其他模块。 3、如果内核中打开了CONFIG_MODVERSIONS选项,则为某个指定版本内核编译的模块将不能
2009-10-23 15:43:00
440
原创 Vim多行缩进技巧
1.按v进入visual状态,选择多行,用>或2.通常根据语言特征使用自动缩进排版:在命令状态下对当前行用== (连按=两次), 或对多行用n==(n是自然数)表示自动缩进从当前行起的下面n行。你可以试试把代码缩进任意打乱再用n==排版,相当于一般IDE里的code format。使用gg=G可对整篇代码进行排版。 3.gg shift+G 首尾4.全文字眼替换 %s/sourc
2009-10-21 16:14:00
16218
转载 linux下多进程、多线程编程
linux下进程 (一) 理解Linux下进程的结构 Linux下一个进程在内存里有三部份的数据,就是“数据段”,“堆栈段”和“代码段”,其实学过汇编语言的人一定知道,一般的CPU象I386,都有上述三种段寄存器,以方便操作系统的运行。“代码段”,顾名思义,就是存放了程序代码的数据,假如机器中有数个进程运行相同的一个程
2009-10-21 12:26:00
883
转载 Linux内核中用于同步的几种机制集中起来分析
Linux内核中用于同步的几种机制集中起来分析,强调了它们之间在实现和使用上的不同。 同步通常是为了达到多线程协同的目的而设计的一种机制,通常包含异步信号机制和互斥机制作为其实现的底层。在Linux 2.4内核中也有相应的技术实现,包括信号量、自旋锁、原子操作和等待队列,其中原子操作和等待队列又是实现信号量的底层。 一. 等待队列和异步信号 wait queue很早就作为一个基本的功
2009-10-20 17:14:00
352
转载 Spinlock 简介
在 Linux Kernel 里有著许多重要的资料结构,这些资料在操作系统的运作中扮演著举足轻重的角色。然而,Linux 是个多工的操作系统,也就是在同一时间里可以同时有许多的行程在执行,所以,很有可能某个行程在依序读取 inode list,同时却又有另一个在 inode list 里加入新的 inode,这会造成什么情形呢?这会造成 inode list 的不稳定。所以,在 Kernel 里,
2009-10-19 11:07:00
229
转载 浅析container_of(ptr, type, member)
浅析container_of(ptr, type, member)文章来源:http://gliethttp.cublog.cn#define container_of(ptr, type, member) ({ / const typeof( ((type *)0
2009-10-14 10:51:00
290
input子系统学习
2010-05-09
mx51Mx51Mx51
2010-05-03
信号量(Semaphore)
2009-10-20
美河提供.C.编程惯用法.高级程序员常用方法和技巧.pdf
2009-07-12
ARM 启动代码设计参考
2008-09-17
基于uClinux的网络部分启动分析及协议模块化实现.pdf
2008-09-17
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人