看板 ASM 關於我們 聯絡資訊
請教各位先輩, 在使用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裡面嗎? 謝謝. -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 218.210.106.78 ※ 文章網址: https://www.ptt.cc/bbs/ASM/M.1422871423.A.C4F.html ※ 編輯: MaxHaru (218.210.106.78), 02/02/2015 18:04:15 ※ 編輯: MaxHaru (218.210.106.78), 02/02/2015 19:03:47