sav_ua (26.10.2018 22:33 - 22:37, просмотров: 168) ответил sav_ua на Среда - McuXpresso, проц - lpc1857, компилятор - gcc, как заставить линкер расположить всё используемое нутро подключенной библиотеки во второй блок флеши?
Solved Если кому интересно, алшгоритм только для среды Mcuxpresso
Задача - перенести граф. библиотеку emWin во второй банк памяти, точнее сказать вынести из первого банка.
Общая конфигурация 2х512кБ внутренней флеши плюс 4МБ внешней SPIFI
1. Создаем директорию в папке проекта "linkscripts"
2. Создаем и записываем в эту директорию четыре файла
main_text.ldt
*(EXCLUDE_FILE(*libemWin_M3.a:) .text*)
main_rodata.ldt
*(EXCLUDE_FILE(*libemWin_M3.a:) .rodata)
*(EXCLUDE_FILE(*libemWin_M3.a:) .rodata.*)
*(EXCLUDE_FILE(*libemWin_M3.a:) .constdata)
*(EXCLUDE_FILE(*libemWin_M3.a:) .constdata.*)
. = ALIGN(${text_align});
extrasections_text.ldt
*libemWin_M3.a:(.text*)
. = ALIGN(${text_align});
extrasections_rodata.ldt
*libemWin_M3.a:(.rodata .rodata.* .constdata .constdata.*)
. = ALIGN(${text_align});
3. В настройках проекта C/C++ Build->MCU Setting -> Memory details на ВТОРУЮ! сверху позицию устанавливаем тот физический модуль памяти, в который
собираемся переместить библиотеку.
4. Clean -> Build project
5. Enjoy