SPI Flash在线烧录方案

SPI Flash在线烧录方案
SPI Flash在线烧录方案

SPI Flash在线烧录方案

Flash涨价风波持续发酵,不少厂家选择使用更具性价比的NOR Flash芯片。NOR Flash 具备可靠性强、读取速度快等特性,是中低容量闪存芯片市场的主要产品,但烧录时间长、效率低是一直以来让生产方头疼的问题,该如何提升生产效率呢?

随着高科技电子技术的发展,各类电子产品中对存储器的容量也要求越来越大,从最初的256byte容量到现在128Mbyte,而容量越大意味着使用过程中擦除、烧录时间也越长。

那么问题来了,在使用SPI Flash时,我们都采用什么烧录方式的呢?一般情况,我们都采用烧录工具(如编程器),将待烧录文件烧写到芯片中,再贴板运行。但对于在调试阶段,或者一些需要先贴板后烧录工序的产线,又应该如何烧录?在调试阶段,对小容量来说,我们可以通过主控芯片编写驱动程序,直接将二进制代码写到Flash上调试,或者将芯片焊下,通过第三方工具烧录后再贴板运行,两种方式效率都不高。

ISP(In System Programming)在系统可编程,指电路板上的空白器件可以变成写入最终用户代码,而不需要从电路板上取下器件,已经编程的器件也可以用ISP方式擦除或再编程。这一技术对处于研发阶段的优势在于,为工程师提供一种无需焊取芯片即可对Flash 里的数据更新、调试,节省流程和时间,也有利于保护芯片和电路板;在量产阶段,对于一些需要先“贴板后烧录“流程的产品,用户只需要在电路板上留下相应的编程接口,ISP在线烧录就可以对贴板后的器件进行烧录和更新。这不仅极大的方便客户产线需求,也能省下烧录夹具的成本。

目前,绝大多数的MCU厂家都提供在线烧录工具,如我们非常熟悉的STC-ISP,J-link 等。

图STC-ISP烧录工具

但对于SPI Flash,却少有工具支持,在使用SPI Flash在线烧录时,用户都需要自己制作烧录工具,这样对项目的二次开发无疑给研发工程师更大的压力,也难以满足产线对烧

录工具的严格要求。

我司的P800isp在线烧录器支持多种协议的在线烧录,包括JTAG/SWD/SPI/UART/BDM/C2等,对于SPI协议的SPI Flash烧录,自然也是轻车熟路。P800isp采用标准的20Pin ISP 接口, SPI Flash的接口连线如图所示。

图SPI Flash硬件连接图

P800isp是一款4通道在线编程器,在烧录速度和产能方面,也具有极大的优势。以下是一款ISSI厂家的256Mbit SPI Flash烧录时间表:

图256Mbit SPI在线烧录时间表

ISP在线烧录注意事项

在线烧录相对于离线烧录,还是有很多外部因素影响其烧录的稳定性,这需要我们加以注意。

首先,芯片是贴在电路板上的,板子上的走线及外围器件(如上下拉电阻,大电容)等都有可能会影响编程信号,比如编程接口的下拉电阻会使编程信号电压减少,又如大电容电路中上电瞬间可能会导致过流等等,对于时序要求比较严格的IC来说,更需要注意。

其次,SPI协议是一种短距离传输协议,烧录工具和待烧录板子之间的引线不能过长(尽量在50cm以内),最好使用性能较好的屏蔽线,当线距较长时,需要适当降低SPI频率。

最后,对于有些板子,有可能在上电后,主控MCU已经取得了对待烧录芯片的编程接口的控制,如果此时烧录工具对待烧芯片烧录,则有可能会导致烧录失败,所以烧录时,需要保证主MCU处于复位状态。

小结

ISP烧录方式以其成本较低、不易损坏硬件、编程后可立即进行测试、可随时刷新固件等优势,成为未来烧录的一种新趋势,SPI NOR 在易用性、成本、功耗等方面占较大优势,也是用户经常用的存储介质。

本文介绍了SPI Flash的在线编程方式。对SPI Flash的ISP编程中存在的一些问题进行探讨,最后给出了一种SPI Flash在线编程方案以及需要注意的一些事项。

C语言读写文件操作

C语言读写文件操作 #include #include #include FILE *stream;//, *stream2; FILE *stream2; void main( void ) { int numclosed; char *list; list="这个程序由czw编写"; //试图打开文件data.txt,如果该文件不存在,则自动创建 if( (stream= fopen( "data.txt", "r" )) == NULL ) { printf( "试图打开'data.txt'\n" ); printf( "'data.txt'不存在\n" ); printf( "'data.txt'被创建\n" ); } else printf( "'data.txt'被打开\n" ); //以写入方式打开 if( (stream2 = fopen( "data.txt", "w+" )) == NULL ) printf( "'data.txt'不存在\n" ); else { printf( "'data.txt'成功被打开\n" ); fwrite(list,strlen(list),30,stream2); printf("写入数据成功\n"); } //如果文件data.txt存在,就会打开成功,则stream!=NULL,这时就关闭stream if (stream!=NULL) if( fclose( stream) ) printf( "文件流 stream 被关闭\n" ); //关闭所有打开的文件流,返回关闭的文件流个数 numclosed = _fcloseall( );

