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

 
 
3 страниц V  < 1 2 3  
Reply to this topicStart new topic
> MMU D-Cache I-Cache для ARM926EJ-S, Как работает и как настроить?
ZED
сообщение Dec 29 2010, 08:22
Сообщение #31


Местный
***

Группа: Свой
Сообщений: 264
Регистрация: 17-04-07
Из: Москва
Пользователь №: 27 102



В sdram.icf задано:
Код
define symbol __ICFEDIT_size_cstack__   = 0x1000;


P.S. Забыл указать, что прошиваю и отлаживаюсь с помощью J-Link for ARM от IAR System.
Go to the top of the page
 
+Quote Post
DpInRock
сообщение Dec 29 2010, 08:34
Сообщение #32


Гуру
******

Группа: Участник
Сообщений: 2 254
Регистрация: 4-05-07
Из: Moscow
Пользователь №: 27 515



А IRQ стек?

Вообще, я отлаживаюсь последовательным интерфейсом. Rs232. Дешево и сердито. А главное - быстро и надежно.

У вас память 2х4к оказывается...
А программа где сама? Кто ее туда грузит? Кто инициализирует стеки?

Сообщение отредактировал DpInRock - Dec 29 2010, 08:39


--------------------
On the road again (Canned Heat)
Go to the top of the page
 
+Quote Post
ZED
сообщение Dec 29 2010, 08:36
Сообщение #33


Местный
***

Группа: Свой
Сообщений: 264
Регистрация: 17-04-07
Из: Москва
Пользователь №: 27 102



Цитата
А IRQ стек?

Код
define symbol __ICFEDIT_size_irqstack__ = 0x60;

Только ругается он на CSTACK.

Сообщение отредактировал ZED - Dec 29 2010, 08:37
Go to the top of the page
 
+Quote Post
DpInRock
сообщение Dec 29 2010, 08:54
Сообщение #34


Гуру
******

Группа: Участник
Сообщений: 2 254
Регистрация: 4-05-07
Из: Moscow
Пользователь №: 27 515



Насколько я представляю, у вас не отлажена среда работы.

Т.е. вы доверяете ИАРу грузить программу и совершать необходимые манипуляции.
Я лично не так доверчив.

1. Написать свой загрузчик. Который бы грузил нечто в SRAM.
2. Это нечто из SRAM может по командам с PC либо записать что-то во флэшку, либо записать нечто в SDRAM и запустить это нечто (Предварительно, разумеется, инициализировав SDRAM).

Таким образом в ходу будут две программы - маленький загрузчик и основная прогграмма (которая компилируется под SDRAM).

Тут вы управляете всеми процессами ЛИЧНО.
Ну, а отладочная консоль естественным образом проистекает от DBGU.

На все это у вас уйдет пара дней. Зато потом будет легко.


Вообще-то у вас варнинг и на IRQ есть... (0x1000 на CS - это дофига. У меня стоит 0x300. И то столько не нужно. Программа километровая... С переключателем задач, USB, кучей всякой дряни...)

Сообщение отредактировал DpInRock - Dec 29 2010, 08:56


--------------------
On the road again (Canned Heat)
Go to the top of the page
 
+Quote Post
ZED
сообщение Dec 29 2010, 08:58
Сообщение #35


Местный
***

Группа: Свой
Сообщений: 264
Регистрация: 17-04-07
Из: Москва
Пользователь №: 27 102



Ну я вообщето взял готовый проект getting-started-project-at91sam9260-ek и просто вставил туда свой код.
Цитата
1. Написать свой загрузчик. Который бы грузил нечто в SRAM.
2. Это нечто из SRAM может по командам с PC либо записать что-то во флэшку, либо записать нечто в SDRAM и запустить это нечто (Предварительно, разумеется, инициализировав SDRAM).

А можно пример?

Сообщение отредактировал ZED - Dec 29 2010, 09:00
Go to the top of the page
 
+Quote Post
SII
сообщение Dec 29 2010, 10:00
Сообщение #36


Знающий
****

Группа: Свой
Сообщений: 549
Регистрация: 13-07-10
Из: Солнечногорск-7
Пользователь №: 58 414



Цитата(ZED @ Dec 28 2010, 16:01) *
правильно ли я понимаю: TLB располагаем в конце SDRAM


