基于PXA255的自动聚焦及图像采集模块设计
目前市场上流行的摄像手机一般都不具备自动聚焦功能,这对于传感器分辨率在30万像素以下的摄像手机来说影响不大,但随着百万像素手机的面世,以及手机录像功能的采用,人们对摄像头的自动聚焦功能越来越关注。本文在Xhyper255开发板的基础上,结合项目开发的需要,在开发板上移植QT/embedded作为嵌入式GUI,并设计了自...
数字化应用中的多核DSP
DSP是对数字信号进行高速实时处理的专用处理器。 在当今的数字化的背景下,DSP以其高性能和软件可编程等特点,已经成为电子工业领域增长最迅速的产品之一,人们对其性能、功耗和成本也提出了越来越高的要求,迫使DSP厂商开始在单一矽片上集成更多的处理器内核。本文分析了多核DSP必须面临的挑战,介绍了一些常见...
集成工具可提高嵌入式DSP系统的设计与验证自动化程度
嵌入式DSP系统传统设计流程通常由概念到算法及算法到产品两个阶段构成,通常这两个阶段互相独立且由不同设计小组完成。 传统的设计流程里要用手工在两个阶段之间进行转换与衔接,这样容易出现错误而推迟产品的上市时间。本文介绍一种集成工具可以使设计与验证测试更加自动化,且具有更高效率,可减少产品缺陷。...
嵌入式软件测试基础知识
测试是传统软件开发的最后一步。整个软件开发过程,需要收集要求、进行高层次的设计、详细设计、创建代码、进行部分单元测试,然后集成,最后才开始最终测试。 最佳的开发实践应包含代码检查这个步骤。然而代码检查一般只能找出70%的系统错误,因此完美的测试环节绝对必不可少。测试就像个复式记帐系统,可以确保...
嵌入式人感系统的设计与实现
随着经济的飞速发展,各种各样的监控设备已经随处可见,在不同的领域中发挥着重要的作用。但是诸如保密室、金库、仓库等关系到重大财产安全的场所,简单的视频监控功能是无法满足其在安防层面上的要求的。实际应用中普遍使用的方式是:出现异常情况后,通过报警器报警,并将现场状况通过监控设备记录下来,供警方在事后...
Windows 8可能让企业受益的10个方面
即使在经济最好的时期,企业也不喜欢升级其电脑操作系统。因为这个过程昂贵而费时,并且通常需要重新培训员工。而现在的Windows 8的最新文章">Windows 8移除了熟悉的“开始”按钮,并加入了非直观的磁砖(tile)界面,这使很少企业愿意升级到Windows 8操作系统。 不过,如果你的企业准备采购新电脑或者升级操作系...
基于3G时代的DSP技术应用
一 第三代移动通信技术对芯片的要求 近年来移动通信发展迅猛,自70年代末期模拟蜂窝系统问世以来,不到二十年时间,已经发展到以数字化技术为特征的第二代移动通信,进入90年代以后,世界各国已着手探寻第三代移动通信(即未来个人通信)的实现路径。 第三代移动通信标准有两个主要目标:一是实现多媒体、...
在基带处理中使用串行RapidIO协议进行DSP互连
目前,在通信系统中,比如在 VoIP 网关和无线基站的系统中,语音和数据都在急剧增加,系统的处理能力也要极大地增加,因此单个DSP 已经不能满足越来越多的需求,需要把多个DSP 互联成DSP 簇来增加对更多数据的更快处理能力。DSP 的互连有很多种,不同的应用场合可以使用不同的DSP 互联。比如基于总线的多DSP 结构复杂,...
STM32--低功耗模式
STM32F10xxx有三中低功耗模式: ●睡眠模式(Cortex?-M3内核停止,外设仍在运行) ●停止模式(所有的时钟都以停止) ●待机模式(1.8V电源关闭) 时钟频率72MHz时,从闪存执行代码,STM32功耗36mA,是32位市场上功耗最低的产品,相当于0.5mA/MHz。 上电,默认使用内部HSI时钟8M,经测试...
MDK(KEIL)中设定变量或数组到指定的位置
定位变量到指定的位置 使用定义在头文件 absacc.h中的 __at宏,可以将变量以如下方式定位到绝对地址处: C 例子: #include const char MyText[] __at (0x1F00) = "TEXT AT ADDRESS 0x1F00"; int x __at (0x40003000); // variable at address 0x40003000 unsigned char xArr...
对C语言输入输出流的深入理解
简单的缓冲区即可。 流(stream)是一个很抽象的概念,《C程序设计语言》中这样定义:流与磁盘或其它外围设备关联的数据的源或目的地。 在Unix/Linux中,文本流和二进制流是相同的,但在Windows中,稍有差异,所以C标准库提供了这两种类型的流。 文本流是由文本行组成的序列,每一行包含0个或多个字符,...
C语言结构体指针变量作函数参数
在ANSI C标准中允许用结构变量作函数参数进行整体传送。但是这种传送要将全部成员逐个传送,特别是成员为数组时将会使传送的时间和空间开销很大,严重地降低了程序的效率。因此最好的办法就是网络赌博使用指针,即用指针变量作函数参数进行传送。这时由实参传向形参的只是地址,从而减少了时间和空间的开销。 【...
C语言函数的定义
本节讲解有参函数和无参函数的定义。 无参函数的定义无参函数定义的一般形式如下: 类型标识符 函数名(){ 声明部分 语句 }其中类型标识符和函数名称为函数头。类型标识符指明了本函数的类型,函数的类型实际上是函数返...
C语言函数概述
在前面已经介绍过,C源程序是由函数组成的。虽然在前面各章的程序中大都只有一个主函数main(),但实用程序往往由多个函数组成。函数是C源程序的基本模块,通过对函数模块的调用实现特定的功能。C语言中的函数相当于其它高级语言的子程序。C语言不仅提供了极为丰富的库函数(如Turbo C,MS C都提供了三百多个库函数),还允...
C语言数据的输入输出
1) 所谓输入输出是以计算机为主体而言的。 2) 本章介绍的是向标准输出设备显示器输出数据的语句。 3) 在C语言中,所有的数据输入/输出都是由库函数完成的。因此都是函数语句。 4) 在使用C语言库函数时,要用预编译命令 #include 将有关“头文件”包括到源文件中。 使用888真人...
C语言赋值语句详解
赋值语句是由赋值表达式再加上分号构成的表达式语句。其一般形式为: 变量=表达式;赋值语句的功能和特点都与赋值表达式相同。 它是程序中使用最多的语句之一。在赋值语句的使用中需要注意以下几点。1) 由于在赋值符“=”右边的表达式也可以又是一个赋值表达式。因此,下述形式 变量=(变...
C语言字符型数据(字符)
字符型数据就是字符。 字符型数据的表示 字符型数据是用单引号括起来的一个字符。例如: 'a'、'b'、'='、'+'、'?' 都是合法字符型数据。 在C语言中,字符型数据有以下特点: 字符型数据只能用单引号括起来,不能用双引号或其它括号。 字符型数据只能是单个字符,不能是字符...