JToolpad代码生成工具使用说明文档

JToolpad代码生成工具使用说明文档 本文档是使大家能正确使用JToolpad工具,从而缩短开发时间,简化开发流程,生成规范且正确的代码。 1.打开JToolpad 如果本机有此工具则在开始菜单->所有程序中打开即可,若本机没有此程序,则可在局域网内找到,http://192.168.60.21/jtoolpad/ 点击链接即可打开工具。主界面如下:

打开已经编译好的pdm文件,即可导入数据结构

3配置属性 选择菜单中的模型选项,打开属性即可弹出如下对话框 1.应用代码:暂时无具体意义 2.Sysframework基本包名:是工具包的存放路径,随项目变化会相应的发生变化 3.应用基准包名:是具体的应用包的名称,比如上面的这个包platfrom下就会是具体的dto, web,service等 4.Java源代码目录:是具体的Java代码存放位置,此相必须指向component文件夹,在 component文件夹下就是相应的应用基准包名目录,如:component\com\ chinainsurance\application\platform\..... 5.Web应用根目录:是具体的web发布页面的存放位置,此项必须指向webapps文件夹, 在此文件夹下是具体的web发布路径。 配置好以上路径后确定即可。 注意:此项路径必须指向实际开发路径不能指向临时文件夹或备份文件夹。应为部分代码的生成是基于某些已经存在的文件而生成的,这点切记! 4生成代码方法 生成代码有两种方式: 第一种就是选择所需要的一个或多个表生成部分文件:方法是打开Tables的下来菜单,选中需要的一个或多个,在选中的这些表上点击右键,选择要生成的部分即可。

C#中的文件读写操作详解

C#中的文件读写操作详解(摘自互动维客:https://www.360docs.net/doc/d610326441.html,,更多内容 请访问互动维客!) C#中的文件操作详解 微软的.Net框架为我们提供了基于流的I/O操作方式,这样就大大简化了开发者的工作。因为我们可以对一系列的通用对象进行操作,而不必关心该I/O操作是和本机的文件有关还是和网络中的数据有关。.Net框架主要为我们提供了一个System.IO命名空间,该命名空间基本包含了所有和I/O操作相关的类。 本文将向大家介绍一些基本的文件操作方法,包括对文件系统中的目录和文件的操作,还有就是文件的读写操作等。通过运用System.IO.DirectoryInfo类和System.IO.FileInfo类我们可以轻易的完成与目录和文件相关的操作,而通过运用System.IO.StreamReader类和System.IO.StreamWriter类我们可以方便的完成与文件的读写相关的操作。 命名空间概览 下面的表格显示了System.IO命名空间中最重要的一些类,通过运用这些类我们就能完成基本的文件操作。 表1 类名功能和用途 BinaryReader、BinaryWriter 读写二进制数据 Directory、File、DirectoryInfo以及FileInfo 创建、删除并移动目录和文件,通过属性获取特定目录和文件的相关信息 FileStream 以随机方式访问文件 MemoryStream 访问存储在内存中的数据 StreamReader 、StreamWriter 读写文本数据信息 StringReader、StringWriter 运用字符串缓冲读写文本数据信息 运用DirectoryInfo类和FileInfo类 DirectoryInfo类和FileInfo类的基类都是FileSystemInfo类,这个类是一个抽象类,也就是说你不可以实例化该类,只能通过继承产生其子类并实例化其子类。然而你却可以运用由该类定义的各种属性,下面的表格显示了该类已经定义了的各种属性。 表2 属性功能和用途

架位号编码解析工具使用说明书

馆藏架位号批量更新工具V1.0 使用说明书 大连网信软件有限公司

目录 一、软件介绍 (1) 1、软件简介 (1) 2、运行环境 (1) 二、软件配置 (1) 此程序运行时需要访问数据库,因此需要首先正确配置数据库连接才能正常使用。 (1) 1、数据库连接配置 (1) 2、规则表维护 (2) 3、字典表维护 (2) 三、功能说明 (2) 1、导入数据 (2) 2、数据清空 (3) 3、更新至妙思数据库 (3) 4、导出文件 (4) 5、规则维护 (4) 6、字典维护 (5) 7、日志记录 (6) 四、常见问题 (6) 1、如何手工修改,或录入规范有效的导入文档 (6) 2、如何替换文本文档中的制表符 (6)

一、软件介绍 1、软件简介 随着RFID技术在图书馆的应用,使得图书馆馆藏图书的物理位置的揭示成为可能,本软件通过于图书盘点仪器输出的文本文件进行批量处理,获取某复本的条形码及对应的物理架位信息,通过本软件更新至妙思文献管理集成系统V6.5的馆藏库,这样读者在WWW检索系统就能检索到该复本的实际物理位置的架位号信息。 2、运行环境 本程序基于.Net Framework4.0开发,运行在Windows XP及更高版本的操作系统。作为妙思文献管理集成系统V6.5的一部分,需要连接妙思文献管理集成系统V6.5数据库配合使用。 二、软件配置 此程序运行时需要访问数据库,因此需要首先正确配置数据库连接才能正常使用。 1、数据库连接配置 1)在程序目录下使用记事本打开“BookShelfCode.exe.config”文件显示如下: 解释: ●Data Source=192.168.0.48; //数据库地址 ●Initial Catalog=顺德学院; //数据库名称 ●User ID=sa; //登录用户名 ●Password=1//登录密码

