自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(48)
  • 资源 (6)
  • 问答 (1)
  • 收藏
  • 关注

原创 HTML Javascript CGI

HTML Javascript CGIHTML Javascript CGIshttpdHTMLJavascriptCGI最近工作需要实现一个web 服务器。用来显示设备参数以及修改参数等简单的功能。由于是嵌入式设备,所以选择了一些小型的web 服务器。shttpd:小型嵌入式web服务器,可以使用C和C++来实现网页。不过完全由C语言来实现网页代码结构非常乱,后期维护修改肯定是灾难。还是

2017-12-14 16:32:37 3461

原创 Qt 日志功能

Qt  之日志功能enum LOG_LEVLE{ LOG_DEBUG = 0, LOG_WARNING = 1, LOG_ERROR = 2, LOG_FATAL = 3};#define LOGLEVEL LOG_DEBUGvoid logViewOutPut(QtMsgType type, const QMessageLogContext &context, c

2016-11-21 15:11:58 1053

转载 使用gdb调试内核错误信息

配置gdb:Kernel hacking  --->    [*] Kernel debugging    [*] Compile the kernel with debug info内核开发时有时候出现Oops,例如一个野指针会导致内核崩溃,如运行时出现以下log:现在有三种方法可以找出具体出现野指针的地方[plai

2016-05-31 14:34:33 1714

转载 Qt pro文件的写法规则

在QT中,有一个工具qmake可以生成一个makefile文件,它是由.pro文件生成而来的,.pro文件的写法如下:1. 注释从“#”开始,到这一行结束。2.模板变量告诉qmake为这个应用程序生成哪种makefile。下面是可供使用的选择:TEMPLATE = appA> app -建立一个应用程序的makefile。这是默认值,所以如果模板没有被指定,这个将被

2015-09-11 17:38:26 1547

转载 基本修饰符

基本修饰符conststaticvolatileconst const是一个C语言的关键字,它限定一个变量不允许被改变。使用const在一定程度上可以提高程序的安全性和可靠性。。 —— [ 百科 ]实例int const *a,int *const a,const int *a : const 属于修饰符 ,关键是看const 修饰的位置在那里。1、int const *a,

2015-09-07 14:42:30 485

原创 UDA1341 SSI音频驱动

SSI音频驱动音频驱动的文章网上有很多,分析的也很具体,这里只记录本人在调试音频驱动的过程和理解。调试一个驱动,最主要的还是从本质上去理解它的工作原理,包括时钟,数据,中断,寄存器配置等。或许并不需要全部知道,但是追根到底会对以后的驱动有很大帮助。目录SSI音频驱动目录音频驱动1board文件2时钟3machine驱动1imx_3stack_init_dam2imx_3stack_au

2015-07-23 17:17:45 2717

原创 poppler交叉编译

项目需要生成和打开pdf文件,编译了pdflib库,可以使用,但是上面有水印。。。如果是商业用途去水印的话需要获得许可。没办法,换呗。然后就是poppler,这个库的功能很强大,里面更是加入了Qt的支持,刚好适合项目需求。

2015-07-02 15:08:56 3507 1

转载 修改开机logo图片之png转ppm

1、pngtopnm logo_skytone_clut224.png > logo_skytone_clut224-tmp.pnm2、pnmquant 224 logo_skytone_clut224-tmp.pnm > logo_skytone_clut224.pnm3、pnmtoplainpnm logo_skytone_clut224.pnm > logo_skytone_cl

2015-06-15 11:15:14 899

原创 linux下udhcpc的使用

udhcpc是集成在busybox里面的,所以在编译busybox的时候加入dhcp的选项就可以了。      如果没有udhcpc的执行文件,可以手动连接一个:ln -s /bin/busybox  /sbin/udhcpc直接使用udhcpc只能分配ip地址,但是没有写入到设备中,即这个ip地址并没有生效。因为udhcpc需要一个默认的配置文件default.script,查看

2015-05-26 11:21:55 25941

转载 LCD驱动中pixclock的计算

在LCD驱动程序中,需要我们根据LCD datasheet来设置相应的参数,这些参数包括:pixclock,left_margin,right_margin,upper_margin,lower_margin,hsync_len,vsync_len,VBP,VFB,VSPW,HBP,HFP,HSPW。下图是典型的TFT LCD时序图:    __u32 pixclock; /*像素时钟(皮

2015-04-16 16:22:23 792

原创 u-boot显示logo

经过个人实践一下两种方法都可以实现:首先lcd驱动必须能正常运行,想确定是不是正常,就看uboot启动时能不能显示默认的logo。#define CONFIG_LCD其次想在u-boot里面显示图片,图片格式必须是bmp的,最开始阶段u-boot是没有图片解码的。将一个图片制作成8位bmp的格式,例如logo.bmp。1、在板级头文件中加入配置选项//支持B

2015-03-12 18:37:33 3361

原创 linux文件系统总结

文件系统的制作和加载过程,网上有很多优秀的博文,我就不多说了。只是对其中一些地方存在一点疑惑1、文件系统的linuxrc文件When using initrd, the system typically boots as follows:  1) the boot loader loads the kernel and the initial RAM disk  2) the ke

2015-02-06 09:47:29 1141

原创 linux下操作cpu寄存器

大多数的内核里面都有会对GPIO的操作,而且内核里面对GPIO进行配置也很方便,要什么功能就配置成什么就可以了。还有一些寄存器是内核没有配置到的,但是我们要操作怎么办,内核里面也定义了相关的接口函数。在u-boot中操作某个寄存器: reg = readl(IOMUXC_BASE_ADDR + IOMUXC_REG_GPR1); reg &= ~IOMUXC_REG_GPR1_ACT

2015-02-05 10:42:15 3472

原创 spi-flash移植问题

平台:linux-2.6.35imx53_loco最近在弄mfgtool的时候发现一个很奇怪的问题。在自己编译的smd版本的内核中,spi-flash、nor-flash、nand-flash都需要支持。nor-flash和nand都能正常烧写,但是spi-flash却一直烧写不成功。示波器测量spi引脚一切正常,完全不知道哪里出错。后来追踪代码发现,mxc_m25p16.c的pr

2015-01-21 16:52:32 2120

原创 嵌入式设备中使用QWS_KEYBOARD

最近发现一个问题,当我在嵌入式设备中使用环境变量QWS_KEYBOARD的时候,运行Qt程序,程序会被挂起。串口终端那边无法再输入任何东西。上网查找原因,发现也有其他的人碰到过这个问题,他们大多数的解决办法就是使用QWS_USB_KEYBOARD,但是由于我使用的是i2c的键盘设备,而不是usb的,所以这种方法对我没什么用。最后看到一篇老外的帖子,他提到需要修改Qt的源代码。下面是修改部分:

2015-01-12 09:45:15 3009

原创 i2c键盘驱动移植

linux输入子系统(linux input subsystem)从上到下由三层实现,分别为:输入子系统事件处理层(EventHandler)、输入子系统核心层(InputCore)和输入子系统设备驱动层。对于输入子系统设备驱动层而言,主要实现对硬件设备的读写访问,中断设置,并把硬件产生的事件转换为核心层定义的规范提交给事件处理层。对于核心层而言,为设备驱动层提供了规范和接口。设备

2015-01-12 09:14:13 2160

原创 tlib编译

本来想用mfgtool烧录内核的,结果一直停在jumping to OS image 。然后论坛的人

2014-10-30 15:33:13 1185

转载 Qt 视图模型

在model/view架构中,view从model中获得数据项然后显示给用户。数据显示的方式不必与model提供的表示方式相同,可以与底层存储数据项的数据结构完全不同。内容与显式的分离是通过由QAbstractItemModel提供的标准模型接口,由QAsbstractItemview提供的标准视图接口共同实现的。普遍使用model index来表示数据项。view负责管理从model中读取的

2014-10-14 17:53:06 801

转载 QSS编程规则

借用css 的灵感, Qt也支持Qt自己的css, 简称qss。同css 相似,qss的主要功能与最终目的都是能使界面的表现与界面的元素分离,即质与形的分离,就如同一个人可以在不同的时候穿上不同的衣服一样,css机制的引入,使得设计一种皮肤与界面控件分离的软件成为可能,应用程序也能像web界面那样随意地改变外观。一、QSS语法同css一样,他也有由一个selector与一个decl

2014-09-28 10:10:52 664

原创 linux系统工作队列

最近一直再调试一个基于spi的打印机,

2014-09-23 15:01:05 720

原创 点阵纵向取模以及放大算法

这两天在调d'y

2014-09-16 14:02:44 7174 3

转载 Linux下spi驱动开发

一、概述         基于子系统去开发驱动程序已经是linux内核中普遍的做法了。前面写过基于I2C子系统的驱动开发。本文介绍另外一种常用总线SPI的开发方法。SPI子系统的开发和I2C有很多的相似性,大家可以对比学习。本主题分为两个部分叙述,第一部分介绍基于SPI子系统开发的理论框架;第二部分以华清远见教学平台FS_S5PC100上的M25P10芯片为例(内核版本2.6.29),编写

2014-09-03 17:06:29 873

转载 Linux workqueue工作原理

1. 什么是workqueue       Linux中的Workqueue机制就是为了简化内核线程的创建。通过调用workqueue的接口就能创建内核线程。并且可以根据当前系统CPU的个数创建线程的数量,使得线程处理的事务能够并行化。workqueue是内核中实现简单而有效的机制,他显然简化了内核daemon的创建,方便了用户的编程.      工作队列(workqueue)是另外一

2014-09-02 17:35:55 681

原创 linux spi设备驱动中probe函数何时被调用

这两天被设备文件快搞疯了,也怪自己学东西一知半解吧,弄了几天总算能把设备注册理清楚一点点了。就以spi子设备的注册为例总结一下,免得自己忘记。首先以注册一个spidev的设备为例:static struct spi_board_info imx5_spi_printer_device[] __initdata = { { .modalias = "spidev", .max

2014-09-02 17:01:40 5694 1

转载 linux下SVN命令

1、将文件checkout到本地目录 svn checkout path(path是服务器 上的目录)例如:svn checkout svn://192.168.1.1/pro/domain简写:svn co2、往版本库中添加新的文件 svn add file例如:svn add test.php(添加test.php)svn add *.php(添加当前目录下所有

2014-09-01 14:06:46 475

转载 解决linux ping: unknown host www.baidu.com

"ping: unknown host www.baidu.com" 解决方案:    如果某台Linux服务器ping不通域名, 如下提示: [root@localhost ~]# ping www.baidu.comping: unknown host www.baidu.com首先确定已经连接上路由器,并且路由器能够访问外网,可以通过访问网关进行确定[ro

2014-08-20 17:41:09 725

转载 QT__stylesheet

QT皮肤编程(QT style sheet)总结QT style sheet的基本原理就是利用QSS语言对软件的外观进行定制。QSS可以直接在代码中输入,也可以保存在一个文本文件中,利用文件读取函数在软件运行时读入到一个文本串中,再利用QApplication类的函数setStyleSheet(&QString)使其生效。实例代码:#include   #inc

2014-08-13 11:31:04 1050

转载 QSqlQuery问题总结

QSqlQuery::value: not positioned on a valid record

2014-08-11 15:38:03 7135

原创 整理Qt常用类的用法(一) QFont、QLabel

如何使用Qt4,设置QLabel中字体的颜色。 其实,这是一个比较常见的问题。大致有几种做法:一是使用setPalette()方法;二是使用样式表;三是可以使用QStyle;四是可以在其中使用一些简单的HTML样式。下面就具体说一下,也算是个总结吧。 第一种,使用setPalette()方法如下: ...QLabel *label = new

2014-08-06 18:01:55 8157

转载 多线程经典面试题

1、基本概念        详见:线程和进程关系和区别、同步和互斥、进程间通信2、以下多线程对int型变量x的操作,哪几个不需要进行同步(D)        A. x=y;      B. x++;    C. ++x;    D. x=1;        详见:多线程二 多线程中的隐蔽问题揭秘3、多线程中栈与堆是公有的还是私有的 (C)       

2014-07-26 16:23:18 795

转载 SYSZUXpinyin中文输入法的移植(到QT)

一.首先是库libsyszuxpinyin.so的移植1. 将 SYSZUXpinyin.tar.bz2 拷到/tmp/进行解压 然后 cd SYSZUXpinyin2.修改syszuxpnyin.pro文件QMAKE_LIBS += -lsyszuxpinyin在.pro中添加RESOURCES += syszuxpinyin.qrc(可能已经修改完毕)3. qm

2014-07-25 14:56:56 2021

转载 QTranslate国际化及多语言切换

注意:本文不介绍如何使用Qt的国际化、本地化支持。本文针对的是偏底层的、Manual和其他资料中很少涉及的东西。所以,继续之前,请先确保:你已经对如何使用Qt的国际化比较熟悉了。本文针对的是  tr("我是中文") 这种情况, 是Qt中translate、tr 与中文问题 一文提到的 2b 问题的深入。例子首先,个人比较抵制源码中使用中文(当然也包括用tr扩住中文了

2014-07-24 18:09:45 754

原创 Qt事件循环 跨线程信号和槽

先看段代码

2014-07-04 16:38:19 3537 3

转载 【深入QT】信号槽机制浅析

一、信号槽的基本概念关于QT信号槽的基本概念大家都懂,通过信号槽机制,QT使对象间的通信变得非常简单:A对象声明信号(signal),B对象实现与之参数相匹配的槽(slot),通过调用connect进行连接,合适的时机A对象使用emit把信号带上参数发射出去,B对象的槽会就接收到响应。 信号槽机制有一些特点:1.   类型安全:只有参数匹配的信号与槽才可以连

2014-07-04 15:09:14 877

转载 Imx GPIO口功能定义

在linux或android系统中,假如我们要配置飞思卡尔IMX6处理器的GPIO管脚,比如是GPIO_19这个管脚,那么要像这样:#define MX6Q_PAD_GPIO_19__GPIO_4_5                              \                                (_MX6Q_PAD_GPIO_19__GPIO_4_5|

2014-07-03 14:06:41 3075

原创 嵌入式USB鼠标支持

在linux中加入鼠标支持,首先在内核里面将mice驱动加入编译,这里用到的是usb所以还要有usb的支持,下载到板子上启动要用鼠标,首先要知道生成的鼠标设备是哪个,直接cat 就可以了,通过cat可以知道鼠标到底可不可用,当时我发现cat /dev/micecat /dev/mouse0cat /dev/event2cat /dev/input/event2都有反应,那到

2014-07-01 18:02:54 1135

转载 Qt键盘事件

Qt键盘事件属于Qt事件系统,所以事件系统中所有规则对按键事件都有效。下面关注点在按键特有的部分:focus一个拥有焦点(focus)的QWidget才可以接受键盘事件。有输入焦点的窗口是活动窗口或活动窗口子窗口或子子窗口等。焦点移动的方式有以下几种:按下Tab或Shift+Tab注意:文本编译器(一般需要插入Tab),或者WebView(需要Tab来移

2014-07-01 14:56:08 1145

原创 FTP Client的实现

最近在搞FTP文件chu'a

2014-06-30 17:15:20 1045

转载 [Qt]在不开启事件循环的线程中使用QTimer

引入QTimer是Qt自带的定时器类,QTimer运行时是依赖于事件循环的,简单来说,在一个不开启事件循环(未调用exec() )的线程中,QTimer是无法使用的。通过分析Qt源码可发现,调用QTimer::start()后仅仅是在系统的定时器向量表中添加了一个定时器对象,但定时器并没有真正开启。定时器的开启需要通过processEvent()开始的一系列调用后才会真正得开启,这个过程中

2014-06-26 16:54:28 2433

原创 嵌入式下Qt的中文显示

不管是以前接触的winCE系统还是现在的Linux,用Qt都会碰到显示中文的问题

2014-06-13 10:46:43 1318

ncurses界面实例

使用ncurses库编写的类menuconfig的图形界面,有菜单和表单,可以用来简单的显示和修改参数

2017-12-22

拼音输入法,虚拟键盘

支持真实键盘,由于键盘驱动是自己所写,所以功能键存在一些差异。 支持虚拟键盘,虚拟键盘没有测试 支持拼音输入法,输入法的话我的解析会有一点问题,就是在识别xian这类拼音的时候存在缺陷,只是作为一个参考,如果你有更好的方法来解析,欢迎转告,谢谢

2015-01-21

TCA8424 linux键盘驱动源码

基于TI的TCA8424的键盘驱动。

2015-01-12

真正的心电图显示程序

上次上传的只是一个模拟,这个是真的心电图程序,绘图效率和效果都还不错,有觉得需要修改的地方可以留言讨论下

2014-07-26

SYSZUX拼音修改版

优化了界面,使界面更加简洁,模仿手机输入法界面,修正了一些bug,可以根据需要自行定制想要的效果,有不懂的地方可以留言

2014-07-26

Qt模拟心电图

模拟心电图,可以用实际数据替换随机数据,也可以建立多个窗口模拟多导输出

2014-06-10

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除