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

 
 
> LPC + CRP в ADS 1.2, разместить число для CRP
Romario
сообщение May 11 2006, 14:36
Сообщение #1


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

Группа: Участник
Сообщений: 92
Регистрация: 26-06-04
Пользователь №: 192



Как бы покрасивее разместить число для активизации CRP в LPC средствами ADS 1.2 ?

умнее чем просто забить 0-ми до 0x1FC (подгоном) и объявить DCD 0x87654321
не придумал (не получилось).

а хочется универсально...
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов (1 - 7)
zltigo
сообщение May 11 2006, 15:42
Сообщение #2


Гуру
******

Группа: Свой
Сообщений: 13 372
Регистрация: 27-11-04
Из: Riga, Latvia
Пользователь №: 1 244



Цитата(Romario @ May 11 2006, 17:36) *
Как бы покрасивее разместить число для активизации CRP в LPC средствами ADS 1.2 ?

умнее чем просто забить 0-ми до 0x1FC (подгоном) и объявить DCD 0x87654321
не придумал (не получилось).

а хочется универсально...


Естественно ORG.
Код
               ............
                ldr     r0,=?main
                bx      r0

                ORG     0x1FC
                dc32    0x0x87654321      // Protect Label

                ENDMOD; ?CSTARTUP


--------------------
Feci, quod potui, faciant meliora potentes
Go to the top of the page
 
+Quote Post
aaarrr
сообщение May 11 2006, 16:06
Сообщение #3


Гуру
******

Группа: Свой
Сообщений: 10 713
Регистрация: 11-12-04
Пользователь №: 1 448



Цитата(zltigo @ May 11 2006, 19:42) *
Естественно ORG.


Не знает ADS такого слова.
Сделайте отдельную секцию и разместите её по нужному адресу в scatter файле.
Go to the top of the page
 
+Quote Post
Romario
сообщение May 11 2006, 16:06
Сообщение #4


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

Группа: Участник
Сообщений: 92
Регистрация: 26-06-04
Пользователь №: 192



Цитата(zltigo @ May 11 2006, 19:42) *
Цитата(Romario @ May 11 2006, 17:36) *

Как бы покрасивее разместить число для активизации CRP в LPC средствами ADS 1.2 ?

умнее чем просто забить 0-ми до 0x1FC (подгоном) и объявить DCD 0x87654321
не придумал (не получилось).

а хочется универсально...


Естественно ORG.
Код
               ............
                ldr     r0,=?main
                bx      r0

                ORG     0x1FC
                dc32    0x0x87654321      // Protect Label

                ENDMOD; ?CSTARTUP



обана! он там есть?smile.gif искал в assembler guid.pdf "ORG" не нашел.
благодарю!

ну нет так нет...

aaarrr,
да уж как только секции не делал, поэтому и спрашиваю
вот пример
Код
FLASH 0x00000000
{
    ROM1 0x00000000
    {
        vectors.o (Vect , +First)
        crt0.o    (crt_0, +First)
    }

    ROM2 0x000001FC
    {
        vectors.o (crp_dat)
    }

    ROM3 0x00000200
    {
        * (+RO)
        * (+TEXT)
    }

    RAM    0x40000000 0x8000
    {
      *(+RW,+ZI)
    }

    STACK  0x40007C00 0x0400
    {
      stack.o (+ZI)
    }


}


может кто реальный примерчик подкинет, досталось немного в scf ковыряться
собственно у меня такой был наитупейший scf и он меня полностью устраивает.
попытки закинуть секцию по адресу 1FC приводят к непонятным руганиям
Код
FLASH 0x00000000
{
    ROM 0x00000000
    {
        vectors.o (Vect, +First)
        crt0.o    (crt_0)        
        * (+RO)
        * (+TEXT)
    }
    RAM    0x40000000 0x8000
    {
      *(+RW,+ZI)
    }

    STACK  0x40007C00 0x0400
    {
      stack.o (+ZI)
    }
}


вот ругань линкера

Сообщение отредактировал Romario - May 11 2006, 16:17
Эскизы прикрепленных изображений
Прикрепленное изображение
 
Go to the top of the page
 
+Quote Post
zltigo
сообщение May 11 2006, 16:20
Сообщение #5


Гуру
******

Группа: Свой
Сообщений: 13 372
Регистрация: 27-11-04
Из: Riga, Latvia
Пользователь №: 1 244



Цитата(aaarrr @ May 11 2006, 19:06) *
Не знает ADS такого слова.

Жуть какая :-( прямо потрясение жизненных основ какое-то :-)


--------------------
Feci, quod potui, faciant meliora potentes
Go to the top of the page
 
+Quote Post
aaarrr
сообщение May 11 2006, 19:43
Сообщение #6


Гуру
******

Группа: Свой
Сообщений: 10 713
Регистрация: 11-12-04
Пользователь №: 1 448



В действительности все оказалось не так просто, как хотелось бы sad.gif

Итак, решение:

в scf:
Код
FLASH 0x00000000 0x00020000
{
    FLASHA 0x00000000 0x000001fc
    {
        start.o (startup, +First)
    }
    FLASHB 0x000001fc FIXED
    {
        start.o(crp)
    }
    FLASHC 0x00000200 0x0001fe00
    {
        * (+RO)
    }
    RAM 0x40000000 0x00010000
    {
        * (+RW, +ZI)
    }
}


В файле start.s:
Код
; ***************************************************************************
; *
        AREA    crp, DATA, READONLY

        EXPORT    crp_data

crp_data
        DCD        0x87654321


Секции Region$$Table и ZISection$$Table можно засунуть в FLASHA для экономии места.
Go to the top of the page
 
+Quote Post
Romario
сообщение May 12 2006, 08:42
Сообщение #7


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

Группа: Участник
Сообщений: 92
Регистрация: 26-06-04
Пользователь №: 192



(---- сморозил------)

Сообщение отредактировал Romario - May 12 2006, 09:08
Go to the top of the page
 
+Quote Post
aaarrr
сообщение May 12 2006, 09:00
Сообщение #8


Гуру
******

Группа: Свой
Сообщений: 10 713
Регистрация: 11-12-04
Пользователь №: 1 448



Какие ещё "дырки"? Будет забитый 0-ми кусок между концом
первой секции (start.o(startup)) и адресом 0x1fc.
Go to the top of the page
 
+Quote Post

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

 


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


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