自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(28)
  • 资源 (6)
  • 收藏
  • 关注

原创 短暂的嵌入式生涯

从大一开始, 因自己的小爱好,就开始了嵌入式的学习.从一开始啥都不懂, 啥都觉得神奇,到后来半吊子水平, 对任何东西都抱着就那么回事的态度. 自学c语言, 看的是, 里面不像中国地课程,第一章讲什么,第二章讲什么,虽然第一个也是那个世界通用的hello world, 但是内容的描述的启发性和很多教程还是有所不同的, 也许这种感觉是因为那时候的新奇的态度吧. 之后开始学习了51单片机, 开始接触所谓

2017-03-24 14:18:24 517

原创 Qt WebChannel Impliment based chromium

chromium 中实现页面js与native C++交互的一个设计方案

2017-03-24 14:02:19 1486

原创 编译器条件编译宏

There's no inter-compiler standard, but each compiler tends to be quite consistent. You can build a header for yourself that's something like this:#if MSVC#ifdef _M_X86#define ARCH_X86#endif#end

2015-03-09 13:11:11 557

转载 Qt 线程编程参考

Qt 线程概述参考: Qt线程QThread简析QThread 实例代表一个线程,我们可以重新实现 QThread::run() ,要新建一个线程,我们应该先继承QThread并重新实现 run() 函数。定义一个Thread:class MyThread : public QThread{ Q_OBJECTprotected: voi

2015-03-06 13:44:55 797

转载 Linux中断(interrupt)子系统之五:软件中断(softIRQ)

软件中断(softIRQ)是内核提供的一种延迟执行机制,它完全由软件触发,虽然说是延迟机制,实际上,在大多数情况下,它与普通进程相比,能得到更快的响应时间。软中断也是其他一些内核机制的基础,比如tasklet,高分辨率timer等。/*******************************************************************************

2015-03-03 15:26:11 487

转载 Linux中断(interrupt)子系统之四:驱动程序接口层 & 中断通用逻辑层

在本系列文章的第一篇:Linux中断(interrupt)子系统之一:中断系统基本原理,我把通用中断子系统分为了4个层次,其中的驱动程序接口层和中断通用逻辑层的界限实际上不是很明确,因为中断通用逻辑层的很多接口,既可以被驱动程序使用,也可以被硬件封装层使用,所以我把这两部分的内容放在一起进行讨论。本章我将会讨论这两层对外提供的标准接口和内部实现机制,几乎所有的接口都是围绕着irq_desc

2015-03-03 15:21:44 583

转载 Linux中断(interrupt)子系统之三:中断流控处理层

1.  中断流控层简介早期的内核版本中,几乎所有的中断都是由__do_IRQ函数进行处理,但是,因为各种中断请求的电气特性会有所不同,又或者中断控制器的特性也不同,这会导致以下这些处理也会有所不同:何时对中断控制器发出ack回应;mask_irq和unmask_irq的处理;中断控制器是否需要eoi回应?何时打开cpu的本地irq中断?以便允许irq的嵌套;

2015-03-03 15:20:20 558

转载 Linux中断(interrupt)子系统之二:arch相关的硬件封装层

Linux的通用中断子系统的一个设计原则就是把底层的硬件实现尽可能地隐藏起来,使得驱动程序的开发人员不用关注底层的实现,要实现这个目标,内核的开发者们必须把硬件相关的内容剥离出来,然后定义一些列标准的接口供上层访问,上层的开发人员只要知道这些接口即可完成对中断的进一步处理和控制。对底层的封装主要包括两部分:实现不同体系结构中断入口,这部分代码通常用asm实现;中断控制器进行封装和实

2015-03-03 15:17:12 506

转载 Linux中断(interrupt)子系统之一:中断系统基本原理

这个中断系列文章主要针对移动设备中的Linux进行讨论,文中的例子基本都是基于ARM这一体系架构,其他架构的原理其实也差不多,区别只是其中的硬件抽象层。内核版本基于3.3。虽然内核的版本不断地提升,不过自从上一次变更到当前的通用中断子系统后,大的框架性的东西并没有太大的改变。/***********************************************************

2015-03-03 15:15:08 498

转载 优质搬砖【Linux&音频】Alsa音频编程

见过当中的最好的了,当然有可能我见得不够多,欢迎向我炫耀向我推荐更给力的前序:这里了解一下各个参数的含义以及一些基本概念。     样本长度(sample):样本是记录音频数据最基本的单位,常见的有8位和16位。    通道数(channel):该参数为1表示单声道,2则是立体声。    桢(frame):桢记录了一个声音单元,其长度为样本长度与通道数的乘积

2015-02-04 16:10:31 538

原创 _raw_readl() 与 ioread32()

在使用这两个函数的时候,想了想他们之间的不同,从函数的功能来看,他们都是在驱动代码中读虚拟地址。但是通过他们的实现的源码,可以看到,他们之间是有不同的;在ARM架构下他们的实现:#define __raw_readl(a)        (__chk_io_ptr(a), *(volatile unsigned int __force   *)(a)) #define ioread32

2015-01-29 10:49:49 3716

原创 嵌入式中浮点数据的发送和接收

在开发嵌入式项目或者单片机项目时,常常会用到串口,什么串口示波器啦,串口通信什么的,常常有这样的需求,想以最好最快的方式发送浮点型数据,下面这里就有一种经济实惠,脑洞打开叼炸天的方法,不过话又说回来,这样的方法在内核或者说嵌入式当中也是合情合理相当常见的方法。我们先来想一想这个问题,假设在芯片比如说单片机之类的MCU里,float是定义的32bit的长度,那么我们串口发送的是8bit的,所

2015-01-21 10:05:42 1386 1

转载 Qt之开机自启动

Qt之开机自启动    Windows开机自启动的程序很多,包括系统软件、杀毒软件、一些其他安装软件等等。当然可以禁止,通过软件管理或者手动删除对应的注册表中的项即可!但是为了系统的服务或者操作上的方便,我们往往需要开机自启动一些服务。    以下是开机的启动项:    Qt也不例外,在发布Qt程序的时候,我们通常也需要开机自启动自己的程序,那么如何实现呢?

2015-01-06 13:10:28 2411

原创 Ubuntu mysql 错误解决

学习sql编程的时侯第一步就栽了个跟头,在我的host主机上安装mysql的时候,有两个版本,一个是mysql-5.6 一个mysql-5.5版本的,一向使用最新技术的我首选的安装了5.6版本的,结果这便成了浪费我几小时的祸根。           首先我使用 sudo apt-get install mysql-server-5.6 mysql-client-5.6 安装的5.6版本的,

2015-01-05 09:43:00 733

转载 正则表达式学习30分钟入门教程

最近在看标准的Qt/QML相关的内容,上面有简短的ECMAScript内容中提到了 regExp的内容,但是实在是看不懂+看不明白,习惯了C系类风格的编程,再来看脚本类型的语言,一方面觉得轻松简单强大,一方面实在受不了那种只管结果不管实现的思维过程。。。。       书上面说的不清不楚,所以为了入门,只好问路google。本文目标30分钟内让你明白正则表达式是什么,并

2015-01-04 21:03:24 735

转载 KMP算法-理解字符串匹配KMP算法

字符串匹配是计算机的基本任务之一。举例来说,有一个字符串"BBC ABCDAB ABCDABCDABDE",我想知道,里面是否包含另一个字符串"ABCDABD"?许多算法可以完成这个任务,Knuth-Morris-Pratt算法(简称KMP)是最常用的之一。它以三个发明者命名,起头的那个K就是著名科学家Donald Knuth。这种算法不太容易理解,网上

2014-12-26 13:50:37 454

原创 线性表 && 栈和队列

首先要搞清楚线性结构这么一个概念,所谓的线性结构是指 在数据元素非空的有限集合中,存在唯一的一个被称为“第一个”的数据元素,同样唯一一个“最后一个”数据元素 除此之外,每一个元素都只有唯一一个前驱和唯一一个后继元素;     简单点说:线性结构是一种打了很多个结的没有分支的绳子;”结“就是数据结构的一个节点;线性结构{线性表: {  顺序表  : 链式表  : }栈 【

2014-12-25 11:14:20 504

原创 DM8168 关于nand flash的折腾之路

主机平台:ubuntu 12.04

2014-11-24 14:26:44 958

原创 DM8168 nand flash烧写与启动步骤

DM8168 nand flash启动步骤:注意:u-boot,kernel,ubifs的Size须与Nand Flash每页Size(2048字节,0x800)严格对齐:         例如u-boot.noxip.bin: 210320字节,210320/2048 == 103, 103x2048 = 210944 (0x33800)          kerne

2014-11-24 14:12:22 1716

转载 用 gdb 调试 GCC 程序

用 gdb 调试 GCC 程序原著:Rick McMullin    Linux 包含了一个叫 gdb 的 GNU 调试程序. gdb 是一个用来调试 C 和 C++ 程序的强力调试器. 它使你能在程序运行时观察程序的内部结构和内存的使用情况. 以下是 gdb 所提供的一些功能:它使你能监视你程序中变量的值.它使你能设置断点以使程序在指定的代码行上停止执行.

2014-11-18 21:28:40 682

转载 中文用户Xterm中文显示

默认安装好 Xorg 的 xterm 后,如果使用默认的配置很多中文的显示都是小方框,也就是无法显示。有 4 个方法可以暂时解决这个问题,不过都不是特别完美,只不过通过修改配置,或者改变了字号。估计是默认的点阵字体不全的原因,只有默认字号有比较全的字体。方法一、1、编辑 ~/.Xresources 文件,加入xterm*faceName:AR PL Uming CN

2014-11-18 21:24:42 3642

转载 ubuntu开机自动挂载的ntfs硬盘

ubuntu开机自动挂载的ntfs硬盘ubuntu开机自动挂载的ntfs硬盘的权限问题(转载)  在linux操作系统中, 挂载是一个非常重要的功能,使用非常频繁。 它指将一个设备(通常是存储设备)挂接到一个已存在的目录上。 (这个目录可以不为空,但挂载后这个目录下以前的内容将不可用。) 需要理解的是, linux操作系统将所有的设备都看作文件, 它将整个计算机

2014-11-18 21:17:45 1030

原创 ubuntu中的root账户

ubuntu中的root账户ubuntu为了

2014-11-18 21:02:19 649

原创 IMX6Q Uboot 从零开始编译

Imx6Q Uboot 从零开始编译​作为一个比较新的平台,freescale的这个四核的平台IMX6Q在很多方面的开发都很难下手,国内资源稀少,转载转发较多,且大多数的开发都是基于freescale官方的板子或者官方合作伙伴的板子。他们都统一使用官方的Ltib构建工具,对于国内一些厂商在官方板子上扩展后的板子,资料少之又少,买了板子之后的服务也是形同虚设,寻求技术支持时花钱购买的增值

2014-11-18 20:45:52 5949

原创 Build Qt5.3.1 for Freescale I.MX6Q based Linux 3.0.15

在移植QT5到 IMX6Q linux平台时,一次又一次的升级,带来了一些明显的性能ti

2014-11-18 20:28:34 1575

转载 修改自: 内核函数_Printk的输出的格式控制

Printk的输出格式printk函数可以指定输出的优先级KERN_EMERG""/*紧急事件消息,系统崩溃之前提示,表示系统不可用*/KERN_ALERT""/*报告消息,表示必须立即采取措施*/KERN_CRIT""/*临界条件,通常涉及严重的硬件或软件操作失败*/KERN_ERR""/*错误条件,驱动程序常用KERN_ERR来报告硬件的错误*/KERN_WARNING

2014-11-14 16:42:15 793

原创 为什么要使用指向指针的指针

在看大型C工程的时候,经常能看到char ** 甚至 void **这样指向指针的指针,有很多人都不明白,为什么要非得用指向指针的指针其实总结起来,如果你在函数外定义的指针有内容,或者这个内容只是供调用他的函数使用 ,那么你完全没有必要使用void **这样的方式来访问你的数据,只需要void * 这样的指针就行了,但是当我们需要在函数内部修改外部指针时,那么这时候就显的尤为必要了,总

2014-11-12 11:30:12 1586

转载 CrossOver 中文版网站正式上线www.codeweavers.com

CrossOver 中文版网站正式上线www.codeweavers.com20八 2013# 作者: riku / 本文采用CC BY-NC-SA 2.5协议授权,转载请注明本文链接。Wine 项目是在 Linux 和 Mac 上兼容 Windows 软件的开源平台,CrossOver 是 Wine 项目的母公司 CodeWeavers 开发的商业版的 Wine。为了

2013-08-27 23:10:18 3140

codeblocks教程

codeblock 的教程 中文的 很好用其中有与wx的配置编译教程。

2011-12-15

vs2010 对话框向导

vs2010 对话框向导方便大家使用,更容易的创建对话框程序,效果还不错

2011-11-23

c语言也能干大事

c语言也能干大事,随书文档,写的很不错 拿上来与大家分享一下

2011-11-20

codeblocks 10.05简体中文

codeblocks 10.05简体中文

2011-11-09

protues 初级教程

protues 教程。。使用最简单的语句教大家如何使用protues

2011-05-09

空空如也

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

TA关注的人

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