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

 
 
> 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, 11:21
Сообщение #2


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

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



Еще раз спасибо! Вчера вечером недоосознал Ваше сообщение и пытался прикрутить файлы от лоадера. Сегодня понял свою ошибку и первая проблема ушла. Хотя пока не понятно откуда берется значение для установки стека приложения (их же в cortex-m3 всего два осталось). И можно ли поставить размеры стеков irq и fiq равными нулю.

По второй проблеме - кроссстудия все равно продолжает считать, что у нее в распоряжении только 32 Кб памяти. sad.gif


--------------------
Если сверху смотреть, то сбоку кажется, что снизу ничего не видно.
Go to the top of the page
 
+Quote Post
yuri_t
сообщение Nov 22 2009, 13:26
Сообщение #3


Частый гость
**

Группа: Свой
Сообщений: 163
Регистрация: 24-08-05
Пользователь №: 7 937



В файле flash_placement.xml описываются сегменты которые линкер будет считать
относящимся к RAM

<Root name="Flash Section Placement">
<MemorySegment name="Internal SRAM;RAM;SRAM;SDRAM;DRAM">
...
...

В файле LPC1766_MemoryMap.xml описаны дополнительные сегменты ОЗУ-

...
...
<MemorySegment size="0x4000" access="Read/Write" start="0x2007C000" name="AHBSRAM0"/>
<MemorySegment size="0x4000" access="Read/Write" start="0x20080000" name="AHBSRAM1"/>
...
...


Попробуите добавить "AHBSRAM0" и "AHBSRAM1" к строке "MemorySegment" в файле
flash_placement.xml - должно быть что-то типа

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

Следует помнить, что инициализацию регистров для нормальной работы с "AHBSRAM0" и "AHBSRAM1"
надо делать самому, причем до первого access к этим областям памяти.
Go to the top of the page
 
+Quote Post



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

 


RSS Текстовая версия Сейчас: 29th July 2025 - 07:30
Рейтинг@Mail.ru


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