TI中文支持网
TI专业的中文技术问题搜集分享网站

TMS570LS3137: TMS570LS3137

Part Number:TMS570LS3137

你好!

TMS570LS3137如何实现把数据存储到指定的内存?我代码如下,问题:没有给变量mydata0分配内存,请问是什么原因?谢谢

/*—————————————————————————-*/
/* Linker Settings */

–retain="*(.intvecs)"

/* USER CODE BEGIN (1) */
/* USER CODE END */

/*—————————————————————————-*/
/* Memory Map */

MEMORY
{
VECTORS (X) : origin=0x00000000 length=0x00000020
FLASH0 (RX) : origin=0x00000020 length=0x0017FFE0
FLASH1 (RX) : origin=0x00180000 length=0x00180000
STACKS (RW) : origin=0x08000000 length=0x00001500
RAM (RW) : origin=0x08001500 length=0x0003EB00
MY_NEW_RAM (RW) : origin=0x08040000 length=0x00001000

/* USER CODE BEGIN (2) */
/* USER CODE END */
}

/* USER CODE BEGIN (3) */
/* USER CODE END */

/*—————————————————————————-*/
/* Section Configuration */

SECTIONS
{
.intvecs : {} > VECTORS
.text : {} > FLASH0 | FLASH1
.const : {} > FLASH0 | FLASH1
.cinit : {} > FLASH0 | FLASH1
.pinit : {} > FLASH0 | FLASH1
.bss : {} > RAM
.data : {} > RAM
.my_data : {} > MY_NEW_RAM
.sysmem : {} > RAM

FEE_TEXT_SECTION : {} > FLASH0 | FLASH1
FEE_CONST_SECTION : {} > FLASH0 | FLASH1
FEE_DATA_SECTION : {} > RAM

/* USER CODE BEGIN (4) */
/* USER CODE END */
}

/* USER CODE BEGIN (5) */
/* USER CODE END */

/*—————————————————————————-*/
/* Misc */

/* USER CODE BEGIN (6) */
/* USER CODE END */
/*—————————————————————————-*/

////////////程序代码如下/////////////////////////////////////////////////////////

#pragma SET_DATA_SECTION("my_data")

int mydata0 = 0;

#pragma SET_DATA_SECTION()

Cherry Zhou:

您好我们已收到您的问题并升级到英文论坛,如有答复将尽快回复您。谢谢!

,

Fu Mo:

谢谢!

,

Cherry Zhou:

您好,linker cmd 文件中的段名称与您在 c 文件中定义的段名称不同:

Linker:

.my_data : {} > MY_NEW_RAM — there is on dot before my_data

C文件:

("my_data")  — no dot before my_data

您应该使用.my_data或者my_data。

,

Fu Mo:

修改如下:还是没给 mydata0变量分配到指定的内存空间

/*—————————————————————————-*//* Linker Settings */

–retain="*(.intvecs)"

/* USER CODE BEGIN (1) *//* USER CODE END */

/*—————————————————————————-*//* Memory Map */

MEMORY{VECTORS (X) : origin=0x00000000 length=0x00000020FLASH0 (RX) : origin=0x00000020 length=0x0017FFE0FLASH1 (RX) : origin=0x00180000 length=0x00180000STACKS (RW) : origin=0x08000000 length=0x00001500RAM (RW) : origin=0x08001500 length=0x0003EB00MY_NEW_RAM (RW) : origin=0x08040000 length=0x00001000

/* USER CODE BEGIN (2) *//* USER CODE END */}

/* USER CODE BEGIN (3) *//* USER CODE END */

/*—————————————————————————-*//* Section Configuration */

SECTIONS{.intvecs : {} > VECTORS.text : {} > FLASH0 | FLASH1.const : {} > FLASH0 | FLASH1.cinit : {} > FLASH0 | FLASH1.pinit : {} > FLASH0 | FLASH1.bss : {} > RAM.data : {} > RAM.my_data : {} > MY_NEW_RAM.sysmem : {} > RAM

FEE_TEXT_SECTION : {} > FLASH0 | FLASH1FEE_CONST_SECTION : {} > FLASH0 | FLASH1FEE_DATA_SECTION : {} > RAM

/* USER CODE BEGIN (4) *//* USER CODE END */}

/* USER CODE BEGIN (5) *//* USER CODE END */

/*—————————————————————————-*//* Misc */

/* USER CODE BEGIN (6) *//* USER CODE END *//*—————————————————————————-*/

////////////程序代码如下/////////////////////////////////////////////////////////

#pragma SET_DATA_SECTION(".my_data")

int mydata0 = 0;

#pragma SET_DATA_SECTION()

,

Fu Mo:

感觉这个回答不专业啊,Ti操作手册是没有点的,(".my_data")  — no dot before my_data—–这么写就不对啊,请重新回答分析一下,谢谢!

赞(0)
未经允许不得转载:TI中文支持网 » TMS570LS3137: TMS570LS3137
分享到: 更多 (0)