matlab文件操作及读txt文件(fopen,fseek,fread,fclose

matlab文件操作及读txt文件(fopen,fseek,fread,fclose) matlab文件操作 文件操作是一种重要的输入输出方式,即从数据文件读取数据或将结果写入数据文件。MATLAB提供了一系列低层输入输出函数,专门用于文件操作。 1、文件的打开与关闭 1)打开文件 在读写文件之前,必须先用fopen函数打开或创建文件,并指定对该文件进行的操作方式。fopen函数的调用格式为: fid=fopen(文件名,‘打开方式’) 说明:其中fid用于存储文件句柄值,如果返回的句柄值大于0,则说明文件打开成功。文件名用字符串形式,表示待打开的数据文件。常见的打开方式如下:λ‘r’:只读方式打开文件(默认的方式),该文件必须已存在。 ‘r+’:读写方式打开文件,打开后先读后写。该文件必须已存在。λ λ‘w’:打开后写入数据。该文件已存在则更新;不存在则创建。 ‘w+’:读写方式打开文件。先读后写。该文件已存在则更新;不存在则创建。λ λ‘a’:在打开的文件末端添加数据。文件不存在则创建。 λ‘a+’:打开文件后,先读入数据再添加数据。文件不存在则创建。 另外,在这些字符串后添加一个“t”,如‘rt’或‘wt+’,则将该文件以文本方式打开;如果添加的是“b”,则以二进制格式打开,这也是fopen函数默认的打开方式。

2)关闭文件 文件在进行完读、写等操作后,应及时关闭,以免数据丢失。关闭文件用fclose 函数,调用格式为: sta=fclose(fid) 说明:该函数关闭fid所表示的文件。sta表示关闭文件操作的返回代码,若关闭成功,返回0,否则返回-1。如果要关闭所有已打开的文件用fclose(‘all’)。 2、二进制文件的读写操作 1)写二进制文件 fwrite函数按照指定的数据精度将矩阵中的元素写入到文件中。其调用格式为:COUNT=fwrite(fid,A,precision) 说明:其中COUNT返回所写的数据元素个数(可缺省),fid为文件句柄,A用来存放写入文件的数据,precision代表数据精度,常用的数据精度有:char、uchar、int、long、float、double等。缺省数据精度为uchar,即无符号字符格式。 例6.8 将一个二进制矩阵存入磁盘文件中。 >> a=[1 2 3 4 5 6 7 8 9]; >> fid=fopen('d:\test.bin','wb') %以二进制数据写入方式打开文件 fid =3 %其值大于0,表示打开成功 >> fwrite(fid,a,'double') ans = 9 %表示写入了9个数据 >> fclose(fid)

Matlab的各种数据读取、文件读写等操作汇总

Matlab 的各种数据读取、文件读写等操作汇总 MATLAB 提供了多种方式从磁盘读入文件或将数据输入到工作空间,即读取数据,又叫导入数据;将工作空间的变量存储到磁盘文件中称为存写数据,又叫导出数据。至于选择哪种机制,则根据下面两个因素决定:?用户所执行的 操作是导入数据还是导出数据;?数据的格式为文本格式、 二进制格式还是如HDF 之类的标准格式。将数据导入MATLAB 中最容易的方法就是使用导入数据模板(Import Wizard) ,使用该模板时不需要知道数据的格式,只需指定包含这些数据的文件,然后导入模板会自动处理文件内容。本章重点内容如下:? 文件的打开和关闭? 文本文件的读取?存写ASCII数据?二进制数据的读取? 二进制数据的存写? 使用I/O文件函数进行数据读写?MAT 文件的读写 2.1 文件的打开和关闭2.1.1 文件的打开无论是要读写ASCII 码文件还是二进制文件,都必须先用fopen 函数将其打开,在默认情况下,fopen 以二进制格式打开文件,它的使用语法如下:fopen ('filename', 'mode') 其中filename 表示要读写的文件名称,mode 则表示要对文件进行的处理方式,如下:rt :以只读方式(Reading)打开文件wt:以只写方式(Writing)打开文件at:以追加方式(Appending)打开文件,新内容将从原文件后面续写r+t:以同时读写方式打开文件w+t :以同时读写创建文件,原文件内容被清除

