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

 
 
> CrossStudio 1.7 и LPC1768, подружить
Dron_Gus
сообщение Nov 20 2009, 20:40
Сообщение #1


Профессионал
*****

Группа: Свой
Сообщений: 1 202
Регистрация: 9-01-05
Из: Санкт-Петербург
Пользователь №: 1 861



На сайте Rowley пак для этой линейки только для студии от 2.0. Но на нее нет лекарства и выглядит как матрешка. Пытаюсь подружить с версией 1.7. Осталось два нерешенных вопроса.
1) при каждой полной перекомпиляции или изменении настроек слетает скрипт линкера и из него пропадает
Код
__STACKSIZE_PROCESS__ = 128;

без этого линкер ес-но ругается. Каждый раз добавлять это в файл - тоже бред. Остальные значения студия берет из настроек. Этой настройки нема.
2) мало относится к студии конкретно. Как заставить линкер раскладывать секции по нескольким сегментам? Как только вылез за 32 К пошли маты
Код
.bss is too large to fit in RAM memory segment

Хотя я в файле flash_placement.xml для всех трех сегментов указал
Код
    <ProgramSection alignment="4" size="__STACKSIZE_PROCESS__" load="No" name=".stack_process"/>
    <ProgramSection alignment="4" load="No" name=".fast_run"/>
    <ProgramSection alignment="4" load="No" name=".data_run"/>
    <ProgramSection alignment="4" load="No" inputsections="*(.bss .bss.* .gnu.linkonce.b.*) *(COMMON)" name=".bss"/>
    <ProgramSection alignment="4" load="No" inputsections="*(.non_init .non_init.*)" name=".non_init"/>


--------------------
Если сверху смотреть, то сбоку кажется, что снизу ничего не видно.
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Dron_Gus
сообщение Nov 22 2009, 16:34
Сообщение #2


Профессионал
*****

Группа: Свой
Сообщений: 1 202
Регистрация: 9-01-05
Из: Санкт-Петербург
Пользователь №: 1 861



Цитата(yuri_t @ Nov 22 2009, 16:26) *
Попробуите добавить "AHBSRAM0" и "AHBSRAM1" к строке "MemorySegment" в файле
flash_placement.xml - должно быть что-то типа

<MemorySegment name="Internal SRAM;RAM;SRAM;SDRAM;DRAM;AHBSRAM0;AHBSRAM1">

Следует помнить, что инициализацию регистров для нормальной работы с "AHBSRAM0" и "AHBSRAM1"
надо делать самому, причем до первого access к этим областям памяти.


Вроде как линкуется и не ругается. Правда встроенный "памяте-метр" показывает превышение. При запуске вылетает в HardFault. Хотя в стартап добавил:
Код
  ldr r0, =SC_BASE_ADDRESS
  /* power on usb and ethernet */
  ldr r1, [r0, #PCONP_OFFSET]
  orr r1, r1, #PCONP_PCENET_BIT
  orr r1, r1, #PCONP_PCUSB_BIT
  str r1, [r0, #PCONP_OFFSET]

Я в асме не силен. Это верно? И достаточно ли включить соответствующие модули, чтобы была доступна их память?


--------------------
Если сверху смотреть, то сбоку кажется, что снизу ничего не видно.
Go to the top of the page
 
+Quote Post



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

 


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


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