본문 바로가기

카테고리 없음

각 코어별 DSPR 설정 방법 6

기존 메모리 구조는 하기 이미지와 같다.

 

각 코어별 DSPR에 위치 시키기위해서는 __Private#를 사용하면 된다.

/*****************************************************
 *
 * TASKING_EDU.c
 *
 * Description : Hello World in C, ANSI-style
 *
 */

#include <stdio.h>

char var;
char __private0 var0;
char __private1 var1;
char __private2 var2[10];


void /*__at(0x80000012)*/__private0  func0(void){
	var = 10;
	var0 = var;
}
void __private1 func1(void){
	var1 = var;
}
void __private2 func2(void){
	var2[1] = var;
}

int main(void)
{

	func0();
	func1();
	func2();
	printf( "Hello world\n" );
}

 변경된 메모리 구조(단 var2는 메모리가 크므로 abs18이 아닌 linear에 자동 할당 되었다.)

__clone 모든 DSPR에 설정하는 방법 적용 (모든 코어에서 하나의 Function을 사용하는 경우)

/*****************************************************
 *
 * TASKING_EDU.c
 *
 * Description : Hello World in C, ANSI-style
 *
 */

#include <stdio.h>

char var;
char __private0 var0;
char __private1 var1;
char __private2 var2[10];


void /*__at(0x80000012)*/__private0  func0(void){
	var = 10;
	var0 = var;
}
void __clone func1(void){
	var1 = var;
}
void __private2 func2(void){
	var2[1] = var;
}

int main(void)
{

	func0();
	func1();
	func2();
	printf( "Hello world\n" );
}

__clone 결과 마지막 노란색 표시에서 보듯이 tc0, tc1, tc2에 할당 되었다.

반응형
사업자 정보 표시
라울앤알바 | 장수호 | 서울특별시 관악구 봉천로 13나길 58-10, 404호(봉천동) | 사업자 등록번호 : 363-72-00290 | TEL : 010-5790-0933 | Mail : shjang@raulnalba.com | 통신판매신고번호 : 2020-서울관악-0892호 | 사이버몰의 이용약관 바로가기