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

 
 
> помещение объекта в конец секции 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
Ответов
toweroff
сообщение Aug 23 2011, 14:43
Сообщение #2


Гуру
******

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



ну дык положить константу по адресу не проблема biggrin.gif
вот ее бы в конец бинарника, чтобы потом CRC туда перед прошивкой положить
Go to the top of the page
 
+Quote Post
kovigor
сообщение Aug 23 2011, 15:22
Сообщение #3


Гуру
******

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



Цитата(toweroff @ Aug 23 2011, 17:43) *
ну дык положить константу по адресу не проблема biggrin.gif
вот ее бы в конец бинарника, чтобы потом CRC туда перед прошивкой положить


Клал описанным мной способом CRC в бинарник, правда, не в конец, а в произвольные места внутри бинарника. Проблем не было. В исходнике писал указанную выше строку. Компилятор генерировал .hex, а затем я его преобразовывал в .bin утилитой H-Converter из состава H-JTAG. Странно, какие там могут быть проблемы ?
Go to the top of the page
 
+Quote Post
toweroff
сообщение Aug 23 2011, 19:32
Сообщение #4


Гуру
******

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



Цитата(kovigor @ Aug 23 2011, 19:22) *
Клал описанным мной способом CRC в бинарник, правда, не в конец, а в произвольные места внутри бинарника. Проблем не было.
... Странно, какие там могут быть проблемы ?

А можно вопрос - как CRC потом считалась?
Go to the top of the page
 
+Quote Post

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


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

 


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


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