wince上怎么ado方式使用sqlce数据库

wince上怎么ado方式使用sqlce数据库,第1张

没有rando函数。只有rand和randn

1.rand()

生成(0,1)区间上均匀分布的随机变量。基本语法:

rand([M,N,P ])

生成排列成MNP 多维向量的随机数。如果只写M,则生成MM矩阵;如果参数为[M,N]可以省略掉方括号。一些例子:

rand(5,1) %生成5个随机数排列的列向量,一般用这种格式

rand(5) %生成5行5列的随机数矩阵

rand([5,4]) %生成一个5行4列的随机数矩阵

生成的随机数大致的分布。

x=rand(100000,1);

hist(x,30);

由此可以看到生成的随机数很符合均匀分布。(视频教程会略提及hist()函数的作用)

2.randn()

生成服从标准正态分布(均值为0,方差为1)的随机数。基本语法和rand()类似。

randn([M,N,P ])

生成排列成MNP 多维向量的随机数。如果只写M,则生成MM矩阵;如果参数为[M,N]可以省略掉方括号。一些例子:

randn(5,1) %生成5个随机数排列的列向量,一般用这种格式

randn(5) %生成5行5列的随机数矩阵

randn([5,4]) %生成一个5行4列的随机数矩阵

3、matlab中random函数——通用函数,求各分布的随机数据,其用法:

y = random('norm',A1,A2,A3,m,n)

式中:A1,A2,A3为分布的参数,m,n用来指定随机数的行和列,name的取值有相关的表格来参照。

例:产生一个3行4列均值为2、标准差为03的正态分布随机数:

>>y =random('norm',2,03,3,4)

y =

21613 22587 18699 28308

25502 20956 21028 15950

13223 16077 30735 29105

选择一款合适的Flash存储器是Windows CE开发中最具有挑战性的内容之一,它不但要求开发人员要具备硬件接口知识,清晰了解Windows CE 下驱动程序的架构,还要具备驱动程序开发的相关知识。

1NOR和NAND Flash综合比较

闪速存储器(Flash Memory)是一种在不加电的情况下能长期保持存储的设备。由于Flash存储器具有存储容量大、掉电数据不丢失以及可多次擦写等许多优点,正逐步取代其他半导体存储器件而广泛应用于嵌入式便携电子产品中。其中NOR Flash和 NAND Flash是目前两种主要的非易失闪存技术。

(1)NOR和NAND Flash的速度比较

NOR Flash存储器的特点是容量较小、写入速度较慢,但它的随机读取速度却很快,而且具有嵌入式应用经常需要的一个功能XIP(eXecute In Place)特性。因此,在WinCE系统中常用于小容量的程序代码的存储。

与NOR相比,NAND闪存的优点是容量大,目前最大容量己经达到8G,因此NAND较适合于存储文件,而且NAND的真正好处是写速度快、擦除时间短。

但NAND的缺点是其读取速度较慢,主要是因为它的I/O端口只有8或16个,要完成地址和数据的传输就必须让这些信号轮流传送。

NAND的优点在于写和擦除 *** 作的速率快,而NOR的优点是具有随机存取和对字节执行写 *** 作的能力。NAND的缺点是随机存取的速率慢,NOR的缺点是受到读和擦除速度慢的制约。显然,NAND在某些方面具有绝对优势。然而,它不太适合于直接随机存取。

(2)硬件接口要求的比较

对于16位的器件来说,NOR闪存大约需要41个I/O引脚,而NAND器件仅需24个引脚。NAND器件能够复用指令、地址和数据总线,从而节省了引脚数量。复用接口的一项好处是在于能够利用同样的硬件设计和电路板,支持较大的NAND器件。因此,NAND器件的一个好处显然是其封装选项:NAND提供一种厚膜的2Gb裸片或能够支持最多四颗堆叠裸片堆叠出一个8Gb的器件。

这个特点对体积要求小型化的便携式移动设备是一个很重要的优势。而且,NAND的复用接口为所有最新的器件和密度都提供了一种相似的引脚输出,这种引脚输出使得设计工程师无须改变电路板的硬件设计,就能从更小的密度移植到更大密度的设计上。这对于要求快速开发的硬件工程师来说是一个很大的便利和福音。

(3)读写 *** 作和编址方式比较

两种Flash具有相同的存储单元,工作原理也一样。如为了缩短存取时间,它们并不是对每个单元进行单独的存取 *** 作,而是对一定数量的存取单元进行集体 *** 作。但它们对读写基本单位的方式是不同的,如NAND Flash各存储单元之间是串联的,而NOR Flash各单元之间是并联的。因此,WinCE系统对NOR Flash *** 作以“字”为基本单位。为了方便对大容量NOR闪存的管理,通常将NOR闪存分成大小为128KB或者64KB的逻辑块,有时候块内还分成扇区。而WinCE系统对NAND Flash *** 作是以“块”为基本单位。

NAND闪存的块比较小,一般是8KB,然后每块又分成页,页的大小一般是512字节。每页存储的数据正好跟硬盘的一个扇区存储的数据相同,这是设计时为了方便与磁盘进行数据交换而特意安排的。这些块类似于硬盘的簇,都是基于扇区(页)的,适合于存储连续的数据,如、音频或个人电脑数据。但也跟硬盘一样,NAND器件会存在坏的扇区,需要纠错码(ECC)来维持数据的完整性。

