嵌入式linux开发
qinxiongxu
静...//君子以自强不息~
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
基于嵌入式linux2.6平台下用qt2编写的实时监控Tools
作者:hinsxu,时间:2012-1-28 在春节期间在linux2.6环境下面用qt2编写了一个Temperature&Voltage的监控软件,其中有s2channel的Temperature和3Channel的Voltage输入监控,支持预设上下限报警值,Temperature的部分支持波形实时显示。下面是监控软件界面的截图。原创 2012-02-12 17:54:49 · 1165 阅读 · 2 评论 -
linux时间函数gettimeofday解析
我们在程序中会频繁地取当前时间,例如处理一个http请求时,两次调用gettimeofday取差值计算出处理该请求消耗了多少秒。这样的调用无处不在,所以我们有必要详细了解下,gettimeofday这个函数做了些什么?内核1ms一次的时钟中断处理真的可以支持tv_usec字段达到微秒精度吗?它的调用成本在i386/x86_64体系架构上代价一样吗?如果在系统繁忙时,频繁的调用它有问题吗?get转载 2013-02-03 22:55:39 · 5039 阅读 · 0 评论 -
linux电源管理--休眠与唤醒
在Linux中,休眠主要分三个主要的步骤:(1)冻结用户态进程和内核态任务;(2)调用注册的设备的suspend的回调函数;(3)按照注册顺序休眠核心设备和使CPU进入休眠态。 冻结进程是内核把进程列表中所有的进程的状态都设置为停止,并且保存下所有进程的上下文。当这些进程被解冻的时候,他们是不知道自己被冻结过的,只是简单的继续执行。如何让Linux进入休眠呢?用户可以通过读写sys文转载 2013-02-21 15:29:37 · 2985 阅读 · 0 评论 -
linux workqueue 原理解析
一、workqueue简介workqueue与tasklet类似,都是允许内核代码请求某个函数在将来的时间被调用(抄《ldd3》上的)每个workqueue就是一个内核进程。workqueue与tasklet的区别: 1.tasklet是通过软中断实现的,在软中断上下文中运行,tasklet代码必须是原子的 workqueue是通过内核进程实现的,就没有上述转载 2013-04-01 18:05:12 · 1046 阅读 · 0 评论 -
基于GPL329xx linux平台电容屏gsl1680的驱动调试分析
因客户有用到了gsl1680 7寸电容屏,所以拿了一块过来,便在329xx的平台上面开始调试了。 大概浏览了一下所提供的资料,只有介绍模组的资料跟一份中文版的datasheet,datasheet只是说了个大概,没有提到读取触摸坐标的寄存器。不过还好有给一份在其他处理器平台的驱动,所以读取坐标的部分代码移植过来就可以了。 gsl1680接口跟其他的电容屏一样,也是i2原创 2013-04-08 16:56:40 · 6043 阅读 · 4 评论 -
linux zImage啟動流程分析
环境: 硬件平台:ARM9 S3C2440 TQ2440开发板。 软件环境:VM7.1虚拟机;Fedora10;arm-linux-gcc 4.3.3;Linux2.6.35;u-boot2010.06(天嵌原版本)一、 zImage、uImage和vmLinux相关概念当正确配置完内核后,采用make zImage 、make bzImage转载 2013-05-24 09:14:39 · 2758 阅读 · 0 评论 -
LVDS接口定义详解
LVDS接口 1.LVDS接口概述 液晶显示器驱动板输出的数字信号中,除了包括RGB数据信号外,还包括行同步、场同步、像素时钟等信号,其中像素时钟信号的最高频率可超过28MHz。采用TTL接口,数据传输速率不高,传输距离较短,且抗电磁干扰(EMI)能力也比较差,会对RGB数据造成一定的影响;另外,TTL多路数据信号采用排线的方式来传送,整个排线数量达几十路,不但连接不便,而且不适合超薄转载 2013-05-11 22:44:41 · 16664 阅读 · 0 评论 -
ubuntu 安装SSH服务器
在ubuntu console:apt-get install openssh-server如果会报找不到包,可以增加附录所示的源地址到/etc/apt/sources.list然后执行:apt-get update,完成后再次执行:apt-get install openssh-server安装完成后,使用指令:ps -e | grep ssh如果有看到sshd,那么就安原创 2013-06-26 23:15:06 · 778 阅读 · 0 评论 -
linux 調試工具Strace 編譯與使用
ff原创 2013-07-27 16:59:44 · 706 阅读 · 0 评论 -
microwinsows资源
一直在找网上查找microwindows数据手册之类的,终于有找到官网等一些资源,如下所示:官方网站: http://www.microwindow.orgSDK手册: http://embedded.centurysoftware.com/docs/nx/入门简介 (Getting Started): http://home.twcny.rr.com/embe转载 2013-08-07 22:44:47 · 769 阅读 · 0 评论 -
MINI2440启动配置文件/etc/init.d/rcS文件分析
MINI2440启动配置文件/etc/init.d/rcS文件分析 Mini2440启动配置文件说明 对于mini2440,虽然root_qtopia这个文件系统的GUI是基于Qtopia的,但其初始化启动过程却是由大部分由busybox完成,Qtopia(qpe)只是在启动的最后阶段被开启。 由于默认的内核命令行上有init=/linuxrc, 因此,在文件系统被挂载后,运行的第转载 2013-08-25 00:03:46 · 1343 阅读 · 0 评论 -
Linux下RTC时间的读写分析
Linux系统下包含两个时间:系统时间和RTC时间。系统时间:是由主芯片的定时器进行维护的时间,一般情况下都会选择芯片上最高精度的定时器作为系统时间的定时基准,以避免在系统运行较长时间后出现大的时间偏移。特点是掉电后不保存。RTC时间:是指系统中包含的RTC芯片内部所维护的时间。RTC芯片都有电池+系统电源的双重供电机制,在系统正常工作时由系统供电,在系统掉电后由电池进行供电。因此系统转载 2013-09-07 11:44:45 · 5409 阅读 · 0 评论 -
嵌入式linux交叉编译jrtplib库
1. 在官网上面下载jrtplib-3.7.1.tar.gz和jthread-1.2.1.tar.gz source code。官网:http://research.edm.uhasselt.be/~jori/page/index.php?n=CS.Jrtplibhttp://research.edm.uhasselt.be/jori/jrtplib/jrtplib-3.7.1.tar.g原创 2013-09-22 21:19:22 · 1304 阅读 · 0 评论 -
基于GPL329XXB IPC开发Issue 1 -- ARM 无线WIFI ping不通PC原因
最近在调试IPC,涉及到网络方面的编程,先在板子上面架设USB WIFI,然后连接Router,ARM板可以正常自动获取ip addr,如下所示:lo Link encap:Local Loopback inet addr:127.0.0.1 Mask:255.0.0.0 UP LOOPBACK RUNNING MTU:1643原创 2013-09-28 09:26:57 · 1882 阅读 · 0 评论 -
linux 内核定时器解析
1.linux内核定时器基本结构和函数1)struct timer_list 一个struct timer_list对应了一个定时器。#include 以下列出常用的接口:struct timer_list { /*....*/ unsigned long expires;//定时器服务函数开始执行时间 void (*function)(unsigne转载 2013-02-02 22:32:23 · 1179 阅读 · 0 评论 -
linux强大的游戏模拟器--GBA
Linux强大的游戏模拟器,模拟的效果以及CPU的占用都非常低,主要是用来玩GBA和FC的游戏,玩GBA游戏比Linux版VBA强的不是一点半点,Linux版VBA可以说就是一个半成品,不说功能方面,居然巨占CPU,而且占资源不说了,还不是60帧的完美平滑模拟,而且不开源,故弃之。FC 的话Ubuntu下有个叫FCEU的模拟器,同样是巨占资源,和VBA也是一样的毛病……似乎都不支持GPU加速,都是转载 2013-01-31 21:50:23 · 20721 阅读 · 0 评论 -
linux work queue & work struct解析
工作队列是, 表面上看, 类似于 taskets; 它们允许内核代码来请求在将来某个时间调用一个函数. 但是, 有几个显著的不同在这 2 个之间, 包括:tasklet 在软件中断上下文中运行的结果是所有的 tasklet 代码必须是原子的. 相反, 工作队列函数在一个特殊内核进程上下文运行; 结果, 它们有更多的灵活性. 特别地, 工作队列函数能够睡眠.tasklet 常转载 2013-01-25 18:13:35 · 6363 阅读 · 0 评论 -
HQ2416 BASE终于诞生!!
作者:hinsxu,时间:2012-02-19 今天在万分努力之下HQ2416 BASE PCB终于诞生了,线路图的绘制花了不少时日,只不过是一直没有时间赶PCB,今天在我们team的小杨同志的努力终于完工了,可喜可贺哈!下面先晒几张HQ2416 BASE的PCB样貌上来尝下鲜哈~原创 2012-02-19 23:13:32 · 755 阅读 · 0 评论 -
嵌入式Linux学习漫谈之Linux系统 [转自crosstar嵌入式学院]
事物总有个核心,复杂的事物总可以模块化、层次化, 嵌入式Linux也如此。学习嵌入式Linux困难,主要因为涉及知识和概念过多,即比较复杂,所以学习嵌入式Linux的就需要找到核心,需要模块化,需要进行层次划分。 嵌入式Linux系统做模块化处理就是可划分为Bootloader(引导程序),Kernel(内核),fs(文件系统),Shell(命令行界面),Gui(图形库)和 Embede转载 2012-03-01 22:29:36 · 719 阅读 · 0 评论 -
Linux内核解读入门
针对好多Linux 爱好者对内核很有兴趣却无从下口,本文旨在介绍一种解读linux内核源码的入门方法,而不是解说linux复杂的内核机制; (参考资料来源:飞凌 http://www.witech.com.cn/)一.核心源程序的文件组织: 1.Linux核心源程序通常都安装在/usr/src/linux下,而且它有一个非常简单的编号约定:任何偶数的核心(例如2.0.30)都是一个稳定地转载 2012-03-01 22:33:12 · 1043 阅读 · 0 评论 -
Linux 文件系统剖析
什么是文件系统?首先回答最常见的问题,“什么是文件系统”。文件系统是对一个存储设备上的数据和元数据进行组织的机制。由于定义如此宽泛,支持它的代码会很有意思。正如前面提到的,有许多种文件系统和媒体。由于存在这么多类型,可以预料到 Linux 文件系统接口实现为分层的体系结构,从而将用户接口层、文件系统实现和操作存储设备的驱动程序分隔开。挂装在 Linux 中将一个文件系统与一个存储转载 2012-06-26 10:00:00 · 1817 阅读 · 0 评论 -
Linux select()详解
select系统调用是用来让我们的程序监视多个文件句柄(file descriptor)的状态变化的。程序会停在select这里等待,直到被监视的文件句柄有某一个或多个发生了状态改变。文件在句柄在Linux里很多,如果你man某个函数,在函数返回值部分说到成功后有一个文件句柄被创建的都是的,如man socket可以看到“On success, a file descriptor for转载 2012-06-26 15:46:07 · 980 阅读 · 0 评论 -
最全面的linux信号量解析
2012-06-28 15:08 285人阅读 评论(0)收藏编辑删除信号量一.什么是信号量信号量的使用主要是用来保护共享资源,使得资源在一个时刻只有一个进程(线程)所拥有。信号量的值为正的时候,说明它空闲。所测试的线程可以锁定而使用它。若为0,说明它被占用,测试的线程要进入睡眠队列中,等待被唤醒。二.信号量的分类在学习信号量之前,我们必须先知道转载 2012-08-04 17:27:21 · 108776 阅读 · 13 评论 -
SD初始化过程以及Cmd解析
SD:1条CMD线,所有的命令和回应都是通过这条线一位一位的传输.不同模式或不同版本下,命令有不同含义.(SD(SD[0],SD[3:0]),SPI))1条时钟线,时钟源是来自APH总线时钟4条数据线,SPI模式下用了两条(一条输出,一条输入),SD的一位模式下一条(输出输入),也可以用完四条(输出输入,DATA[0]将分时复用). SD卡是以块为单位,初始化时有配置,一般为5转载 2012-08-22 19:03:27 · 6692 阅读 · 0 评论 -
ARM Scatter File详解
Scatter file (分散加载描述文件)用于armlink的输入参数,他指定映像文件内部各区域的download与运行时位置。Armlink将会根据scatter file生成一些区域相关的符号,他们是全局的供用户建立运行时环境时使用。(注意:当使用了scatter file 时将不会生成以下符号:Image$$RW$$Base,Image$$RW$$Limit,Imag转载 2012-09-12 17:55:42 · 12350 阅读 · 0 评论 -
ubuntu 下kscope安装步骤
简介:这是Ubuntu11.04下KScope的安装的详细页面,介绍了和linux,有关的知识、技巧、经验,和一些linux源码等。 1.安装kde环境支持: 在ubuntn11.04下,不能直接安装kscope1.6.2,先要安装kde环境支持,如下步骤: apt-get install kdelibs (解决kde-config not found)转载 2012-11-08 15:48:57 · 993 阅读 · 0 评论 -
linux seclet函数详解
Select在Socket编程中还是比较重要的,可是对于初学Socket的人来说都不太爱用Select写程序,他们只是习惯写诸如connect、accept、recv或recvfrom这样的阻塞程序(所谓阻塞方式block,顾名思义,就是进程或是线程执行到这些函数时必须等待某个事件的发生,如果事件没有发生,进程或线程就被阻塞,函数不能立即返回)。可是使用Select就可以完成非阻塞(所谓非阻塞方式转载 2012-11-10 10:26:51 · 1529 阅读 · 0 评论 -
__init __initdata __exit __exitdata解析
内核中,有很多函数和变量被一些特定的修饰符所修饰,这在以往的C语言编程是不常见的。说明如下: #define __init __attribute__ ((__section__ (".init.text")))#define __initdata __attribute__ ((__section__ (".init.data")))#define __exitdata __转载 2012-12-03 22:26:48 · 894 阅读 · 0 评论 -
windows下安装SVN
一个小项目,需要在自己的pc上创建svn服务,为了简单,没有用Apache,以前只是用过客户端,没有创建过服务端,结果花了一个上午,终于搞定了。svn最主要的功能是用于团队开发时用的,用于处理源码修改的版本控制和并发修改冲突。当然一个人开发的时候没有必要创建。注:我没有用VisualSVN。一、软件下载1、服务器端软件Subversion,我用的是1.6.6版本,Setup转载 2014-01-04 14:50:53 · 971 阅读 · 0 评论
分享