a+t :以同时读和追加(Reading and Appdending) 方式,原文件内容被保留,新内容将从原文件的后面开始At :以读写方式打开或创建文件,适用于对磁带介质文件的操作Wt :以写入方式打 开或创建文件,原文件内容被清除,适用于磁带介质文件的操作fopen 函数有两个返回值,一个是返回一个文件标志(file Identifier) ,它会作为参数被传入其他对文件进行读写操作的命令,通常是一个非负的整数,可用此标识来对此文件进行各种处理。如果返回的文件标识是-1,则代表fopen无法打开文件,其原因可能是文件不存在,或是用户无法打开此文件权限。另一个返回值就是message ,用于返回无法打开文件的原因。为了安全起见,最好在每次使用fopen 函数时,都测试其返回值是否为有效值。下面以脚本m 文件为例来声明文件的打开。例 2-1 %exam1.m[f,message]=fopen('fileexam1', 'r')if f==-1disp (message); % 显示错误信息end 若文件fileexam1 不存在,则显示如下信息。Cannot open file.existence?permissions?memory?... 例2-2 %exam2.m[f,message]=fopen('fileexam2', 'r');if f==-1disp (message); % 显示错误信息else disp(f);end 若文件fileexam2 存在,则返回f值。 2.1.2 文件的关闭一旦完成文件的读写,最好关闭文件,以便对其进行其他操作。这时就可以使用fclose 函数来关闭文件,其适用语法如下:fclose(f) 。其中 f 为打开文件的标志,若fclose 函数返回值为0 ,则表示成功关闭 f 标志的文件;若返回值为-1,

pksqs工具使用说明

Pksqs工具(1.3.5.2) 使用说明 (2) 安装或升级 (2) 卸载 (3) 1、字段分割 (3) 2、栅格提取 (4) 3、栅格裁切 (5) 4、小班编号 (6) 5、导出Excel (7) 6、挂接Excel (8) 7、属性拷贝 (8) 8、底图切割 (9) 9、细碎小班 (10) 10、新建字段 (10) 11、提取界线 (11) 关于 (12)

使用说明 Pksqs工具是一个提高效率的arcgis插件,支持arcgis10及以上arcmap产品,不支持9.3,10.1版本性能较为稳定,速度较快(安装包有10.1版本和10版本两个安装文件,10.1及以上建议使用10.1版本,10建议使用10版本);使用前请先查看使用说明和备份数据,mdb或gdb数据最好先导出为shp格式;电脑最好安装Microsoft .NET Framework 4版本。 安装或升级 双击安装,安装后打开gis,在自定义中打开自定义模式,勾选pksqs工具。 勾选

卸载 选中点击上图删除此加载项就可以了。 1、字段分割 适用于矢量图层按照字段分割成图斑。 注意:开始后请稍等一段时间,分割时间取决于图层图斑数量。请先将图层导入arcgis后打开此插件,选择图层。

2、栅格提取 适用于栅格按照提取范围的大小批量提取栅格数据,例如批量地形图裁边。 注意:栅格文件应该是配准后文件,提取范围栅格文件应该具有相同的坐标系,提取范围和栅格文件应该命名相同,忽略大小写,忽略文件名。提取范围可为任意形状图斑图层文件,裁切范围可为栅格文件,开始后会出现进度,以进度完成提示为准;栅格提取过程需要调用Spatial Analyst 部分内容,请确保自定义菜单,扩展模块中勾选。 可选择配准后的地形图文件夹。 提取范围可使用字段分割工具,先按照字段分割,作为栅格提取范围。 匹配个数

Java流(文件读写操作)

Java流 一、流的分类 ?按数据流动方向 –输入流:只能从中读取字节数据,而不能向其写出数据 –输出流:只能向其写入字节数据,而不能从中读取数据?按照流所处理的数据类型 –字节流:用于处理字节数据。 –字符流:用于处理Unicode字符数据。 ?按照流所处理的源 –节点流:从/向一个特定的IO设备读/写数据的流。(低级流)–处理流:对已存在的流进行连接和封装的流。(高级流)二、缓冲流 ?缓冲流要“套接”在相应的节点流之上,对读写的数据提供了缓冲的功能,提高了读写的效率,同时增加了一些新的方法。 ?J2SDK提供了四种缓存流: –BufferedReader –BufferedWriter –BufferedInputStream s –BufferedOutputStream

?缓冲输入流支持其父类的mark()和reset()方法: –mark()用于“标记”当前位置,就像加入了一个书签,可以使用reset()方法返回这个标记重新读取数据。?BufferedReader提供了readLine()方法用于读取一行字符串(以\r 或\n分隔)。 ?BufferedWriter提供了newLine()用于写入一个行分隔符。 ?对于输出的缓冲流,写出的数据会先在内存中缓存,使用flush()方法将会使内存中的数据立刻写出。 三、类层次 3.1、InputStream类层次

3.2、OutputStream类层次 3.3、Reader类层次

3.4、Writer类层次 四、常用的字符流与字节流的转化 说明: 1.字节流用于读写诸如图像数据之类的原始字节流。 2.字符流用于读写诸如文件数据之类的字符流。 3.低级流能和外设交流。 4.高级流能提高效率。 5.InputStreamReader 是字节流通向字符流的桥梁。 6.OutputStreamWriter 是字符流通向字节流的桥梁。

配置代码和软件代码写入到配置芯片的方法

