본문 바로가기
TI C2000

28377d CPU1, CPU2 간 변수 공유

by vpam 2021. 11. 3.

IPC 모듈은 나중에 공부하고 CPU1ToCPU2MSG/CPU2ToCPU1MSG 이용해서  진행함.

 

>> CPU1의 varitest1 / CPU2의 varitest2 의 변수를 각각이 읽는 상황. 

 

1) CPU1 과 CPU2 두 프로젝트 링커파일에 메모리/섹션 영역 설정.

1
2
   CPU2TOCPU1RAM   : origin = 0x03F800, length = 0x000400
   CPU1TOCPU2RAM   : origin = 0x03FC00, length = 0x000400
cs

 

1
2
3
    CPU1ToCPU2Msg : > CPU1TOCPU2RAM, PAGE = 1
    CPU2ToCPU1Msg : > CPU2TOCPU1RAM, PAGE = 1
 
cs

 

2) CPU1, CPU2 메인문에 변수 관련 DATA_SECTION 설정

1
2
3
4
5
6
#pragma DATA_SECTION(varitest1, "CPU1ToCPU2Msg");
uint16_t varitest1;
 
#pragma DATA_SECTION(varitest2, "CPU2ToCPU1Msg");
uint16_t varitest2;
 
cs

3) 

ㅇㅇㄹ

결과 

cpu1의 메인문에 varitest1 = varitest2 를 두면, 

varitest2를 10으로 변경하면, cpu1의 varitest1도 10으로 변경되는 것을 볼 수 있다. 

 

TI powersuite 의 tinv_f28379D 예제도 dualcpu를 시도하려는 흔적이 있는 것 같긴한데.. 

듀얼코어 관련 예제 중 IPC 부분들은 좀 너무 어려운 것 같아서 우선 메세지램 이용해서 하는 것부터 정리.. 

반응형

댓글