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

 
 
3 страниц V  < 1 2 3  
Reply to this topicStart new topic
> Загадочное поведение SAM7S64 & IAR 4.40a
GetSmart
сообщение Jul 27 2006, 21:43
Сообщение #31


.
******

Группа: Участник
Сообщений: 4 005
Регистрация: 3-05-06
Из: Россия
Пользователь №: 16 753



Зацените вырезку из отладчика:
Код
0x00002C88 E3A01001  MOV          R1, #0x1
0x00002C8C E1A00006  MOV          R0, R6
0x00002C90 EBFFFFD3  BL           proc2                 ; 0x2BE4
0x00002C94 EA00003D  B            0x002D90
    else if ((PutBufVar >= NET_VAR_DOUT1) &&
             (PutBufVar < NET_VAR_DOUT1 + DIG_OUTPUTS))
0x00002C98 E3500048  CMP          R0, #0x48
0x00002C9C BA00000D  BLT          0x002CD8
0x00002CA0 E3500054  CMP          R0, #0x54
0x00002CA4 AA00000B  BGE          0x002CD8
    { if (varsize != 4)                     // ïàðàìåòð float - âðåìÿ (ñåê)
0x00002CA8 E3560004  CMP          R6, #0x4
0x00002CAC 1AFFFFE4  BNE          0x002C44
      varsize = PutBufVar - NET_VAR_DOUT1;
0x00002CB0 E2406038  SUB          R6, R0, #0x38
      proc(varsize);
0x00002CB4 E1A00006  MOV          R0, R6
0x00002CB8 EBFFFFC6  BL           proc            ; 0x2BD8

Касательно константы NET_VAR_DOUT1, которая реально описана как:
#define NET_VAR_DOUT1 64+8
__________________________________

Ой, бл@@!
Тока щас понял в чём косяк. Таки мой косяк >:(
Надо было этот сраный дефайн в скобки заключить.

Сообщение отредактировал GetSmart - Jul 27 2006, 21:57


--------------------
Заблуждаться - Ваше законное право :-)
Go to the top of the page
 
+Quote Post
GetSmart
сообщение Jul 27 2006, 22:01
Сообщение #32


.
******

Группа: Участник
Сообщений: 4 005
Регистрация: 3-05-06
Из: Россия
Пользователь №: 16 753



Я как бы извиняюсь, что воду тут намутил. Зря.


--------------------
Заблуждаться - Ваше законное право :-)
Go to the top of the page
 
+Quote Post
aaarrr
сообщение Jul 27 2006, 22:27
Сообщение #33


Гуру
******

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



Цитата(GetSmart @ Jul 28 2006, 02:01) *
Я как бы извиняюсь, что воду тут намутил. Зря.

А я только собрался про скобки написать smile.gif

Драку я, к сожалению, пропустил, но скажу пару слов о столь любимом мной и господином d__ компиляторе от ARM Ltd. Точнее, не о компиляторе даже, а о линкере. Так вот, этот линкер имеет прелестную привычку глухо виснуть при ошибках, особенно в сложных скриптах с ROPI/RWPI. Не мало он крови мне в свое время испортил.

Я к тому, что глюки есть у всех, а не только у IAR'а, но это еще не повод бросать что-либо об стенку.
Go to the top of the page
 
+Quote Post
SpiritDance
сообщение Jul 28 2006, 06:21
Сообщение #34


Дух погибшего транзистора
****

Группа: Свой
Сообщений: 877
Регистрация: 6-09-05
Из: Москва
Пользователь №: 8 288



Хм у меня есть уже определенная методика обнаружения своих тупых ошибок - объяснить оппоненту, пусть даже воображаемому, (очень желательно вслух или на бумаге хотябы) то как работает этот кусок программы. Часто помогает.smile.gif

А еще может кто-нибудь все-таки объяснит возможно ли в реалвью исполнять код из RAM. Даже в gcc это есть, сегмент fast кажется.


--------------------
Yes, there are two paths you can go by But in the long run Theres still time to change the road youre on.
Go to the top of the page
 
+Quote Post
GetSmart
сообщение Jul 28 2006, 08:02
Сообщение #35


.
******

Группа: Участник
Сообщений: 4 005
Регистрация: 3-05-06
Из: Россия
Пользователь №: 16 753



Цитата(SpiritDance)
А еще может кто-нибудь все-таки объяснит возможно ли в реалвью исполнять код из RAM. Даже в gcc это есть, сегмент fast кажется.

Конечно возможно. Я такое делал в IAR. перед процедурой пишется __ramfunc. Мне надо было обрабатывать прерывания прямо во время записи во флэш LPC213x. Только в раме они и могут обрабатываться.


--------------------
Заблуждаться - Ваше законное право :-)
Go to the top of the page
 
+Quote Post
SpiritDance
сообщение Jul 28 2006, 09:30
Сообщение #36


Дух погибшего транзистора
****

Группа: Свой
Сообщений: 877
Регистрация: 6-09-05
Из: Москва
Пользователь №: 8 288



Я имел ввиду RealVeiw от ARM, сколько не смотрел в их гайды так ничего и не нашел относительно преноса кода в память.
В мануале указано что прагмами можно размещать код по секциям
• code
• rodata
• rwdata
• zidata.
В rodata и rwdata в примерах помещаются именно данные.


--------------------
Yes, there are two paths you can go by But in the long run Theres still time to change the road youre on.
Go to the top of the page
 
+Quote Post
aaarrr
сообщение Jul 28 2006, 09:53
Сообщение #37


Гуру
******

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



Цитата
Я имел ввиду RealVeiw от ARM, сколько не смотрел в их гайды так ничего и не нашел относительно преноса кода в память.


Почитайте мануал на линкер, там должна быть глава "Using Scatter-loading description files".
Вот пример скрипта для AT91SAM7S64 без Remap'а:

Код
FLASH 0x00000000 0x00010000
{
    FLASH 0x00000000 0x00010000
    {
        start.o (startup, +First)
        * (+RO)
    }
    RAM 0x00200000 0x00004000
    {
        * (+RW, +ZI)
        * (fastcode)
    }
}


Если нужно поместить функцию в RAM, пишем:

Код
#pragma arm section code = "fastcode"

void my_func(void)
{
}

#pragma arm section code
Go to the top of the page
 
+Quote Post
SpiritDance
сообщение Jul 29 2006, 07:38
Сообщение #38


Дух погибшего транзистора
****

Группа: Свой
Сообщений: 877
Регистрация: 6-09-05
Из: Москва
Пользователь №: 8 288



Да чтото до ллинкера я не дошел так глубоко, а надо было. Там и про фромельф написано.
Спасибо aaarrr сам я бы до этого долго доперал.


--------------------
Yes, there are two paths you can go by But in the long run Theres still time to change the road youre on.
Go to the top of the page
 
+Quote Post
IgorKossak
сообщение Aug 7 2006, 14:00
Сообщение #39


Шаман
******

Группа: Модераторы
Сообщений: 3 064
Регистрация: 30-06-04
Из: Киев, Украина
Пользователь №: 221



Цитата(zltigo @ Jul 24 2006, 18:51) *
Цитата(ig_z @ Jul 24 2006, 16:18) *

А генераторы делают лицензии для евалюшн версий

Я пользую:
2.1_WIN\0EWARM\0\0....

Готовый выложил в первоначальную ветку:
http://electronix.ru/forum/index.php?showt...mp;#entry137296

Да нет там ничего вложенного, только намерение выложить.
Go to the top of the page
 
+Quote Post
zltigo
сообщение Aug 7 2006, 14:02
Сообщение #40


Гуру
******

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



Цитата(IgorKossak @ Aug 7 2006, 17:00) *
Да нет там ничего вложенного, только намерение выложить.

Было выложено. Потом удалено по настоянию модератора :-)


--------------------
Feci, quod potui, faciant meliora potentes
Go to the top of the page
 
+Quote Post

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

 


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


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