특정 영역에 배치하기
MEMORY
{
// ...
CPU1TOCPU2RAM : origin = 0x03A000, length = 0x000800
CPU2TOCPU1RAM : origin = 0x03B000, length = 0x000800
// ...
}
SECTIONS
{
// ...
MSGRAM_CPU1_TO_CPU2 : > CPU1TOCPU2RAM, type=NOINIT
MSGRAM_CPU2_TO_CPU1 : > CPU2TOCPU1RAM, type=NOINIT
// ...
}
#pragma DATA_SECTION(readData, "MSGRAM_CPU1_TO_CPU2")
typedef struct
{
uint32_t u16;
float f;
} test_t;
test_t readData;
특정 주소에 배치하는 방법
SECTIONS
{
MUTEX_TEST : > 0x03A000
}
#pragma DATA_SECTION(readData, "MUTEX_TEST")
typedef struct
{
uint32_t u16;
float f;
} test_t;
test_t readData;
여러 변수를 특정 BASE address부터 이어서 배치하는 방법
SECTIONS
{
GROUP : > 0x03A000
{
MUTEX_TEST
MUTEX_TEST1
MUTEX_TEST2
}
}
#pragma DATA_SECTION(readData, "MUTEX_TEST")
#pragma DATA_SECTION(readData1, "MUTEX_TEST1")
#pragma DATA_SECTION(readData2, "MUTEX_TEST2")
typedef struct
{
uint32_t u16;
float f;
} test_t;
test_t readData;
test_t readData1;
test_t readData2;
'임베디드 개발 > TMS320F2838x (C28x)' 카테고리의 다른 글
TMS320F28388D ] CM코어에 lwIP 포팅 (0) | 2023.03.31 |
---|---|
TMS320F28388D ] phy 레지스터 읽어 link status 감지하기 (0) | 2023.03.12 |
Interrupt Nesting & SW Priorization [공개] (2) | 2023.02.25 |
CANFD (MCAN) [공개] (0) | 2023.02.25 |
EMIF로 SDRAM 사용 [공개] (0) | 2023.02.25 |