[an error occurred while processing this directive]
|
HT-PICC при компиляции почти каждую функцию (иногда по несколько, закономерности я не нашел) пакует в свою секцию (psect textN) внутри объектного файла. Далее линкер может размещать объектные файлы не целиком, а кусками, секциями. Тут можно было сделать дополнительную оптимизацию размещения секций по кускам доступной свободной памяти, но её нет. Это я наблюдал, когда при увеличении программы на несколько строк (и превышении критического размера кода) внезапно менялось распределение памяти и длина кода уменьшалась на пару сотен слов!
Есть в подходе с разбиениями файла на секции и минус, т.к. для вызова функций из разных секций компилятору приходится ВСЕГДА переключать страницы прогр.памяти, т.к. он не знает в какую страницу её загонит линкер.
У IAR-а нет и этого, он требует непрерывного куска памяти (внутри страницы) для размещения всего объектного файла.
E-mail: info@telesys.ru