NOR Flash闪存的数据线和地址线是分开的,而且NOR的每个存储单元是以并联的方式连接到位线,所以NOR可以像SRAM一样连在数据线上,方便对每一位进行随机存取,另外还支持本地执行的XIP,使到WinCE系统可以直接在Flash内部运行。因此,在WinCE系统中经常将NOR芯片做启动芯片使用,这样可以大大简化产品的设计。

而NAND闪存因为共享地址和数据总线的原因,不允许对一个字节甚至一个块进行的数据清空,只能对一个固定大小的区域进行清零 *** 作,而且还需要额外联结一些控制的输入输出。所以,在存放数据时NAND还需要使用算法来实现,这个模块一般是在驱动程序的MTD(Memory Technology Drivers)模块中或在FTLZ (Flash Translation Layer)层内实现。因此,NAND FLASH必须通过驱动程序来进行数据存取,而且具体算法和芯片的生产厂商以及芯片型号有很大的关系。这不但增加了驱动程序开发的难度,而且直接将NAND做启动芯片也比较难。

(4)可靠性和坏块管理的比较

一般来说,NOR闪存的可靠性要高于NAND闪存,这是因为NOR闪存的接口简单,数据 *** 作少,位交换 *** 作少,因而一般用在对可靠性要求高的地方。相反,NAND闪存接口和 *** 作均相对复杂,位交换 *** 作也很多,因而出现差错的几率会大很多,而且坏块是不可避免的,还有坏块都是随机分布的。因此,在使用NAND Flash时意识到有坏块的可能性是非常重要的。为了检测数据的可靠性,在应用NAND Flash的系统中一般都会采用一定的坏区管理策略,而管理坏区的前提是能比较可靠地进行坏区检测。

所以,为防止使用时向坏块写入数据,在编写和开发驱动程序的时候,必须要配合EDC/ECC(错误探测/错误更正)和BBM(坏块管理)等措施来保障数据的可靠性,这就对开发人员的驱动开发能力提出了一个很高的要求。

NAND更适用于复杂的文件应用,但是由于NAND的使用相对复杂,所以对驱动程序的开发能力有较高的要求。NOR闪存是随机存储介质,用于数据量较小的场合;NAND闪存是连续存储介质,适合存放大的数据,但需要驱动程序和坏块管理优化等开发能力。

2在WinCE下如何选择合适的Flash闪存

NAND Flash具有存取速度快、体积小、成本低的特点,适宜作为海量数据的存储设备。但大容量的NAND Flash的实现方案也必须要小心处理动态扇区分配、坏块管理。因此,如何做到“鱼与熊掌,两者兼得”,可以从以下几个角度进行考虑:

(1)从使用目的角度来选择

在选择存储解决方案时,开发人员应该在多种因素之间进行权衡,以获得较高的性价比。一般的原则是:在大容量的多媒体应用中选用NAND闪存,而在数据/程序存贮应用中选用NOR闪存。根据这一原则,设计人员也可以把两种闪存芯片结合起来使用,用NOR芯片存储程序,用NAND芯片存储数据,使两种闪存的优势互补。

对于追求小巧优雅的手机将采用NOR+RAM的设计方案,因为采用支持XIP技术的NOR闪存能够直接运行OS,速度很快,既简化了设计又降低了成本。但NOR闪存的不足之处是存储密度较低,所以在追求大存储容量的时候,我们是采用NAND+RAM的设计。对于这两种方案,很难说哪一种更好,因为我们不能离开具体的产品而从某一个方面单纯地去评价。

如果同时追求功能和速度的手机开发时,则会采用NOR+NAND+RAM的设计,这种取长补短的设计能够发挥NOR和NAND各自的优势。NOR与NAND各有所长,但两种优势无法在一个芯片上得到体现。所以,开发人员在选用Flash时,应该要趋其利而避其害,依照其使用目的在两者之间进行适当的选择。

(2)从硬件接口因素上考虑

除了速度、存储密度的因素,开发人员在选择闪存时,还需要考虑硬件上的接口设计、即插即用设计和驱动程序等诸多问题,因为两种类型的闪存在上述几个方面是有很多的不同。这些差异是与NOR和NAND自身的架构设计所决定的,例如在接口方面,NOR的设计有明显的传统闪存的特征,因此实际应用起来相对于NAND全新的、复杂的I/O设计要容易得多。

(3)从是否具有强大的驱动开发能力上考虑

在WinCE平台的驱动程序方面,NOR器件运行代码不需要任何的软件支持,而在NAND器件上进行同样 *** 作时就需要存储技术驱动程序(MTD)的支持。虽然NAND和NOR器件在进行写入和擦除 *** 作时都需要MTD,但使用NOR器件时所需要的MTD要相对少一些。

一般来说,高效率和经过优化的NAND驱动程序是需要很高的技巧的,开发难度对初入门者也是很大,因为NAND闪存的纠错和坏块处理功能都需要通过驱动程序来实现。还有由于串联的架构,NAND的晶体管之间很容易造成影响,使逻辑0变成逻辑1,并且也很难发现出问题的晶体管,这种现象称为位翻转(Bit-Flipping),这也需要动用EDC/ECC(错误检测码/错误修正码)来进行校正,而这方面的问题NOR则较少出现。

以上就是关于wince上怎么ado方式使用sqlce数据库全部的内容,包括:wince上怎么ado方式使用sqlce数据库、如何给WinCE选择合适的FLASH存储器、等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/sjk/9760070.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-01
下一篇 2023-05-01

发表评论

登录后才能评论

评论列表(0条)

保存