博文

对嵌入式开发工程师的建议(2008-10-28 10:13:00)

 开发人员必须清楚地知道设计面临的挑战,以及他们的工具的能力和局限性。嵌入式SoC 领域任何有意义的设计都需要目标定位于嵌入式领域的、集成的软件开发工具。

建模技术在嵌入式系统需求捕获、系统分析、设计、实现和验证领域的更加广泛应用,是在嵌入式系统开发工具领域,技术发展的最新趋势。我们认为,主要的原因在于:

 

1. 嵌入式系统需要实现的功能越来越复杂,提高问题理解的抽象层次,并保持各个层次之间严格的追踪关系,是解决复杂问题分析设计的根本方法。

 

2. 现在的开发团队和产品设计方式,需要应对一个快速变化的环境。这种变化既来源于用户需求的变化,又来自于底层软硬件实现技术快速的变化。分析和设计方式要具有对变化目标的高适应性,各个模型抽象层次功能的封装和复用是根本。

 

3. 从系统的角度,帮助嵌入式系统开发的用户实现软硬件协同分析和设计,实现模型级别的早期验证。


阅读全文(605) | 评论:1 | 复制链接

嵌入式Linux开发工具发真迅猛(2008-10-21 17:50:00)

嵌入式Linux具有稳定、可伸缩及开放源代码等特点,可兼容多种处理器和主机,广泛适用于各种产品和应用。但是,交叉编译、设备驱动程序开发/调试,以及更小尺寸等要求对嵌入式Linux开发者来说都是严峻的挑战。为应对这些挑战,针对嵌入式Linux开发的专用工具应运而生,而且发展十分迅猛。

本文关键词:嵌入式开发 嵌入式系统 嵌入式Linux开发工具

Linux是少数既可以在嵌入式设备上运行也可作为开发环境的操作系统之一。这一特性可让开发者在转向此开发系统之前于常用硬件(比如X86桌面系统)之上开发、调试和测试应用程序和库,因此可减少对标准参考平台和指令集仿真器的依赖。这一技术仅适用于应用程序和库,但不适用于设备驱动程序,因为后者的开发依赖于Linux架构。

Linux的快速发展及其桌面方案的不断涌现提出了一个重要问题:所选择的工具方案怎样在不同的Linux分布式系统上运行?它们依赖于主机平台的软件配置吗?

有些Linux工具提供独立于主机平台的开发环境,包括一系列可支持开发工具的应用软件、库和实用程序。这一方法几乎将开发环境与主机配置完全隔离开来,因此主机可以是任何Linux分布式系统,而且任何更新和修改都不会影响开发环境的功能。

这种方法的主要缺点是对存储空间的要求有所增加——200MB,因为它自己实际上相当于一个微型Linux分布式系统。

可用的工具

一个嵌入式Linux产品的开发需要几个阶段,包括为目标板配置和构建基本Linux OS;调试应用程序、库、内核及设备驱动程序/内核模块;出货前最终方案的优化、测试和验证。

有数百种开放源代码开发工具可供选择。只要开发者原意花时间和精力去调研、实施和维护一系列各不相同的工具,总能找出一个完整的解决方案,完成几乎任何开发任务。HSPACE=12 ALT="1:开发者必须精确地考虑到这些工具的松散集合能提供什么样的功能,以及需要付出多大的努力才能形成完整的解决方案。">

Linux应用程序和库的调试方面,GNU Debugger(GDB)作为一种标准已有几年的历史。它是一种命令行程序,由多个不同的图形用户界面前端予以支持,每个前端都能以多种方式提供调试控制功能。尽管GDB不是一个完美的方案,但它足够应对各种调试任务,而且已经得到开放源代码团体的广泛支持。

Linux内核或设备驱动程序的调试要比应用程序的调试繁琐得多。

在做调研时,以下方面应特别注意:


什么调试方法支持要开发产品的硬件?


需要什么内核补丁程序?


还需要其它什么补丁程序?


调试界面怎么样,如何使用?


该工具需要调试内核模块及处理虚拟地址转换吗?


还需要其它什么工具才能提供完整的方案?

经过进一步的调查,开发者往往发现工具A和工具B并没有提供完全一致的功能,因为它们是在彼此独立的情况下开发的。结果,开发者必须精确地考虑到这些工具的松散集合能提供什么样的功能,还需要付出多大的努力才能形成完整的解决方案。

如果不同处理器类型间的集成、可用性、互操作性和移植性很关键的话,开发者应考虑购买商用开发工具。这主要是因为将开发一个免费方案所付出的努力考虑进去,商用开发工具并不算贵。

Linux BSP

