16+
Понедельник
20 ноября
Вход |Карта сайта | |Upload |codebook | PARTS

 О смысле всего сущего 0xFF

 Средства и методы разработки

 Мобильная и беспроводная связь

 Блошиный рынок Объявления

caxapa

Микроконтроллеры ARM 

AVR PIC MSP PLD,FPGA,DSP 

Кибернетика Технологии 

Схемы, платы, компоненты 

ARM-контроллеры

 
   Новая тема Правила Регистрация Поиск »» Архив
Вернуться в конференциюТопик полностью
Chum_A  (03.11.2017 14:07, просмотров: 596)
GCC ARM, борьба с линкером при размещении в выделенной секции: 
В исходнике:
__attribute__((section(".progid.VER"))) const char ver[] ="VER_0.1";
__attribute__((section(".progid.DAT"))) const char dat[] = __DATE__;
В скрипте линкера:
MEMORY
{
...........
PROGID (r) : ORIGIN = 0x0001FFD0, LENGTH = 0x30
RAM (rw)   : ORIGIN = 0x20000000, LENGTH = 32K
..........
}

SECTIONS
{
.........................
	.progid :
	{
		KEEP(*(.progid*))
		*(.progid.VER)
		*(.progid.DAT)
		*(.progid*);
	} > PROGID

	. = ALIGN(4);
	__etext = .;

	.data : AT (__etext)
	{
.........................
В map:
.progid              0x0001ffd0       0x14
 *(.progid*)
 .progid.DAT    0x0001ffd0        0xc ../obj/preinit.o
                        0x0001ffd0                dat
 .progid.VER    0x0001ffdc        0x8 ../obj/preinit.o
                        0x0001ffdc                ver
 *(.progid.VER)
 *(.progid.DAT)
 *(.progid*)
                0x0001ffe4                . = ALIGN (0x4)
                0x0001ffe4                __etext = .

.data        0x20000000       0x70 load address 0x0001ffe4
                0x20000000      __data_start__ = .
В прошивке:
1FFD0: 4E 6F 76 20 20 33 20 32  30 31 37 00 56 45 52 5F    |  Nov  3 2017.VER_
1FFE0: 30 2E 31 00 00 12 7A 00  FC 7F 00 00 15 00 00 00   |  0.1.........................
1FFF0: 10 00 00 20 00 00 00 00  54 4D 00 00 74 4D 00 00    |  ..............................
Вопросы: 1 Откуда мусор в прошивке после VER_0.1 и как его убрать 2 Меняю местами *(.progid.VER) с *(.progid.DAT), все равно в прошивке первой стоит DAT P.S. Вставлять абсолютные адреса в секцию .progid не хочется
 [x][x][x][x][x][x] [x][x][x][x][x][x][x][x]

Тема выделяется по переводу строки или автоматом

 

Имя


Регистрация позволит вам редактировать и перемещать ваши сообщения и прикреплять к ним файлы.
 
Символы: á é ó ú ý « »
Главная | Карта сайта | О проекте | Проекты | Файлообменник | Регистрация | Вебмастер | RSS
Лето 7526 от сотворения мира. При использовании материалов сайта ссылка на caxapу обязательна.
MMI © MMXVII