# HG changeset patch # User Ideenmodellierer # Date 1606765969 -3600 # Node ID 3508e6dc4f22141147a4cb698c9e3a6364a6ff41 # Parent 1eee6fb108cb600512bd5c73bf2009b818977f3d Added new section "lower.font": To avoid section overlap caused by the memory needs of the new characters, a new section has been introduced to store the font data behind the code and data sections. The handling is a little bit overengineered but was used to have the same look as the upper section, where a defined structure had to be rebuild to match the output of another compiler. moving the lower section behind the upper would save firmware space but result in the need of a new fontlib version. diff -r 1eee6fb108cb -r 3508e6dc4f22 Common/CPU1-F429.ld --- a/Common/CPU1-F429.ld Sun Nov 29 11:41:03 2020 +0100 +++ b/Common/CPU1-F429.ld Mon Nov 30 20:52:49 2020 +0100 @@ -208,7 +208,15 @@ /* Define Known Address for Each Font */ /* Flash Sector 23 is protected (bootloader font + image) => use end of sector 22 */ - +.lower_fonts 0x080A0000 : { + *(.lower_fonts.image_data_*) + + *(.lower_fonts.*) +} > ROM + +.lower_directory : { + *(.lower_font_directory*) +} > ROM /* TODO: the linker does not seem to work as the one of used for initial bootloader ==> Reconstruct layout to keep it compatible with the first version */ /* TODO: cleanup during next iteration */ diff -r 1eee6fb108cb -r 3508e6dc4f22 Discovery/Inc/Fonts/font_T105_extra.h --- a/Discovery/Inc/Fonts/font_T105_extra.h Sun Nov 29 11:41:03 2020 +0100 +++ b/Discovery/Inc/Fonts/font_T105_extra.h Mon Nov 30 20:52:49 2020 +0100 @@ -29,7 +29,7 @@ #include "gfx_fonts.h" -static const uint8_t image_data_FontT105_0x0066[(32 * 80) - (6 * 79)] = { +static const uint8_t image_data_FontT105_0x0066[(32 * 80) - (6 * 79)] __attribute__(( section(".lower_fonts.image_data_FontT105_0x0066") )) = { 0x01,//0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x01,//0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x01,//0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, @@ -64,7 +64,7 @@ 0x01,//0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, }; -static const uint8_t image_data_FontT105_0x0074[(29 * 80) - (6 * 79)] = { +static const uint8_t image_data_FontT105_0x0074[(29 * 80) - (6 * 79)] __attribute__(( section(".lower_fonts.image_data_FontT105_0x0074") )) = { 0x01,//0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff, 0x01,//0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff, 0x01,//0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff, @@ -94,10 +94,10 @@ 0x01,//0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff, }; -static const tImage FontT105_0x0066 = { image_data_FontT105_0x0066, 32, 80}; -static const tImage FontT105_0x0074 = { image_data_FontT105_0x0074, 27, 80}; +static const tImage FontT105_0x0066 __attribute__(( section(".lower_fonts.FontT105_0x0066") )) = { image_data_FontT105_0x0066, 32, 80}; +static const tImage FontT105_0x0074 __attribute__(( section(".lower_fonts.FontT105_0x0074") )) = { image_data_FontT105_0x0074, 27, 80}; -static const tChar FontT105_array_extra[] = +static const tChar FontT105_array_extra[] __attribute__(( section(".lower_fonts.FontT105_array_extra") )) = { // character: '"' {0x0066, &FontT105_0x0066}, @@ -106,4 +106,4 @@ {0x0074, &FontT105_0x0074} }; -const tFont FontT105Extra = { 2, FontT105_array_extra, 15, 52, 80}; +const tFont FontT105Extra __attribute__ (( used, section(".lower_font_directory.FontT105Extra") )) = { 2, FontT105_array_extra, 15, 52, 80}; diff -r 1eee6fb108cb -r 3508e6dc4f22 Discovery/Inc/Fonts/font_T54_extra.h --- a/Discovery/Inc/Fonts/font_T54_extra.h Sun Nov 29 11:41:03 2020 +0100 +++ b/Discovery/Inc/Fonts/font_T54_extra.h Mon Nov 30 20:52:49 2020 +0100 @@ -29,7 +29,7 @@ #include "gfx_fonts.h" -static const uint8_t image_data_FontT54_0x0066[(20 * 42) - (6 * 41)] = { +static const uint8_t image_data_FontT54_0x0066[(20 * 42) - (6 * 41)] __attribute__(( section(".lower_fonts.image_data_FontT54_0x0066") )) = { 0x01,//,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x01,//,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x01,//,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, @@ -52,7 +52,7 @@ 0x01,//,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, }; -static const uint8_t image_data_FontT54_0x0074[(18 * 42) - (6 * 41)] = { +static const uint8_t image_data_FontT54_0x0074[(18 * 42) - (6 * 41)] __attribute__(( section(".lower_fonts.image_data_FontT54_0x0074") )) = { 0x01,//0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x01,//0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x01,//0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, @@ -73,10 +73,10 @@ 0x01,//0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, }; -static const tImage FontT54_0x0066 = { image_data_FontT54_0x0066, 20, 42}; -static const tImage FontT54_0x0074 = { image_data_FontT54_0x0074, 18, 42}; +static const tImage FontT54_0x0066 __attribute__(( section(".lower_fonts.FontT54_0x0066") )) = { image_data_FontT54_0x0066, 20, 42}; +static const tImage FontT54_0x0074 __attribute__(( section(".lower_fonts.FontT54_0x0074") )) = { image_data_FontT54_0x0074, 18, 42}; -static const tChar FontT54_array_extra[] = +static const tChar FontT54_array_extra[] __attribute__(( section(".lower_fonts.FontT54_array_extra") )) = { // character: '"' {0x0066, &FontT54_0x0066}, @@ -85,4 +85,4 @@ {0x0074, &FontT54_0x0074} }; -const tFont FontT54Extra = { 2, FontT54_array_extra, 18, 28, 42 }; +const tFont FontT54Extra __attribute__ (( used, section(".lower_font_directory.FontT54Extra") )) = { 2, FontT54_array_extra, 18, 28, 42 }; diff -r 1eee6fb108cb -r 3508e6dc4f22 Discovery/Inc/Fonts/font_T84.h --- a/Discovery/Inc/Fonts/font_T84.h Sun Nov 29 11:41:03 2020 +0100 +++ b/Discovery/Inc/Fonts/font_T84.h Mon Nov 30 20:52:49 2020 +0100 @@ -574,4 +574,4 @@ const tFont FontT84 __attribute__ (( used, section(".upper_font_directory.FontT84") )) = { 11, FontT84_array,0, 43, 64 }; -const tFont FontT84Spaced = { 11, FontT84_array, 18, 43, 64 }; +const tFont FontT84Spaced __attribute__ (( used, section(".lower_font_directory.FontT84Spaced") )) = { 11, FontT84_array, 18, 43, 64 }; diff -r 1eee6fb108cb -r 3508e6dc4f22 Discovery/Inc/Fonts/font_T84_extra.h --- a/Discovery/Inc/Fonts/font_T84_extra.h Sun Nov 29 11:41:03 2020 +0100 +++ b/Discovery/Inc/Fonts/font_T84_extra.h Mon Nov 30 20:52:49 2020 +0100 @@ -29,7 +29,7 @@ #include "gfx_fonts.h" -static const uint8_t image_data_FontT84_0x0027[(12 * 64) - (4 * 63)] = { +static const uint8_t image_data_FontT84_0x0027[(12 * 64) - (4 * 63)] __attribute__(( section(".lower_fonts.image_data_FontT84_0x0027") )) = { 0x01,//0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x01,//0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x01,0x01,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x0a,0x33,0x9f,0xbf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x24,0x00,0x00,0x00, @@ -44,7 +44,7 @@ 0x01,//0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, }; -static const uint8_t image_data_FontT84_0x0066[(26 * 64) - (6 * 63)] = { +static const uint8_t image_data_FontT84_0x0066[(26 * 64) - (6 * 63)] __attribute__(( section(".lower_fonts.image_data_FontT84_0x0066") ))= { 0x01,//0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x01,//0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x01,//0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, @@ -73,7 +73,7 @@ 0x01,//0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, }; -static const uint8_t image_data_FontT84_0x0074[(23 * 64) - (6 * 63)] = { +static const uint8_t image_data_FontT84_0x0074[(23 * 64) - (6 * 63)] __attribute__(( section(".lower_fonts.image_data_FontT84_0x0074") )) = { 0x01,//0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x01,//0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x01,//0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, @@ -99,15 +99,15 @@ 0x01,//0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, }; -static const tImage FontT84_0x0027 = { image_data_FontT84_0x0027, 12, 64}; -static const tImage FontT84_0x0066 = { image_data_FontT84_0x0066, 26, 64}; -static const tImage FontT84_0x0074 = { image_data_FontT84_0x0074, 23, 64}; +static const tImage FontT84_0x0027 __attribute__(( section(".lower_fonts.FontT84_0x0027") )) = { image_data_FontT84_0x0027, 12, 64}; +static const tImage FontT84_0x0066 __attribute__(( section(".lower_fonts.FontT84_0x0066") )) = { image_data_FontT84_0x0066, 26, 64}; +static const tImage FontT84_0x0074 __attribute__(( section(".lower_fonts.FontT84_0x0074") )) = { image_data_FontT84_0x0074, 23, 64}; -static const tChar FontT84_array_extra[] = +static const tChar FontT84_array_extra[] __attribute__(( section(".lower_fonts.FontT84_array_extra") )) = { {0x0027, &FontT84_0x0027}, {0x0066, &FontT84_0x0066}, {0x0074, &FontT84_0x0074} }; -const tFont FontT84Extra = { 3, FontT84_array_extra, 18, 43, 64 }; +const tFont FontT84Extra __attribute__ (( used, section(".lower_font_directory.FontT84Extra") )) = { 3, FontT84_array_extra, 18, 43, 64 }; diff -r 1eee6fb108cb -r 3508e6dc4f22 Discovery/Inc/gfx_fonts.h --- a/Discovery/Inc/gfx_fonts.h Sun Nov 29 11:41:03 2020 +0100 +++ b/Discovery/Inc/gfx_fonts.h Mon Nov 30 20:52:49 2020 +0100 @@ -77,6 +77,7 @@ /* TODO: Looking at older map files the directories should be placed within the firmware memory */ /* As well as the image data => to be confirmed */ #define UPPER_FONT_DIRECTORY __attribute__ (( used, section(".upper_font_directory") )) +#define LOWER_FONT_DIRECTORY __attribute__ (( used, section(".lower_font_directory") )) /* store new fonts within firmware image to avoid fontlib update */ #define UPPER_IMAGE_DIRECTORY __attribute__(( section(".lower_image_directory") )) #define UPPER_IMAGES __attribute__(( section(".lower_images") ))