Linux系统有两大主要部分:带设备驱动程序的Linux内核;以及根文件系统,包括系统所需的全部支持应用程序、服务和库。

除了驻留在目标板上的OS组件外,还需要创建一个由GNU Compiler Collection构成的交叉编译环境,为库和二进制程序(binutils)提供支持。

虽然几乎每一个组件都可在网上找到,但在硬件或设备驱动程序支持、集成测试信息、交叉编译指南或软件兼容性方面却很难收集到太多信息。尽管开发者可从网上免费下载各种组件以配置嵌入Linux操作系统,但每个组件在版本、支持、稳定性和测试等方面的状态则需要开发者自己决定。然后,开发者还要完成最后的OS集成和测试,以及为所开发产品提供终身Linux OS维护。

另一方面,嵌入式Linux供应商所提供的商用Linux板支持工具包一般都是经过预先安装和测试的,而且提供支持和维护。其它须考虑的因素包括Linux桌面主机将会添加不同的库和内核功能,以及由于组织内的开发者变动而引起的长期维护问题。

品质保证部门一般会执行一系列严格的验证和性能测试,其中包括存储器泄漏检测/纠正、代码优化和任务跟踪等。那些想利用开放源代码工具开发面向非X86平台的嵌入式Linux产品开发者将会发现这一任务甚至要比选择开放源代码调试方案难得多。Linux Trace ToolkitValgrind工具及其它存储器分析程序可完成部分测试和验证任务。但总的来说,它们缺乏关键特性、集成功能及广泛的硬件支持。这些开放源代码分析工具的评估过程与评估调试方案的过程基本相同。

技术支持:0755-253271510755-83690619


阅读全文(699) | 评论:0 | 复制链接

新型WJ89C52V1.1单片机开发板(2008-10-13 12:13:00)

 现在市面上的开发板可谓是应有尽有,那么在这么多开发板中如何选择一款适合自己的嵌入式开发板呢?今天我就向大家推荐一款单片机开发板,它不同于以往的arm开发板 DSP开发板 USB开发板等系列开发板,在性能方面独具优势,下面我就具体介绍一下这块开发板的性能特点及系统资源:

[性能特点]

1. USB和外接电源两种供电方式
2.
单片机所有引脚可以用跳线断开,可以方便自己外接其它电路
3.
板子自带3V电池,可以给时钟芯片供电,确保时间不会停止
4.
波峰焊工艺生产,质量保证,性能更稳定
5.
主板四角配有铜柱作为底座,使用更安全,更放心
6.
提供丰富的实验例程,全部在本主板上调试通过
7.
采用了零插拔力的缩紧插座,方便连接要烧写程序的51单片机

[系统资源]

    WJ89C52开发板配合软件可以直接对锁紧座的51单片机进行烧写,编程和实验共用,烧写完毕即可运行,省去了拔插芯片的麻烦,学习更方便,快捷。WJ89C52开发板提供了丰富的硬件资源和接口,随机提供了丰富的实验例程和大量的学习资料,有助于用户更好的学习单片机,是全面学习单片机的好助手。
 
1. 8
LED:可以显示P0口的状态,比如正反流水灯,交通指示等等
2. 8
LED数码管:可以实验各种计数器、数字显示、以及用单片机做电子钟
3. 1
个蜂鸣器:适合做各类发声程序的实验
4. 4*4
矩阵键盘:可以作为程序的功能按钮或数据输入,比如调节时钟等
5. 16*2
字符型液晶接口:连接字符液晶显示你要的数字字母信息
6. 128*64
图形液晶接口:连接128*64图形液晶显示图形和汉字等
7. DS1302
实时时钟芯片:可以做功能强大的时钟
8. DS18B20
单总线数字温度传感器:可以用单片机控制它来测量温度
9. AT24C02
串行EEPROM:可以进行I2C EEPROM读写实验
10. AT93C46
串行EEPROM:可以进行SPI EEPROM读写实验
11. RS232
串口通讯接口:可以和PC机进行串行通讯
12. PS2
接口:可以连接PC键盘鼠标,实现数据输入
13. CH451
数码管键盘驱动芯片:用它驱动数码管可以节省CPU的时间,而且实现功能强调的显示效果
14. ATISP
编程接口:用ISP下载线和PC机并口连接,可以实现对AT89S系列单片机编程
15.
红外线接收头:可以接收遥控发出的红外线命令
16. IO
口扩展:所有单片机引脚都引出并口断开外围电路,方便客户连接自己的电路

[配套资料]

