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.
I am seeing this warning when I try to compile my code
Warning L15: multiple call to segment segment: ?pr?_nvmwrit?nvmem_cc caller1: ?pr?spicommisr?spi_com_cc caller2: ?c_c51startup
I looked through my code, I don't call nvmwrite in spicommisr routine. And what is this c51startup file?
thanks, DG
Simply add the function called via pointer into the call tree where it belongs.
What do you mean by that? Is that also through linker settings in Keil?
what I have in my code is this, I define typedef struct:
typedef struct { UINT8 Num_Input_Byte; void (*cmdFunc)(void); } cSpiInputStruct_T;
After I receive information from SPI, I check the header then in my super loop, I have this:
void SPIProcess(void) { if (SpiCmdReady) { cSpiInputTbl[SpiCmdIdx].cmdFunc(); SpiCmdReady = FALSE; } }
I am using similar method to handle UART command too and never have any problem there.
Yes. Take a look at the linker manual. There is an entire chapter devoted to this topic.
www.keil.com/.../bl51_ol_manipulations.htm
Jon