5902|4

87

帖子

0

TA的资源

一粒金砂(初级)

楼主
 

加载失败和运行不起来的原因 [复制链接]

本帖最后由 dontium 于 2015-1-23 13:21 编辑

在我加载程序时,它提示我Data verification failed at address 0x48a0。Please  verify target memory and memory map.点我点确定后,又出现这个错误对话框,可地址改为ox6320了,当我打开MAP文件发现这二个地址为:sysinit和text段的地址,下面我把这二个段在系统BIOS生成的cmd帖上来。我一加载后运行就跳出了,或者就在汇编出没有运行。我用的是6416和它的BIOS了。cmd是BIOS生成的。怎么才能改正过来呢?

sysinit和text的MAP文件:

.sysinit   0    000048a0    000003a0     
                  000048a0    000002e0     BIOS_DSP_I_Ocfg.obj (.sysinit)
                  00004b80    000000c0     biosi.a64 : boot.o64 (.sysinit)
                  
.text      0    00006320    00007fa0     
                  00006320    00003720     dsp_sys.obj (.text)
                  00009a40    00000dc0     RTC.obj (.text)
                  0000a800    00000900     account.obj (.text)
                  0000b100    00000620     rts6400.lib : cmpd.obj (.text)
                  0000b720    000003a0                 : imath40.obj (.text)
                  0000bac0    00000300     csl6416.lib : csl_cache.obj (.text:_CACHE_wait)
                  0000bdc0    000002c0     rts6400.lib : frcdivd.obj (.text)
                  0000c080    00000280                 : frcaddd.obj (.text)
                  0000c300    000001e0     csl6416.lib : csl_cache.obj (.text:_CACHE_setL2Mode)
                  0000c4e0    000001e0     rts6400.lib : divd.obj (.text)
                  0000c6c0    000001e0     csl6416.lib : csl_irq.obj (.text:_IRQ_map)
                  0000c8a0    000001c0     rts6400.lib : exit.obj (.text)
                  0000ca60    000001c0     csl6416.lib : csl_cache.obj (.text:_CACHE_clean)
                  0000cc20    000001c0     rts6400.lib : mpyd.obj (.text)
                  0000cde0    000001a0     csl6416.lib : csl.obj (.text:__CSL_init)
                  0000cf80    00000180     rts6400.lib : frcmpyd.obj (.text)
                  0000d100    00000180                 : addd.obj (.text)
                  0000d280    00000140     csl6416.lib : csl_timer.obj (.text:_TIMER_open)
                  0000d3c0    00000120     rts6400.lib : ltoa.obj (.text)
                  0000d4e0    00000100     csl6416.lib : csl_timer.obj (.text:_TIMER_reset)
                  0000d5e0    000000e0                 : csl_cache.obj (.text:_CACHE_wbInvL1d)
                  0000d6c0    000000c0                 : csl_irq.obj (.text:_mux2Tables)
                  0000d780    000000c0     rts6400.lib : divu.obj (.text)
                  0000d840    000000c0                 : fixdul.obj (.text)
                  0000d900    000000a0     csl6416.lib : csl_irq.obj (.text:_getMux)
                  0000d9a0    000000a0                 : csl_emifb.obj (.text:_EMIFB_config)
                  0000da40    000000a0                 : csl_emifa.obj (.text:_EMIFA_config)
                  0000dae0    000000a0                 : csl_irq.obj (.text:_setMux)
                  0000db80    000000a0     rts6400.lib : remu.obj (.text)
                  0000dc20    000000a0                 : fltlid.obj (.text)
                  0000dcc0    00000080                 : strcmp.obj (.text)
                  0000dd40    00000080                 : renormd.obj (.text)
                  0000ddc0    00000080     csl6416.lib : csl_irq.obj (.text:__IRQ_init)
                  0000de40    00000080     rts6400.lib : strcpy.obj (.text)
                  0000dec0    00000080                 : fltuld.obj (.text)
                  0000df40    00000080                 : memcpy64.obj (.text)
                  0000dfc0    00000060     BIOS_DSP_I_Ocfg_c.obj (.text:CSL_cfgInit)
                  0000e020    00000060     rts6400.lib : strlen.obj (.text)
                  0000e080    00000060     csl6416.lib : csl_timer.obj (.text:_TIMER_configArgs)
                  0000e0e0    00000060     rts6400.lib : fltud.obj (.text)
                  0000e140    00000040                 : _lock.obj (.text)
                  0000e180    00000040                 : subd.obj (.text)
                  0000e1c0    00000040     csl6416.lib : csl_timer.obj (.text:_TIMER_start)
                  0000e200    00000020                 : csl_irq.obj (.text:_IRQ_enable)
                  0000e220    00000020                 : csl_irq.obj (.text:_IRQ_globalEnable)
                  0000e240    00000020                 : csl_irq.obj (.text)
                  0000e260    00000020                 : csl_irq.obj (.text:_IRQ_globalDisable)
                  0000e280    00000020                 : csl.obj (.text:_CSL6416_LIB_)
                  0000e2a0    00000020                 : csl_irq.obj (.text:_IRQ_nmiEnable)

最新回复

独立的系统是指非软硬件仿真的,不连接仿真器,也不连接CCS,也就是说上电后芯片自动装载代码,然后开始正常运行。 如果你需要芯片在复位后每次都初始话RAM 那么就把这个功能写成函数,放到你的主程序开始后的地方,然后和主程序一起一起烧录到FLASH中,以便芯片每次装载代码后都能够初始化RAM。 以上部分我是根据你提供的Warning理解的,不正之处还请谅解。  详情 回复 发表于 2008-12-4 03:28
点赞 关注

回复
举报

77

帖子

0

TA的资源

一粒金砂(初级)

沙发
 
本帖最后由 dontium 于 2015-1-23 13:21 编辑

你的CMD文件呢?会不会存储空间不够?
我的是片内没问题,但是程序载到片外就有问题了,提示和你的一样
郁闷了
 
 
 

回复

72

帖子

0

TA的资源

一粒金砂(初级)

板凳
 
Data verification failed at address 0x48a0。Please  verify target memory and memory map.
这个需要从仿真器的下载过程说起:仿真器下载代码到RAM中时,其实也就是写ram。边写ram,边会再读ram,以求证是否是写成功了。如果读到的值和之前写的值不一样,那就有问题了,就会报告“Data verification failed”。
如果发现“Data verification failed”,一般会有两种情况:
1,写的那个地址根本就没有ram。这是就需要去调整memory map了。因为具体最后生成的代码,在地址空间如何分布是由memory map来控制和决定的。
2,写的那个地址有RAM,但还是有问题,那就是。
 
 
 

回复
他妈的天使 该用户已被删除
4
 
提示: 作者被禁止或删除 内容自动屏蔽
 
 
 

回复

77

帖子

0

TA的资源

一粒金砂(初级)

5
 
独立的系统是指非软硬件仿真的,不连接仿真器,也不连接CCS,也就是说上电后芯片自动装载代码,然后开始正常运行。

如果你需要芯片在复位后每次都初始话RAM 那么就把这个功能写成函数,放到你的主程序开始后的地方,然后和主程序一起一起烧录到FLASH中,以便芯片每次装载代码后都能够初始化RAM。

以上部分我是根据你提供的Warning理解的,不正之处还请谅解。
 
 
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/9 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表