Неправильно sm.gif TLB -- это внутренний узел устройства управления памятью (MMU), а посему в памяти ну никак находиться не может. Говоря упрощённо, TLB -- это кэш-память, в которой хранятся последние использованные строки таблиц переадресации. А вот эти самые таблицы действительно хранятся в памяти, откуда MMU их по мере надобности считывает и кэширует в TLB.

Местоположение таблиц в памяти роли само по себе не играет, надо лишь обеспечить их правильное выравнивание (граница 16 Кбайт для таблицы первого уровня, если склероз не подводит). Так что выделяете под них то место, какое для Вас лично удобно, и всё.

Цитата(ZED @ Dec 29 2010, 14:58) *
Ну я вообщето взял готовый проект getting-started-project-at91sam9260-ek и просто вставил туда свой код.


К готовым проектам относитесь настороженно и достаточно критически: их качество оставляет желать. Меня в своё время поразил стартовый код для 9261, я даже по этому поводу небольшим сообщением разродился.

Цитата
А можно пример?


Вообще, эта задача, хотя и не слишком сложная, тривиальной тоже не является. Фактически всякие там SAM-BA и прочие средства программирования примерно так и работают: по JTAG загружают в оперативу некий код и запускают его на выполнение, а уже он обеспечивает запись во флэш-память, при необходимости подгружая информацию с ПК. В общем, пример не такой маленький получится, да и не уверен, что найти его просто...
Go to the top of the page
 
+Quote Post
DpInRock
сообщение Dec 29 2010, 13:09
Сообщение #37


Гуру
******

Группа: Участник
Сообщений: 2 254
Регистрация: 4-05-07
Из: Moscow
Пользователь №: 27 515



По поводу примера.
Это действительно не так чтоб очень,но большая работа.
Но вполне по силам любому.


--------------------
On the road again (Canned Heat)
Go to the top of the page
 
+Quote Post
ZED
сообщение Dec 30 2010, 03:27
Сообщение #38


Местный
***

Группа: Свой
Сообщений: 264
Регистрация: 17-04-07
Из: Москва
Пользователь №: 27 102



Цитата
По поводу примера.
Это действительно не так чтоб очень,но большая работа.
Но вполне по силам любому.

А счего начать? Я даже не совсем представляю как все это должно выглядеть.

Сообщение отредактировал ZED - Dec 30 2010, 03:28
Go to the top of the page
 
+Quote Post
DpInRock
сообщение Dec 30 2010, 08:25
Сообщение #39


Гуру
******

Группа: Участник
Сообщений: 2 254
Регистрация: 4-05-07
Из: Moscow
Пользователь №: 27 515



Перед вами плата.
Перед вами PC.
Шнурок RS232 между ними.
Руководящий документ - абзац из даташита с описанием SAM-BA.
------
1. Пишите PC программу, которая сможет загонять в SRAM файл и запускать его.
2. Тренируетесь. Мигаете светодиодами и пр.
3. Теперь загоняете не абы какую программу, а программу, которая умеет взаимодействовать с PC. В целях записи
некоего файла во флэшку. Также с целью заполнения уже SDRAM неким файлом и запуском этого файла.
4. Тренируетесь.
5. Загоняете во флэшку программу, которая:
Загрузившись в SRAM (это делает за вас сам процессор):
1. Инициализирует SDRAM
2. Переписывает туда программу
3. Запускает ея.

Все.

Ну, естественно, RS232 на всех этапах служит для отладки.

Я вот так именно и поступал. Если умеете программировать - там нечего делать практически. Алгоритм SAM-BA - это примерно 3\4 15" экрана в Дельфи.




--------------------
On the road again (Canned Heat)
Go to the top of the page
 
+Quote Post
JeDay
сообщение Jan 14 2011, 21:49
Сообщение #40


Местный
***

Группа: Свой
Сообщений: 276
Регистрация: 22-09-05
Из: Kiev
Пользователь №: 8 818



Цитата
1. Пишите PC программу, которая сможет загонять в SRAM файл и запускать его.

Зачем советовать человеку изобретать велосипед? sm.gif Для этих целей есть SAB-BA. Если не будете доверять штатному инструментарию, то у вас не останется времени на сам проект...
Go to the top of the page
 
+Quote Post

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

 


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


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