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

 
 
> выполнение программы в RAM, LPC2138+IAR+ASM
tolik_zp
сообщение Jul 2 2007, 12:53
Сообщение #1


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

Группа: Участник
Сообщений: 127
Регистрация: 2-08-06
Пользователь №: 19 265



Добрый день!
Как пнуть иар, чтобы стартап переписал внешнюю функцию, написанную на асме, в озу?
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
zltigo
сообщение Jul 2 2007, 14:04
Сообщение #2


Гуру
******

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



Цитата(tolik_zp @ Jul 2 2007, 15:53) *
Как пнуть иар, чтобы стартап переписал внешнюю функцию, написанную на асме, в озу?

А чего его 'пинать' - скажите, что она помещается в сегменте с зарезервированным для таких нужд именем CODE_I. Все.


--------------------
Feci, quod potui, faciant meliora potentes
Go to the top of the page
 
+Quote Post
KRS
сообщение Jul 2 2007, 14:51
Сообщение #3


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

Группа: Модераторы
Сообщений: 1 951
Регистрация: 27-08-04
Из: Санкт-Петербург
Пользователь №: 555



Цитата(zltigo @ Jul 2 2007, 18:04) *
А чего его 'пинать' - скажите, что она помещается в сегменте с зарезервированным для таких нужд именем CODE_I. Все.

Но если нет описаний __ramfunc в .с файлах работать не будет надо еще в .asm файл добавить несколько директив
Код
        PUBWEAK ?init?tab?CODE_I
        PUBWEAK `?*?CODE_ID`
        RSEG CODE_ID:CODE:NOROOT(2)
`?*?CODE_ID`:

        RSEG INITTAB:CODE:ROOT(2)
        DATA
?init?tab?CODE_I:
        DCD      sfe(CODE_I) - sfb(CODE_I), sfb(CODE_I), sfb(CODE_ID)
Go to the top of the page
 
+Quote Post
tolik_zp
сообщение Jul 3 2007, 07:12
Сообщение #4


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

Группа: Участник
Сообщений: 127
Регистрация: 2-08-06
Пользователь №: 19 265



Цитата(KRS @ Jul 2 2007, 17:51) *
Но если нет описаний __ramfunc в .с файлах работать не будет надо еще в .asm файл добавить несколько директив
Код
        PUBWEAK ?init?tab?CODE_I
        PUBWEAK `?*?CODE_ID`
        RSEG CODE_ID:CODE:NOROOT(2)
`?*?CODE_ID`:

        RSEG INITTAB:CODE:ROOT(2)
        DATA
?init?tab?CODE_I:
        DCD      sfe(CODE_I) - sfb(CODE_I), sfb(CODE_I), sfb(CODE_ID)


пора переносить ветку к начинающим wink.gif

в с-файле есть такая строчка:
__ramfunc extern void video_out(void);

далее в асме пишу RSEG CODE_I, отладчик ИАРа при этом нормально переходит на адреса ram при выполнении функции, но в железе ничего не происходит. более того, пробовал Ваш код, но компилятор ругается на синтаксис последней строки Вашего примера, хотя в мануале так и написано
Go to the top of the page
 
+Quote Post



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

 


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


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