文件0x00000000内存不能为read

0x00000000内存不能为read  时间:2021-01-19  阅读:()

-1-RealviewMDK常见问题及解决方法问题一::::怎样用RealviewRealviewRealviewRealviewMDKMDKMDKMDK生成binbinbinbin文件解决方法::::使用RVCT的fromelf.
exe工具进行转换.
也就是说首先将源文件编译链接成*.
axf的文件,然后使用fromelf.
exe工具将*.
axf格式的文件转换成*.
bin格式的文件.
假设工程文件的名字为Axf_To_Bin,下面将具体说明这个操作步骤:1.
打开Axf_To_Bin文件中的Axf_To_Bin.
uv2工程文件;2.
打开OptionsforTarget'Axf_To_Bin'对话框,选择User标签页;3.
构选RunUserProgramsAfterBuild/Rebuild框中的Run#1多选框,在后边的文本框中输入C:\Keil\ARM\BIN31\fromelf.
exe--bin-o.
/output/Axf_To_Bin.
bin.
/output/Axf_To_Bin.
axf命令行;4.
重新编译文件,在.
/output/文件夹下生成了Axf_To_Bin.
bin文件.
在上面的步骤中,有几点值得注意的是:1.
C:\Keil\ARM\BIN31\表示RVMDK的安装目录;2.
fromelf.
exe命令的具体语法格式如下:命令的格式为:fromelf[options]input_file命令选项如下:--help显示帮助信息--vsn显示版本信息--outputfile输出文件(默认的输出为文本格式)--nodebug在生成的映象中不包含调试信息--nolinkview在生成的映象中不包含段的信息二进制输出格式:--bin生成PlainBinary格式的文件--m32生成Motorola32位十六进制格式的文件--i32生成Intel32位十六进制格式的文件--vhx面向字节的位十六进制格式的文件t--baseaddr设置m32,i32格式文件的基地址--text显示文本信息文本信息的标志-v打印详细信息-a打印数据地址(针对带调试信息的映象)-d打印数据段的内容-e打印表达式表printexceptiontables-f打印消除虚函数的信息-g打印调试表printdebugtables-r打印重定位信息-s打印字符表-t打印字符串表-y打印动态段的内容-z打印代码和数据大小的信息问题二::::怎样在RealviewRealviewRealviewRealviewMDKMDKMDKMDK中添加自己的FLASHFLASHFLASHFLASH编程算法-2-解决方法::::用户可以自定义flash烧写算法,并把它们集成到RealviewMDK中.
这些在RVMDK的用户手册中有详细的介绍.
具体的方法如下:定义一个新的Flash编程算法可以通过如下步骤配置一个新的Flash编程算法:1.
在.
.
\ARM\Flash下新建一个空的子文件夹.
2.
将已存在的某个Flash算法(如.
.
\ARM\Flash\LPC_IAP_256)的内容拷贝到这个新文件中,并将此算法作为新算法的模板.
3.
重命名工程文件LPC_IAP_256.
UV2以表示新的FlashROM设备名,如29F400.
UV2并用μVisionIDE将其打开.
4.
在对话框Project-OptionsforTarget-Output中将所有的输出文件名(如LPC_IAP_256)替换为新的设备名.
5.
编辑FlashPrg.
C文件并为EraseChip,EraseBlock及ProgramBlock定义函数代码.
在函数Init和UnInit中编写算法所需的initializations和de-initialization代码.

