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

 
 
> AT91SAM7 управление памятью(samba)
Twen
сообщение Jan 18 2012, 18:04
Сообщение #1


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

Группа: Участник
Сообщений: 163
Регистрация: 7-02-09
Пользователь №: 44 543



Добрый вечер. Я на форуме видел несколько похожих тем, но они не дают ответа на мои вопросы, по этому решил создать эту тему.
Меня мучает некоторое непонимание...
Смотрите, у микроконтроллера AT91SAM7 есть 4 основных блока адресации :

0x0000 0000 - ROM,RAM,FLASH - в зависимости от бита GPNVM и remap
0x0010 0000 - Flash
0x0020 0000 - SRAM
0x0030 0000 - ROM

Первое что мне не понятно это зачем вообще нужна команда remap, я так понимаю, что
работа счетчика команд возмжна только в диапазоне адресов от 0x0000 0000 до 0x0010 0000, и по этому
для того чтобы можно было выполнять код программы из Ram или Flash использ. комана remap, правильно?

Теперь, если например мы сделали ERASE, быт GPNVM очистился, что означает, что загрузка происходит из ROM. То есть начинается выполнятся загрузка из ROM и будет ждать пока я запущу прогр. samba и прошью плату?
Хорошо, если я потом прошью ее, скажем у Flash, то есть по адресу 0x0010 0000 , то после сброса бит GPNVM установится автоматически и загрузка начнется с флеши, так?

Также, я заметил, что некоторые программы с примеров от атмела выполняют remapRam у функции инициализации Lowlevel...Выходит, если я прошил программу у Flash, она выполняется, а потом делается RemapRAm() и уже по начальному адрессу 0x0000 00xx мы проц выполняет команды из RAM, но прошивали же его у Flash , у RAM ничего же нету, кода программы или при вызове команды RemapRAM автомат. происходит копирование кода программы у RAM из Flash и дальнейшее ее выполнение, но тогда тратится же много ОЗУ, не могу понять.

Мне эти недопонимания застряли в голове и не дают покоя, если может ли кто-то, пожалуйста, объяснить, спасибо.

Сообщение отредактировал Twen - Jan 18 2012, 18:07
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Twen
сообщение Feb 8 2012, 22:46
Сообщение #2


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

Группа: Участник
Сообщений: 163
Регистрация: 7-02-09
Пользователь №: 44 543



Завтра я установлю снифер, зайду у samb-ba и попытаюсь подсмотреть его действия.
Цитата
Этот "аппаратный загрузчик" не предназначен для записи флеш. Единственная его задача - позволить загрузить с хоста вторичный загрузчик (то что у самбы называется applet).

Эти слова меня удивили, честно говоря.

Спасибо за помощь aaarrr наконец-то до меня дошло. Я чего - то был уверен что обработчик запросов для загрузки во флеш был реализован и нужно было подавать только команды определенные.

Получается мне нужно будет написать программку для слейва, например такую, если пришла команда x, то записать код у флеш...скомпилировать эту программку и отправить по протоколу X-Modem как файл, по адрессу начальном из таблицы 21.4(SAM7X256: 0x202000 - 0x210000 ).

Ну хорошо скажем зашил я у слейв вторичный загрузчик(программу обработки запросов от мастера), а какую мне потом команду нужно выполнить для выполнения этого кода из стартового адреса 0x202000, на стороне слейва. Вот эту - G0x202000,# ?

Когда у слейва будет запущена программа обработки запросов мастера, тогда мастер сможет посылать определенные команды(например записать данные такие-то во флеш или стереть, разблокировать флеш).
Я правильно понимаю?

Интересно получается, вы aaarrr меня просветили, спасибо большое, даташиты желают лучшего.
А заводская программа выходит загружает в область юзера RAM свои аплеты, в зависимости от команды , или только один аплет универсальный, который будет обслуживать все команды запроса?

Сообщение отредактировал Twen - Feb 8 2012, 22:57
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- Twen   AT91SAM7 управление памятью(samba)   Jan 18 2012, 18:04
- - aaarrr   Цитата(Twen @ Jan 18 2012, 22:04) Первое ...   Jan 18 2012, 18:11
|- - _4afc_   Цитата(aaarrr @ Jan 18 2012, 21:11) Нет, ...   Jan 20 2012, 09:25
|- - aaarrr   Цитата(_4afc_ @ Jan 20 2012, 13:25) В слу...   Jan 20 2012, 10:36
- - sparcmaster   Про remap популярно объясняется тут.   Jan 19 2012, 04:33
- - Twen   Спасибо, немного стало яснее.   Jan 19 2012, 14:47
- - Twen   ЦитатаТак как в первом сообщении помянут бит GPNVM...   Jan 23 2012, 14:13
|- - aaarrr   Цитата(Twen @ Jan 23 2012, 18:13) Ходят с...   Jan 23 2012, 14:49
- - Twen   Ок, спасибо, но я слышал, что вроде сталкивались с...   Jan 28 2012, 08:06
- - aaarrr   Нет, такого не встречал, хотя с EMAC'ом работа...   Jan 28 2012, 09:48
- - Twen   Сегодня узнал, что нужно будет вплотную занятся из...   Feb 8 2012, 14:27
- - aaarrr   Если писать по словам командами, то получится очен...   Feb 8 2012, 14:39
- - Twen   Блин я опять немного запутался, извиняйте, но я на...   Feb 8 2012, 16:56
|- - aaarrr   Цитата(Twen @ Feb 8 2012, 20:56) 1,2...6 ...   Feb 8 2012, 17:19
|- - aaarrr   Цитата(Twen @ Feb 9 2012, 02:46) Эти слов...   Feb 8 2012, 22:55
- - Twen   Ясно, спасибо. Возможно, понял не сразу потому-что...   Feb 9 2012, 07:33
- - aaarrr   Если честно, не знаю, имеет ли смысл ковыряться со...   Feb 9 2012, 08:50
- - Twen   Возможно напишу и свой загрузчик. Интересно почему...   Feb 9 2012, 09:44
- - Twen   Сейчас запущу снифер и SAM-BA посмотрю о чем они о...   Feb 9 2012, 11:43
- - Twen   Так вот, после запуска SAM-BA со стороны ПК я вклю...   Feb 9 2012, 16:11


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

 


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


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