Mercurial > public > ostc4
changeset 47:a6580170de6f
Added instruction to optimize for size
and to remove upper section from binary output
author | Ideenmodellierer |
---|---|
date | Sun, 29 Jul 2018 18:16:01 +0200 |
parents | f39206facb93 |
children | bf43851a678b |
files | wiki/Detailed CPU1-Discovery Project.md |
diffstat | 1 files changed, 9 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
--- a/wiki/Detailed CPU1-Discovery Project.md Sun Jul 29 18:09:58 2018 +0200 +++ b/wiki/Detailed CPU1-Discovery Project.md Sun Jul 29 18:16:01 2018 +0200 @@ -29,6 +29,8 @@ 2. Right on it, select `Properties`, `Resource` and set `Text file encoding` to **UTF-8** 3. Right on it, select `Properties`, `Resource` then `Linked Resources` and click on `New...` to define a new variable **OSTC4** that points to your source folder **D:\Dev\OSTC4** (or whatever path you used on your system). This should allow to change the project's origin with a single variable change. +4. Right on it, select `Properties`, `Settings`, `Optimization` and set `Optimization Level` to **Optimize for size (-Os)** + # Add Sources Folders # @@ -75,6 +77,13 @@ 1. Select your top-level project, right-click to edit `properties`. In `C/C++ Build` choose `Settings`, then `MCU G++ Linker` and `General`. And select _linker Script_: `OSTC4/Common/CPU1-F429.ld` + +## Prepare generation of bin file +1. Select your top-level project, right-click to edit `properties`. In `C/C++ Build` choose `Settings`, then tab `Build Steps` and `Post build step command`. +2. Add option -R .upper* to the command to removed the upper memory section, which is provided by the font library => +`arm-none-eabi-objcopy -R .upper* -O binary "${BuildArtifactFileBaseName}.elf" "${BuildArtifactFileBaseName}.bin"; arm-none-eabi-size "${BuildArtifactFileName}"` + + ## Build ELF firmware ## 1. Click the `Build` button (hammer icon) on the top bar. \ No newline at end of file