1. 完整的原理图(pdf格式),快速掌握单片机系统的组成
2.
用户手册:非常详细,让你快速踏入单片机开发应用之门
3.
芯片手册:开发板上全部芯片的芯片资料
4.
单片机视频教程:方便你快速学习单片机
5.
送最新版51单片机开发环境Keil uv3入门教程
6.
送其它单片机相关学习资料

[配套软件]

1. 最新破解版Keil uVision3 V8.08a
2. STC-ISP-v3.91 STC
单片机烧写软件
3.
串口调试器
4.
字模提取V2.2
5. 51
波特率计算软件
6. 51
定时器初值设定软件

[实验代码]--代码为C语言编写

1. LED流水灯实验
2.
定时器中断实验
3.
蜂鸣器报警实验
4. CH451
数码管显示实验
5. 4*4
矩阵键盘扫描实验
6.
交通灯实验
7. AT24C02 I2C
存储器读写实验
8. AT93C46 SPI
存储器读写实验
9. RS232
单片机串口通信实验
10. DS18B20
温度测量实验
11. DS1302
实时时钟实验
12.
红外线遥控解码实验
13. PS/2
键盘扫描实验
14. 1602
字符液晶显示实验
15. 12864
图形液晶显示实验

[标准配置]

1. WJ89C52开发板主板一块
2. 1602
字符液晶一块
3.
串口通信电缆一根
4. USB
电源线一根
5. STC89C52
单片机一片
6.
配套光盘一张

购买联系:13148818895 0755-83690800/075583662100   余焕丽


阅读全文(481) | 评论:0 | 复制链接

ARM9处理器的LDM8086T嵌入式平板电脑(2008-9-27 10:17:00)

LDM8086T嵌入式平板电脑采用低功耗的32ARM9处理器,8英寸TFT液晶显示屏(分辨率800×600)及触摸屏,引出丰富接口,预装WinCE5.0/4.2系统,具备电磁屏蔽金属机壳。产品特点是:性能好、功耗低、成本低、方便整合安装、方便二次开发

LDM8086T 嵌入式平板电脑是立宇泰电子自主研发设计的一款嵌入式 8"(800×600分辨率)触摸液晶显示人机界面产品,特别适合监控操作终端、数据采集终端、查询终端等应用。该产品采用低功耗的32ARM处理器,主频400MHZ,内置硬件看门狗、支持触摸屏,具有电磁屏蔽性良好、方便嵌入式安装的金属外壳,能够在严苛的环境下长期稳定工作。LDM8086T 预装了微软嵌入式实时多任务操作系统 WinCE4.2/WINCE5.0操作系统(中文版),用户快速加入自己的应用程序和 logo 后即可成为专业应用产品。

    
该产品的特点是性能稳定、功耗低无风扇、良好的售后和二次开发技术支持。

产品特色:

·                             采用低功耗嵌入式微 32 位处理器;

·                             接口丰富(网口、USBRS232 等接口);

·                             内置硬件看门狗;

·                             采用嵌入式操作系统(WinCE4.2.NET/WinCE5.0)

·                             已经定制好产品上所有接口的驱动;

·                             提供 SDK,方便用户进行二次开发;

·                             提供丰富的应用开发实例程序 demo,源码方式提供;

·                             具有屏蔽性好美观坚固的金属外壳;

·                             界面美观、性能稳定、功耗低、易于安装;

·                             提供注册表修改说明,支持注册表掉电保存、RTC 掉电保存,支持注册表中修改 MAC 地址等。

购买联系:余焕丽0755-253271510755-83690619 QQ731130060

 


阅读全文(453) | 评论:0 | 复制链接

三星S3C44B0开发板入门之开发环境(2008-9-23 15:19:00)

