Thunderbird 0 30 ноября, 2010 Опубликовано 30 ноября, 2010 · Жалоба Нужно во flash помимо прошивки разместить дополнительный hex файл по заданному адресу, как это можно сделать? Отладчик -jlink, процессор str912faw44. Компилятор IAR 5.50 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
vmp 0 30 ноября, 2010 Опубликовано 30 ноября, 2010 · Жалоба Нужно во flash помимо прошивки разместить дополнительный hex файл по заданному адресу, как это можно сделать? Отладчик -jlink, процессор str912faw44. Компилятор IAR 5.50 Project - Option - Linker - Input - Raw Binary Image. Предварительно обработать hex2bin. Адрес секции задается с icf-файле линкера. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
DogPawlowa 0 30 ноября, 2010 Опубликовано 30 ноября, 2010 · Жалоба Нужно во flash помимо прошивки разместить дополнительный hex файл по заданному адресу, как это можно сделать? Отладчик -jlink, процессор str912faw44. Компилятор IAR 5.50 Свойства проекта -> свойства линкера -> config -> raw binary image Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Thunderbird 0 30 ноября, 2010 Опубликовано 30 ноября, 2010 · Жалоба А что при этом должно быть записано в Symbol: Section: Align: ? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
vmp 0 30 ноября, 2010 Опубликовано 30 ноября, 2010 · Жалоба А что при этом должно быть записано в Symbol: Section: Align: ? Help - C/C++ Development Guide - Part2 Reference information - Linker Option - Description of options - --image-input. Символ - глобальный символ, на который будет ссылаться программа. Section - имя секции, в которую линкер положит этот файл. Описывается в icf-файле Align - выравнивание данных. Поставить 4. Если на символ не будет ссылки, то линкер выбросит этот файл. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Thunderbird 0 30 ноября, 2010 Опубликовано 30 ноября, 2010 · Жалоба Вот icf файл, что-то непонятно, как в нем прописать адрес секции /*###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__ = 0x000000EC; define symbol __ICFEDIT_region_ROM_end__ = 0x0007FFFF; /*512 KBytes of Flash*/ /*define symbol __ICFEDIT_region_ROM_end__ = 0x0003FFFF;*/ /*256 KBytes of Flash*/ /*define symbol __ICFEDIT_region_ROM_end__ = 0x000FFFFF;*/ /*1024 KBytes of Flash*/ /*define symbol __ICFEDIT_region_ROM_end__ = 0x001FFFFF;*/ /*2048 KBytes of Flash*/ define symbol __ICFEDIT_region_RAM_start__ = 0x4000000; define symbol __ICFEDIT_region_RAM_end__ = 0x4017FFF; /*96 KBytes of RAM*/ /*define symbol __ICFEDIT_region_RAM_end__ = 0x0400FFFF;*/ /*64 KBytes of RAM*/ /*-Sizes-*/ define symbol __ICFEDIT_size_cstack__ = 0x400; define symbol __ICFEDIT_size_svcstack__ = 0x100; define symbol __ICFEDIT_size_irqstack__ = 0x400; define symbol __ICFEDIT_size_fiqstack__ = 0x400; define symbol __ICFEDIT_size_undstack__ = 0x100; define symbol __ICFEDIT_size_abtstack__ = 0x100; define symbol __ICFEDIT_size_heap__ = 0x400; /**** 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 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 }; place at address mem:__ICFEDIT_intvec_start__ { readonly section .intvec }; place in ROM_region { first block ICode{section .icode}, 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 }; Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
vmp 0 30 ноября, 2010 Опубликовано 30 ноября, 2010 · Жалоба Вот icf файл, что-то непонятно, как в нем прописать адрес секции place at address mem:__ICFEDIT_intvec_start__ { readonly section .intvec }; place at address mem:__ICFEDIT_intvec_start__ { readonly section .intvec }; place at address mem:0x12345678 { readonly section tbird }; Секция tbird (только для чтения) будет размещена по адресу 0x12345678. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Thunderbird 0 30 ноября, 2010 Опубликовано 30 ноября, 2010 (изменено) · Жалоба Не работает:-( Память по заданному адресу по прежнему забита FFками.... ПОЛУЧИЛОСЬ!!! Надо было еще заполнить пункт keep symbols Изменено 30 ноября, 2010 пользователем Thunderbird Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Lexy_one 0 8 декабря, 2010 Опубликовано 8 декабря, 2010 (изменено) · Жалоба А как ссылаться на данную секцию? Как добраться до данных которые в ней описанны? И что надо такого надо написать в keep symbols - подскажите? Изменено 8 декабря, 2010 пользователем Lexy_one Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
megajohn 3 10 февраля, 2015 Опубликовано 10 февраля, 2015 · Жалоба А как ссылаться на данную секцию? извиняюсь за поднятие некропоста, но будет быстрой посказкой, тем кто ищет в поисковиках ответ в картинке Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
TU-104 0 3 июля, 2018 Опубликовано 3 июля, 2018 · Жалоба Еще раз пронекропостю... Так и не понял, что делает эта опция Align Цитирую Help - C/C++ Development Guide - Part2 Reference information - Linker Option - Description of options - --image-input. --image_input bootstrap.abs,Bootstrap,CSTARTUPCODE,4 The contents of the pure binary file bootstrap.abs are placed in the section CSTARTUPCODE. The section where the contents are placed is 4-byte aligned and will only be included if your application (or the command line option --keep) includes a reference to the symbol Bootstrap. Т.е. это выравнивание в байтах? Ставил и 1, и 4, и 16 - выходной файл не меняется, выравнивание всегда до 4х байт. (Если поставить "0", то выскакивает ошибка Su003) IAR-7.50.2 Arm-cortex-M7 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться