文件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地址映射不匹配).

NameCheap新注册.COM域名$5.98

随着自媒体和短视频的发展,确实对于传统的PC独立网站影响比较大的。我们可以看到云服务器商家的各种促销折扣活动,我们也看到传统域名商的轮番新注册和转入的促销,到现在这个状态已经不能说这些商家的为用户考虑,而是在不断的抢夺同行的客户。我们看到Namecheap商家新注册域名和转入活动一个接一个。如果我们有需要新注册.COM域名的,只需要5.98美元。优惠码:NEWCOM598。同时有赠送2个月免费域名...

HostKvm($4.25/月),俄罗斯CN2带宽大升级,俄罗斯/香港高防限量5折优惠进行中

HostKvm是一家成立于2013年的国外VPS服务商,产品基于KVM架构,数据中心包括日本、新加坡、韩国、美国、俄罗斯、中国香港等多个地区机房,均为国内直连或优化线路,延迟较低,适合建站或者远程办公等。本月,商家旗下俄罗斯、新加坡、美国、香港等节点带宽进行了大幅度升级,俄罗斯机房国内电信/联通直连,CN2线路,150Mbps(原来30Mbps)带宽起,目前俄罗斯和香港高防节点5折骨折码继续优惠中...

Digital-vm80美元,1-10Gbps带宽日本/新加坡独立服务器

Digital-vm是一家成立于2019年的国外主机商,商家提供VPS和独立服务器租用业务,其中VPS基于KVM架构,提供1-10Gbps带宽,数据中心可选包括美国洛杉矶、日本、新加坡、挪威、西班牙、丹麦、荷兰、英国等8个地区机房;除了VPS主机外,商家还提供日本、新加坡独立服务器,同样可选1-10Gbps带宽,最低每月仅80美元起。下面列出两款独立服务器配置信息。配置一 $80/月CPU:E3-...

0x00000000内存不能为read为你推荐
网站空间租赁网站空间租用费多少cm域名注册.Cm是什么域名 网址尾部是.CM的是哪里的网址?哪可以注册?国外域名注册国外域名注册什么好的推荐免费域名空间免费空间和免费域名重庆虚拟空间重庆那里可以租用VSP主机重庆虚拟空间重庆顺丰快递运的电脑主机19号中午11点到的第二天物流状态还是在重庆集散中心?今天能不能领导件?asp网站空间求申请ASP免费空间地址的网址深圳网站空间求免费稳定空间网站?便宜虚拟主机麻烦各位给我推荐一个比较便宜的虚拟主机,要质量好的。谢谢大家了虚拟主机控制面板虚拟主机控制面板是什么?
合租服务器 怎样申请域名 泛域名绑定 187邮箱 企业主机 好看的桌面背景图片 网站被封 亚洲小于500m 最好的空间 个人域名 昆明蜗牛家 爱奇艺vip免费领取 卡巴斯基是免费的吗 根服务器 腾讯总部在哪 网通服务器 国外的代理服务器 江苏双线 广州主机托管 上海联通 更多