The following issues found are based on a design using LPC1788 with external SDRAM on the EMC bus. It has an RTOS resides in the internal Flash, while the emWin application runs from the external SDRAM. The emWin application is built as an relocatable ELF binary.
(1) In the situation of running emWin application from external SDRAM (address starting at 0xA0000000), emWin calls the RTOS functions (such as memcpy) which reside in the internal flash memory (address starting at 0). The function calls fail. It seems that emWin pre-built library is not built with -mlong-calls. We have confirmed that JMP24 is observed.
We suggest Segger include -mlong-calls in building the emWin library, since the use of external SDRAM is quite common in many applcations. If anyone hits this scenario, the emWin library is broken in that sense.
(2) A less serious issue is the -fno-common is not in building the emWin library either. It is a fact that not all RTOS or maybe some flavors of embedded Linux support common section.
Your prompt response will be really appreciated.
Thanks.
(1) In the situation of running emWin application from external SDRAM (address starting at 0xA0000000), emWin calls the RTOS functions (such as memcpy) which reside in the internal flash memory (address starting at 0). The function calls fail. It seems that emWin pre-built library is not built with -mlong-calls. We have confirmed that JMP24 is observed.
We suggest Segger include -mlong-calls in building the emWin library, since the use of external SDRAM is quite common in many applcations. If anyone hits this scenario, the emWin library is broken in that sense.
(2) A less serious issue is the -fno-common is not in building the emWin library either. It is a fact that not all RTOS or maybe some flavors of embedded Linux support common section.
Your prompt response will be really appreciated.
Thanks.