三星的 S3C44B0X处理器,为手持设备等提供一个低成本高性能的解决方案。S3C44B0X处理器有以下特点:

  2.5V ARM7TDMI 内核带有8KB cache(高达75MHZSAMBA总线结构) ;可选的internal SRAM;

         外部储存控制器(FP/EDO/SDRAM控制、片选逻辑);

         LCD Controller(最大支持256STN),带专用DMALCD控制器(最大支持256DSTN;

         两个通用的DMA通道,两个带外部请求引脚的外围DMA通道;

         两个UART/一个SIO(IRDA1.0,16字节的FIFO);

         一个多主控器的IIC总线控制器和一个IIS总线控制器

         5PWM定时器和一个内部定时器;

         看门狗定时器;

         71位的通用I/O接口/8个外部中断源;

         电源控制:Normal,Slow,IdleStop模式;

         8通道的10ADC;

         带日历功能的实时时钟(RTC;

         片上带PLL的时钟发生器

S3C44B0的应用系统

如果你的产品需要接入网络,三星S3C44B0X微控制器可以降低你的成本,S3C44B0X可以应用在以下系统中。

         GPS电话

         PDA(个人数字助理)

         Fish Finder

         掌上游戏机

         指纹识别系统

         TWMTwo Way Messaging

         终端汽车导航系统

         MP3播放机等等。

 

存储器接口

一.Boot ROM设计

当系统复位时,S3C44B0X访问地址0x00000000,在复位后S3C44B0X必须做一些系统变量的配置,因此这段特殊的代码(BOOT ROM 映像)应当位于地址为0x00000000处,即BANK0(对映的片选是nGCS0)的位置,所以我们在BANK0的位置连接存放启动代码的ROMFLASH)芯片,连接到BANK0的芯片可以采用不同宽度的数据总线,总线宽度是受引脚OM[10]控制的(在硬件上,0用连接下拉电阻来实现,1用连接上拉电阻来实现)。

 

 

ARM开发板_s3c44b0基础实验 IO接口试验-1

实验说明

实验目的:

        

熟悉ARM 芯片I/O 端口程序设定方法。

         通过实验掌握ARM 芯片的I/O 端口控制LED显示的方法。

实验设备:

1) 硬件需要S3C44b0开发板平台,配套调试器,PC 主机。

2) 软件需要ADS1.2 整合开发环境,Windows 2000/NT/XP

实验内容:

ARM 芯片的I/O 端口通常都是和其它引脚复用的,要熟悉ARM 芯片I/O 端口的程序设定方法,熟悉S3C44B0X 芯片的I/O 端口设定寄存器, 程序实现实验板上的LED 指示灯LED1 LED2LED3 轮流点亮和熄灭。

5.2.2. 实验原理

 

S3C44B0X芯片上共有71 个多功能的输入输出引脚,它们分为7I/O端口。

         两个9   z位的输入/输出端口(端口E 和端口F)。

         两个8   z位的输入/输出端口(端口D 和端口G)。

         一个16   z位的输入/输出端口(端口C)。

         一个10   z位的输出端口(端口A)。

         一个11 位的输出端口(端口B)。

每组端口都可以通过软件设定寄存器来满足不同系统和设计的需要。在执行主程序之前, 必须先对每一个用到的引脚的功能进行设定, 如果某些引脚的复用功能没有使用, 可以先将该引脚设定为I/O端口。S3C44B0X 芯片和端口相关的寄存器有:

端口设定寄存器(PCONA-G)

S3C44B0X 芯片中, 大部分引脚是多功能的, 所以要确定每个引脚的功能。PCONn(端口控制寄存器)能够定义引脚功能。如果PG0-PG7 作为掉电模式下的唤醒信号,则这些端口必须设定成中断模式。

端口数据寄存器(PDATA-G)

如果端口定义为输出端口,则输出资料可以写入PDATn 中相应的位;如果端口定义为输入端口,则输入的数据可以从PDATn 相应的位中读入。

端口上拉寄存器(PUPC-G)

通过设定端口上拉寄存器可以使该组端口和上拉电阻连接或断开。当寄存器中相应的位设定0 时, 该引脚接上拉电阻; 当寄存器中相应的位设定1 时,该引脚不接上拉电阻。

