keil uVision3烧写程序时总是弹个某个内存不为“read”,然后就关闭了,其它程序都能正常烧写。就这个不行

昨天刚写的一个关于IIC读写的程序,写好了准备烧写到单片机(C8051F120),在点了“start/stop debug session”按钮后,就弹出某个内存不为“read”,试了N次都这样,没一次成功,甚至有时刚打开这个项目,然后准备把写好的程序的ASM文件打开,也出现同样的错误,我换了其它的项目,没一点问题。我重装了KEIL,也破解了,但还是不行。我快要崩溃了。请高手帮帮忙。
我把程序也贴出来,我的程序到处都是问题,我现在首要解决的是内存不为"read"的问题,程序错误可以暂时不用管,如果是程序的错导致的,希望帮忙改正。还有个问题需要解决,就是在定时器配置处,运行到配置定时器的第一条语句程序就死在那了,后面的根本就不执行了。
程序在这放不下,我放在我空间里。请去看一下。
空间地址:http://hi.baidu.com/vtehjjscyzq/blog/item/ab49913b5c90e1f714cecb71.html

第1个回答  2011-11-17
你好

你说的这种情况,一般都是由 系统软件、内存、硬盘引起的。

1 电脑不心装上了恶意软件,或上网时产生了恶意程序,建议用360 卫士 、金山卫士等软件,清理垃圾,查杀恶意软件,就可能解决。
2 如果不能进入系统,可以开机后 按f8 选 起作用的最后一次正确配置和安全模式,可能可以进入系统。
3 点 开始菜单 运行 输入 cmd 回车,在命令提示符下输入 for %1 in (%windir%\system32\*.dll) do regsvr32.exe /s %1 然后 回车。然后让他运行完,应该就可能解决。
4 最近电脑中毒、安装了不稳定的软件、等,建议全盘杀毒,卸了那个引发问题的软件,重新安装其他 版本,就可能解决. 再不行,重新装过系统就ok.
5 电脑用久了内存坏、买到水货内存、多条内存一起用不兼容等,建议更换内存即可能解决。
6 电脑用久了,硬盘坏,重新分区安装系统可以修复逻辑坏道,还是不行,那就到了该换硬盘的时候了,换个硬盘就可以解决。

硬件方面的问题,如果你不专业,建议拿到电脑店去测试,测试好了讲好价再换。

希望能帮到你!!!
第2个回答  2011-11-17
内存不能为"Read"或"written"(原因以及解决方案):
(【sql1981】原创答案,引用请说明原作者:sql1981,未通知原作者严禁复制本答案!!)
系统出现内存不能为"Read"或"written"的原因:

1、驱动不稳定,与系统不兼容,这最容易出现内存不能为 Read 或者文件保护

2、系统安装了一个或者多个流氓软件,这出现 IE 或者系统崩溃的机会也比较大,也有可能出现文件保护

3、系统加载的程序或者系统正在运行的程序之间有冲突,尤其是部分杀毒软件监控程序

4、系统本身存在漏洞,导致容易受到网络攻击。

5、病毒问题也是主要导致内存不能为 Read、文件保护、Explorer.exe 错误……

6、如果在玩游戏时候出现内存不能为 Read,则很大可能是显卡驱动不适合(这里的不适合有不适合该游戏、不适合电脑的显卡),也有可能是 DX9.0C 版本不够新或者不符合该游戏、显卡驱动

7、部分软件本身自身不足的问题

8、电脑硬件过热,也是导致内存不能为 Read 的原因之一。

9、电脑内存与主板兼容性不好也是导致内存不能为 Read 的致命原因!

提供几种解决方案:
1、一次运行注册所有dll,方法如下:

开始——运行,输入cmd 回车在命令提示符下输入
for %1 in (%windir%\system32\*.dll) do regsvr32.exe /s %1
这个命令你慢慢输,仔细点,输入正确的话会看到飞快地滚屏 否则……否则失败就是没这效果。回车后慢慢等(需要点时间1-2分钟) 都运行完再尝试之前的操作,看还有没有出现不能为read的现象。

2、在控制面板的添加/删除程序中看看你是否安装了微软NET.Framework,如果已经安装了,可以考虑卸载它,当然如果你以后在其它程序需要NET.Framework时候,可以再重新安装。
另外,如果你用的是ATI显卡并且你用的是SP2的补丁(一些ATI的显卡驱动需要在NET.Framework正常工作的环境下)。这种情况你可以找一款不需要NET.Framework支持的ATI显卡驱动。
如果以上两种方法并不能完全解决问题,你试着用一下360安全卫士的的“IE修复”或其他类似软件,并可以查查是否有病毒之类的。〔微软NET.Framework升级到1.1版应该没问题了〕

