Hi, im trying to make a Scatter File and also understand the directives in assembler and the map. In the Map i can see for example the lines:
0x08000000 0x08000000 0x00000188 Data RO 16 RESET startup_stm32f407xx.o 0x08000188 0x08000188 0x00000008 Code RO 42 * !!!main c_w.l(__main.o) 0x08000190 0x08000190 0x00000034 Code RO 205 !!!scatter c_w.l(__scatter.o) 0x080001c4 0x080001c4 0x0000001a Code RO 207 !!handler_copy c_w.l(__scatter_copy.o) 0x080001de 0x080001de 0x00000002 PAD 0x080001e0 0x080001e0 0x0000001c Code RO 209 !!handler_zi c_w.l(__scatter_zi.o)
The project has a scatter file por default? because i cant see the file in the folders. Does exists a example project that includes a Scatter File?
Keil accepts a Scatter File .sct in Options for Target -> Linker it seems that i have to write from 0 and i think that when you create a project it would also create a Scatter File standard.
I find it does not create the default scatter file until you build / link. I can seed the sct file in my project directory (under the objects). This is based on the values in the Target options. I have a valid license so it so I can this is default generated scatter file. As Andy states, the free version is probably limited on Scatter file abilities. I am pretty sure you cannot use a custom scatter file in the Free version so it may also not keep the default scatter file around for you to look at after a build.
Since you can change the Target options after creating a project, the default Scatter file is not created until build time as opposed to project creation time.
Its resolved. In Options for Target -> Linker, it was unchecked the "Use Memory Layout from Target Dialog". Checking that it creates the Scatter File. Thank you for the replies.