[问题] Keil C关于WARNING L15的问题.

楼主: MaxHaru (懂得放手..才是王道)   2015-02-02 18:03:40
请教各位先辈,
在使用Keil C的时候,
若一个function会在不同interrupt中被呼叫,
又或者同时会在main和interrupt中呼叫,
则会出现*** WARNING L15: MULTIPLE CALL TO SEGMENT的警告,
这个问题可以透过加入OVERLAY描述的方式来解决,
我尝试要使用OVERLAY的方式来解决
function在不同interrupt被被呼叫而产生警告的问题,
(但同时在main与interrupt被呼叫时我希望它出现警告)
如下:
假设现在有n个interrupt function
void Interrupt_AAA_ISR(void) interrupt 0
void Interrupt_BBB_ISR(void) interrupt 1
...
我OVERLAY的描述如下,
* ! (
?PR?Interrupt_AAA_ISR?INTFUNC,
?PR?Interrupt_BBB_ISR?INTFUNC,
...
?PR?Interrupt_ZZZ_ISR?INTFUNC,
?PR?Interrupt_ADC?INTFUNC
)
看起来似乎可以达到我的要求,
但因为我不太了解OVERLAY描述的意义,
所以想请教各位我这样的描述它实际的义意是什么呢?
看过网络上的资料这叫Creating New Root Segments
什么是Root Segments, 不知道是否有前辈能指点迷津?
此外, OVERLAY的描述有办法直接写在source code里面吗?
谢谢.

Links booklink

Contact Us: admin [ a t ] ucptt.com