1. 嵌入式数据存储和非嵌入式存储有什么区别嵌入式存储采用的数据库和它用的编程语言有关系吗
1、嵌入式系统是个大概念,对于有操作系统和文件系统的嵌入式系统(如嵌入式linux系统)来说,它的数据存储方式(文件)和标准的计算机系统区别不大,它除了支持一些特别的文件系统(如yaffs, jffs)外,还支持很多标准计算机系统实现了的文件系统(如ext2, ext3, fat等)及网络文件系统。另外很多嵌入式系统还支持U盘、SD卡等设备,完全可以和标准文件系统进行文件交换。
所要注意的是部分嵌入式系统采用大端模式存储,对于数据型文件(包括二进制、执行文件),在小端系统上(x86系统)会有不同的解析,当然标准系统也有大端的,同样存在这些问题。
2、嵌入式系统的数据库编程和标准系统一样,使用数据库厂商提供的API,需要的编程语言与厂商提供的API有关,只要这些API支持(如sqlite 支持用嵌入式linux系统的交叉编译器编译),那就没有多大问题,区别只是编译工具采用了嵌入式系统的交叉编译器而已。
2. 嵌入式系统与非嵌入式的主要区别是什么
嵌入式软件就是嵌入在硬件中的操作系统和开发工具软件。非嵌入式软件和嵌入式软件正好相反,其是指可以跨平台甚至跨系统使用的软件系统。
3. 嵌入式存储器的类型有哪些,对比他们的性能参数
两个问题都能在这里找到答案,我搜了下,参考`
ARM指令集发展史
作者:xdpeter 提交日期:2006-4-12 20:01:00
第2章 典型ARM体系结构介绍
一、版本简介
迄今为止,ARM体系结构共定义了6个版本,版本号分别为1—6。同时,各版本中还有一些变种,这里将某些特定功能称为ARM体系的某种变种(variant),例如支持Thumb指令集,称为T变种。长乘法指令(M变种),ARM媒体功能扩展(SIMD)变种,支持JAVA的J变种,和增强功能的E变种。
ARM处理器核当前有6 个系列产品ARM7,,ARM9, ARM9E, ARM10E,SecurCore 以及最新的ARM11 系列。以及Intel XScale 微体系结构和StrongARM 产品各系列产品性能见下表
ARM7 性能特征
Cache大小
(指令/数据) 存储器管理单元
紧密耦合存储器
(TCM) Jazelle
Thumb
DSP
AHB接口
ARM7TDMI 无 无 无 无 有 无 有
ARM7TDMI-S 无 无 无 无 有 无 有
ARM7EJ-S 无 无 无 有 有 有 有
ARM720T 8K MMU 无 无 有 无 有
ARM7采用ARMV4T(Newman)结构,分为三级流水,空间统一的指令与数据Cache,平均功耗为0.6mW/MHz,时钟速度为66MHz,每条指令平均执行1.9个时钟周期。其中的ARM710,ARM720和ARM740为内带Cache的ARM核。具有如下特点:
- 具有嵌入式ICE-RT逻辑,调试开发方便。
- 极低的功耗,适合对功耗要求较高的应用,如便携式产品。
- 能够提供0.9MIPS/MHz的三级流水线结构。
- 代码密度高并兼容16位的Thumb指令集。
- 对操作系统的支持广泛,包括Windows CE、Linux、Palm OS等。
- 指令系统与ARM9系列、ARM9E系列和ARM10E系列兼容,便于用户的产品升级换代。
- 主频最高可达130MIPS,高速的运算处理能力能胜任绝大多数的复杂应用。
ARM7系列微处理器的主要应用领域为:工业控制、Internet设备、网络和调制解调器设备、移动电话等多种多媒体和嵌入式应用。ARM7系列微处理器包括如下几种类型的核:ARM7TDMI、ARM7TDMI-S、ARM720T、ARM7EJ。其中,ARM7TMDI是目前使用最广泛的32位嵌入式RISC处理器,属低端ARM处理器核。TDMI的基本含义为:T:支持16为压缩指令集Thumb;D:支持片上Debug;M:内嵌硬件乘法器(Multiplier)I:嵌入式ICE,支持片上断点和调试点;
从ARM公司提供的ARM7 Data Sheet可以看出,ARM7属于结构比较简单的32位RISC体系结构,与一般的、采用五级流水线的32位RISC结构相比,简化了流水线的设计。这一方面限制了ARM7芯片性能的提升,另一方面使得ARM7的结构更加简单,不必考虑在多级流水线中需要解决的冲突、中断现场恢复等等复杂棘手的问题,有利于简化设计、提高设计的正确性、有效性。
由于指令长度、格式的限制,在ARM7的一般指令中,只能够访问4位的寄存器空间,这和其他32位RISC体系结构中能够访问到5位、6位的寄存器空间又不同。ARM7通过特殊的模式转换方式,使得用户可以访问到其它的15个通用寄存器。
ARM7所有的指令都是条件执行的。这在目前主流的32位RISC体系结构中并不多见。通过在指令中设置条件域,可以使得编译器有条件完成指令的条件执行功能,优化编译效果。另外,由于条件域的引入,使得在设计流水线的时候,必须考虑译码后的指令是否可以执行。
ARM7中的所有指令,除了访存指令之外,都是基于寄存器进行操作的,这是典型的RISC设计思路。
注:arm体系结构的版本及命名方法
arm体系结构共定义了6个版本,版本号分别为1~6。
arm体系的变种:将某些特定功能称为arm体系的某种变种(variant)
#T变种(Thumb指令集)表示Thumb,该内核可从16位指令集扩充到32位ARM指令集。
#D:表示Debug,该内核中放置了用于调试的结构,通常它为一个边界扫描链JTAG,可使CPU进入调试模式,从而可方便地进行断点设置、单步调试。
#M变种(长乘法指令)表示Multiplier,是8位乘法器。
#I表示EmbeddedICE Logic,用于实现断点观测及变量观测的逻辑电路部分,其中的TAP控制器可接入到边界扫描链。
#E变种(增强型指令)DSP指令支持。
#J变种(Java加速器Jazelle)JAVA指令支持。
#SIMD变种(arm媒体功能扩展)单指令流多数据流(SIMD)能力使得软件更有效地完成高性能的媒体应用像声音和图像编码器。
arm/thumb体系版本的字符串是由下面几部分组成的:
#字符串ARMV
#arm指令集版本号,1~6
#ARM指令集版本号后为表示所含变种的字符。由于在ARM体系版本4以后,M变种成为系统的标准功能,字符M通常不需要列出来。
#最后使用的字符x表示排除某种写功能。比如,在早期的一些E变种中,未包含双字读取指令LDRD、双字写入指令STRD、协处理器的寄存器传输指令MCRR/MRRC以及cache预取指令PLD。这种E变种记作ExP,其中x表示缺少,P代表上述的几种指令。如ARMv3M,ARMv5xM,ARMv6等
eg:ARMv5xM--->ARMv+4+x+M
ARM9 性能特征
Cache大小
(指令/数据) 存储器管理单元
紧密耦合存储器
(TCM) Jazelle
Thumb
DSP
AHB接口
ARM920T 16K/16K MMU 无 无 有 无 有
ARM922T 8K/8K MMU 无 无 有 无 有
ARM940T 4K/4K MMU 无 无 有 无 有
ARM9采用ARMV4T(Harvard)结构,五级流水处理以及分离的Cache结构,平均功耗为0.7mW/MHz。时钟速度为120MHz-200MHz,每条指令平均执行1.5个时钟周期。与ARM7系列相似,其中的ARM920、ARM940和ARM9E为含Cache的CPU核。性能为132MIPS(120MHz时钟,3.3V供)或220MIPS(200MHz时钟)。ARM9 E性能特征
Cache大小
(指令/数据) 存储器管理单元
紧密耦合存储器
(TCM) Jazelle
Thumb
DSP
AHB接口
ARM926EJS 4-128K/4-128 MMU 有 有 有 有 双AHB
ARM946EJS 4-1MB/4-1MB MMU 有 无 有 有 AHB
ARM966ES 无 无 有 无 有 有 AHB
ARM9E系列微处理器为可综合处理器,使用单一的处理器内核提供了微控制器、DSP、Java应用系统的解决方案,极大的减少了芯片的面积和系统的复杂程度。ARM9E系列微处理器提供了增强的DSP处理能力,很适合于那些需要同时使用DSP和微控制器的应用场合。
ARM9E系列微处理器的主要特点如下: - 支持DSP指令集,适合于需要高速数字信号处理的场合。 - 5级整数流水线,指令执行效率更高。 - 支持32位ARM指令集和16位Thumb指令集。 - 支持32位的高速AMBA总线接口。 - 支持VFP9浮点处理协处理器。 - 全性能的MMU,支持Windows CE、Linux、Palm OS等多种主流嵌入式操作系统。 - MPU支持实时操作系统。 - 支持数据Cache和指令Cache,具有更高的指令和数据处理能力。 - 主频最高可达300MIPS。 ARM9系列微处理器主要应用于下一代无线设备、数字消费品、成像设备、工业控制、存储设备和网络设备等领域。 ARM9E系列微处理器包含ARM926EJ-S、ARM946E-S和ARM966E-S三种类型,以适用于不同的应用场合。
ARM10 E性能特征
Cache大小
(指令/数据) 存储器管理单元
紧密耦合存储器
(TCM) Jazelle
Thumb
DSP
AHB接口
ARM1020E 32K/32K MMU 无 无 有 有 双AHB
ARM1022E 16K/16K MMU 无 无 有 有 双AHB
ARM1026EJ-S 可变 MMU+ MMU 有 有 有 有 双AHB
ARM10采用ARMV5T结构,六级流水处理,指令与数据分离的Cache结构。平均功耗为1000mW,时钟速度为300MHz,每条指令平均执行1.2个周期,其中ARM1020为带Cache的版本。ARM10TDMI:与所有ARM核在二进制级代码兼容,内带高速32X16MAC,预留DSP协处理器接口。其中的VFP10(矢量浮点单元)为七级流水结构。ARM1020T:ARM10TDMI+32K Caches+MMU结构,300MHz时钟,功耗为1W(2.0V供电)或00mW(1.5V供电)。指令Cache和数据Cache分别为32K,宽度为64bits。能够技术多种商用操作系统。适用于下一代高性能手持式因特网设备及数字式消费类应用。
ARM10E系列微处理器具有高性能、低功耗的特点,由于采用了新的体系结构,与同等的ARM9器件相比较,在同样的时钟频率下,性能提高了近50%,同时,ARM10E系列微处理器采用了两种先进的节能方式,使其功耗极低。 ARM10E系列微处理器的主要特点如下: - 支持DSP指令集,适合于需要高速数字信号处理的场合。 - 6级整数流水线,指令执行效率更高。 - 支持32位ARM指令集和16位Thumb指令集。 - 支持32位的高速AMBA总线接口。 - 支持VFP10浮点处理协处理器。 - 全性能的MMU,支持Windows CE、Linux、Palm OS等多种主流嵌入式操作系统。 - 支持数据Cache和指令Cache,具有更高的指令和数据处理能力 - 主频最高可达400MIPS。 - 内嵌并行读/写操作部件。 ARM10E系列微处理器主要应用于下一代无线设备、数字消费品、成像设备、工业控制、通信和信息系统等领域。 ARM10E系列微处理器包含ARM1020E、ARM1022E和ARM1026EJ-S三种类型,以适用于不同的应用场合。
ARM11性能特征
Cache大小
(指令/数据) 符点
运算 存储器管理单元
紧密耦合存储器
(TCM) Jazelle
SIMD
DSP
AHB接口
ARM1136J-S 4-64K 无 MMU 有 有 有 有 四个64
位AHB
ARM1136JF-S 4-64K 有 MMU 有 有 有 有 四个64
位AHB
ARM11是ARMv6体系结构的第一个实现,ARM11微结构的设计目
4. 嵌入式系统中的存储器映射是怎么回事,为什么要映射
我是这样理解的:
存储器空间是和硬件相关联的,可以对某些地址上写数据来控制硬件,为了方便使用(总不可能都用地址来直接控制,那样就工作量就太大了),将这些地址赋予了一些变量名,通过变量名来控制硬件(也就是寄存器的概念)。
5. 嵌入式 文件存储
fatfs就可以
书基本上不用看
你看好SD卡的数据手册
然后到fatfs官方网站下载源码 看看实例
移植到自己的系统上就行了
6. 嵌入式系统的存储器设计需要考虑哪些方面
常见的嵌入式系统
Linux、uClinux、WinCE、PalmOS、Symbian、eCos、uCOS-II、VxWorks、pSOS、Nucleus、ThreadX 、Rtems 、QNX、INTEGRITY、OSE、C Executive
什么是嵌入式操作系统?嵌入式操作系统是一种支持嵌入式系统应用的操作系统软件,它是嵌入式系统的重要组成部分。嵌入时操作系统具有通用操作系统的基本特点,能够有效管理复杂的系统资源,并且把硬件虚拟化。
从应用角度可分为通用型嵌入式操作系统和专用型嵌入式操作系统。常见的通用型嵌入式操作系统有Linux、VxWorks、Windows CE.net等。常用的专用型嵌入式操作系统有Smart Phone、Pocket PC、Symbian等。
按实时性可分为两类:
实时嵌入式操作系统主要面向控制、通信等领域。如WindRiver公司的VxWorks、ISI的pSOS、QNX系统软件公司的QNX、ATI的Nucleus等。
非实时嵌入式操作系统主要面向消费类电子产品。这类产品包括PDA、移动电话、机顶盒、电子书、WebPhone等。如微软面向手机应用的Smart Phone操作系统。
7. 什么是存储器 嵌入式系统的存储器
存储器,包含内部存储器,简称内存,又分为RAM (SRAM 静态存储器 ,DRAM动态存储器) ROM(EPROM ,PROM , EEPROM , FLASH ROM,...);外部存储器,简称外存:硬盘、U盘、光盘等.
嵌入式系统的存储器主要针对嵌入式系统的特点进行部署的存储器或存储器系统,主要存储器有:内存 SRAM , DRAM. EEPROM , FLASH ROM等。比如监控系统的还需要硬盘等外部存储器
8. 嵌入式ROM和RAM的区别
ROM:只读的内存
RAM:随机存取存储器
相同点就是都是存信息的
不同点就是
ROM不能一次写入,不容易重新往里写,一般只能从中往外读信息.而且断电以后中间的信息不会丢失.
RAM可以随时读写信息,但断电后存入的信息就丢失了
目前来说嵌入式软件的就业前景很好,像STM32、飞思卡尔等系列单片机属于无操作系统的,直接对寄存器或者利用库函数操作的,这种学习来难度相对小一些,就业前景也不错。还有一些像ARM9,或者CortexA8、A9系列的可以运行Linux或者安卓操作系统的嵌入式软件系统开发,由于需要学习的内容较多,学习时间较长,那么学习起来就有一定的难度,工资也相对高一些。不管学习哪一类都要持之以恒,坚持下来就会学会的。当然,学习过程中,多做练习是必不可少的。
9. 嵌入式存储芯片下面的EMMC,TSD,FSD分别是什么意思代表着什么
emmc是新一代的手机存储方案,比较经济的同时性能也很好。
10. 嵌入式包括哪些
编辑本段嵌入式系统的组成
一个嵌入式系统装置一般都由嵌入式计算机系统和执行装置组成,嵌入式计算机系统是整个嵌入式系统的核心,由硬件层、中间层、系统软件层和应用软件层组成。执行装置也称为被控对象,它可以接受嵌入式计算机系统发出的控制命令,执行所规定的操作或任务。执行装置可以很简单,如手机上的一个微小型的电机,当手机处于震动接收状态时打开;也可以很复杂,如SONY 智能机器狗,上面集成了多个微小型控制电机和多种传感器,从而可以执行各种复杂的动作和感受各种状态信息。 下面对嵌入式计算机系统的组成进行介绍。
1. 硬件层
硬件层中包含嵌入式微处理器、存储器(SDRAM、ROM、Flash等)、通用设备接口和I/O接口(A/D、D/A、I/O等)。在一片嵌入式处理器基础上添加电源电路、时钟电路和存储器电路,就构成了一个嵌入式核心控制模块。其中操作系统和应用程序都可以固化在ROM中。 (1)嵌入式微处理器
嵌入式系统硬件层的核心是嵌入式微处理器,嵌入式微处理器与通用CPU最大的不同在于嵌入式微处理器大多工作在为特定用户群所专用设计的系统中,它将通用CPU许多由板卡完成的任务集成在芯片内部,从而有利于嵌入式系统在设计时趋于小型化,同时还具有很高的效率和可靠性。 嵌入式微处理器的体系结构可以采用冯·诺依曼体系或哈佛体系结构;指令系统可以选用精简指令系统(Reced Instruction Set Computer,RISC)和复杂指令系统CISC(Complex Instruction Set Computer,CISC)。RISC计算机在通道中只包含最有用的指令,确保数据通道快速执行每一条指令,从而提高了执行效率并使CPU硬件结构设计变得更为简单。 嵌入式微处理器有各种不同的体系,即使在同一体系中也可能具有不同的时钟频率和数据总线宽度,或集成了不同的外设和接口。据不完全统计,目前全世界嵌入式微处理器已经超过1000多种,体系结构有30多个系列,其中主流的体系有ARM、MIPS、PowerPC、X86和SH等。但与全球PC市场不同的是,没有一种嵌入式微处理器可以主导市场,仅以32位的产品而言,就有100种以上的嵌入式微处理器。嵌入式微处理器的选择是根据具体的应用而决定的。 (2)存储器 嵌入式系统需要存储器来存放和执行代码。嵌入式系统的存储器包含Cache、主存和辅助存储器,其存储结构如图1-2所 示。 1>Cache Cache是一种容量小、速度快的存储器阵列它位于主存和嵌入式微处理器内核之间,存放的是最近一段时间微处理器使用最多的程序代码和数据。在需要进行数据读取操作时,微处理器尽可能的从Cache中读取数据,而不是从主存中读取,这样就大大改善了系统的性能,提高了微处理器和主存之间的数据传输速率。Cache的主要目标就是:减小存储器(如主存和辅助存储器)给微处理器内核造成的存储器访问瓶颈,使处理速度更快,实时性更强。 在嵌入式系统中Cache全部集成在嵌入式微处理器内,可分为数据Cache、指令Cache或混合Cache,Cache的大小依不同处理器而定。一般中高档的嵌入式微处理器才会把Cache集成进去。 2>主存 主存是嵌入式微处理器能直接访问的寄存器,用来存放系统和用户的程序及数据。它可以位于微处理器的内部或外部,其容量为256KB~1GB,根据具体的应用而定,一般片内存储器容量小,速度快,片外存储器容量大。 常用作主存的存储器有: ROM类 NOR Flash、EPROM和PROM等。 RAM类 SRAM、DRAM和SDRAM等。 其中NOR Flash 凭借其可擦写次数多、存储速度快、存储容量大、价格便宜等优点,在嵌入式领域内得到了广泛应用。 3>辅助存储器 辅助存储器用来存放大数据量的程序代码或信息,它的容量大、但读取速度与主存相比就慢的很多,用来长期保存用户的信息。 嵌入式系统中常用的外存有:硬盘、NAND Flash、CF卡、MMC和SD卡等。 (3)通用设备接口和I/O接口 嵌入式系统和外界交互需要一定形式的通用设备接口,如A/D、D/A、I/O等,外设通过和片外其他设备的或传感器的连接来实现微处理器的输入/输出功能。每个外设通常都只有单一的功能,它可以在芯片外也可以内置芯片中。外设的种类很多,可从一个简单的串行通信设备到非常复杂的802.11无线设备。 目前嵌入式系统中常用的通用设备接口有A/D(模/数转换接口)、D/A(数/模转换接口),I/O接口有RS-232接口(串行通信接口)、Ethernet(以太网接口)、USB(通用串行总线接口)、音频接口、VGA视频输出接口、I2C(现场总线)、SPI(串行外围设备接口)和IrDA(红外线接口)等。
2. 中间层
硬件层与软件层之间为中间层,也称为硬件抽象层(Hardware Abstract Layer,HAL)或板级支持包(Board Support Package,BSP),它将系统上层软件与底层硬件分离开来,使系统的底层驱动程序与硬件无关,上层软件开发人员无需关心底层硬件的具体情况,根据BSP 层提供的接口即可进行开发。该层一般包含相关底层硬件的初始化、数据的输入/输出操作和硬件设备的配置功能。BSP具有以下两个特点。 硬件相关性:因为嵌入式实时系统的硬件环境具有应用相关性,而作为上层软 件与硬件平台之间的接口,BSP需要为操作系统提供操作和控制具体硬件的方法。 操作系统相关性:不同的操作系统具有各自的软件层次结构,因此,不同的操作系统具有特定的硬件接口形式。 实际上,BSP是一个介于操作系统和底层硬件之间的软件层次,包括了系统中大部分与硬件联系紧密的软件模块。设计一个完整的BSP需要完成两部分工作:嵌入式系统的硬件初始化以及BSP功能,设计硬件相关的设备驱动。