6.
在文件FlashDev.
C中的structFlashDevice中定义设备参数.
7.
编译新的Flash编程算法.
扩展名为*.
FLX的输出文件包含新的编程算法.
使用ConfigureFlashDownload中的Add按钮可将此编程算法文件添加到目标应用中的μVision工程中.
测试一个新的Flash编程算法在文件夹.
.
\ARM\Flash\LPC_IAP_256\Test下包含一个工程,它可以测试一个新的Flash编程算法.
注意:新的Flash编程算法的生成需要RVCT的编译工具编译,例如可以用ADS,RealviewMDK或者RealviewDS编译.
使用GNU工具链不可能生成自己的Flash编程算法,然而,可以使用已存在的Flash编程算法问题三::::在FlashFlashFlashFlash烧写算法库中有对应FlashFlashFlashFlash芯片的烧写算法,,,,但是烧写时出现超时错误.
.
.
.
解决方法:这种情况一般是没有对总线等内部控制寄存器进行配置,客户可以些一个初始化文件,例如下面是针对S3C2410芯片和AM29160DB的Flash芯片进行配置的初始化文件:FUNCvoidInit_Board(void){_WWORD(0x53000000,0x00000000);_WWORD(0x4A000008,0xFFFFFFFF);_WWORD(0x4A00001C,0x000007FF);_WWORD(0x4C000014,0x3);_WWORD(0x4C000004,0x0005c042);_WWORD(0x56000070,0x00280000);_WWORD(0x56000078,0x00000000);_WWORD(0x48000000,0x22111110);_WWORD(0x48000004,0x00000700);_WWORD(0x48000008,0x00000700);_WWORD(0x4800000C,0x00000700);_WWORD(0x48000010,0x00000700);_WWORD(0x48000014,0x00000700);_WWORD(0x48000018,0x00000700);_WWORD(0x4800001c,0x00018005);_WWORD(0x48000020,0x00000700);-3-_WWORD(0x48000024,0x008e0459);_WWORD(0x48000028,0x000000B2);_WWORD(0x4800002c,0x00000030);_WWORD(0x48000030,0x00000030);_WWORD(0x56000014,0x1);_WWORD(0x56000020,0xaaaa55aa);_WWORD(0x56000028,0xffff);_WWORD(0x56000024,0x0);}Init_Board();一般来说,在烧写时,都应该有这样的一个初始化文件.
问题四::::RealviewRealviewRealviewRealviewMDKMDKMDKMDK的FlashFlashFlashFlash算法库中,,,,默认的情况下都是假定FlashFlashFlashFlash芯片是被映射到地址0x000000000x000000000x000000000x00000000开始的一段地址空间,,,,但是,,,,当FlashFlashFlashFlash被映射到其他的地址空间,,,,如0x80000000,0x80000000,0x80000000,0x80000000,这是应该怎么处理呢解决方法:在图一中修改Flash存储芯片的映射地址.
图一中的Flash存储芯片为AM29F160DB,存储容量为2M.
在公司的S3C2410开发板或者实验箱被映射到0x00000000处,但是在LPC2138的开发板中被映射到地址0x80000000处,所以要按图一的红色方框所示修改映射的起始地址.
图一修改Flash存储芯片的映射地址问题五::::在RealviewRealviewRealviewRealviewMDKMDKMDKMDK中如何烧写binbinbinbin文件解决方法:因为RealviewMDK可以直接下载*.
axf或者*.
hex格式的文件,但是不能直接下载*.
bin格式的文件,所以,只能先将*.
bin格式的文件转换成*.
hex格式的文件,例如BIN2HEX工具可以转换(最大的转换容量-4-为64K,如果超过这个容量,必须手动添加线型扩展地址或者找到更好的转换工具突破这个64K的限制).