外部中断控制寄存器(EXTINT

通过不同的信号方式可以使8 个外部中断被请求,EXTINT 寄存器可以根据外部中断的需要将中断触发信号设定为低电位触发、高电位触发、下降沿触发、上升沿触发和上下沿触发几种方式。

I/O端口控制寄存器

 

 

 

         端口A 控制寄存器

寄存器

地址

R/W

描述

复位值

PCONA

0x01D20000

R/W

端口A的引脚配置

0x3ff

PDATA

0x01D20004

R/W

端口A的数据寄存器

Undef

 

         端口A 控制寄存器(PCONA,PDATA)

PCONA

Bit

Description

PA9

[9]

0 = Output

1 = ADDR24

PA8

[8]

0 = Output

1 = ADDR23

PA7

[7]

0 = Output

1 = ADDR22

PA6

[6]

0 = Output

1 = ADDR21

PA5

[5]

0 = Output

1 = ADDR20

PA4

[4]

0 = Output

1 = ADDR19

PA3

[3]

0 = Output

1 = ADDR18

PA2

[2]

0 = Output

1 = ADDR17

PA1

[1]

0 = Output

1 = ADDR16

PA0

[0]

0 = Output

1 = ADDR0

 

PDATA

Bit

描述

PA[9:0]

[9:0]

当端口配置为输出时,对应脚的状态和该位的值相同,当端口配置为功能引脚时,如果读该位的值,将是一个不确定的值。

 


阅读全文(861) | 评论:0 | 复制链接

Arm7和arm9的不同之处(2008-9-6 10:06:00)

ARM7内核是0.9MIPS/MHz的三级流水线和冯·诺伊曼结构;
ARM9
内核是5级流水线,提供1.1MIPS/MHz的哈佛结构。
ARM7
没有MMU,ARM720TMMU ,ARM9主要包括ARM9TDMIARM9E-S等系列ARM9是有MMU,ARM940T只有Memory protection unit.不是一个完整的MMU
ARM9
的时钟频率比ARM7更高,采用哈佛结构区分了数据总线和指令总线, ARM7处理器采用3级流水线,而ARM9采用5级流水线, 5级流水线能够将每一个指令处理分配到5个时钟周期内,在每一个时钟周期内同时有5个指令在执行。在同样的加工工艺下,ARM9TDMI处理器的时钟频率是ARM7TDMI1822倍。指令周期的改进,
指令周期的改进:
2
1 loads 指令矛n stores指令
指令周期数的改进最明显的是loads指令和stores指令。从ARM7ARM9这两条指令的执行时间减少了30%。指令周期的减少是由于ARM7ARM9两种处理器内的两个基本的微处理结构不同所造成的。
(1)ARM9
有独立的指令和数据存储器接口,允许处理器同时进行取指和读写数据。这叫作改进型哈佛结构。而ARM7只有数据存储器接口,它同时用来取指令和数据访问。
(2)5
级流水线引入了独立的存储器和写回流水线,分别用来访问存储器和将结果写回寄存器。
以上两点实现了一个周期完成loads指令和stores指令。
2
2 互锁(interlocks)技术
当指令需要的数据因为以前的指令没有执行完而没有准备好就会产生管道互锁。当管道互锁发生时,硬件会停止这个指令的执行,直到数据准备好为止。虽然这种技术会增加代码执行时间,但是为初期的设计者提供了巨大的方便。编译器以及汇编程序员可以通过重新设计代码的顺序或者其他方法来减少管道互锁的数量。
2
3 分枝指令
ARM9ARM7
的分枝指令周期是相同的。而且ARM9TDMIARM9E-S并没有对分枝指令进行预测处理。
ARM9
结构及特点
ARM9E-S为例介绍ARM9处理器的主要结构及其特点。
(1)32bit
定点RISC处理器,改进型ARMThumb代码交织,增强性乘法器设计。支持实时(real-time)调试;
(2)
片内指令和数据SRAM,而且指令和数据的存储器容量可调;
(3)
片内指令和数据高速缓冲器(cache)容量从4K字节到1M字节;
(4)
设置保护单元(protcction unit),非常适合嵌入式应用中对存储器进行分段和保护;
(5)
采用AMBA AHB总线接口,为外设提供统一的地址和数据总线;
(6)
支持外部协处理器,指令和数据总线有简单的握手信令支持;
(7)
支持标准基本逻辑单元扫描测试方法学,而且支持BIST(built-in-self-test)
(8)
支持嵌入式跟踪宏单元,支持实时跟踪指令和数据


阅读全文(578) | 评论:0 | 复制链接

arm9概况--龙人嵌入式开发事业部(2008-8-29 9:52:00)

 ARM9系列处理器是英国ARM公司设计的主流嵌入式处理器,主要包括ARM9TDMIARM9E-S等系列。

新一代的ARM9处理器,通过全新的设计,采用了更多的晶体管,能够达到两倍以上于ARM7处理器的处理能力。这种处理能力的提高是通过增加时钟频率和减少指令执行周期实现的。
关键词:arm9 arm9处理器 嵌入式处理器 arm7
1
时钟频率的提高
ARM7
处理器采用3级流水线,而ARM9采用5级流水线。增加的流水线设计提高了时钟频率和并行处理能力。5级流水线能够将每一个指令处理分配到5个时钟周期内,在每一个时钟周期内同时有5个指令在执行。在同样的加工工艺下,ARM9TDMI处理器的时钟频率是ARM7TDMI1822倍。
2
指令周期的改进

指令周期的改进对于处理器性能的提高有很大的帮助。性能提高的幅度依赖于代码执行时指令的重叠,这实际上是程序本身的问题。对于采用最高级的语言,一般来说,性能的提高在30%左右。

2
1 loads 指令矛n stores指令

指令周期数的改进最明显的是loads指令和stores指令。从ARM7ARM9这两条指令的执行时间减少了30%。指令周期的减少是由于ARM7ARM9两种处理器内的两个基本的微处理结构不同所造成的。

(1)ARM9
有独立的指令和数据存储器接口,允许处理器同时进行取指和读写数据。这叫作改进型哈佛结构。而ARM7只有数据存储器接口,它同时用来取指令和数据访问。

(2)5
级流水线引入了独立的存储器和写回流水线,分别用来访问存储器和将结果写回寄存器。

以上两点实现了一个周期完成loads指令和stores指令。

2
2 互锁(interlocks)技术

   
当指令需要的数据因为以前的指令没有执行完而没有准备好就会产生管道互锁。当管道互锁发生时,硬件会停止这个指令的执行,直到数据准备好为止。虽然这种技术会增加代码执行时间,但是为初期的设计者提供了巨大的方便。编译器以及汇编程序员可以通过重新设计代码的顺序或者其他方法来减少管道互锁的数量。

2
3 分枝指令

    ARM9
ARM7的分枝指令周期是相同的。而且ARM9TDMIARM9E-S并没有对分枝指令进行预测处理。

3 ARM9
结构及特点

   
ARM9E-S为例介绍ARM9处理器的主要结构及其特点。ARM9E-S的结构如图4所示。其主要特点如下:

(1)32bit
定点RISC处理器,改进型ARMThumb代码交织,增强性乘法器设计。支持实时(real-time)调试;

(2)
片内指令和数据SRAM,而且指令和数据的存储器容量可调;

(3)
片内指令和数据高速缓冲器(cache)容量从4K字节到1M字节;

(4)
设置保护单元(protcction unit),非常适合嵌入式应用中对存储器进行分段和保护;

(5)
采用AMBA AHB总线接口,为外设提供统一的地址和数据总线;

(6)
支持外部协处理器,指令和数据总线有简单的握手信令支持;

(7)
支持标准基本逻辑单元扫描测试方法学,而且支持BIST(built-in-self-test)

(8)
支持嵌入式跟踪宏单元,支持实时跟踪指令和数据。

4 ARM9的典型应用

    TI
公司的OMAP730是最新的无线通信基带信号处理器。该处理器是TIGPRS Class 12通信模块与专用于应用处理的ARM926通用处理器(GPP)的集成。由于GPP的速度可达200MHz,因此OMAP730具有两倍于上一代OMAP710处理器的应用处理性能。如同所有的OMAP处理器一样,OMAP730可支持领先的移动操作系统,其中包括Microsoft的智能电话与Pocket PC PhoneEditionSvmbian OSSeries 60Palm OS以及Linux


阅读全文(543) | 评论:0 | 复制链接

嵌入式大容量数据储存解决方案(2008-8-27 10:03:00)

   随着32嵌入式微处理器的推广使用,越来越多的应用场合需要大容量的数据存储解决方案,传统的基于U盘、硬盘、SD/MMC卡存储方案,虽然也能实现大容量数据存储的功能,但无论是系统体积、成本、功耗、可靠性和易用性等方面都不尽如人意,因此,迫切需要一种能以较低的成本、功耗和体积,实现大容量、高可靠性的数据存储解决方案。 
    
北京龙人高科技术有限公司作为专业的嵌入式应用开发商和方案提供商,针对行业用户的不同需求,提供高性价比的系统设计,帮助用户实现最优的嵌入式大容量数据储存解决方案。
嵌入式处理器 嵌入式解决方案  嵌入式系统  嵌入式开发
应用场合
   
嵌入式大容量数据存储解决方案可用于如下应用场合:
    * 
需要大容量本地数据存储的数据采集与监控系统;
    * 
各种车载、舰载、机载大容量数据记录仪,如黑匣子等;
    * 
公共安全、公共交通等信息查询系统;  

方案介绍
   
目前,大容量嵌入式数据存储的实现方式有如下几种:
    
第一种方式为硬盘存储方案,即将PC机系统的硬盘挂接到嵌入式系统中,以实现大容量的数据存储,如常见的硬盘录像机、硬盘监控系统等,但这种方式具有功耗高、体积大、易损坏等局限性,其应用场合受到很大限制。 
    
第二种方式为存储卡方案,即在嵌入式系统中采用SD卡、MMC卡、U盘等存储介质,实现大容量的数据存储,该方式在系统功耗、体积等方面优于前一种方式,但由于这些存储介质均采用插座方式接入系统,因此,系统的可靠性较低,特别是在使用环境比较恶劣的场合。

    
随着嵌入式大容量数据存储应用需求的逐步提高,这两种方式已经越来越不能满足用户的需要,特别是随着高性能嵌入式微处理器价格逐渐降低和芯片级存储介质的存储密度越来越大,可以采用一种全新的方式来实现高性能的嵌入式大容量数据储存。

系统构成及基本工作原理
    
随着高性能嵌入式微处理器价格的逐渐降低以及芯片级存储介质的存储密度的提高,采用以高性能嵌入式微处理器为系统核心,结合大容量存储芯片,实现高性能、低功耗、低成本、小体积的嵌入式大容量数据存储,具有无可比拟的优势。 

     
在该系统中,高性能嵌入式微处理器和大容量存储芯片为系统核心,随着半导体技术的不断发展,目前已经很容易在单芯片上实现几GB~几十GB的数据存储,采用多片并联的方式,可以实现大容量的存储系统。

     
为实现系统高可靠性、高效率的工作,必须采用高性能嵌入式微处理器作为系统的管理核心,通过与高效的嵌入式操作系统相结合,实现数据的可靠存储。

     
系统同时提供多种通信手段,方便实现数据的远程传输,便于用户对数据进行进一步的处理。

优势与技术突破
     
与传统的嵌入式数据存储系统相比较,该方案采用基于ARM架构的高性能32位嵌入式微处理器,结合大容量的芯片级存储介质,运行嵌入式操作系统,可以实现高性能、高可靠性的大容量数据存储。 
     
嵌入式操作系统在系统中具有至关重要的作用,依托高性能嵌入式操作系统的强大功能,该方案实现了各种常用文件系统的支持,便于数据的迁移,同时,嵌入式操作系统还实现了存储介质的自动管理、自动纠错、疲劳算法等,保证了存储数据的高可靠

技术支持:http://www.embedm.com   手机:13148818895   小灵通:21192100余焕丽

 


阅读全文(540) | 评论:0 | 复制链接

5本超实惠嵌入式系统开发实验教程(2008-8-27 10:03:00)

Tag:嵌入式系统 嵌入式开发 arm7  arm9 嵌入式软件开发

产品名称: 嵌入式系统开发与应用实验教程
产品简介:
本书以 ARM实验教学系统为硬件开发平台,建立了以ARM为核心的、完整的嵌入式系统教学与培训实验体系。实验内容包括: 嵌入式软件开发基础实验、基本接口实验、人机接口实验、通信与音频接口实验、嵌入式操作系统μC/OSII的移植及应用开发实验,共22个实验,为嵌入式系统的学习者提供了丰富的实验例程,形成

产品名称: 嵌入式系统开发与应用
产品简介:
本书以嵌入式系统的基本开发技术为主线,以ARM处理器核及国内应用广泛的Samsung公司的S3C44B0X(基于ARM7TEMDI)为硬件平台,系统讲述了嵌入式系统开发的基本知识、基本流程、基本方法及以ARM微处理器为核心的嵌入式系统开发过程。为提升目前我国嵌入式系统的教学水平而又不脱离目前的教学实际,在本系列教程中的理论课程内容的设置和实验教学内容的开发过程中,我们既强调嵌入式基础教学,打好嵌入式系统与应用的基础,又面向实际工程应用,提升嵌入式系统教学的实用性和工程性。

产品名称: ARM7嵌入式开发实验与实践
产品简介:
ARM7核的 EDUKITII/III多核实验教学系统为硬件开发平台,以ARM7中广泛使用的外围基本接口功能开发为例,并以μC/OSIIμClinux嵌入式操作系统为软件开发平台,设计开发了31个实验,内容包括:基于ARM的嵌入式软件开发基础实验、基本接口实验、人机接口实验、通信与音频接口实验、μC/OSII基础实验和μClinux基础实验。

产品名称: ARM9嵌入式开发实验与实践
产品简介:
ARM9核的 EDUKITII/III多核实验教学系统为硬件开发平台,以ARM9中广泛使用的外围基本接口功能开发为例,并分别以嵌入式LinuxWinCE嵌入式操作系统为软件开发平台,设计开发了46个实验,内容包括:基于ARM的嵌入式软件开发基础实验、基本接口实验、人机接口实验、通信与音频接口实验、嵌入式LinuxWinCE基础实验

产品名称: ARM与嵌入式技术
产品简介:
本书包括了当前硬件、软件方面的两个流行趋势,一个是32 位微控制器ARM,一个是嵌入式操作系统LinuxLinux 提供了强大的操作系统功能和丰富的应用软件。开发者和学习者可以从Internet 上下载 Linux 源代码和许多 Linux 的应用程序,并根据需要对源代码进行修改,减少程序的编写和调试负担。

 


阅读全文(1175) | 评论:0 | 复制链接

我学习嵌入式ARM编程的总结和心得(2008-8-21 11:42:00)

前一段时间做了arm的一些开发,主要是编写了arm的启动软件和移植了uCOS-IIarm7。我的这个心得很初级,都是一些很基本的东西。现在拿出来和大家分享,希望对一些初学者有帮助。由于这些东西发paper实在是没有价值,但是我感觉可以作为arm开发的入门。由于我的水平和经验有限,错误也是难免的。但是假如不拿出来和大家分享,就算有错误我也发现不了,是么?呵呵。我现试试发连载的第一篇,看看有多少价值,假如大家觉得有价值,我会继续连载的。

 Tag:嵌入式开发 arm开发 arm开发板 嵌入式系统 arm9开发板

前言
  这个文档是我学习ARM编程的总结和心得。阅读这个文档的人应当首先阅读ADS1.2的帮助文档及相关内容。这个文档不会对编译器及连接器做出具体的说明,在需要的时候会指出具体内容在相关资料的章节。同时阅读这个文档的人需要了解ARM指令集和一些ARM汇编的基本内容以及CC 的相关编程内容。同时还需要了解ARM的流水线结构及一些基本的编程知识。同时为了方便查阅英文文档,所有的相关术语都使用英文原文 字串
4

第一章
STARTUP
1 ARM
的启动

  一般的嵌入式系统在主程序执行之前都需要执行一些初始化的过程以创造嵌入式程序运行的环境,尤其是一些高级的嵌入式系统,由于核心芯片使用内存映射、内存保护等机制以及编程使用高级语言C,C 甚至JAVA语言,都需要先创建一个适合程序运行的硬件环境,然后初始化或者配置或者剪裁run-time library, 这些工作都必须在主程序运行前完成,所以一个startup程序或者程序组对于一个嵌入式系统来说是非常重要的。要编写startup程序,需要对编译器、链接器和汇编器的细节有一定的了解,同时对ARM芯片硬件本身的地址分配以及memory mapping机制也需要有一些了解。

2 .ARM 程序的工作过程

  首先由各种source file经过编译产生object文件,然后object文件经过链接生成Image文件,然后通过ICE的方法,根据描述文件的指定下载到目标板上的固态存储器指定地址当中,比如flash,EEPROM, ROM等等。在程序执行之前,根据某些描述文件,将需要读写数据的部分读出放入动态存储器比如RAM当中,然后程序从ROM开始执行。或者有时为了提高程序的运行速度,也可以将所有的程序(有一些root的部分除外,以后会提及)通过一个描述文件放入指定的RAM当中,然后程序从RAM开始执行,但是这样会耗费大量的动态存储器,所以大部分程序会取折中的方法,将需要快速运行的部分和要读写的部分放入RAM(一般读固态存储器的过程和动态存储器的过程是一样的,但是写就不同了,所以读写的部分一定要放到RAM),而只读的部分和对速度要求不是那么高的部分放入固态存储器。同时ARM结构的异常向量表规定放在地址为0x00000000开始的地址空间上,而一般的CPU为了提高异常相应速度,会将这个向量段remap到其他的RAM当中,所以在描述文件当中必须精确指定异常向量跳转程序的地址到remap的地方。在application程序执行前,还需要由一些文件描述application程序执行的环境。比如系统工作时钟,总线频率。现在一般嵌入式编程语言为C,C 等。假如在使用它们的时候使用的runtime-library,那么在程序执行前还需要为这些库函数初始化heap。然后ARM可能工作在不同的模式,还需要为不同的工作模式设置stack。这样,描述链接地址的文件,以及在application运行前所有的初始化程序就是startup程序组

3. STARTUP分类
  这样,startup程序所完成的功能分类。一类是链接地址描述,一类是各种初始化的程序。根据不同的应用,描述文件和初始化程序的内容以及结构和复杂程度都会不同。但是基本上,它们都必须实现以下功能。

3.1 描述文件实现功能
描述文件可以是链接命令行上简单的几个字符,也可以是一个非常复杂的文件,但是它必须完成如下功能:

;
指定程序下载的地址

;
指定程序执行的地址

3.2
初始化程序实现的功能

初始化程序根据不同的应用,其结构和复杂度也不同,但是它必须完成如下基本功能:

;
异常向量初始化

;
其他硬件环境初始化
;
内存环境初始化

好了,基于时间关系我今天先写到这里,之后我会经常上网写一些关于arm开发 嵌入式系统开发 arm开发板 arm9开发板 2440开发板方面的文章,希望大家能够关注。

联系电话:0755-83662100  手机:13148818895余焕丽


阅读全文(1182) | 评论:0 | 复制链接