This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

TMS320F28335: TMS28335 run in the external SRAM

Part Number: TMS320F28335

hello master,

I want to make the program run in the external sram(Zero 7), the CMD file is following:

Fullscreen
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
MEMORY
{
PAGE 0 :
/* BEGIN is used for the "boot to SARAM" bootloader mode */
BEGIN : origin = 0x200000, length = 0x000002 /* Boot to M0 will go here */
RAMM0 : origin = 0x000050, length = 0x0003B0
RAML0 : origin = 0x008000, length = 0x001000
RAML1 : origin = 0x009000, length = 0x001000
RAML2 : origin = 0x00A000, length = 0x001000
RAML3 : origin = 0x00B000, length = 0x001000
ZONE7A : origin = 0x200002, length = 0x018000 /* XINTF zone 7 - program space */
CSM_RSVD : origin = 0x33FF80, length = 0x000076 /* Part of FLASHA. Program with all 0x0000 when CSM is in use. */
CSM_PWL : origin = 0x33FFF8, length = 0x000008 /* Part of FLASHA. CSM password locations in FLASHA */
ADC_CAL : origin = 0x380080, length = 0x000009
RESET : origin = 0x3FFFC0, length = 0x000002
IQTABLES : origin = 0x3FE000, length = 0x000b50
IQTABLES2 : origin = 0x3FEB50, length = 0x00008c
FPUTABLES : origin = 0x3FEBDC, length = 0x0006A0
BOOTROM : origin = 0x3FF27C, length = 0x000D44
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

I run the codes in main function to output data by Uart Port, the code is:

Fullscreen
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
void SendData(void)
{
int i =0;
unsigned char str1[3] ={0xaa,0xbb,0xcc};
for(i=0; i<3; i++)
{
SendBSC0(str1[i]);
}
SendBSC0(0xdd);
SendBSC0(0xee);
SendBSC0(0xff);
}
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

the output result is:0x5a 0x08 0x11 0xdd 0xee 0xff。the content in the str1 array didn't output correctly.

so ,    I simulated the program , I found that str1 is not in the stack (Zore 7   0x218002-0x220000) . The addr of str1 is 0x4006.

why is the reason?  Must the stack be in the chip's Ram?

Another question, when I use 28335_RAM_lnk.cmd, the compiler  warning " waring :Data is being written to auto-generated file Dsp28335_app.i10",

what is the reason about Dsp28335_app.i10?

Thank you very much for your helps.

                                                                                                                           best wishes

                                                                                                                            Jent Lee