各位童鞋:
最近有人问了个比较特别的问题;平台用的单片机是英飞凌XC2000系列的。一般默认情况下map文
件,从中可以看到两个标准库文件c166cnlib和c166rtnlib被编译到0x00c20000开始
的一段地址内。那这个地址是否可以修改?如何修改?如我们不希望编译在0x00c20000
段内,希望在其他段中,是否可以放在0x00c00000段,跟我的应用程序在一起。
[TASKING-YTCYDZ]A:实际上库文件的也是可以通过是可以重新定位的。但是请不要定位在0x00c00000段,因为这部分是flash开始地址,通常是留给中断向亮表的,否则中断向亮表地址变化,除非在lsl中实行copy功能,否则板子是起不来的。所
以我们还是建议使用默认配置,除非客户自己有特别的需求。
刚开始忽略了library的类型,直接建议使用ordered定位。
你用 __inline就行了,要注意,是小写的,这是标准的C语言写法,而你看到的 __INLINE,是STM32的库进行的宏定义,不是标准的C语言。
那个宏定义在 core_m3c文件里,只有在那个文件,__INLINE才起作用。
#elif defined ( __TASKING__ )
#define __ASM __asm /!< asm keyword for TASKING Compiler /
#define __INLINE inline /!< inline keyword for TASKING Compiler /
#endif
这就是那个C文件里的宏定义。
以上就是关于如何自己定义TASKING中标准库文件的位置全部的内容,包括:如何自己定义TASKING中标准库文件的位置、哪位高手知道Keil4中stm32程序怎么定义内联函数、等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)