[問題] 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