I am getting linking errors with the by element14 supplied emWin demo software.
I know the basics (I would've thought I know more, but here we are) about linkers and compilers, but I just can't get this package to compile. It seems the scatter file is wrong, but where and why, I have no ******** clue. I have looked EVERYWHERE for a solution to the problem. It seems that it has something to do with the RAM or ROM memory, but I cannot figure out why or where.
Here's my build-output:
*** Using Compiler 'V5.06 update 2 (build 183)', folder: 'C:\Keil_v5\ARM\ARMCC\Bin'
Rebuild target 'LPC4357 Int. Flash'
assembling startup_LPC43xx.s...
compiling TSC_STMPE811.c...
compiling GUIConf.c...
compiling JOY_LPC43xx.c...
compiling I2C_LPC43xx.c...
compiling LCD_X_LPC4300.c...
compiling system_LPC43xx.c...
compiling LCDConf.c...
Driver\LCDConf.c(221): warning: #177-D: function "delay" was declared but never referenced
static void delay (int cnt) {
Driver\LCDConf.c: 1 warning, 0 errors
compiling GUI_X.c...
GUI_X.c(80): warning: #223-D: function "SystemCoreClockUpdate" declared implicitly
SystemCoreClockUpdate();
GUI_X.c: 1 warning, 0 errors
compiling main.c...
compiling GUIDEMO.c...
compiling GUIDEMO_Automotive.c...
compiling GUIDEMO_Bitmap.c...
compiling GUIDEMO_BarGraph.c...
compiling GUIDEMO_ColorBar.c...
compiling GUIDEMO_Conf.c...
compiling GUIDEMO_Cursor.c...
compiling GUIDEMO_Graph.c...
compiling GUIDEMO_Intro.c...
compiling GUIDEMO_Fading.c...
compiling GUIDEMO_ImageFlow.c...
compiling GUIDEMO_IconView.c...
compiling GUIDEMO_Listview.c...
compiling GUIDEMO_Resource.c...
compiling GUIDEMO_Skinning.c...
compiling GUIDEMO_Speed.c...
compiling GUIDEMO_Speedometer.c...
compiling GUIDEMO_Start.c...
compiling GUIDEMO_TransparentDialog.c...
compiling GUIDEMO_Treeview.c...
compiling GUIDEMO_VScreen.c...
compiling GUIDEMO_WashingMachine.c...
compiling lpc43xx_gpio.c...
compiling lpc43xx_timer.c...
compiling lpc43xx_lcd.c...
compiling GUIDEMO_ZoomAndRotate.c...
compiling lpc43xx_cgu.c...
compiling lpc43xx_rgu.c...
compiling lpc43xx_scu.c...
linking...
.\IntFlash\GUIDemo.axf: Warning: L6170W: Mapping symbol #19 '$t' in .bss(GUI_Curs1.o:8) identifies code, but is in a section not marked as executable.
.\IntFlash\GUIDemo.axf: Warning: L6170W: Mapping symbol #89 '$t' in .bss(GUI_SetAlpha.o:7) identifies code, but is in a section not marked as executable.
.\IntFlash\GUIDemo.axf: Warning: L6170W: Mapping symbol #42 '$t' in .bss(LISTVIEW.o:8) identifies code, but is in a section not marked as executable.
.\IntFlash\GUIDemo.axf: Warning: L6170W: Mapping symbol #31 '$t' in .bss(GUI_Timer.o:7) identifies code, but is in a section not marked as executable.
.\IntFlash\GUIDemo.axf: Warning: L6170W: Mapping symbol #7 '$t' in .bss(GUI__ManageCache.o:7) identifies code, but is in a section not marked as executable.
.\IntFlash\GUIDemo.axf: Warning: L6170W: Mapping symbol #19 '$t' in .bss(GUI__Alpha.o:7) identifies code, but is in a section not marked as executable.
.\IntFlash\GUIDemo.axf: Error: L6405E: No .ANY selector matches GUI_SetAlpha.o(.bss).
.\IntFlash\GUIDemo.axf: Error: L6405E: No .ANY selector matches GUI__ManageCache.o(.bss).
.\IntFlash\GUIDemo.axf: Error: L6405E: No .ANY selector matches GUI__Alpha.o(.bss).
.\IntFlash\GUIDemo.axf: Error: L6405E: No .ANY selector matches GUI_Timer.o(.bss).
.\IntFlash\GUIDemo.axf: Error: L6405E: No .ANY selector matches GUI_Curs1.o(.bss).
.\IntFlash\GUIDemo.axf: Error: L6405E: No .ANY selector matches LISTVIEW.o(.bss).
Not enough information to list image symbols.
Not enough information to list the image map.
Finished: 2 information, 6 warning and 6 error messages.
".\IntFlash\GUIDemo.axf" - 6 Error(s), 8 Warning(s).
Target not created.
Build Time Elapsed: 00:00:01
This is my scatter file:
; *************************************************************
; *** Scatter-Loading Description File generated by uVision ***
; *************************************************************
LR_IROM1 0x1A000000 0x00080000 { ; load region size_region
ER_IROM1 0x1A000000 0x00080000 { ; load address = execution address
*.o (RESET, +First)
*(InRoot$$Sections)
.ANY (+RO)
}
RW_IRAM1 0x10000000 0x00008000 { ; RW data
.ANY (+RW +ZI)
}
RW_IRAM2 0x20000000 0x00010000 {
.ANY (+RW +ZI)
}
RW_RAM1 0x28000000 0x00800000 {
* (VRAM, GUI_RAM, GUIDEMO_STACK, FS_RAM, IP_RAM, USB_RAM)
}
}
Message was edited by: Moderator - removed profanity.