I just migrated a project from Keil 3 to Keil 5 (C51 = V9.56.0.0 & LX51 4.66.66.0
I get the following (new) warnings:
*** WARNING L48: IGNORED RECURSIVE CALL CALLED: _SMBUS_SET_PACKET_DATA/SMBUS CALLER: SMBUS *** WARNING L48: IGNORED RECURSIVE CALL CALLED: SMBUS CALLER: _SMBUS_SET_PACKET_DATA/SMBUS
puzzle is that while there is a routine called smbus_set_packet_data there is no routine called smbus. In fact the routine is reproduced below:
static void smbus_set_packet_data(uint8_t pos, uint8_t val,uint8_t info) { smbus_packet[pos] = val; smbus_packet_info[pos] = info; }
What does the above warning indicate?
What exactly did the linker ignore? (Any calling sequence not included in the final binary?
thanks for the clarifications.
with our earlier setup dating back 10 years (Microvision 3.3), we did not have the issue. the code itself had been running without issues. typically caused by timing changes due to (hopefully) the new version compiler being more efficient
typically caused by timing changes due to (hopefully) the new version compiler being more efficient
Given that the primary issue under discussion was a linker warning, I would consider that rather unlikely. It's far more probable that the OP lost some critical build set-up details (like OVERLAY options) in the move from an uV3 to an uV4 project configuration.