嵌入式技术
文章平均质量分 70
zhihuihuan
这个作者很懒,什么都没留下…
展开
-
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 · 1764 阅读 · 0 评论 -
Linux中断(interrupt)子系统之四:驱动程序接口层 & 中断通用逻辑层
在本系列文章的第一篇:Linux中断(interrupt)子系统之一:中断系统基本原理,我把通用中断子系统分为了4个层次,其中的驱动程序接口层和中断通用逻辑层的界限实际上不是很明确,因为中断通用逻辑层的很多接口,既可以被驱动程序使用,也可以被硬件封装层使用,所以我把这两部分的内容放在一起进行讨论。本章我将会讨论这两层对外提供的标准接口和内部实现机制,几乎所有的接口都是围绕着irq_desc转载 2015-03-03 15:21:44 · 597 阅读 · 0 评论 -
Linux中断(interrupt)子系统之三:中断流控处理层
1. 中断流控层简介早期的内核版本中,几乎所有的中断都是由__do_IRQ函数进行处理,但是,因为各种中断请求的电气特性会有所不同,又或者中断控制器的特性也不同,这会导致以下这些处理也会有所不同:何时对中断控制器发出ack回应;mask_irq和unmask_irq的处理;中断控制器是否需要eoi回应?何时打开cpu的本地irq中断?以便允许irq的嵌套;转载 2015-03-03 15:20:20 · 566 阅读 · 0 评论 -
Linux中断(interrupt)子系统之五:软件中断(softIRQ)
软件中断(softIRQ)是内核提供的一种延迟执行机制,它完全由软件触发,虽然说是延迟机制,实际上,在大多数情况下,它与普通进程相比,能得到更快的响应时间。软中断也是其他一些内核机制的基础,比如tasklet,高分辨率timer等。/*******************************************************************************转载 2015-03-03 15:26:11 · 499 阅读 · 0 评论 -
Linux中断(interrupt)子系统之二:arch相关的硬件封装层
Linux的通用中断子系统的一个设计原则就是把底层的硬件实现尽可能地隐藏起来,使得驱动程序的开发人员不用关注底层的实现,要实现这个目标,内核的开发者们必须把硬件相关的内容剥离出来,然后定义一些列标准的接口供上层访问,上层的开发人员只要知道这些接口即可完成对中断的进一步处理和控制。对底层的封装主要包括两部分:实现不同体系结构中断入口,这部分代码通常用asm实现;中断控制器进行封装和实转载 2015-03-03 15:17:12 · 518 阅读 · 0 评论 -
Linux中断(interrupt)子系统之一:中断系统基本原理
这个中断系列文章主要针对移动设备中的Linux进行讨论,文中的例子基本都是基于ARM这一体系架构,其他架构的原理其实也差不多,区别只是其中的硬件抽象层。内核版本基于3.3。虽然内核的版本不断地提升,不过自从上一次变更到当前的通用中断子系统后,大的框架性的东西并没有太大的改变。/***********************************************************转载 2015-03-03 15:15:08 · 507 阅读 · 0 评论 -
Build Qt5.3.1 for Freescale I.MX6Q based Linux 3.0.15
在移植QT5到 IMX6Q linux平台时,一次又一次的升级,带来了一些明显的性能ti原创 2014-11-18 20:28:34 · 1596 阅读 · 0 评论 -
嵌入式中浮点数据的发送和接收
在开发嵌入式项目或者单片机项目时,常常会用到串口,什么串口示波器啦,串口通信什么的,常常有这样的需求,想以最好最快的方式发送浮点型数据,下面这里就有一种经济实惠,脑洞打开叼炸天的方法,不过话又说回来,这样的方法在内核或者说嵌入式当中也是合情合理相当常见的方法。我们先来想一想这个问题,假设在芯片比如说单片机之类的MCU里,float是定义的32bit的长度,那么我们串口发送的是8bit的,所原创 2015-01-21 10:05:42 · 1428 阅读 · 1 评论 -
优质搬砖【Linux&音频】Alsa音频编程
见过当中的最好的了,当然有可能我见得不够多,欢迎向我炫耀向我推荐更给力的前序:这里了解一下各个参数的含义以及一些基本概念。 样本长度(sample):样本是记录音频数据最基本的单位,常见的有8位和16位。 通道数(channel):该参数为1表示单声道,2则是立体声。 桢(frame):桢记录了一个声音单元,其长度为样本长度与通道数的乘积转载 2015-02-04 16:10:31 · 549 阅读 · 0 评论 -
DM8168 关于nand flash的折腾之路
主机平台:ubuntu 12.04原创 2014-11-24 14:26:44 · 980 阅读 · 0 评论 -
修改自: 内核函数_Printk的输出的格式控制
Printk的输出格式printk函数可以指定输出的优先级KERN_EMERG""/*紧急事件消息,系统崩溃之前提示,表示系统不可用*/KERN_ALERT""/*报告消息,表示必须立即采取措施*/KERN_CRIT""/*临界条件,通常涉及严重的硬件或软件操作失败*/KERN_ERR""/*错误条件,驱动程序常用KERN_ERR来报告硬件的错误*/KERN_WARNING转载 2014-11-14 16:42:15 · 808 阅读 · 0 评论 -
IMX6Q Uboot 从零开始编译
Imx6Q Uboot 从零开始编译作为一个比较新的平台,freescale的这个四核的平台IMX6Q在很多方面的开发都很难下手,国内资源稀少,转载转发较多,且大多数的开发都是基于freescale官方的板子或者官方合作伙伴的板子。他们都统一使用官方的Ltib构建工具,对于国内一些厂商在官方板子上扩展后的板子,资料少之又少,买了板子之后的服务也是形同虚设,寻求技术支持时花钱购买的增值原创 2014-11-18 20:45:52 · 5989 阅读 · 0 评论