3、引起这个问题的原因很多。一般来讲就是给系统打上补丁和更换内存、给内存换个插槽这3种方法来解决。[系统补丁只要到Microsoft Update网站在线更新就可以了!追问

注册所有的DLL我试过了的,不过没用,而且我是只有烧写那一个项目时才弹出错误的,其它的项目都没有出现过。

第3个回答  2011-11-17
解决方法:

  通用的比较管用的方法是这个:

  在开始-运行里输入CMD确定,在命令行窗口下输入以下内容后按回车

  for %1 in (%windir%\system32\*.ocx) do regsvr32 /s %1

  完了后,再输入以下内容并回车

  for %1 in (%windir%\system32\*.dll) do regsvr32 /s %1

  这个要好久,耐心等候,但也可能需要重启后整个效果才会出来
第4个回答  2011-11-17
修电脑时,经常碰到这类问题。

先下:【read修复工具】,修复一下,试试!
这是你下载的“游戏软件”与电脑“内存”有冲突
1。游戏或软件带木马或病毒!(杀毒软件,全盘扫描与自定义扫描,重启后,隔离区,彻底删除)
2。游戏或软件与其它游戏有冲突!(同类软件,互不兼容!开始菜单,程序,卸载,只留一个游戏)
3。游戏或软件与其它软件冲突!(如:冲突播放器或某些杀毒软件过于敏感,卸载播放器或杀毒,重装游戏)
4。游戏或软件版本电脑显卡不支持!(下载:驱动人生或驱动精灵,更新显卡驱动)
5。游戏缺少必要的dll文件或游戏补丁!(dll文件,360系统急救箱,dll文件恢复,添加恢复!游戏补丁建议去:官网下载!)
6。游戏或软件带恶评插件!(可以用360安全卫士或金山卫士,或可牛免费杀毒,扫描插件,立即清理)
7。游戏或软件版本,不适合当前系统运行!(开启“兼容模式”或更换游戏版本试试,建议去下载:正规官网游戏!)
8。游戏或软件有bug或错误或带可疑启动木马!(试试:360系统急救箱,系统修复,全选,立即修复!网络修复,开始修复!
再点:开始急救!重启后,点开“文件恢复区”,全选,彻底删除文件)!
9。再不行,开始菜单,运行 ,输入cmd, 回车,在命令提示符下输入(复制即可) :
for %1 in (%windir%\system32\*.ocx) do regsvr32 /s %1
粘贴,回车,再输入:
for %1 in (%windir%\system32\*.dll) do regsvr32.exe /s %1
回车!直到屏幕滚动停止为止,重启电脑!
10。实在不行,还原系统
以上的都试过,问题如果依旧,那么就是硬件的问题了,请用排除法确定某一硬件出问题,及时维修及更换
请采纳, 谢谢!

keil uVision3烧写程序时总是弹个某个内存不为“read”,然后就关闭了...
2。游戏或软件与其它游戏有冲突!(同类软件,互不兼容!开始菜单,程序,卸载,只留一个游戏)3。游戏或软件与其它软件冲突!(如:冲突播放器或某些杀毒软件过于敏感,卸载播放器或杀毒,重装游戏)4。游戏或软件版本电脑显卡不支持!(下载:驱动人生或驱动精灵,更新显卡驱动)5。游戏缺少必要的dll文件...

为何每次关闭keil uvision3后都会出现“0x0055a8cb”指令引用的“0x0000...
1、驱动不稳定,与系统不兼容,这最容易出现内存不能为 Read 或者内存不能“written”文件保护 2、系统安装了一个或者多个流氓软件,这出现 IE 或者系统崩溃的机会也比较大,也有可能出现文件保护 3、系统加载的程序或者系统正在运行的程序之前有冲突,尤其是部分杀毒软件监控程序 4、系统本身存在漏洞,导...

keil uVision3 输入程序时,输入的程序不对齐?
Keil uVision3与uV2相比增加了对更多型号单片机的支持,另外还对一些的方面进行了优化。不过它却优化出一个让人头疼的问题,那就是光标位置显示不正确!这一问题给程序的编写带来了许多不便.不过不用担心,这是有解决办法的。方法是:进入uV3,点【Edit】→【Configuration】→[Colors&Fonts],在[Window]框...

你好!我在用keil(uvision3)版本编译程序时,出现“错误 C249: 'DATA...
内存不足造成的,变量定义的太多,你可以讲部分不更改值得变量前加code,使其在ROM中,腾出一部分空间。

Keil uVision3 能编译多大的代码,我的程序总共700行,编译的时候却老是...
一楼说的对,你的KEIL版本是评估板的,有2K可执行文件大小限制,现在KEIL的版本已经初到UV4了,你去官网下载一个,需要注册,不过是免费注册的,只是定期向你的注册邮箱发一些KEIL产品的最新动态之类的。再去网上下载一个KEIL的UV4注册机就可以破解2K限制了。

单片机 KEIL uvision3 编译时出现下列的错误.
您定义了CODE段的变量,这个变量不能写,当然,也不一定,但可以肯定的是,定义了不合适的变量。把变量的关键值去掉,如code,xdata等。

KEIL uVISION3 运行程序后,显示没有错误,有6个警告。怎么回事?怎么办啊...
这些警告的意思是你有几个函数被主程序和中断程序同时调用了。也就是说主程序中某个函数A跑到一半的时候,来了中断,结果中断中又调用了同样的函数A,如果这个函数不是重入函数,就有可能引起不可预知的错误,虽然从语法角度这样写没什么问题。

在51 Keil uVision3中编程总是用到while(1)是什么意思,怎么放while...
while()是循环语句,填上1就成了死循环,也就是不停的让单片机做while后面的事情,一般都是放在程序的前面 比如while(1){XXXXXXXXXX};

Keil uVision3 调试时出现问题:无法生成.hex文件,请求解答,谢谢!
那是因为你没破解,弄一个注册机,2. 打开uVision4,点击File---License Management...,打开License Management窗口,复制右上角的CID 3. 打开KEIL_Lic.exe注册机, 在CID窗口里填上刚刚复制的CID,其它设置不变 4. 点击Generate生成许可号,复制许可号 5. 将许可号复制到License Management窗口...

keil uvision3在编辑C文件不能显示中文
设置问题,你没有设置文本字体,edit》configuration》colors&font(按照图片设置)

相似回答