打印
[串口烧写]

LF2406控制板无法下载程序到RAM,是否先要擦除Flash的程序

[复制链接]
2088|11
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
bevisc|  楼主 | 2013-9-11 11:19 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
LF2406控制板无法下载程序到RAM,下载时显示“Data verification failed at address 0x8000.Please verify target memory and memory map.”,是否先要擦除Flash上原来烧入的程序?请问怎么擦除呢?
下面是我的CMD文件:
MEMORY
{
       PAGE 0: VECS: origin = 0x8000,  length 0x0040
       PAGE 0: PROG: origin = 0x8060,  length 0x0700
       PAGE 1: B0  : origin = 0x0200,  length 0x0100
       PAGE 1: B1  : origin = 0x0300,  length 0x0100
           PAGE 1: B2  : origin = 0x0060,  length 0x0020
       PAGE 1: DATA: origin = 0x0860,  length 0x0700
}

SECTIONS
{
       .vectors  : {}  >VECS PAGE 0                 /* 中断向量表 */
       .text     : {}  >PROG PAGE 0         /* 可执行代码和字符串 */
       .cinit    : {}  >PROG PAGE 0
       .data     : {}  >DATA PAGE 1        /* 初始化变量和常数表 */
       .bss      : {}  >DATA PAGE 1                        /* 保留全局变量和静态变量空间 */
       .const    : {}  >DATA PAGE 1                        /* 字符串和switch表 */   
           .switch   : {}  >PROG PAGE 0         /* 包含.switch语句建立的表格 */
       .stack         : {}  >DATA PAGE 1         /* 为系统堆栈分配存储器 */
       .system   : {}  >DATA PAGE 1                        /* 为动态存储器函数分配存储器空间 */

}   

相关帖子

沙发
zhangmangui| | 2013-9-11 14:30 | 只看该作者
应该是下载程序到flash   你的cmd有没有添加错?

使用特权

评论回复
板凳
bevisc|  楼主 | 2013-9-11 14:44 | 只看该作者
zhangmangui 发表于 2013-9-11 14:30
应该是下载程序到flash   你的cmd有没有添加错?

只是调试程序,也直接下载到Flash吗?
是不是通过 on-chip flash programmer 把程序下载进去?

使用特权

评论回复
地板
bevisc|  楼主 | 2013-9-11 15:21 | 只看该作者
cmd文件改成下面所示的,然后通过on-chip flash programmer 把程序下载进去Flash,还是显示“Data verification failed at address 0x8000.Please verify target memory and memory map.”
-stack 40
MEMORY
{
       PAGE 0: VECS: origin = 0x0000,  length 0x0040
       PAGE 0: PVECS: origin = 0x0040,  length 0x0070
       PAGE 0: PROG: origin = 0x00B0,  length 0x7F50
           PAGE 1: MMRS: origin = 0x0000,  length 0x005F
       PAGE 1: B0  : origin = 0x0200,  length 0x0100
       PAGE 1: B1  : origin = 0x0300,  length 0x0100
           PAGE 1: B2  : origin = 0x0060,  length 0x0020
       PAGE 1: DATA: origin = 0x0800,  length 0x0800
}

SECTIONS
{
       .reset    : {}  >VECS PAGE 0
       .vectors  : {}  >VECS PAGE 0                 /* 中断向量表 */
           .pvecs    : {}  >PVECS PAGE 0
       .text     : {}  >PROG PAGE 0         /* 可执行代码和字符串 */
       .cinit    : {}  >PROG PAGE 0
       .data     : {}  >DATA PAGE 1        /* 初始化变量和常数表 */
       .bss      : {}  >DATA PAGE 1                        /* 保留全局变量和静态变量空间 */
       .const    : {}  >DATA PAGE 1                        /* 字符串和switch表 */   
           .switch   : {}  >PROG PAGE 0         /* 包含.switch语句建立的表格 */
       .stack         : {}  >B1   PAGE 1         /* 为系统堆栈分配存储器 */
       .system   : {}  >DATA PAGE 1                        /* 为动态存储器函数分配存储器空间 */

}   

使用特权

评论回复
5
蚊音若雷| | 2013-9-11 18:06 | 只看该作者
楼上的兄弟,2406的寄储空间地址从0x8000h开始是外部数据RAM,内部的RAM是从0x300h开始的,不知你要往哪里存呢,另外FALSH是从0x150h开始的,长度是0X7EAFH。
如果你是用汇编的就要将数据地址直接定义到RAM区
.text: {} >B1  PAGE1
这样才可以的。
另外好象,你的堆栈区也小了一点吧。
_stact  400,试试看。

使用特权

评论回复
6
蚊音若雷| | 2013-9-11 18:09 | 只看该作者
如果你是用C来编,如果不用programcop();函数,编译器会自动将程序下载到RAM区的。就看你的选择了。
希望能帮助到你。

使用特权

评论回复
7
bevisc|  楼主 | 2013-9-12 08:47 | 只看该作者
本帖最后由 bevisc 于 2013-9-12 09:18 编辑
蚊音若雷 发表于 2013-9-11 18:06
楼上的兄弟,2406的寄储空间地址从0x8000h开始是外部数据RAM,内部的RAM是从0x300h开始的,不知你要往哪里 ...

我是拿 LF2407的CMD文件,对应着官网提供的2406映像图来改的,2406和2407的区别只是不能外扩吧?2406哪来的外部数据RAM?下图是2406的映像
你说的如果使用汇编写的,和如果使用C写的,指的是我的程序吗?

使用特权

评论回复
8
bevisc|  楼主 | 2013-9-12 08:51 | 只看该作者
1楼那个CMD文件中的0x8000是程序空间的RAM。4楼的CMD没写这个地方了,还是报错

使用特权

评论回复
9
蚊音若雷| | 2013-9-13 09:42 | 只看该作者
我想是这样的吧:从你第一楼和第后来你修改的CMD情况看,RAM区是从0x300h开始的,好像你指的不对吧。2406是没有外部存储区,也就是说它没有地址总线和数据总线引出来,也就说0x8000-0x0FF00不能用。第二个可能是修改不成功吧。
你说的问题和FLASH没有关系,因为提示是说中断向量空间被提在了外部存储器,要你修改MAP。

使用特权

评论回复
10
bevisc|  楼主 | 2013-9-16 15:27 | 只看该作者
蚊音若雷 发表于 2013-9-13 09:42
我想是这样的吧:从你第一楼和第后来你修改的CMD情况看,RAM区是从0x300h开始的,好像你指的不对吧。2406是 ...

谢谢,已经解决,原来只是需要在CCS那里点一下CPU复位。。:L

使用特权

评论回复
11
zhangmangui| | 2013-9-16 18:46 | 只看该作者
bevisc 发表于 2013-9-16 15:27
谢谢,已经解决,原来只是需要在CCS那里点一下CPU复位。。

点一下CPU复位   只是调到main处了  
和你的问题有关么

使用特权

评论回复
12
kuangfengwc1982| | 2014-5-23 16:56 | 只看该作者
是的 我也遇到过类似的问题,问题主要出在用的CCS和仿真器是比较新的型号,DSP是老一些的型号就有这样的问题,可以用老版本的CCS和仿真器 就可以了,或者就是烧写程序前复位CPU

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

2

主题

8

帖子

0

粉丝