使用Nios II Flash Programmer下载后无法从EPCS启动的问题集中在以下版本:9.0SP2 、9.1、9.1SP2 、11.0 究其根本,就是这几个版本的Series Flash Leader有Bug。其中11.0,无法在下载jic时,擦除EPCS。 解决方法sof+elf>flash>hex>jic 经Edison指点,得知alteraforum上有前辈给出解决方法。看似简单,疗效却比较好。 在所在QII工程文件夹中,新建一个文件夹。此处以sof+elf_jic为例; 将QII工程和NII工程编译生成的sof和elf都拷贝到此文件夹内; 按如下格式,新建一个sh文件,此处命名为make_hex.sh;(sh文件,bash的批处理文件;类似于DOC的bat文件) Code: sof="DE0_Nano.sof" elf="DE0_Nano.elf" echo "sof>flash ..."; sof2flash --epcs --input=$sof --output=hw.flash --quiet echo "elf>flash ..."; elf2flash --epcs --after=hw.flash --input=$elf --output=sw.flash echo "cat flash ..."; cp hw.flash hw_sw.flash; cat sw.flash >> hw_sw.flash echo "flash>hex ..."; nios2-elf-objcopy --input-target srec --output-target ihex hw_sw.flash hw_sw.hex echo "del flash ..."; rm -f *.flash // 修改第1~2行处所指的文件名,保存。打开开始>程序>Altera>Nios II EDS xx.x>Nios II xx.x Command Shell,此处以Nios II 10.1 Command Shell做示范(图1)。

MFC-txt文件读写

文本文件的读写 正确的文本文件读写过程 1.定义文件变量; 2.打开指定的文件; 3.向从文本文件中写入信息; 4.从文本文件中读取信息; 5.关闭文件 1、定义文件变量 定义文件变量格式:CStdioFile 文件变量; 例如,定义一个名称为f1的文件变量,语句如下:CStdioFile f1; 2、打开指定文件 可以直接通过CStdioFile的构造函数来打开磁盘文件,同时可以用标志位指定打开方式(只读、只写、读写等): CStdioFile(LPCTSTR lpszFileName,UINT nOpenFlags); 其中,lpszFileName表示要打开的文件名,可以是相对路径或绝对路径 nOpenFlags设置文件打开方式标志位,可以指定用“|”连接多个标志位。下面是常用的打开标志: CFile::typeText:以文本文件的形式打开文件 CFile::typeBinary:以二进制文件的形式打开文件 CFile::modeCreate:如果指定文件名的文件不存在,则新建文件;如果文件存在并且没有设置CFile::modeNoTruncate标志,则清空文件。 CFile::modeNoTruncate:如果文件存在,不把它的长度删除为0(即不清空文件中的数据)。

:以只读方式打开文件 CFile::modeReadWrite:以可读可写方式打开文件 CFile::modeWrite:以只写方式打开文件 CFile::shareDenyNone:文件打开后,不禁止其他进程对文件的读写操作CFile::shareExclusive:文件打开后,禁止其他进程对文件的读写操作CFile::shareDenyRead:文件打开后,禁止其他进程对文件的读操作

搜索配置工具使用说明

搜索配置工具使用说明 1.网络设备搜索 网络设备搜索用于发现与软件运行PC同一个子网内的在线设备,工具软件还可以对搜索出的设备的基本信息进行修改。工具软件开始运行时如图1-1所示 图1-1 1.1修改端口 用户选择一个在线设备后,其各项信息会显示在图1-1中在线列表的下方,用户可以对端口进行修改。 1.2批量修改IP 当用户在在线列表中勾选多个设备后,输入起始IP、子网掩码、DNS、网关,点击批量修改IP,可以对多个设备自动修改IP地址。 1.3导出设备信息 该功能是将在线列表中的所有设备信息以CSV格式文件导出。 1.4恢复密码 (1).用户首先获得设备ID和运行时长 (2).拨打400电话获得加密字符串 (3).一小时内将加密字符串输入到密码追回框中,进行密码恢复 1.5重启设备 对当前选中的设备进行重启,不支持批量。 1.6写入文件 如果勾选了写入文件,该软件所产生的日志信息将会以文本形式记录到C盘下 2.参数配置 该配置页包含前端设备参数、通道参数、常用设置、保存配置文件、网络测试、格式化磁盘、清理插件功能。 在每项参数设置中都有“保存至模板”复选框,如果勾选“保存至模板”,当点击“保存模板”按钮时,可以将“常用参数配置”的数据保存到配置文件中,不勾选“保存至模板”

不对其进行保存。 界面如图2-1所示 图2-1 2.1前端参数配置 (1).打开参数配置页,默认进入前端参数配置 (2).右击设备树,点击“登录”按钮登陆设备,登录后设备树会有相应颜色变化(成功:绿色,失败:红色,超时:蓝色) (3)在面板右侧选择设备类型IPC或者球机 (4).用户可以在“常用参数配置”中对设备进行控制 (5).点击“保存参数”,会将数据配置到设备 (6).勾选“显示码率帧率”,视频会叠加当前的码率和帧率 2.2 通道参数配置,界面如图2-2所示 (1).在字符叠加配置中,用户可以选择叠加通道名称和叠加通道时间,点击“保存参数”时,会进行相应的叠加。 (2).在音视频参数配置中,可以对设备的音视频参数进行设置,视频默认连接的是主码流,音视频参数模块的主副码流单纯的只是配置参数,与IE相对应,具体设置项见图2-2。(3).录像参数配置中,用户可以设置设备的录像时间模板,具体设置项见图2-2。

C语言文件操作之文件的读写[1]