在转换的时候,一定要保证地址正确,否则将导致烧写不成功.
通过这种方法,可以将启动代码(例如VIVI),Linux内核以及文件系统(例如CRAMFS),分扇区烧写到Flash存储芯片上.
问题六::::关于LICENSELICENSELICENSELICENSE的一些注意事项RealviewMDK有两种类型的license,即单机版的LICENSE和浮动license.
目前,公司只销售单机版的license,而公司内部使用的是浮动license,它允许25台计算机注册,但是只能有5台计算机同时使用,只有当正在使用浮动license计算机将license归还给服务器后,其他等待license的计算机才可以获得license而使用.
在注册申请license时,使用RealviewMDK的计算机应该连接到英特网,并且在KEIL网站上填写注册信息的时候,邮箱一定不能填错,因为license将发送到这个邮箱中.
如果使用RealviewMDK的计算机没有联入因特网,也可以通过别的联网计算机在KEIL网站上注册,但是,必须注意,在填写CID时,必须是使用RealviewMDK的那台计算机所生成的.
当客户要升级RealviewMDK时,没有必要卸载RealviewMDK,只须覆盖安装即可.
如果客户想卸载RealviewMDK(以便在另外一台计算机上安装使用),必须先卸载license.
万一客户没有卸载license,或者是由于客户的计算机的系统崩溃或硬件故障,导致RealviewMDK不能使用,这时,只能向公司(目前由廖武负责)申请后台处理.
还有一点需要说明一下,当客户卸载license后,只能在24小时以后在申请新的license,也就是说,如果客户卸载license后,在本机重新申请或在其他计算机上申请时,最少要间隔24小时.

问题七将程序下载到片上RAMRAMRAMRAM中调试出错解决方法:这种现象可能是由2中原因引起的:第一,没有调试初始化文件或设置不正确,具体的格式参考问题三.
第二,分散加载文件(链接脚本文件)的地址配置的不正确(即与开发板上的RAM地址映射不匹配).

LightNode($7.71/月)香港cn2精品线路

LightNode官网LightNode是一家位于香港的VPS服务商.提供基于KVM虚拟化技术的VPS.在提供全球常见节点的同时,还具备东南亚地区、中国香港等边缘节点.满足开发者建站,游戏应用,外贸电商等应用场景的需求。为用户带来高性能服务器以及优质的服务的同时还提供丰厚的促销活动,新用户注册最高送$20。注册用户带新客即可得10%返佣。商家支持PayPal,支付宝等支付方式。官网:https:/...

云如故枣庄高防(49元)大内存2H2G49元8H8G109元

云如故是一家成立于2018年的国内企业IDC服务商,由山东云如故网络科技有限公司运营,IDC ICP ISP CDN VPN IRCS等证件齐全!合法运营销售,主要从事自营高防独立服务器、物理机、VPS、云服务器,虚拟主机等产品销售,适合高防稳定等需求的用户,可用于建站、游戏、商城、steam、APP、小程序、软件、资料存储等等各种个人及企业级用途。机房可封UDP 海外 支持策略定制 双层硬件(傲...

阿里云金秋上云季,云服务器秒杀2C2G5M年付60元起

阿里云(aliyun)在这个月又推出了一个金秋上云季活动,到9月30日前,每天两场秒杀活动,包括轻量应用服务器、云服务器、云数据库、短信包、存储包、CDN流量包等等产品,其中Aliyun轻量云服务器最低60元/年起,还可以99元续费3次!活动针对新用户和没有购买过他们的产品的老用户均可参与,每人限购1件。关于阿里云不用多说了,国内首屈一指的云服务器商家,无论建站还是学习都是相当靠谱的。活动地址:h...

0x00000000内存不能为read为你推荐
海外虚拟主机国外的虚拟主机介绍个免费云主机免费网络云主机怎么申请asp主机如何用ASP代码实现虚拟主机中国域名注册中国十大域名注册商免费vps服务器有没有便宜的vps,最好是免费的免费网站空间免费网站空间哪个好国外网站空间怎么查看一个网站的空间是在国内还是在国外啊?免费网站空间申请哪里有免费申请空间的(网页制作)100m虚拟主机万网和新网虚拟主机有100M的吗1g虚拟主机打算买个1G的虚拟主机,用来做什么好?
域名邮箱 域名出售 重庆vps租用 如何查询域名备案号 winhost 精品网 nerd gomezpeer 512m shopex空间 日志分析软件 双12活动 网站实时监控 三拼域名 dux idc资讯 域名接入 美国免费空间 lamp架构 lamp的音标 更多