ccs里这个错误是什么意思?

[复制链接]
3840|5
 楼主| silverag 发表于 2007-4-29 15:30 | 显示全部楼层 |阅读模式
ccs, ge, AD, AC, tc
大哥们,帮我看看<br /><br />Trouble&nbsp;running&nbsp;Target&nbsp;CPU:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Access&nbsp;to&nbsp;Reserved&nbsp;memory&nbsp;at&nbsp;Addr:0x00fffe&nbsp;Page:1<br />Can't&nbsp;Run&nbsp;Target&nbsp;CPU:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Access&nbsp;to&nbsp;Reserved&nbsp;memory&nbsp;at&nbsp;Addr:0x00ffff&nbsp;Page:1<br /><br /><br />while(!feof(fp1))<br />&nbsp;&nbsp;&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;fread(buf+i,1,1,fp1);//读入内存<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;i++;<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br />以上程序怎么错了,好像内存老是出错?<br /><br />Trouble&nbsp;running&nbsp;Target&nbsp;CPU:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Access&nbsp;to&nbsp;Reserved&nbsp;memory&nbsp;at&nbsp;Addr:0x00fffe&nbsp;Page:1<br />Can't&nbsp;Run&nbsp;Target&nbsp;CPU:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Access&nbsp;to&nbsp;Reserved&nbsp;memory&nbsp;at&nbsp;Addr:0x00ffff&nbsp;Page:1<br />
 楼主| silverag 发表于 2007-4-29 16:22 | 显示全部楼层

源文件

#include&nbsp;&quot;stdio.h&quot;<br /><br />main()<br />{<br />&nbsp;&nbsp;&nbsp;&nbsp;int&nbsp;i=0;<br />&nbsp;&nbsp;&nbsp;&nbsp;long&nbsp;filelength1&nbsp;=&nbsp;0;<br />&nbsp;&nbsp;&nbsp;&nbsp;FILE*fp1,*fp2;<br />&nbsp;&nbsp;&nbsp;&nbsp;unsigned&nbsp;char&nbsp;*buf;/*定义一个文件指针*/<br />&nbsp;&nbsp;&nbsp;&nbsp;fp1&nbsp;=&nbsp;fopen(&quot;c:\\1.txt&quot;,&quot;rb+&quot;)&nbsp;;//打开源文件<br />&nbsp;&nbsp;&nbsp;&nbsp;fp2&nbsp;=fopen(&quot;c:\\cpy.txt&quot;,&quot;wb+&quot;);//创建目标文件<br />&nbsp;&nbsp;&nbsp;&nbsp;if(fp1&nbsp;==&nbsp;NULL)<br />&nbsp;&nbsp;&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;puts(&quot;open&nbsp;&nbsp;&nbsp;file&nbsp;&nbsp;&nbsp;txt&nbsp;&nbsp;&nbsp;error!&quot;);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;exit(1)&nbsp;&nbsp;&nbsp;;<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;puts(&quot;open&nbsp;file&nbsp;success&quot;);<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;fseek(fp1,0,SEEK_END);<br />&nbsp;&nbsp;&nbsp;&nbsp;filelength1&nbsp;=&nbsp;ftell(fp1);&nbsp;//返回源文件大小<br />&nbsp;&nbsp;&nbsp;&nbsp;buf=(unsigned&nbsp;char&nbsp;*)malloc(filelength1);//创建内存<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;fseek(fp1,0,SEEK_SET);<br />&nbsp;&nbsp;&nbsp;&nbsp;<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;fread(buf,1,filelength1,fp1);//读入内存<br />&nbsp;&nbsp;&nbsp;&nbsp;fwrite(buf,1,filelength1,fp2);//写入目标文件<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;free(buf);//释放内存<br />&nbsp;&nbsp;&nbsp;&nbsp;fclose(fp1);&nbsp;//关闭打开的文件<br />&nbsp;&nbsp;&nbsp;&nbsp;fclose(fp2);<br />&nbsp;&nbsp;&nbsp;&nbsp;exit(1);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />}&nbsp;<br /><br /><br />大家,我把源程序贴出来<br /><br />大哥们帮我看看<br />在CCS2的环境下,为什么只能很小文件的复制,稍微多几行字的文本根本都复制不了<br />究竟是什么原因?<br />内存出现什么问题呢?<br /><br />不好意思,是新手,希望大家能帮帮我,谢谢了
wowow 发表于 2007-5-6 10:45 | 显示全部楼层

查一下HEAP的大小

malloc和文件读写操作都要使用HEAP(文件读写模块是要开缓冲区的)。查一下HEAP是不是分配的不够。<br /><br />另外文件读写操作是不能脱离CCS运行的,除非你自己改写了这些函数。实际中一般很少用,一般用来读PC机上的文件写入到flash中去,也只是读一段写一段,一般不会一次全读。其它还没碰到需要用它的地方。加载测试数据或保存ram内容一般是用菜单命令,不用增加代码和内存的消耗。
wowow 发表于 2007-5-9 00:42 | 显示全部楼层

菜单里有的

开发DSP目的一般都是所谓的嵌入式应用,最终产品不可能挂个仿真器跟PC联着吧?文件操作类的函数只能在ccs环境+仿真器使用,你想没了这些环境,上哪去打开文件去?当然也有比较高深的做法可以改写库函数,这样file就不是PC机上的文件了,这些我也不太懂。<br /><br />仿真时如果有大块数据要加载到RAM中,或有数据要保存为文件,用File/Data下的Load/save。文件格式在帮助里搜&quot;Data&nbsp;File&nbsp;Formats&quot;<br /><br />另外Tools/Port&nbsp;connect可以将一个文件与一个IO口挂在一起,可以向IO口送数据或把IO的输出保存到文件中,详细的请查帮助。<br /><br />
silverAg 发表于 2007-5-9 01:52 | 显示全部楼层

谢谢大哥

谢谢大哥了,我去研究下<br />先把文件转成.DAT文件再LOAD进来是不?我回去弄弄哦<br />谢了大哥
您需要登录后才可以回帖 登录 | 注册

本版积分规则

3

主题

8

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部