C语言文件操作之----文件的读写 当文件按指定的工作方式打开以后,就可以执行对文件的读和写。下面按文件的性质分类进行操作。针对文本文件和二进制文件的不同性质,对文本文件来说,可按字符读写或按字符串读写;对二进制文件来说,可进行成块的读写或格式化的读写。 1. 读写字符 C提供fgetc和fputc函数对文本文件进行字符的读写,其函数的原型存于stdio.h头文件中,格式为: int fgetc(FILE *stream) fgetc( )函数从输入流的当前位置返回一个字符,并将文件指针指示器移到下一个字符处,如果已到文件尾,函数返回EOF,此时表示本次操作结束,若读写文件完成,则应关闭文件。 int fputc(int ch,FILE *stream) fputc()函数完成将字符c h的值写入所指定的流文件的当前位置处,并将文件指针后移一位。fputc()函数的返回值是所写入字符的值,出错时返回EOF。 [例8-2] 将存放于磁盘的指定文本文件按读写字符方式逐个地从文件读出,然后再将其显示到屏幕上。采用带参数的main( ),指定的磁盘文件名由命令行方式通过键盘给定。 #i nclude main(argc,argv)

int argc; char *argv[]; { char ch; FILE *fp; int i; if((fp=fopen(argv[1],"r"))==NULL) /* 打开一个由argv[1]所指的文件*/ { printf("not open"); exit(0); } while ((ch=fgetc(fp))!=EOF) /* 从文件读一字符,显示到屏幕*/ putchar(ch); fclose(fp); } 程序是一带参数的main( )函数,要求以命令行方式运行,其参数argc是用于记录输入参数的个数,argv是指针数组,用于存放输入参数的字符串,串的个数由argc描述。假设我们指定读取的文件名为L8-2.c,并且列表文件内容就是源程序。经过编译和连接生成可执行的文件L8-2.exe。运行程序l8-2.exe,输入的命令行方式为:c:\tc>l8-2 L8-2.c

(完整版)fortran文件操作

fortran文件操作 From: 《Fortran 95 程序设计》彭国伦 1.文件读取的概念: 读取:“顺序读取”和“直接读取”。 保存:“文本文件”和“二进制文件”。 二进制文件:读取快,因为保存格式和数据在内存中的保存方法一样,同时也节省空间。 ---------------------------------- 2. 文件的操作: ---------------------------------- open的使用:使用open命令打开文件之后,就可以对文件来做输入输出。 example: program ex0901 impicit none open(unit=10, file='hello.txt') ! 打开hello.txt文件, unit指定文件代码,file 指定文件名称。 write(10, *) "hello" !在代码为10的文件中写入hello stop end program ex0901 open中有很多参数可以使用,详细如下: OPEN(UNIT=number, FILE='filename', FORM='...', STATUS='...', ACCESS='...', RECL=length, ERR=label, IOSTAT=iostat, BLANK='...', POSITION='...', ACTION=action, PAD='...', DELIM='...') UNIT='number': number必须是一个正整数,它可以使用变量或是常量来赋值。number最好避开1,2,5,6。因为2,6是默认的输出位置,也就是屏幕。1,5则是默认的输入位置,键盘。 FILE='filename':指定要打开的文件名称,文件名要符合系统规定。windows下不区分大小写,unix下则会区分大小写,最好不要使用中文文件名。 FORM='FORMATTED' OR 'UNFORMATTED' FORM字段只有两个值可以设置: FORM='FORMATTED' “文本文件”格式来保存 FORM='UNFORMATTED' “二进制文件”格式保存 这一栏不给定时候的默认值是: FORM='FORMATTED' STATUS='NEW' or 'OLD' or 'SCRATCH' or 'UNKNOWN' 用来说明打开一个新的文件或已经存在的旧文件。 STATUS='NEW' 打开一个原本不存在的新文件 STATUS='OLD' 打开一个原来已经存在的文件 STATUS='REPLACE' 若文件已经存在则重新创建一次,原来的内容消失;若不存在则会创建新文件。 STATUS='SCRATCH' 表示要打开一个暂存文盘,这个时候可以不需要指定文件名称,也就是FILE这个一栏可以忽略。因为程序本身会自动取一个文件名,至于文件名是啥也不重要,因为暂存盘会在程序结束后自动删除。 STATUS='UNKNOWN' 由各编译器自定义。通常会同REPLACE的效果。 !这一栏不给定时,默认为STATUS='UNKNOWN'。 ACCESS='SEQUENTIAL' or 'DIRECT' 设置读写文件的方法:

SecureCRT工具使用说明书

