|
CrossStudio 1.7 и LPC1768, подружить |
|
|
|
Nov 20 2009, 20:40
|

Профессионал
    
Группа: Свой
Сообщений: 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"/>
--------------------
Если сверху смотреть, то сбоку кажется, что снизу ничего не видно.
|
|
|
|
|
 |
Ответов
(1 - 10)
|
Nov 21 2009, 18:29
|
Частый гость
 
Группа: Свой
Сообщений: 163
Регистрация: 24-08-05
Пользователь №: 7 937

|
http://www.tnkernel.com/downloads/tnkernel...xM3-LPC1766.zipТам (по ссылке) есть проект и Flash Loader для CrossStudio 1.7. Предварительно надо поставить LPC17ХХ pack от версии 2.0. Он ставится, а всякие warning messages при установке можно проигнорировать.
|
|
|
|
|
Nov 22 2009, 07:56
|
Частый гость
 
Группа: Свой
Сообщений: 163
Регистрация: 24-08-05
Пользователь №: 7 937

|
Цитата(Dron_Gus @ Nov 22 2009, 00:44)  Пак поставил. За ссылку спасибо, но она мне мало помогла. Ибо там в Loader_MemoryMap.xml все равно описан только один сегмент sram. И вместо MemoryMap там используется *.ld файл. Я с этим пока не разобрался. Script линкера *.ld для проекта (не Loader-а) строится автоматически из файла flash_placement.xml. В частности: <ProgramSection alignment="4" size="__STACKSIZE__" load="No" name=".stack"/> <ProgramSection alignment="4" size="__STACKSIZE_IRQ__" load="No" name=".stack_irq"/> <ProgramSection alignment="4" size="__STACKSIZE_FIQ__" load="No" name=".stack_fiq"/> <ProgramSection alignment="4" size="__STACKSIZE_SVC__" load="No" name=".stack_svc"/> <ProgramSection alignment="4" size="__STACKSIZE_ABT__" load="No" name=".stack_abt"/> <ProgramSection alignment="4" size="__STACKSIZE_UND__" load="No" name=".stack_und"/> __STACKSIZE_PROCESS__ там не используется .
|
|
|
|
|
Nov 22 2009, 16:34
|

Профессионал
    
Группа: Свой
Сообщений: 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] Я в асме не силен. Это верно? И достаточно ли включить соответствующие модули, чтобы была доступна их память?
--------------------
Если сверху смотреть, то сбоку кажется, что снизу ничего не видно.
|
|
|
|
|
Nov 23 2009, 07:06
|
Частый гость
 
Группа: Свой
Сообщений: 163
Регистрация: 24-08-05
Пользователь №: 7 937

|
Цитата(Dron_Gus @ Nov 22 2009, 19:34)  Вроде как линкуется и не ругается. Правда встроенный "памяте-метр" показывает превышение. При запуске вылетает в 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] Я в асме не силен. Это верно? И достаточно ли включить соответствующие модули, чтобы была доступна их память? Вроде верно - здесь "вроде" потому что, к сожалению, в настоящий момент у меня нет под рукой hardware чтобы все проверить.
|
|
|
|
|
Nov 25 2009, 07:55
|
Частый гость
 
Группа: Свой
Сообщений: 163
Регистрация: 24-08-05
Пользователь №: 7 937

|
Вот рабочий проект для LPC17xx и CrossWorks 1.7 c использованием AHB RAM
|
|
|
|
|
  |
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|