科创园

科创园地,分享技术知识,为科技助力发展,贡献一己之力。
  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理
上一页 1 ··· 4 5 6 7 8 9 10 11 12 下一页

2012年4月16日

摘要: 大家用source insight看linux源码的时候都遇到这么一个麻烦,makefile和kconfig中的文字在搜索的时候不能找到,这是因为source insight默认是不选makefile的,也没有konfig这种类型的文件。下面就讲一下如何添加makefile:打开Source Insight,在新建工程之前,进入Options -> Document Options-> 点击Document Type的下拉框,然后选择Make File,在右边的File Filter中,在原先的*.mak后面加上一个分号,即多个不同过滤规则以分号间隔开,再加上*makefile,变 阅读全文

posted @ 2012-04-16 17:14 科创园 阅读(25497) 评论(2) 推荐(2) 编辑

2012年4月15日

摘要: UltraEdit 每次打开新文件的时候,都提示:文件可能不是DOS格式,你要转换 File 为 DOS 格式吗?取消的处理办法: 高级 -> 配置 -> 文件处理 -> DOS/UNIX/MAC 处理 -> UNIX/MAC 文件检测/转换 中,取消原先选择的检测文件类型并提示进行更改,选取 禁用,这样,就不会再出现讨厌的提示了。For English version:Advanced -> configuration -> Load/Save/Conversions -> Unix/Mac filedetection/conversion -> 阅读全文

posted @ 2012-04-15 11:01 科创园 阅读(2897) 评论(0) 推荐(0) 编辑

2012年4月9日

摘要: 格式控制符“%p”中的p是pointer(指针)的缩写。指针的值是语言实现(编译程序)相关的,但几乎所有实现中,指针的值都是一个表示地址空间中某个存储器单元的整数。printf函数族中对于%p一般以十六进制整数方式输出指针的值,附加前缀0x。示例:int i = 1;printf("%p",&i);相当于int i = 1;printf("0x%x",&i);对于32位的指针,输出一般会是类似0xf0001234之类的结果。%p存在的理由除了附加前缀输出的便利性以外,如LS所说,指针的大小是不确定的,由实现决定。根据地址空间的大小,一般有 阅读全文

posted @ 2012-04-09 20:16 科创园 阅读(32013) 评论(1) 推荐(1) 编辑

2012年4月7日

摘要: 为何C语言(的函数调用)需要堆栈,而汇编语言却不需要堆栈之前看了很多关于uboot的分析,其中就有说要为C语言的运行,准备好堆栈。而自己在Uboot的start.S汇编代码中,关于系统初始化,也看到有堆栈指针初始化这个动作。但是,从来只是看到有人说系统初始化要初始化堆栈,即正确给堆栈指针sp赋值,但是却从来没有看到有人解释,为何要初始化堆栈。所以,接下来的内容,就是经过一定的探究,试图来解释一下,为何要初始化堆栈,即:为何C语言的函数调用要用到堆栈,而汇编却不需要初始化堆栈。要明白这个问题,首先要了解堆栈的作用。关于堆栈的作用,要详细讲解的话,要很长的篇幅,所以此处只是做简略介绍。总的来说,堆 阅读全文

posted @ 2012-04-07 10:42 科创园 阅读(3834) 评论(1) 推荐(0) 编辑

2012年4月4日

摘要: 先说左移,左移就是把一个数的所有位都向左移动若干位,在C中用<<运算符.例如: int i = 1; i = i << 2; //把i里的值左移2位 也就是说,1的2进制是000...0001(这里1前面0的个数和int的位数有关,32位机器,gcc里有31个0),左移2位之后变成 000...0100,也就是10进制的4,所以说左移1位相当于乘以2,那么左移n位就是乘以2的n次方了(有符号数不完全适用,因为左移有可能导致符号变化,下面解释原因) 需要注意的一个问题是int类型最左端的符号位和移位移出去的情况.我们知道,int是有符号的整形数,最左端的1位是符号位,即0 阅读全文

posted @ 2012-04-04 11:15 科创园 阅读(144859) 评论(4) 推荐(10) 编辑

2012年3月31日