SecureCRT工具使用说明 1.背景及相关概念 SecureCRT是一款支持SSH(SSH1和SSH2)的终端仿真程序,同时支持Telnet 和rlogin协议。SecureCRT是一款用于连接运行包括Windows、UNIX和VMS的远程系统的理想工具。通过使用内含的VCP命令行程序可以进行加密文件的传输。有流行CRTTelnet客户机的所有特点,包括:自动注册、对不同主机保持不同的特性、打印功能、颜色设置、可变屏幕尺寸、用户定义的键位图和优良的VT100,VT102,VT220和ANSI竞争。能从命令行中运行或从浏览器中运行.其它特点包括文本手稿、易于使用的工具条、用户的键位图编辑器、可定制的ANSI颜色等.SecureCRT的SSH协议支持DES,3DES和RC4密码和密码与RSA鉴别。 SSH的英文全称是Secure Shell。传统的网络服务程序,如:ftp和telnet 在本质上都是不安全的,因为它们在网络上用明文传送口令和数据别有用心的人非常容易就可以截获这些口令和数据。而通过使用SSH客户端与服务器端通讯时,用户名及口令均进行了加密,有效防止了对口令的窃听。同时通过SSH的数据传输是经过压缩的,所以可以提高数据的传输速度,既然如此我们为什么不使用它呢。SSH是由客户端和服务端的软件组成的,有两个不兼容的版本分别是:1.x 和 2.x。至于具体如何安装服务器端,普通用户就不需要关心了。 2.基本设置 为了SecureCRT用起来更方便,需要做一些设置,需要修改的有如下几处: A.退出主机自动关闭窗口 Options => Global ptions => General => Default Session => Edit Default Settings...

Java 对文件读写操作

Java 对文件进行读写操作的例子很多,让初学者感到十分困惑,我觉得有必要将各种方法进行 一次分析,归类,理清不同方法之间的异同点。 一.在JDK 1.0 中,通常是用InputStream & OutputStream 这两个基类来进行读写操作的。InputStream 中的FileInputStream 类似一个文件句柄,通过它来对文件进行操作,类似的,在 OutputStream 中我们有FileOutputStream 这个对象。 用FileInputStream 来读取数据的常用方法是: FileInputStream fstream = new FileInputStream(args[0]); DataInputStream in = new DataInputStream(fstream); 用in.readLine() 来得到数据,然后用in.close() 关闭输入流。 完整代码见Example 1。 用FileOutputStream 来写入数据的常用方法是: FileOutputStream out out = new FileOutputStream("myfile.txt"); PrintStream p = new PrintStream( out ); 用p.println() 来写入数据,然后用p.close() 关闭输入。 完整代码见Example 2。 二.在JDK 1.1中,支持两个新的对象Reader & Writer,它们只能用来对文本文件进行操作,而 JDK1.1中的InputStream & OutputStream 可以对文本文件或二进制文件进行操作。 用FileReader 来读取文件的常用方法是: FileReader fr = new FileReader("mydata.txt"); BufferedReader br = new BufferedReader(fr); 用br.readLing() 来读出数据,然后用br.close() 关闭缓存,用fr.close() 关闭文件。 完整代码见Example 3。 用FileWriter 来写入文件的常用方法是: FileWriter fw = new FileWriter("mydata.txt"); PrintWriter out = new PrintWriter(fw); 在用out.print 或out.println 来往文件中写入数据,out.print 和out.println的唯一区别是后者写 入数据或会自动开一新行。写完后要记得用out.close() 关闭输出,用fw.close() 关闭文件。完整代码见Example 4。 -------------------------------------------------------------- following is the source code of examples------------------------------------------------------ Example 1:

C++ builder 的文件读写操作总结

C++ builder 的文件读写操作总结
在编程的过程中,文件的操作是一个经常用到的问题,在 C++Builder 中,可以 使用多种方法对文件操作,下面我就按以下几个部分对此作详细介绍,就是: 1、基于 C 的文件操作; 2、基于 C++的文件操作; 3、基于 WINAPI 的文件操作; 4、基于 BCB 库的文件操作; 5、特殊文件的操作。 1. 基于 C 的文件操作 在 ANSI C 中,对文件的操作分为两种方式,即流式文件操作和 I/O 文件操 作,下面就分别介绍之。 1)流式文件操作 这种方式的文件操作有一个重要的结构 FILE, FILE 在 stdio.h 中定义如下:
以下是引用片段: 以下是引用片段: typedef struct { int level; /* fill/empty level of buffer */ unsigned flags; /* File status flags */ char fd; /* File descriptor */ unsigned char hold; /* Ungetc char if no buffer */ int bsize; /* Buffer size */ unsigned char _FAR *buffer; /* Data transfer buffer */ unsigned char _FAR *curp; /* Current active pointer */ unsigned istemp; /* Temporary file indicator */ short token; /* Used for validity checking */ } FILE; /* This is the FILE object */ FILE 这个结构包含了文件操作的基本属性,对文件的操作都要通过这个结 构的指针来进行,此种文件操作常用的函数如下: 函数 功能 fopen() 打开流

java文件读写操作

