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

 
 
> Выполнение всей или части программы из RAM, Keil uVision и RVCC
sonycman
сообщение Jan 26 2007, 12:52
Сообщение #1


Любитель
*****

Группа: Свой
Сообщений: 1 864
Регистрация: 20-08-06
Из: Тольятти
Пользователь №: 19 695



Имеется IDE Keil uVision 3.50 с компилятором RV.
Подскажите, пожалуйста, как заставить компилятор/линкер перебрасывать часть кода (или весь) в RAM и выполнять его уже оттуда (проц AT91SAM7S256).
Попробовал с помощью Scatter-loading Description Files, но в симуляторе при переброске загрузчиком кода в RAM идут ошибки *** error 65: access violation at 0x00200000 : no 'write' permission.
Может, где-то можно найти пример кода под RV компилятор?

В книге "Микроконтроллеры ARM7 семейства LPC2000 компании Philips" все примеры под компилятор CARM, и там всё просто - достаточно добавить к нужной функции префикс __RAM, но с RV компилятором такое не проходит sad.gif

Сообщение отредактировал sonycman - Jan 26 2007, 12:53
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Leen
сообщение Jan 27 2007, 04:48
Сообщение #2


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

Группа: Свой
Сообщений: 172
Регистрация: 5-08-06
Из: Владивосток
Пользователь №: 19 343



Попробовал сделать простенький проект, с AT91SAM7S256. Те же Фаберже - стартуп.с выдает ошибку 65. вызывает ее вот эта строчка:
0x000081C0 E8AC09C0 STMIA R12!,{R6-R8,R11}
Она сохраняет регистры 6-8 и 11 по адресув врегистре 12 (насколько я понял). А R12 = 0x10!!!!
смотрим далее (в startup.s)


AREA RESET, CODE, READONLY
...
...

Vectors LDR PC,Reset_Addr
...

т.е. судя по всему, где-то надо компилеру объяснить, чтобы он не пихал данные в область кода. Вроде это можно сделать в свойствах SourceGroup, вкладка Properties. Попробуйте.
Go to the top of the page
 
+Quote Post



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

 


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


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