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

 
 
> Вопрос по scatter-файлу, KEIL, stm32f103c8
Nikitoc
сообщение Sep 19 2011, 15:02
Сообщение #1


Местный
***

Группа: Validating
Сообщений: 207
Регистрация: 14-01-09
Из: Днепропетровск
Пользователь №: 43 367



Всем привет. Пытаюсь изменить адрес загрузки кода (и соответственно адрес сброса) путем редактирования scatter-файла.
Его изначальный вид:
Код
LR_IROM1 0x08000000 0x000010000 {   ; load region size_region
     ER_IROM1 0x08000000 0x000010000 { ; load address = execution address
      *.o (RESET, +First)
      *(InRoot$Sections)
      .ANY (+RO)
    
     }
     RW_IRAM1 0x20000000 0x00005000  { ; RW data
      .ANY (+RW +ZI)
     }
   }

Пытаюсь изменить на такой адрес:
Код
LR_IROM1 0x08000600 0x00000FA00 {   ; load region size_region
     ER_IROM1 0x08000600 0x00000FA00 { ; load address = execution address
      *.o (RESET, +First)
      *(InRoot$Sections)
      .ANY (+RO)
  
     }
     RW_IRAM1 0x20000000 0x00005000  { ; RW data
      .ANY (+RW +ZI)
     }
   }

Запускаю отладчик - перехода по вектору сброса не происходит. Что я делаю неправильно?
Цель этих извращений - оставить место для загрузчика (будет отдельным проектом) с 0x08000000 по 0x08000600.
Похожих тем перелопатил целую кучу, ответа не нашел. Может быть я в корне неправильно понимаю процедуру переназначения стартового адреса?
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
SII
сообщение Sep 21 2011, 10:53
Сообщение #2


Знающий
****

Группа: Свой
Сообщений: 549
Регистрация: 13-07-10
Из: Солнечногорск-7
Пользователь №: 58 414



Вообще-то для этого служит скрипт, управляющий процессом загрузки программы и настройки контроллера через JTAG/SW. Вот, например, кусок моего скрипта (слепленного на основе одного из примеров, идущих с Кейлом):

Код
LOAD %L  INCREMENTAL
SP = _RDWORD(0x20000000);
PC = _RDWORD(0x20000004);
_WDWORD(0xE000ED08, 0x20000000);


LOAD грузит файл (адреса устанавливаются компоновщиком на основе scatter-файла), дальше устанавливаются начальные значения SP и PC (путём чтения из указанных ячеек), а затем производится настройка базы таблицы векторов.
Go to the top of the page
 
+Quote Post



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

 


RSS Текстовая версия Сейчас: 21st July 2025 - 17:27
Рейтинг@Mail.ru


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