4177|12

21

帖子

0

TA的资源

一粒金砂(中级)

楼主
 

28027向flash下载程序的遇到的问题求助 [复制链接]

 
 各位大神你们好!
       小弟新手!购买了一个TI的launchpad开发板练手,在使用RAM cmd(28027_RAM_lnk.cmd)文件的时候成功将我的程序下载到了RAM中,上电可以工作,LED灯闪烁;
       在向Flash中下载程序:我首先将cmd文件换成下载到Flash的那个(F28027.cmd),我的主程序如下:
#include "include/DSP28x_Project.h"
#define TOFLASH
#ifdef TOFLASH
extern void MemCopy(Uint16 *SourceAddr, Uint16* SourceEndAddr, Uint16* DestAddr);
extern Uint16 RamfuncsLoadStart;
extern Uint16 RamfuncsLoadEnd;
extern Uint16 RamfuncsRunStart;

#endif


void delay(Uint32 m)
{
        Uint32 i;
        for(i=0;i                 ;
}
int main(void)
{


        InitSysCtrl();
        InitGpio();
        DINT;
        InitPieCtrl();
        InitCpuTimers();
        ConfigCpuTimer(&CpuTimer0,60,500000);

        IER = 0x0000;
        IFR = 0x0000;

        InitPieVectTable();

#ifdef TOFLASH
        MemCopy(&RamfuncsLoadStart, &RamfuncsLoadEnd, &RamfuncsRunStart);
        InitFlash();
#endif
        for(;;)
        {
                GpioDataRegs.GPATOGGLE.bit.GPIO0 = 1;
                GpioDataRegs.GPATOGGLE.bit.GPIO2 = 1;
                DELAY_US(100000L);

                GpioDataRegs.GPATOGGLE.bit.GPIO0 = 0;
                GpioDataRegs.GPATOGGLE.bit.GPIO1 = 1;
                GpioDataRegs.GPATOGGLE.bit.GPIO2 = 0;
                GpioDataRegs.GPATOGGLE.bit.GPIO3 = 1;
                DELAY_US(500000L);
        }
}
我的CMD(F28027.cmd)如下。PS:这个文件我没有改动;
MEMORY
{
PAGE 0:    /* Program Memory */
           /* Memory (RAM/FLASH/OTP) blocks can be moved to PAGE1 for data allocation */

   PRAML0      : origin = 0x008000, length = 0x000800     /* on-chip RAM block L0 */
   OTP         : origin = 0x3D7800, length = 0x000400     /* on-chip OTP */
   FLASHD      : origin = 0x3F0000, length = 0x002000     /* on-chip FLASH */
   FLASHC      : origin = 0x3F2000, length = 0x002000     /* on-chip FLASH */
   FLASHA      : origin = 0x3F6000, length = 0x001F80     /* on-chip FLASH */
   CSM_RSVD    : origin = 0x3F7F80, length = 0x000076     /* Part of FLASHA.  Program with all 0x0000 when CSM is in use. */
   BEGIN       : origin = 0x3F7FF6, length = 0x000002     /* Part of FLASHA.  Used for "boot to Flash" bootloader mode. */
   CSM_PWL_P0  : origin = 0x3F7FF8, length = 0x000008     /* Part of FLASHA.  CSM password locations in FLASHA */

   IQTABLES    : origin = 0x3FE000, length = 0x000B50     /* IQ Math Tables in Boot ROM */
   IQTABLES2   : origin = 0x3FEB50, length = 0x00008C     /* IQ Math Tables in Boot ROM */
   IQTABLES3   : origin = 0x3FEBDC, length = 0x0000AA      /* IQ Math Tables in Boot ROM */

   ROM         : origin = 0x3FF27C, length = 0x000D44     /* Boot ROM */
   RESET       : origin = 0x3FFFC0, length = 0x000002     /* part of boot ROM  */
   VECTORS     : origin = 0x3FFFC2, length = 0x00003E     /* part of boot ROM  */

PAGE 1 :   /* Data Memory */
           /* Memory (RAM/FLASH/OTP) blocks can be moved to PAGE0 for program allocation */
           /* Registers remain on PAGE1                                                  */

   BOOT_RSVD   : origin = 0x000000, length = 0x000050     /* Part of M0, BOOT rom will use this for stack */
   RAMM0       : origin = 0x000050, length = 0x0003B0     /* on-chip RAM block M0 */
   RAMM1       : origin = 0x000400, length = 0x000400     /* on-chip RAM block M1 */
   DRAML0      : origin = 0x008800, length = 0x000800     /* on-chip RAM block L0 */
   FLASHB      : origin = 0x3F4000, length = 0x002000     /* on-chip FLASH */
}

/* Allocate sections to memory blocks.
   Note:
         codestart user defined section in DSP28_CodeStartBranch.asm used to redirect code
                   execution when booting to flash
         ramfuncs  user defined section to store functions that will be copied from Flash into RAM
*/

SECTIONS
{

   /* Allocate program areas: */
   .cinit              : > FLASHA | FLASHC | FLASHD,       PAGE = 0
   .pinit              : > FLASHA | FLASHC | FLASHD,      PAGE = 0
   .text               : >> FLASHA | FLASHC | FLASHD,       PAGE = 0
   codestart           : > BEGIN        PAGE = 0
   ramfuncs            : LOAD = FLASHA,
                         RUN = PRAML0,
                         LOAD_START(_RamfuncsLoadStart),
                         LOAD_END(_RamfuncsLoadEnd),
     //                    LOAD_SIZE(_RamfuncsLoadSize),
                         RUN_START(_RamfuncsRunStart),
                         PAGE = 0

   csmpasswds          : > CSM_PWL_P0   PAGE = 0
   csm_rsvd            : > CSM_RSVD     PAGE = 0

   /* Allocate uninitalized data sections: */
   .stack              : > RAMM0        PAGE = 1
   .ebss               : > DRAML0       PAGE = 1
   .esysmem            : > DRAML0       PAGE = 1
   .sysmem             : > DRAML0      PAGE = 1
   .cio                : >> RAMM0 | RAMM1 | DRAML0       PAGE = 1

   /* Initalized sections go in Flash */
   /* For SDFlash to program these, they must be allocated to page 0 */
   .econst             : > FLASHA       PAGE = 0
   .switch             : > FLASHA       PAGE = 0

   /* Allocate IQ math areas: */
   IQmath              : > FLASHA       PAGE = 0            /* Math Code */
   IQmathTables        : > IQTABLES,    PAGE = 0, TYPE = NOLOAD


我在debug的时候没有报错,但是在向芯片中下载的时候报了错误:

C28xx: File Loader: Data verification failed at address 0x003F6582 Please verify target memory and memory map.
C28xx: GEL: File: E:\CCS_Workspace_v5_5\DSP_LED\Debug\DSP_LED.out: a data verification error occurred, file load failed.


PS:为了防止自己的板子被烧毁,我做了交叉实验,使用同学的板子,下载也不成功;我在网上下载了前辈们下载到flash中的例程,我的板子没有问题;
      路过的大神请助我一臂之力,小弟不胜感激!




最新回复

玉老,MAKE下了  详情 回复 发表于 2017-3-28 09:29
点赞 关注
 

回复
举报

2700

帖子

0

TA的资源

五彩晶圆(初级)

沙发
 
对比一下例程,你还需要一个nonBIOS的cmd,还有一些flash启动需要的文件比如CodeStartBranch
个人签名作为一个水军,就是尽量的多回帖,因为懂的技术少,所以回帖水分大,见谅!
EEWORLD开发板置换群:309018200,——电工们免费装β的天堂,商家勿入!加群暗号:喵
 
 
 

回复

21

帖子

0

TA的资源

一粒金砂(中级)

板凳
 
elvike 发表于 2017-2-28 11:03
对比一下例程,你还需要一个nonBIOS的cmd,还有一些flash启动需要的文件比如CodeStartBranch

哥们,您说的那两个文件我工程里面有;我对着那个例程看了看,他又的文件我都有,还是不明白那里出错了。方面六个联系方式吗,想向您请教一下~~~
 
 
 

回复

2700

帖子

0

TA的资源

五彩晶圆(初级)

4
 
你用哪个版本的ccs,把工程打包上来看看

点评

这是我写的一个led闪烁的例子下载到RAM中可以使用而flash中不能使用~~~  详情 回复 发表于 2017-2-28 19:31
我的CCS版本是6.0~~~我的工程如附件  详情 回复 发表于 2017-2-28 19:26
个人签名作为一个水军,就是尽量的多回帖,因为懂的技术少,所以回帖水分大,见谅!
EEWORLD开发板置换群:309018200,——电工们免费装β的天堂,商家勿入!加群暗号:喵
 
 
 

回复

21

帖子

0

TA的资源

一粒金砂(中级)

5
 
elvike 发表于 2017-2-28 15:27
你用哪个版本的ccs,把工程打包上来看看

我的CCS版本是6.0~~~我的工程如附件
 
 
 

回复

21

帖子

0

TA的资源

一粒金砂(中级)

6
 
elvike 发表于 2017-2-28 15:27
你用哪个版本的ccs,把工程打包上来看看

这是我写的一个led闪烁的例子下载到RAM中可以使用而flash中不能使用~~~

test_LED.rar

198.99 KB, 下载次数: 12

点评

首先看正常工程build后工程输出的map文件,是有代码存到flash的 [attachimg]285885[/attachimg] 再来看看你的工程输出map文件 [attachimg]285886[/attachimg] 一个都没有,问题应该就在这里了。 [attachimg]2  详情 回复 发表于 2017-2-28 22:12
 
 
 

回复

1万

帖子

25

TA的资源

裸片初长成(高级)

7
 
我写了一篇文章,在FLASH里运行。你可以看看,

点评

谢谢版主,问题已经解决~~~  详情 回复 发表于 2017-3-1 19:19
 
 
 

回复

1万

帖子

25

TA的资源

裸片初长成(高级)

8
 
给你个链接吧:

https://bbs.eeworld.com.cn/forum ... H%C0%EF%D4%CB%D0%D0


对照一下自己的程序。看看哪儿出了问题。

自己找出来的问题,更能学到东西。
 
 
 

回复

2700

帖子

0

TA的资源

五彩晶圆(初级)

9
 
shiguangjiqiren 发表于 2017-2-28 19:31
这是我写的一个led闪烁的例子下载到RAM中可以使用而flash中不能使用~~~

首先看正常工程build后工程输出的map文件,是有代码存到flash的


再来看看你的工程输出map文件

一个都没有,问题应该就在这里了。

这个地方不知道谁教你的,你选了load ram only,应该选第一个。改选之后,clean project,把工程下面的debug文件夹也删掉,然后build project 或者rebuild project,输出的map是下面这样的

你配置的问题吧,一般这些都不需要修改的。又比如输出map文件的路径,这些修改了之后害我还找半天。建议你把debug的选项配置恢复到默认


我手上没有027的板子,只能帮你到这里了。

点评

玉老,MAKE下了  详情 回复 发表于 2017-3-28 09:29
谢谢谢谢,问题已经解决~~~  详情 回复 发表于 2017-3-1 19:19
个人签名作为一个水军,就是尽量的多回帖,因为懂的技术少,所以回帖水分大,见谅!
EEWORLD开发板置换群:309018200,——电工们免费装β的天堂,商家勿入!加群暗号:喵
 
 
 

回复

21

帖子

0

TA的资源

一粒金砂(中级)

10
 
dontium 发表于 2017-2-28 21:10
我写了一篇文章,在FLASH里运行。你可以看看,

谢谢版主,问题已经解决~~~
 
 
 

回复

21

帖子

0

TA的资源

一粒金砂(中级)

11
 
elvike 发表于 2017-2-28 22:12
首先看正常工程build后工程输出的map文件,是有代码存到flash的


再来看看你的工程输出map文件

一 ...

谢谢谢谢,问题已经解决~~~

点评

是哪的问题,分享一下?  详情 回复 发表于 2017-3-1 21:14
 
 
 

回复

2700

帖子

0

TA的资源

五彩晶圆(初级)

12
 
shiguangjiqiren 发表于 2017-3-1 19:19
谢谢谢谢,问题已经解决~~~

是哪的问题,分享一下?
个人签名作为一个水军,就是尽量的多回帖,因为懂的技术少,所以回帖水分大,见谅!
EEWORLD开发板置换群:309018200,——电工们免费装β的天堂,商家勿入!加群暗号:喵
 
 
 

回复

1366

帖子

6

TA的资源

版主

13
 
elvike 发表于 2017-2-28 22:12
首先看正常工程build后工程输出的map文件,是有代码存到flash的


再来看看你的工程输出map文件

一 ...

玉老,MAKE下了
个人签名

1084534438 欢迎交流  [加油,一切皆有可能]

 
 
 

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

查找数据手册?

EEWorld Datasheet 技术支持

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

 
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
快速回复 返回顶部 返回列表