реклама на сайте
подробности

 
 
> помещение объекта в конец секции RO
toweroff
сообщение Aug 23 2011, 12:51
Сообщение #1


Гуру
******

Группа: Свой
Сообщений: 2 957
Регистрация: 19-09-06
Из: Москва
Пользователь №: 20 514



Что-то никак не могу положить константу в конец всего кода во флеш (RO секция)

Код
const unsigned long test_ending __attribute__ ((section("ENDOF"))) = 0x12345678;


и скаттер
Код
; *************************************************************
; *** Scatter-Loading Description File generated by uVision ***
; *************************************************************

LR_IROM1 0x20000000 0x00080000  {  ; load region size_region
  ER_IROM1 0x20000000 0x00080000  {; load address = execution address
   *.o (RESET, +First)
   *(InRoot$$Sections)
   .ANY (+RO)
   *.o (ENDOF, +Last)
  }
  RW_IRAM1 0x80000000 UNINIT 0x0000E000  {; RW data
   .ANY (+RW +ZI)
  }
}


вот конец описания того, что легло во флеш
Код
    0x20000fc8   0x0000000c   Code   RO          257    .text               c_5.l(libspace.o)
    0x20000fd4   0x0000000c   Code   RO          316    .text               c_5.l(rt_fp_status_addr_intlibspace.o)
    0x20000fe0   0x0000000c   Code   RO          320    .text               c_5.l(sys_exit.o)
    0x20000fec   0x00000000   Code   RO          333    .text               c_5.l(indicate_semi.o)
    0x20000fec   0x00000014   Code   RO          303    x$fpl$fpinit        fz_5s.l(fpinit.o)
    0x20001000   0x00001000   Data   RO           52    .constdata          fx2lp.o
    0x20002000   0x00000010   Data   RO          385    Region$$Table       anon$$obj.o
    0x20002010   0x00000004   Data   RO          117    ENDOF               boot.o


    Execution Region RW_IRAM1 (Base: 0x80000000, Size: 0x0000dff4, Max: 0x0000e000, ABSOLUTE, UNINIT)

    Base Addr    Size         Type   Attr      Idx    E Section Name        Object


родная секция ENDOF в аккурат в конце. Ура!
Но не тут-то было

Почему fromelf, создавая BIN, кладет после этой константы еще 5 int (20 байт)?

Понял, но не знаю, как поправить - эти 20 байт есть RW Data
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
kovigor
сообщение Aug 23 2011, 14:22
Сообщение #2


Гуру
******

Группа: Свой
Сообщений: 5 273
Регистрация: 30-03-10
Пользователь №: 56 295



Цитата(toweroff @ Aug 23 2011, 15:51) *
Что-то никак не могу положить константу в конец всего кода во флеш (RO секция)

Код
const unsigned long test_ending __attribute__ ((section("ENDOF"))) = 0x12345678;


Keil ?

Я пользуюсь вот такой конструкцией, работает железно ...
Код
const unsigned int csr_dword __attribute__((at(0x000001fc))) = 0x87654321;


Вы же все равно знаете начальный и конечный адреса секции, вот и задайте адрес явно ...

Сообщение отредактировал kovigor - Aug 23 2011, 14:23
Go to the top of the page
 
+Quote Post

Сообщений в этой теме


Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 19th July 2025 - 12:23
Рейтинг@Mail.ru


Страница сгенерированна за 0.01381 секунд с 7
ELECTRONIX ©2004-2016