tricore 汇总

lance9527 / 2023-08-16 / 原文

1:指定输入段

#if defined(__HIGHTEC__)
#pragma section
#pragma section ".start" x       /* hightec 编译器下声明函数 fun() 放入名为 .start 的指定输入段中,除了 .start 外全是关键字,.start 可以随意命名 */
#endif


#if defined(__TASKING__)
#pragma protect on
#pragma section code "start"    /* tasking 编译器下声明函数 fun() 放入名为 .code.start 的指定输入段中,段名会自动添加 .code.  ,除了 start 外全是关键字,start 可以随意命名 */

#endif


#if defined(__DCC__)
#pragma section CODE ".start" X      /* 类似上面 */

#endif

 

#if defined(__ghs__)
#pragma ghs section text=".startup"   /* ghs 编译器下声明函数 fun() 放入名为 .text.startup 的指定输入段中,除了 .startup 外全是关键字,.startup 可以随意命名 */
#endif

void fun(void)
{
}

if defined(__HIGHTEC__)
#pragma section                             /* hightec 编译器下声明结尾,必须和开头的声明成对存在,全是关键字无须修改 */
#endif
#if defined(__TASKING__)
#pragma protect restore
#pragma section code restore         /* tasking 编译器下声明结尾,必须和开头的声明成对存在,全是关键字无须修改 */
#endif
#if defined(__DCC__)
#pragma section CODE                   /* dcc 编译器下声明结尾,必须和开头的声明成对存在,全是关键字无须修改 */
#endif
#if defined(__ghs__)
#pragma ghs section text=default    /* ghs 编译器下声明结尾,必须和开头的声明成对存在,全是关键字无须修改 */
#endif

 

2: