打印
[MCU]

load program时出错应该怎么解决

[复制链接]
281|17
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
heweibig|  楼主 | 2019-10-20 14:30 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
沙发
wuhany| | 2019-10-20 14:34 | 只看该作者
什么板子啊

使用特权

评论回复
板凳
heweibig|  楼主 | 2019-10-20 14:39 | 只看该作者
我的是2812的板子,仿真器是XDS510PLUS

使用特权

评论回复
地板
jiahy| | 2019-10-20 14:43 | 只看该作者
是不是连接有问题啊

使用特权

评论回复
5
heweibig|  楼主 | 2019-10-20 14:47 | 只看该作者
连接没问题

使用特权

评论回复
6
lizye| | 2019-10-20 14:50 | 只看该作者
你做什么东西来着呢

使用特权

评论回复
7
heweibig|  楼主 | 2019-10-20 14:54 | 只看该作者
做一个正弦波,库文件用的是rts2800_ml.lib。

使用特权

评论回复
8
shimx| | 2019-10-20 14:58 | 只看该作者
CMD文件看看

使用特权

评论回复
9
heweibig|  楼主 | 2019-10-20 15:01 | 只看该作者
下面是我的CMD文件内容:



MEMORY
{
   PAGE 0 : PROG(R)     : origin = 0x3E8000, length = 0x10000
   PAGE 0 : BOOT(R)     : origin = 0x3FF000, length = 0xFC0   
   PAGE 0 : RESET(R)    : origin = 0x3FFFC0, length = 0x2
   PAGE 0 : VECTORS(R)  : origin = 0x3FFFC2, length = 0x3E



   PAGE 1 : M0RAM(RW)   : origin = 0x000000, length = 0x400
   PAGE 1 : M1RAM(RW)   : origin = 0x000400, length = 0x400
   PAGE 1 : L0L1RAM(RW) : origin = 0x008000, length = 0x2000
   PAGE 1 : H0RAM(RW)   : origin = 0x3F8000, length = 0x2000
}

SECTIONS
{
   /* 22-bit program sections */
   .reset   : > RESET,   PAGE = 0
    vectors : > VECTORS, PAGE = 0
   .pinit   : > PROG,    PAGE = 0
   .cinit   : > PROG,    PAGE = 0
   .text    : > PROG,    PAGE = 0
   .cio     : > PROG,    PAGE = 0



   /* 16-Bit data sections */
   .const   : > L0L1RAM, PAGE = 1
   .bss     : > L0L1RAM, PAGE = 1
   .stack   : > M1RAM, PAGE = 1
   .sysmem  : > M0RAM, PAGE = 1



   /* 32-bit data sections */
   .ebss    : > H0RAM, PAGE = 1
   .econst  : > H0RAM, PAGE = 1
   .esysmem : > H0RAM, PAGE = 1
}







C文件如下:



#include <stdio.h>
#include "Sine.h"



// gain control variable
int gain = INITIALGAIN;  // 5



// declare and initalize a IO buffer //声明并初始化一个IO缓冲器   
BufferContents currentBuffer;



// Define some functions
static void processing(); // process the input and generate output
static void dataIO();  // dummy function to be used with ProbePoint



void main()
{
puts("SineWave example started.\n");
    while(TRUE) // loop forever
    {   
        dataIO();
        processing();
    }
}




static void processing()
{
    int size = BUFFSIZE;



    while(size--){
        currentBuffer.output[size] = currentBuffer.input[size] * gain; // apply gain to input
    }
}




static void dataIO()
{
    /* do data I/O */
    return;
}







其中头文件Sine.h如下:



#ifndef TRUE
#define TRUE 1
#endif







// buffer constants
#define BUFFSIZE 0x64
#define INITIALGAIN 5



// IO buffer structure
typedef struct IOBuffer {   
int input[BUFFSIZE];   
int output[BUFFSIZE];
} BufferContents;

使用特权

评论回复
10
jiaxw| | 2019-10-20 15:06 | 只看该作者

在CCS下,OUT文件加载时提示“Data verification failed...”的原因?
Link的CMD文件分配的地址同GEL或设置的有效地址空间不符。

使用特权

评论回复
11
jiaxw| | 2019-10-20 15:08 | 只看该作者
中断向量定位处或其它代码、数据段定位处,没有RAM,无法加载OUT文件。

使用特权

评论回复
12
heweibig|  楼主 | 2019-10-20 15:11 | 只看该作者
高人,求解?

使用特权

评论回复
13
jiaxw| | 2019-10-20 15:16 | 只看该作者
调整Link的CMD文件,使得定位段处有RAM。

使用特权

评论回复
14
spark周| | 2019-10-20 15:19 | 只看该作者


调整存储器设置,使得RAM区有效。

使用特权

评论回复
15
heweibig|  楼主 | 2019-10-20 15:22 | 只看该作者
哦,这么回事啊,我知道了

使用特权

评论回复
16
wuhany| | 2019-10-20 15:25 | 只看该作者
错误的地址是哪里?

使用特权

评论回复
17
spark周| | 2019-10-20 15:28 | 只看该作者
Link的CMD文件分配的地址同GEL或设置的有效地址空间不符。

使用特权

评论回复
18
externally| | 2019-10-24 16:01 | 只看该作者
存储地址不匹配

使用特权

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

本版积分规则

869

主题

13089

帖子

7

粉丝