Телесистемы
 Разработка, производство и продажа радиоэлектронной аппаратуры
На главную   | Карта сайта | Пишите нам | В избранное
Требуется программист в Зеленограде
- обработка данных с датчиков; ColdFire; 40 тыс.
e-mail:jobsmp@pochta.ru

Телесистемы | Электроника | Конференция «Микроконтроллеры и их применение»

Нашел если интересно у себя. Привожу содержимое файла линкера и в конце строчку, которая в коде пишется.

Отправлено 1111 26 октября 2009, г. 14:16
В ответ на: Ответ: отправлено пользователем 1111 26 октября 2009, г. 10:04

<code>

/*###ICF### Section handled by ICF editor, don't touch! ****/
/*-Editor annotation file-*/
/* IcfEditorFile="$TOOLKIT_DIR$\config\ide\IcfEditor\a_v1_0.xml" */
/*-Specials-*/
define symbol __ICFEDIT_intvec_start__ = 0x00000000;
/*-Memory Regions-*/
define symbol __ICFEDIT_region_ROM_start__ = 0x00000080;
define symbol __ICFEDIT_region_ROM_end__ = 0x0003FFFF;
define symbol __ICFEDIT_region_RAM_start__ = 0x40000000;
define symbol __ICFEDIT_region_RAM_end__ = 0x40003FFF;
/*-Sizes-*/
define symbol __ICFEDIT_size_cstack__ = 0x0400;
define symbol __ICFEDIT_size_svcstack__ = 0x0100;
define symbol __ICFEDIT_size_irqstack__ = 0x0016;
define symbol __ICFEDIT_size_fiqstack__ = 0x0016;
define symbol __ICFEDIT_size_undstack__ = 0x0016;
define symbol __ICFEDIT_size_abtstack__ = 0x0016;
define symbol __ICFEDIT_size_heap__ = 0x0000;
/**** End of ICF editor section. ###ICF###*/

define memory mem with size = 4G;
define region ROM_region = mem:[from __ICFEDIT_region_ROM_start__ to __ICFEDIT_region_ROM_end__];
define region RAM_region = mem:[from __ICFEDIT_region_RAM_start__ to __ICFEDIT_region_RAM_end__];

define symbol __region_EXT_RAM_start__ = 0x80000000;
define symbol __region_EXT_RAM_end__ = 0x800FFFFF;
define region EXT_RAM_region= mem:[from __region_EXT_RAM_start__ to __region_EXT_RAM_end__];

define symbol __region_EXT_FLASH_start__ = 0x81000000;
define symbol __region_EXT_FLASH_end__ = 0x817FFFFF;
define region EXT_FLASH_region= mem:[from __region_EXT_FLASH_start__ to __region_EXT_FLASH_end__];

define block CSTACK with alignment = 8, size = __ICFEDIT_size_cstack__ { };
define block SVC_STACK with alignment = 8, size = __ICFEDIT_size_svcstack__ { };
define block IRQ_STACK with alignment = 8, size = __ICFEDIT_size_irqstack__ { };
define block FIQ_STACK with alignment = 8, size = __ICFEDIT_size_fiqstack__ { };
define block UND_STACK with alignment = 8, size = __ICFEDIT_size_undstack__ { };
define block ABT_STACK with alignment = 8, size = __ICFEDIT_size_abtstack__ { };
define block HEAP with alignment = 8, size = __ICFEDIT_size_heap__ { };

initialize by copy { readwrite };
do not initialize { section .noinit };
do not initialize { section EXT_RAM };
do not initialize { section EXT_FLASH };


place at address mem:__ICFEDIT_intvec_start__ { readonly section .intvec };

place in ROM_region { readonly };
place in RAM_region { readwrite,
block CSTACK, block SVC_STACK, block IRQ_STACK, block FIQ_STACK,
block UND_STACK, block ABT_STACK, block HEAP };
place in EXT_RAM_region
{ readwrite data section EXT_RAM };

place in EXT_FLASH_region
{ readwrite data section EXT_FLASH };

place at address mem: 0x000001FC
{ readonly section CODE_PROT_SECTION };

В коде писал
#pragma location = "CODE_PROT_SECTION"
__root const u32_t code_protection = 0x87654321;




</code>


Составить ответ | Вернуться на конференцию.

Ответы


Отправка ответа
Имя*: 
Пароль: 
E-mail: 
Тема*:

Сообщение:

Ссылка на URL: 
URL изображения: 

если вы незарегистрированный на форуме пользователь, то
для успешного добавления сообщения заполните поле, как указано ниже:
введите число 12:

Перейти к списку ответов | Конференция | Раздел "Электроника" | Главная страница | Карта сайта

Rambler's Top100 Рейтинг@Mail.ru
 
Web telesys.ru