2013-03-19 3 views
2

Я пытаюсь переключиться на компилятор GNU GCC для нашей встроенной системы, но у меня возникают проблемы при связывании проекта в макете памяти нашего чипа расколоты:Вставить gcc libs .data в конкретный раздел?

RAM section 1: 0x10000-0x12FFF 
RAM section 2: 0x18000-0x1BFFF 

Данные нашего проекта может соответствуют разделу 1, но данные, связанные с gcc libs, отсутствуют. Экземпляр файла карты:

.data   0x00012974  0x3c4 c:/tools/gnucr16_v1.1.3-elf/cr16-elf/bin/../lib/gcc/cr16-elf/4.5.1-GNUCR16_v1.1.3/../../../../cr16-elf/lib\libc.a(lib_a-impure.o) 
       0x00012974    _impure_ptr 

.data   0x00012d7c  0x410 c:/tools/gnucr16_v1.1.3-elf/cr16-elf/bin/../lib/gcc/cr16-elf/4.5.1-GNUCR16_v1.1.3/../../../../cr16-elf/lib\libc.a(lib_a-mallocr.o) 
       0x00012d7c    __malloc_av_ 
       0x00013184    __malloc_trim_threshold 
       0x00013188    __malloc_sbrk_base 

Возможно ли разместить раздел .data из библиотек во втором разделе? Я пробовал разные вещи без успеха ... Linker скрипт экстракт:

MEMORY 
{ 
    SHARED1 : org = 0x10000, len = 0x3000 
    SHARED2 : org = 0x18000, len = 0x4000 
} 

SECTIONS 
{ 
    .data 0x12004 : { *(.data); } >SHARED1 
    .data2 0x19000 : { libc*(.data); } >SHARED2 
} 

ответ

Смежные вопросы