1、按字节读取文件内容 2、按字符读取文件内容 3、按行读取文件内容 4、随机读取文件内容 public class ReadFromFile { /** * 以字节为单位读取文件,常用于读二进制文件,如图片、声音、影像等文件。 */ public static void readFileByBytes(String fileName) { File file = new File(fileName); InputStream in = null; try { System.out.println("以字节为单位读取文件内容,一次读一个字节:"); // 一次读一个字节 in = new FileInputStream(file); int tempbyte; while ((tempbyte = in.read()) != -1) { System.out.write(tempbyte); }

in.close(); } catch (IOException e) { e.printStackTrace(); return; } try { System.out.println("以字节为单位读取文件内容,一次读多个字节:"); // 一次读多个字节 byte[] tempbytes = new byte[100]; int byteread = 0; in = new FileInputStream(fileName); ReadFromFile.showAvailableBytes(in); // 读入多个字节到字节数组中,byteread为一次读入的字节数 while ((byteread = in.read(tempbytes)) != -1) { System.out.write(tempbytes, 0, byteread); } } catch (Exception e1) { e1.printStackTrace(); } finally { if (in != null) { try {

常用测试工具使用说明

A VC-AGC常用测试工具使用说明 编制:余勇强 更新日期:2013年12月7日

目录 (1) 1、IEC104tester (3) 2、PMA商用软件 (10) 3、104SIM (15) 4、SOKIT (25) 5、SpuerCom (27) 6、ModSim32 (29) 7、mod_RSsim(版本:8.20.0.1) (33) 8、ModScan32 (37) 9、COMMIX (42) 10、WINSCT211 (42) 11、Modbus Poll (43) 12、Modbus Slave (46) 13、IEC101-103-104规约分析程序 (48) 14、TransFloat (49) 15、Beyond Compare 3 (49)

由于AVC_AGC调试中遇到的大多数问题都与通信有关,为了方便工程调试,尽可能减少一些不必要的麻烦,我把一些可以方便调试的工具梳理了一下,并把使用方法整理了一下,给大家做一个参考,具体请见正文。 1、IEC104tester IEC104tester是上海华东电科院出品的一个104规约测试工具,它可以模拟主站,也可以模拟子站;同时也可以模拟101规约的主站和子站,101规约和104规约类似。我现在把模拟104规约主站和子站的方法展示出来,以供大家参考。101规约以后会按需添加。 IEC104tester也有一定的局限性,模拟主站时,只能监视,不能手动模拟向下发送报文;模拟子站时也不能手动模拟向下发送报文,同时浮点型遥测数据只有一个固定值和随机变化两种情况可选,不能手动设定一个特定浮点数,但是标度化值和归一化值可以自由设定。 模拟104主站 ○1打开IEC104tester后选择工具栏上的“配置”—“基本特性配置”。 协议类型选择104规约,其中“传送原因(COT)”、“公共地址(ADDR)”和“信息体地址(IOA)”的字节长度需要和子站协商好,一般是“2、2、3”;对端IP地址和端口号也要和子站协商好并正确填写,端口号一般是2404。

汇编中文件的读写

汇怎么读汇编语言实验报告 (七) 班级:01540802班 姓名:南征 学号: 20080705 信息与电子学院 实验七文件的读写 一、实验目的 二、实验要点 磁盘文件的读写有两种方法,一种称为文件控制块;另一种方法称为文件标记,前者在读写文件时首先要设定文件控制块,知名文件所在的当前磁盘的驱动器、文件名,同时还要制定所读写的文件所处的当前块号、当前记录号、记录长度等参量,此外还需要设置磁盘传输区。在读磁盘数据文件时,应先将磁盘上有关数据读入磁盘传输区,然后再传送至目的的内存区。在写磁盘数据文件时,要写入磁盘文件的数据也必须先送入磁盘传输区,然后再执行写操作。此种方法的缺点是不支持树形目录结构。目前常用的方法是利用文件标记读写文件,无论用什么方法读写文件,都要解决以下几个问题: A) 用户程序要告诉操作系统将要存取那个文件。 B) 无论是从磁盘独处的数据,还是要写入磁盘的数据都必须存放在一个制定的内存缓冲区中,这个内存缓冲区叫数据传输区(DTA)。 C) 在读一个磁盘文件之前,要先打开文件,然后才能将文件内容读入内存。而在读写一个文件之前,要先建立一个新文件名,再将内存中的内容写入磁盘。 D) 在存取文件之后,特别是在写入文件之后,务必将此文件关闭。 利用文件标记读写文件的主要特点是: 通过建立文件、打开文件,将磁盘路径名、文件名转换为文件标记或件号,在以后读写文件的操作中均要与文件标记打交道。在一个系统中,可同时打开多个文件,并配置相应的文件标记。在利用文件标记读写磁盘文件是要掌握以下几个要点:

1) 使用建立文件、打开文件系统功能之前,都必须将DS:DX指向驱动器名、路径名、文件名和以数值零为结尾的ASCIIZ字符串的首地址。 2) 对于一个新文件要用3CH系统功能调用,建立文件。(如果不是新文件,此步骤可略) 3) 已存在的文件则利用3DH系统功能调用,打开此文件。 4) 如果文件建立、打开成功,则CF=0,并且在AX寄存器中返回文件标记。 5) 在建立、打开文件成功之后,即可对文件进行读、写操作。如果要对文件进行读操作,则在打开文件之后,用3FH系统功能调用将文件读入数据缓冲区,调用前的入口参数是:文件标记存入BX,读入文件的字节数放入CX,数据缓冲区的起始地址存入DS:DX。调用完毕,AX 返回实际读入的字节数。 6) 读入数据缓冲区的文件,可利用40H系统功能调用将文件写入指定的磁盘。调用入口参数是:文件标记存入BX,要写入的字节数放入CX,DS:DX指向要写入数据缓冲区的首地址。调用结束后AX返回实际写入的字节数。如果AX

相关文档
最新文档