We are running a survey to help us improve the experience for all of our members. If you see the survey appear, please take the time to tell us about your experience if you can.
Hi, I have several functions called in T0 isr. The outline of call tree like this:
void T0_isr() interrupt 1 { getkey(); } void getkey() { char c; c = filterGetKeyCode(); } char filterGetKeyCode() { char c; c = getKeyCode(); return c; } char getKeyCode() { char c; char cd; // c be assigned somehow cd = encodeFlex(c); c = decode(cd); return c; } char encodeFlex(char c) { return encode(c); } char encode(char); char decode(char);
That "outline of a call tree" is crucially incomplete. It shows only one partial path through the tree. The missing part is where the other calls to the routines complained about by the linker are coming from. You get those warnings for exactly those functions that do end up being called from two unrelated regions of the call graph. Learn about the reason for these warnings by reading the Manual, and you'll understand whether not your modifications are safe.