------------ 'Tasking MDS 세미나'에서 작업했던 내용을 정리합니다. ------------
1. 모든 변수들의 align을 4로 설정
#pragma align 4
char var;
char var0;
char var1;
char var2[10];
#pragma align restore
2.모든 변수를 near 타입으로 변환
하기 프라그마에서 size 2 속성은 프라그마 설정 안의 변수 사이즈가 2이하인 경우만 Pragma를 적용한다는 파라미터이다. 따라서 var6는 .bss로 LMU에 속한다.
#pragma default_near_size 2
char var3;
char var4;
char var5;
char var6[10];
#pragma default_near_size restore
3. Func2, main 을 all_fun이란 이름으로 정의하고 pflash2에 위치시키기
.c 파일
#pragma section code "all_func"
void func2(void){
var2[1] = var;
}
int main(void)
{
func0();
func1();
func2();
printf( "Hello world\n" );
}
#pragma section code restore
lsl 파일
section_layout mpe:vtc:linear
{
group (run_addr=mem:mpe:pflash2, ordered)
{
select ".text.all_func";
}
}
4. func0, func1을 모든 코어의 pspr 메모리에 위치
code 이기때문에 __clone 테그를 입력하면 pspr로 위치된다.
void __clone func0(void){
var = 10;
var0 = var;
}
void __clone func1(void){
var1 = var;
}
반응형