- 博客(15)
- 资源 (15)
- 收藏
- 关注
原创 ANSIC C 文件管理
一、根据数据的存储方式,文件可为分二进制文件和文本文件:1、文本文件:ASCLL文件,每个字节存放一个ASCLL码字符,其存储量大,速度慢,便于对字符操作;2、二进制文件:数据按其在内存中存储形式原样存放,其存储容量小,速度快,便于存放中间结果; 二、根据应用程序对文件的访问方式,即是否存在缓冲区。1、缓冲文件系统:高级文件系统,系统自动为正在使用的文件开辟内存缓冲区;如ANS
2012-09-18 23:15:59 2154
原创 linux时间管理函数
在LInux系统下,对时间管理要弄清楚UTC时间和Local Time时间的区别1)、UTC:即GMT(Greenwich Mean Time)2)、Local Time 为本地时间系统默认的时区配置文件位置为/etc/sysconfig/clock在编程应用时,经常需要读取时间、进程运行的时间等信息,在time.h头文件中声明了这些函数 clock()函数用于查看进程运行
2012-09-18 11:16:16 1211
原创 linux进程存储管理--进程内存结构
一个正在运行着的进程在内存空间中的内存结构有:代码区、初始化数据区、未初始化数据区、堆区和栈区5个部分1)代码区(text segment)。加载的是可执行文件代码段2)全局初始化数据区/静态数据区(Data Segment)。加载的是可执行文件数据段,存储于数据段的数据的生存周期为整个程序运行过程3)未初始化数据区(BSS)4)堆区(heap)用于动态内存分配一般由程序员分配
2012-09-18 10:08:17 3111
原创 OK6410之ADC驱动软件分析---阻塞与非阻塞IO
首先,学习一下设备的阻塞与非阻塞操作: 阻塞操作是指,在执行设备操作时,若不能获得资源,则进程挂起直到满足可操作的条件再进行操作,被挂起的进程进入sleep 状态,被从调度器的运行队列移走,直到等待的条件被满足。非阻塞操作的进程在不能进行设备操作时,并不挂起,它或者放弃,或者不停地查询,直到可以进行操作为止。 阻塞从字面上听起来似乎意味着低效率,实则不然。如果设备驱
2012-09-15 16:14:45 1496
原创 OK6410之ADC驱动硬件分析---阻塞与非阻塞IO
在OK6410开发板中,有AD CONVERT部分,接口为XDAC_AIN0 在S3C6410的PDF中:The 10-bit/12-bit CMOS ADC (Analog to Digital Converter) is a recycling type device with 8-channel analoginputs. It converts the analog
2012-09-15 16:00:34 1449
转载 do…while(0)的妙用
在C++中,有三种类型的循环语句:for, while, 和do…while, 但是在一般应用中作循环时, 我们可能用for和while要多一些,do…while相对不受重视。但是,最近在读我们项目的代码时,却发现了do…while的一些十分聪明的用法,不是用来做循环,而是用作其他来提高代码的健壮性。1. do…while(0)消除goto语句通常,如果在一个函数中开始要分配一些资源,然后
2012-09-15 15:35:33 831
原创 OK6410之蜂鸣器驱动软件分析---PWM定时器
#include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include
2012-09-14 11:31:52 3118 2
原创 OK6410之蜂鸣器驱动硬件分析---PWM定时器
在OK6410开发板中,蜂鸣器的IO口为GPF15 关于GPF15的GPIO详细参考S3C6410的PDF手册GPF14 [29:28] 00 = Input 01 = Output 10 = PWM TOUT[0] 11 = CLKOUT[0] GPF15 [31:30] 00 = Input 01 = Output 10 = P
2012-09-14 11:12:27 2512
转载 深入浅出Linux设备驱动之并发控制
在驱动程序中,当多个线程同时访问相同的资源时(驱动程序中的全局变量是一种典型的共享资源),可能会引发"竞态",因此我们必须对共享资源进行并发控制。Linux内核中解决并发控制的最常用方法是自旋锁与信号量(绝大多数时候作为互斥锁使用)。 自旋锁与信号量"类似而不类",类似说的是它们功能上的相似性,"不类"指代它们在本质和实现机理上完全不一样,不属于一类。 自旋锁不会引起调用者睡眠
2012-09-14 11:00:04 790
转载 mini2440 移植linux2.6.30.10 及yaffs2文件系统
研究了四天linux内核移植和文件系统制作,总算移植成功,在这里和大家分享一下,我是一个初学者,有不对的地方,请大家指点。参考网友的资料:http://blog.chinaunix.net/u3/104564/sho ... 91186.htmlhttp://www.ourdev.cn/bbs/bbs_content.js ... bs_id=1032http://blog.sin
2012-09-13 10:02:10 1533
原创 linux开机自启动,去掉“Please press Enter to activate this console“
在s3c6410中自启动Qt应用程序,最先的想法是有/etc/init.d/rcS加入应用程序或者脚本命令就可以实现开机自动运行,不过出现了问题,启动了Qt应用程序,7寸屏幕界面中,如果点击界面会出现界面叠加的情况,也就是当前界面会被破坏,出现原来的底层界面。于是把Qt应用程序放到/etc/profile中自己开机启动的程序,但是不能自启动,需要在超级终端敲回车,"Please press Ent
2012-09-13 09:34:11 20548 2
原创 linux2.6.36内核配置笔记
1、解压飞凌自己的内核linux2.6.36到/home/ok6410中:root@ubuntu:/mnt/hgfs/FORLINX_share/OK6410/Linux-2.6.36# tar zxvf FORLINX_linux-2.6.36.2.tar.gz -C /home/ok6410/2、在/home/ok6410/linux-2.6.36.2-v1.05中,查看配置文件ls
2012-09-07 22:42:29 2089
原创 ok6410之linux2.6.36内核添加logo显示
在OK6410板子启动时并没有显示可爱的小企鹅logo,故进行添加显示并修改成自己喜欢的图片。配置内核:make meunconfig Device Drivers ---> Graphics support ---> Support for frame buffer devices --->
2012-09-04 16:08:21 1389
转载 修改内核启动logo的方法
转】修改内核启动logo的方法 内核默认的logo图片路径为drivers/video/logo/logo_linux_clut224.ppm,所以首先先修改目标:覆盖原来的logo_linux_clut224.ppm文件,若有logo_linux_clut224.o和logo_linux_clut224.c文件则一并删除,这样才能在再次编译时使用新的logo_linux_
2012-09-03 22:21:37 1040
原创 实时时钟RTC之hwclock简介
Linux 中更改时间的方法一般使用 date 命令,为了把 S3C6410内部带的时钟与 linux 系统时钟同步,一般使用 hwclock命令,下面是它们的使用方法: (1) date -s 042916352007 #设置时间为 2007-04-29 16:34 (2) hwclock -w #把刚刚设置的时间存入S3C2440 内部的 RTC (3).开机时使用 hwc
2012-09-03 19:56:20 1683
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人