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

 
 
> Microblaze и его программа, проблема со стартом программы загруженной с PROM
Camelot
сообщение Feb 23 2007, 13:19
Сообщение #1


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

Группа: Свой
Сообщений: 182
Регистрация: 10-01-05
Пользователь №: 1 872



Приветсвую всех!
Разработал плату с третим спартаном, отдал один пин под юзерский клок для флешки чтоб читать с нее данные после конфигурации (вообщем как в 482 апликайшен нот). На борту имею 64Кх16 СРАМ. Создал систему подобную проекту xapp482, только со своей СРАМ и парой ледиков. Позаимствовал с того же апнота две проги SRAM_boot и RUN_FROM_SRAM. Изменил в проге которая стартует после догрузки код, чтоб маргало ледиками и изменил базовый адрес СРАМа в линкере и загрузочной программе. Вообщем получил файл прошивки и зашил. Запускаю, работает очень странно, ледики мои то моргают, то становятся в положение инициализации и прога виснет. При старте смотрел осцилом, данные вычитываются из ПРОМа, на пинах СРАМ почемуто при старте не всегда идет запис-чтение. Если делать проект в котором прога стартует с БРАМ, то все работает, СРАМ тоже в этом случае работает, его я ставил как стек и хип. Но вот если с подгрузкой из ПРОМа - не понимаю где рыть. Кто-нибудь сталкивался с подобными вещами? На что следует обратить внимание? Возможно это происки компилятора или опций? (хотя убрал оптимизацию) Спасибо за любой совет
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Camelot
сообщение Feb 26 2007, 15:54
Сообщение #2


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

Группа: Свой
Сообщений: 182
Регистрация: 10-01-05
Пользователь №: 1 872



Посмотрел как идет запись в СРАМ по мере вычитывания ПРОМ. Оказалось, что запись в СРАМ в
это время не выполняется, иногда проскальзывал WEN, но было раз от разу, на ПРОМ в это время по прежнему шли клоки и с него данные. Создал небольшой софтварный проект и поместил его в БРАМ (размер 0x7FF), где выполнялась в цикле запись константы в СРАМ. Посмотрел осцилом - ничего не пишет, вначале програмы добавил зажечь лед, с этим все было ОК. Т.е. прога стартует, но к СРАМу не имеет доступа.
Запись в СРАМ пробовал выполнять несколькими способами:

1) XIo_Out32(XPAR_SRAM_BASEADDR, 0xAAAAAAAA);
2)
Xuint32 *mem = (Xuint32*) (XPAR_SRAM_BASEADDR+0x1000);
mem[0]=0xAAAAAAAA;

Помучался, решил создать снова проект с нуля. Скопировал полностью с xapp482, не обновляя компоненты, только скрипты, убил модули уарта и дебага, изменил ихнюю память в параметрах на свою (непонятно почему, но в окне конфигурации параметров есть отличия от той срам, что предлагает ЕДК когда я создаю свой модуль), добавил ледики, поменял чип. Вообщем получил промовскую прошивку и все заработало blink.gif

И теперь не понятно, это что же я не могу с нуля создать проект, нужно использовать их старые корки?Может подскажите, где я не прав?

Спасибо
Go to the top of the page
 
+Quote Post



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

 


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


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