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

LOCVPS:美国XEN架构VPS七折,全场八折,日本/新加坡XEN架构月付29.6元起

LOCVPS发来了针对XEN架构VPS的促销方案,其中美国洛杉矶机房7折,其余日本/新加坡/中国香港等机房全部8折,优惠后日本/新加坡机房XEN VPS月付仅29.6元起。这是成立较久的一家国人VPS服务商,目前提供美国洛杉矶(MC/C3)、和中国香港(邦联、沙田电信、大埔)、日本(东京、大阪)、新加坡、德国和荷兰等机房VPS主机,基于XEN或者KVM虚拟架构,均选择国内访问线路不错的机房,适合建...

ShineServers(5美元/月)荷兰VPS、阿联酋VPS首月五折/1核1G/50GB硬盘/3TB流量/1Gbps带宽

优惠码50SSDOFF 首月5折50WHTSSD 年付5折15OFF 85折优惠,可循环使用荷兰VPSCPU内存SSD带宽IPv4价格购买1核1G50G1Gbps/3TB1个$ 9.10/月链接2核2G80G1Gbps/5TB1个$ 12.70/月链接2核3G100G1Gbps/7TB1个$ 16.30/月链接3核4G150G1Gbps/10TB1个$ 18.10/月链接阿联酋VPSCPU内存SS...

LOCVPS(29.6元/月)KVM架构 香港/美国机房全场8折

LOCVPS商家我们还是比较熟悉的老牌的国内服务商,包括他们还有其他的产品品牌。这不看到商家的信息,有新增KVM架构轻量/迷你套餐,提供的机房包括香港云地和美国洛杉矶,适用全场8折优惠,月付29.6元起。LOCVPS是一家成立于2011年的稳定老牌国人商家,主要从事XEN、KVM架构的国外VPS销售,主推洛杉矶MC、洛杉矶C3、香港邦联、香港沙田电信、香港大埔、日本东京、日本大阪、新加坡等数据中心...

0x00000000内存不能为read为你推荐
海外主机租用怎么选择优质的国外服务器租用商!php虚拟主机如何选择PHP网站虚拟主机免费国外空间免费国外空间免费国外空间那个国外空间好啊啊 价格便宜 急需便宜的虚拟主机免费、便宜的虚拟主机哪里有?要好用的 ,速度快的免备案虚拟空间备案退两次了。哪里有免备案空间虚拟主机用?网站空间价格普通的网站空间要多少钱一年西安虚拟主机西安云主机/云主机与vps有哪些区别域名停靠“域名停靠”怎么挣钱啊?二级域名什么是二级域名
apache虚拟主机 最新代理服务器地址 老左 enom 双12活动 七夕促销 免费dns解析 lamp怎么读 带宽测试 apnic 美国十大啦 美国服务器 香港打折信息 56折扣网 最年轻博士 防盗报警主机 北京机动车摇号申请网站 starrysky 免费网络游戏 免费网络电话下载 更多