- 博客(61)
- 资源 (5)
- 收藏
- 关注
转载 secureCRT中vim方向键问题的解决
secureCRT在linux用vi, vim和emacs时,按方向键一直出现插入A B C D,而不是移动光标,在网上找了好久也没有发现怎么回事。然后,自己动手,在Options-》session options -》Terminal-》Emulation-》Modes中,去掉CurSor key mode的选择,然后欣然发现一切OK了。http://blog.youkuaiyun.com/dwts
2014-10-19 09:48:00
1830
1
转载 手机蓝牙各类服务对应的UUID
ServiceDiscoveryServerServiceClassID_UUID = '{00001000-0000-1000-8000-00805F9B34FB}'BrowseGroupDescriptorServiceClassID_UUID = '{00001001-0000-1000-8000-00805F9B34FB}'PublicBrowseGroupServiceClass
2014-06-21 11:13:17
951
转载 secureCRT自动记录log日志和行日期
http://blog.youkuaiyun.com/tianlesoftware/article/details/9353909
2014-06-09 13:48:37
3963
原创 linux用于后台监控指定程序运行状况的脚本(如果程序死了则重启程序)
#!/bin/shwhile truedops | grep "my_app" | grep -v "grep" > /dev/null #第一二个命令输出my_app的运行情况,第二个命令去掉带有grep的条目,然后把结果重定向到null里面不要回显if [ "$?" -eq 1 ] # 1 : 表示有 ; 0 :表示没有then./my_app &
2014-06-06 09:10:47
2783
原创 linux内核源码分析之__lookup_mnt(struct vfsmount *mnt, struct dentry *dentry, int dir)
不知道理解是否正确,如欲转载请注明出处 感觉博客好像已经荒废了一段时间一样,最近学的都是断断续续的,所学的都是不成形的。都不没啥好写的说。想想刚开通博客的时候那是热情高涨啊,一直发表一直发表。现在好像变得有点懒了。 最近在看linux内核3.0.1版的源码VFS部分,终于觉得有些好写的了哈。下面记录一下一个函数源码注释,这个函数如果单独着看肯定看不懂干嘛这么做。废话不多说了,开始贴
2013-04-14 21:45:48
1906
原创 linux内核之container_of(ptr, type, member)
/** *由已知结构体里的一个成员指针来计算出该结构体指针 * * @ptr: 结构体里已知成员指针. * @type: 所求结构体类型. * @member: 结构体里已知成员名字. * */#define container_of(ptr, type, member) \({
2013-04-10 22:49:13
670
转载 linux模块加载出现有关问题,printk打印信息,终端里看不到
转自:http://www.myexception.cn/h/704185.html linux模块加载出现问题,printk打印信息,终端里看不到#include #include #include MODULE_AUTHOR("xiao yehua");MODULE_LICENSE("GPL");static int __init hello_init(
2013-03-07 11:49:45
4046
转载 pintk 的等级说明
转自:http://blog.e-works.net.cn/545036/articles/95147.html 1 printk 消息级别定义#define KERN_EMERG "" /*紧急事件,一般是系统崩溃之前的提示消息*/#define KERN_ALERT "" /*必须立即采取行动*/#define KERN_CRIT "" /*临界状态,通常
2013-03-07 10:36:02
1072
转载 kmalloc(size,flag)的flag标志说明
转自:http://bbs.chinaunix.net/thread-4058155-1-1.html 这几天在tcp_ipv4.c文件的一个函数改动一些东西我在里面用kmalloc(4096,GFP_KERNEL)分配了一空间存放数据谁知,编译完之后 重启电脑直接给我奔溃.....欲哭无泪...找了两天终于找到了 祸首罪魁居然是kmalloc(4096,GFP_KERNEL)
2013-03-07 10:33:50
3369
转载 ANDROID-MK.html
Android.mk file syntax specificationIntroduction:-------------This document describes the syntax of Android.mk build filewritten to describe your C and C++ source files to the AndroidNDK
2013-03-04 20:37:56
1290
原创 基于s3c2440的简易bootloader实现
一、目的 编写一个能够加载并启动OS内核的bootloader。 二、思路第一阶段:(1)arm920t的异常向量表有两种存放方式,一种是低端存放(从0x00000000处开始存放),另一种是高端存放(从0xfff000000处开始存放)。选择低端存放,建立异常向量表。(2)s3c2440的看门狗在上电启动时默认是开启的,所有要先把看门狗关了先。免得代码运行还
2013-02-12 22:33:43
2057
1
转载 Makefile中常用函数
在Makefile中可以使用函数来处理变量,从而让我们的命令或是规则更为的灵活和具有智能。make所支持的函数也不算很多,不过已经足够我们的操作了。函数调用后,函数的返回值可以当做变量来使用。一、函数的调用语法函数调用,很像变量的使用,也是以“$”来标识的,其语法如下: $()或是 ${}这里,就是函数名,make支持的函数不多。是函数的参数,参数间以逗
2013-02-06 20:31:00
570
原创 关于代码链接时bss段的一点理解
突然要为bss段写点东西 ,虽然也就那么一两句话 ,但是之前我确实是一直不是怎么明白 , 其实是因为我在写bootloader的时候在清零bss段时出现了问题 ,具体什么问题。其实也没什么的。 1、bss段是用来存放未被初始化的全局变量 ,这个相信大家都是知道的。我也一直都看到bss段就是用来放未被初始化的全局变量 这几个字段。 但是也就知道而已。具体还没自己特意去观察过。其实链接器在链
2013-02-05 17:30:29
1502
转载 How to disable the warning message "File is probably not DOS format
转自:http://guliqun1983.blog.163.com/blog/static/5011168520112371452776/ How to disable the warning message "File is probably not DOS format"如果你的UltraEdit在打开一些文件格式时,经常提示“文件可能不是DOS格式,你
2013-02-04 23:52:48
768
原创 汇编与c之间内容传递的分析理解及ldr指令与.word伪指令的简单介绍
注:因涉及个人理解,可能有错 。如欲转载 ,请注明出处。 一、ldr指令的两种不同用途(1)作为arm汇编指令集中的ldr加载指令 ·指令格式: LDR{条件} Rd, LDR{条件}B Rd, 说明:该指令用于把指向的数据加载到Rd寄存器里,LDR是加载指向的一个字内容,而后面对了个后缀'B'表示只加载指向的一个字节的内容.
2013-02-04 12:57:58
2052
原创 ubuntu下搭建android开发环境
在ubuntu下进行android开发的环境搭建主要有以下5个部分:(1) 安装jdk(2) 安装android_sdk(3) 安装eclipse(4) 为eclipse添加adt插件(5) 添加SDK平台和android平台 一、安装jdk 先到sun官网下载相应的jdk的b
2013-01-27 13:57:51
1109
原创 RAW-OS学习之mutex源码注释与解析
mutex的出现是为了解决优先级反转的问题,由于优先级反转对实时性影响太大,所以mutex 的稳定性直接影响了实时性。纵观目前多种实时操作系统mutex 的设计原理是多多少少有一点问题的,raw os 的mutex 模块成功弥补了其它实时系统在这方面的不足。raw os 的mutex同时支持优先级置顶和优先级继承的方式来解决优先级反转的问题。raw os 的mutex比较其它实时系统,比如
2013-01-27 13:31:55
1509
原创 RAW-OS学习之任务篇(一)
1.raw-os的任务状态 raw-os总共有10个状态 ,定义在raw_obj.h里面,如下:enum RAW_TASK_STATUS{ RAW_RDY = 0, //就绪态RAW_PEND, //永远阻塞态RAW_PEND_TIMEOUT, //超时阻塞态RAW_PEND_TIMEOUT_SUSPENDED, //超时阻塞挂起态RAW_SU
2013-01-23 22:23:06
5107
原创 raw_task_0相关源码注释
一、raw_system.h相关代码/******************************说明:中断信息类型*****************************/enum { RAW_TYPE_Q_FRONT, /*消息插入消息队列(不带消
2012-12-19 19:58:04
952
原创 八、mini2440裸机程序之UART(2)UART0与PC串口通信
1.相关原理图 2.相关寄存器介绍与配置 1)与管脚相关①GPHCON注:配置成UART0功能:GPHCON |= 10 10 10 10b(还要在GPHUP里把管脚禁止上拉) 2)与中断相关上传图片好麻烦,跟以前相关的这里就不贴了 3)与UART0相关①ULCON0
2012-12-17 21:21:13
3478
翻译 八、mini2440裸机程序之UART(1)简单介绍
一、概述 S3C2440通用异步接收和发送(UART)提供了三路的不同异步串行I/O端口,每一个端口可以被配置为中断模式或者DMA模式 。也就是说UART可以产生中断或者DMA请求来在CPU和UART之间传输数据。UART可以支持高达115.2K波特率使用系统时钟。如果一个外部设备为UART提供UEXTCLK,那么UART可以运行在更高的速度上。每个UART通道包含了两个64
2012-12-15 14:02:21
3105
原创 RAW-OS之RAW_QUEUE测试代码执行过程
1.进入main()函数 , 代码及注释如下:int main(int argc, char * argv[]){ VCInit(); start_vc_timer(1000 / RAW_TICKS_PER_SECOND); /*初始化raw_os*/ raw_os_init(); /*创建了5个任务 , 调到步骤2*/ que
2012-12-14 18:39:21
945
原创 RAW-OS之任务0执行时钟节拍event的过程
一、步骤简介1.创建任务0 , 任务0处理函数为task_0_process(void *pa); 2.设置时钟节拍中断时发给任务0的event的处理函数task_0_event_handler.handle_event= task_0_tick_handler(RAW_U8 ev, RAW_U8 *data); 3.把任务0的就绪标志置'1' , task_0_i
2012-12-13 19:09:14
1067
原创 指定基址,寻找已知偏移量到指定范围第一个'1'的位到该偏移量的距离(都以bit为单位)
已知条件:基址base,搜索区间[offset,offset+width),求该区间第一个为’1’的位到offset的距离(以bit为单位).如下图示:2.基本思路: 1)获取第offset位所在变量,取该变量指针cp 2)获取p到搜索的结束位总共需要检测的变量数num_valiable 3)先把*cp右移使得offset位移到第
2012-12-13 00:01:44
1486
1
转载 嵌入开发中C语言程序优化
下面是网络上收集关于ARM的C代码优化方法,在嵌入开发中应该有用: [声明:以下方法非本人发现和总结,均为有心之人无私贡献,谢谢他们的劳动与分享!]========================================================================================C数据类型 1. C语言的程序优化与编译器和硬件系统
2012-12-12 17:03:08
1618
原创 由已知结构体里的某个成员名及该成员地址获取该结构体指针
1.在很多OS里面几乎都会用到链表 , 一般的链表的节点(结构体)都维护着一个list(结构体) , 如果是单向链表 , 则list里面只有一个元素next指针 , 指向下一个节点的list .如果是双向链表 , 则list里面由两个元素:previous指针和next指针 ,其中previous指向上一个节点的list , next指向下一个节点的list . 下面我画出了双向链表的典型
2012-12-07 08:25:41
8646
1
原创 关于函数式宏定义的典型用法及易错点
1.函数体直接使用宏定义不管有没有返回值都不能作赋值运行的左右值 . 如下图示:错误提示: 2.通过使用小括号()把函数体括起来使用宏定义可以得到该函数体最后一条语句运算结果,这里还需要注意 ,不能漏了' ; ',如下图示:打印结果如下: 3.一般情况下使用多语句宏定义时 ,最好使用do{...}while(0)或者({})的形
2012-12-07 06:17:15
10596
原创 七、mini2440裸机程序之定时器中断(4)定时器实现
1.实验说明 通过使用定时器0来实现1秒的定时功能 ,通过对定时器中断处理函数对灯光的状态进行取反来演示. 2.相关寄存器介绍 定时器配置相关寄存器 1)TCFG0注:(PCLK =101.25MHz)prescaler 0 = 249,divider value = 16这样定时器输入时钟频率 = 101,250,00
2012-12-03 19:47:37
2064
1
原创 七、mini2440裸机程序之定时器中断(3)定时器简介
1.概览 S3C2440A有5个16-bit的定时器 . 定时器0,1,2,3有PWM功能 , 定时器4只有一个内部定时没有关联上输出管脚 . 定时器0有一个dead-zone产生器 ,用于大电流设备 . 定时器 0 和 1 共享这一个8-bit的预分频器 , 定时器2,3,4共享另一个8-bit的预分频器 . 每一个定时器都有一个时钟分
2012-12-03 19:09:00
1481
1
原创 七、mini2440裸机程序之定时器中断(2)时钟相关寄存器配置
1.相关寄存器介绍 1)LOCKTIME注:这个寄存器主要是用于设置upll和mpll 的锁紧时间计数值 , 一般使用默认值最保险了. 2)MPLLCON和UPLLCON注:①Mpll = ( 2*(MDIV+8)*Fin ) / ( (PDIV+2)*(2^SDIV) )②Upll = ((MDIV+8)*Fin ) / (
2012-12-03 19:02:28
1042
翻译 七、mini2440裸机程序之定时器中断(1)时钟&电源管理介绍
一、简介 系统时钟&电源管理包含了3个部分 : 时钟控制 , USB控制 , 电源控制 . 1)时钟控制 : 时钟控制逻辑可以用来产生必要的时钟信号包括用于 CPU 的 FCLK .用于AHB总线设备的HCLK , 还有用于APB总线设备的PCLK , 还有专用于USB模块的时钟(48MHz) .
2012-11-30 11:33:28
1445
原创 六、mini2440裸机程序之中断控制器(2)外部按键中断
1.管脚介绍 2.相关知识点介绍 1)中断源相关仲裁器 : 2)异常向量表: 3)PSR格式(通过对I、F位置'0',可以开启IRQ和FIQ ) arm920t包含了一个CPSR(当前程序状态寄存器) , 5个SPSRs(保存程序状态寄存器 : 用于异常中断处理程序保存CPSR的值) , 其中的I
2012-11-27 10:50:09
1914
原创 六、mini2440裸机程序之中断控制器(1)简单介绍
1.中断源: s3c2440提供了60个中断源 , 如下所示 : 2.中断处理过程: 3.相关寄存器介绍: ① sourcepending (SRCPND) register SRCPND : 32位对应着32个中断源 , 被置'1'的位所对应的中断源被指明产生中断请求并且等待中断服务.也就是说这个寄存器指明
2012-11-24 01:04:51
1456
原创 五、mini2440裸机程序之nand flash控制器实验
1.相关原理图如下所示:注:以上接法在s3c2440手册里有说明: 我的nand flash : 2048Bytes/page, 大小128M,由上篇对nandflash的分析可以得知需要4个地址周期 , 8位的总线宽度.也就是NCON=1,GPG13=1,GPG14=0,GPG15=0. 所以上一张接线图应该把NR5跟NR4去
2012-11-23 09:38:35
2068
原创 关于gcc编译器对for空循环的优化
上图是下面函数进行gcc编译不添加-O2优化选项的反汇编程序,可以看出不优化时,汇编出来的程序确实是我们所期待的。进行了循环延时。void delay(unsigned long dly){ for(; dly > 0; dly--);}上图是前一个函数进行gcc编译添加-O2优化选项的反汇编结果,可以看出使用了-O2优化后,整个delay函数里面的for空循环被直
2012-11-16 12:27:28
5932
原创 四、mini2440裸机程序之MMU(下)
1.本实验相关管脚介绍 1)原理图 2)由上图可以看出,4个LED灯所对应的管脚:名称对应管脚管脚功能对应逻辑LED1GPB5内部上拉输出0:灯亮1:灯灭LED2GPB6内部上拉输出0
2012-11-16 12:05:18
2390
原创 四、mini2440裸机程序之MMU(上)
来自ARM920T参考手册可在以下官方网站下载:http://infocenter.arm.com/help/index.jsp 一、前期介绍 访问CP15寄存器组的语法: 在特权模式下,访问CP15寄存器组通过MCR/MRC指令:MCR/MRC{cond} P15 , opcode_1 , Rd , CRn , CRm , opcode_2
2012-11-16 12:04:28
2184
原创 三、mini2440裸机程序之存储控制器实验
1.管脚介绍 1)与SDRAM相关管脚: 2)以上接法都可由S3C2440数据手册里寻找到:红圈里面表示我当前使用开发板外接SDRAM的情况:其中(4Mx8x4B)X2表示使用了2片32M的SDRAM组成64M的内存,其中4 banks/chip,4M/bank,每一片的数据总线16-bit,但是通过使用两片扩展成x32总线宽
2012-11-12 13:23:13
1018
原创 二、mini2440裸机程序之按键检测实验
功能简介: 通过按键来控制4个LED的亮灭状态,在key1按下时,LED1状态取反,key2,key3,key4同理。key5按下则全亮,key6按下则全灭。 1.管脚介绍 1)与key模块相关的原理图如下: 2)LED灯模块相关原理图 3)用以上原理图可得,管脚对应关系及功能如下表:
2012-11-10 11:57:03
1600
转载 ARM处理器中“8位位图”
原文转自:http://blog.youkuaiyun.com/qq419036154/article/details/6359039在ARM处理器的汇编语言中,对指令语法格式中的的常数表达式有这样的规定:“该常数必须对应8位位图,即常数是由一个8位的常数循环移位偶数位得到的。” 首先从ARM指令系统的语法格式说起。 一条ARM指令语法格式分为如
2012-11-09 21:46:49
766
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人