In order for the code in file.c to access ary correctly, it must be defined as ’extern far’.
’extern’ informs the compiler that ary is defined in some other file.
’far’ informs the compiler that ary is accessible via the data page pointer.
If the ’far’ keyword is missing, then the compiler will incorrectly assume that ary is in .bss and can be accessed via the data page pointer.
extern far in ary;
更多 far 关键字相关可参考: http://blog.youkuaiyun.com/kissmonx/article/details/8125196
或者官方的 TMS320C6000 Optimizing Compiler v 7.4 User's Guide.pdf