摘要: C++内联函数(Inline)介绍 介绍内联函数之前,有必要介绍一下预处理宏。内联函数的功能和预处理宏的功能相似。相信大家都用过预处理宏,我们会经常定义一些宏,如#define TABLE_COMP(x) ((x)>0?(x):0) 就定义了一个宏。 为什么要使用宏呢?因为函数的调用必须要将程序执行的顺序转移到函数所存放在内存中的某个地址,将函数的程序内容执行完后,再返回到转去执行该函数前的地方。这种转移操作要求在转去执行前要保存现场并记忆执行的地址,转回后要恢复现场,并按原来保存地址继续执行。因此,函数调用要有一定的时间和空间方面的开销,于是将影响其效率。而宏只是在预处理的地方把... 阅读全文

posted @ 2012-03-31 20:04 科创园 阅读(2836) 评论(2) 推荐(1) 编辑

2012年3月29日

摘要: 执行make命令后 连接时出错:arm-linux-gcc -c -o head.o head.Sarm-linux-gcc -c -o leds.o leds.carm-linux-ld -Ttext 0x30000000 head.o leds.o -o sdram_elfleds.o:(.ARM.exidx+0x0): undefined reference to `__aeabi_unwind_cpp_pr0'leds.o:(.ARM.exidx+0x8): undefined reference to `__aeabi_unwind_cpp_pr1'make: *** 阅读全文

posted @ 2012-03-29 13:33 科创园 阅读(618) 评论(0) 推荐(0) 编辑

2012年3月15日

摘要: 我们知道操作系统的五大供能之一就是对文件的管理.那么为什么要引入文件管理的功能呢,它的主要任务是什么呢?在现代操作系统中,要利用大量的程序和数据,由于内存容量有限,且不能长期保存,于是人们想出了把这些数据以文件的形式放在外存中,需要的时候再将它们调入内存-----从此就有了文件系统。它负责管理在外存上的文件,并把对存取,共享和保护等手段提供给用户。这样就方便了用户,保证了文件的安全性,还提高了系统资源的利用率。1.从系统角度来看,文件系统是对文件存储器空间进行组织和分配,负责文件的存储并对存入的文件进行保护和检索的系统。从用户的角度看,文件系统的主要目的是实现了对文件的按名存取。2.由于要存储 阅读全文

posted @ 2012-03-15 10:25 科创园 阅读(775) 评论(0) 推荐(0) 编辑

2012年3月14日

摘要: 在计算机领域,堆栈是一个不容忽视的概念,我们编写的C语言程序基本上都要用到。但对于很多的初学着来说,堆栈是一个很模糊的概念。堆栈:一种数据结构、一个在程序运行时用于存放的地方,这可能是很多初学者的认识,因为我曾经就是这么想的和汇编语言中的堆栈一词混为一谈。我身边的一些编程的朋友以及在网上看帖遇到的朋友中有好多也说不清堆栈,所以我想有必要给大家分享一下我对堆栈的看法,有说的不对的地方请朋友们不吝赐教,这对于大家学习会有很大帮助。数据结构的栈和堆首先在数据结构上要知道堆栈,尽管我们这么称呼它,但实际上堆栈是两种数据结构:堆和栈。堆和栈都是一种数据项按序排列的数据结构。栈就像装数据的桶或箱子我们先从 阅读全文

posted @ 2012-03-14 18:26 科创园 阅读(15256) 评论(3) 推荐(6) 编辑

2012年2月25日

摘要: 首先来分析一下触摸屏的原理:首先,它属于输入子系统。还记得我们上篇分析的关于linux输入子系统的架构吗???这里找来了另一张图片:小弟先敬上:好了,先来一段废话 触摸屏原理分析:(已知的朋友可绕道)原理:由横向电阻比和纵向电阻比组成。由nYPON、YMON、nXPON、XMON四个控制信号控制4个MOS管(S1-S4)的通断。(实质也是同鼠标一样获取坐标)S3C2440触摸屏控制器2种模式:X/Y位置分别转换模式X/Y位置自动转换模式工作流程:选择模式设置触摸屏接口到等待接口状态如果中断发生,激活转换模式获取坐标后,返回等待中断状态(INT_TC中断用于按下或弹起触摸屏)(INT_ADC用于 阅读全文

posted @ 2012-02-25 14:18 科创园 阅读(1767) 评论(0) 推荐(0) 编辑

上一页 1 ··· 4 5 6 7 8 9 10 11 12 下一页