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

 
 
2 страниц V  < 1 2  
Reply to this topicStart new topic
> загрузка NIOS (DEVBOARD Циклон 3), не грузится в on_chip memory
titova
сообщение Oct 1 2010, 12:05
Сообщение #16





Группа: Новичок
Сообщений: 8
Регистрация: 7-04-10
Пользователь №: 56 476



Вторая. А линкер это, простите, что? И какие именно настройки интересуют?
Go to the top of the page
 
+Quote Post
vadimuzzz
сообщение Oct 1 2010, 12:22
Сообщение #17


Гуру
******

Группа: Свой
Сообщений: 2 291
Регистрация: 21-07-05
Пользователь №: 6 988



Цитата(titova @ Oct 1 2010, 19:05) *
А линкер это, простите, что?

http://ru.wikipedia.org/wiki/%D0%9A%D0%BE%...%89%D0%B8%D0%BA
Цитата
И какие именно настройки интересуют?

интересуют где располагаются секции .text и .data. посмотреть можно либо в настройках BSP (если в эклипсе работаете) или в System Library Properties (в NIOS IDE). есть подозрение, что программа линкуется во внешнюю память. да, а что располагается по адресу 0x00100000?
Go to the top of the page
 
+Quote Post
titova
сообщение Oct 1 2010, 12:45
Сообщение #18





Группа: Новичок
Сообщений: 8
Регистрация: 7-04-10
Пользователь №: 56 476



На сколько понимаю интересует файл linker.h



#ifndef __LINKER_H_
#define __LINKER_H_


/*
* BSP controls alt_load() behavior in crt0.
*
*/

#define ALT_LOAD_EXPLICITLY_CONTROLLED


/*
* Base address and span (size in bytes) of each linker region
*
*/

#define ONCHIP_MEMORY2_REGION_BASE 0x408020
#define ONCHIP_MEMORY2_REGION_SPAN 30688
#define RESET_REGION_BASE 0x408000
#define RESET_REGION_SPAN 32
#define SSRAM_REGION_BASE 0x200000
#define SSRAM_REGION_SPAN 1048576


/*
* Devices associated with code sections
*
*/

#define ALT_EXCEPTIONS_DEVICE ONCHIP_MEMORY2
#define ALT_RESET_DEVICE ONCHIP_MEMORY2
#define ALT_RODATA_DEVICE SSRAM
#define ALT_RWDATA_DEVICE SSRAM
#define ALT_TEXT_DEVICE SSRAM


/*
* Initialization code at the reset address is allowed (e.g. no external bootloader).
*
*/

#define ALT_ALLOW_CODE_AT_RESET


/*
* The alt_load() facility is called from crt0 to copy sections into RAM.
*
*/

#define ALT_LOAD_COPY_EXCEPTIONS

#endif /* __LINKER_H_ */


ну и теперь он ругается на другой адрес

Verifying 00200000 ( 0%)
Verify failed between address 0x200000 and 0x200233
Leaving target processor paused

и как я понимаю предположение о том что он линкуется во внешнюю память верно.
Что можно с этим сделать?
Go to the top of the page
 
+Quote Post
vadimuzzz
сообщение Oct 1 2010, 12:55
Сообщение #19


Гуру
******

Группа: Свой
Сообщений: 2 291
Регистрация: 21-07-05
Пользователь №: 6 988



Цитата(titova @ Oct 1 2010, 19:45) *
и как я понимаю предположение о том что он линкуется во внешнюю память верно.
Что можно с этим сделать?

правильно понимаете. я бы сделал так: слинковать программу во внутреннюю память и попробовать писать/читать в/из SSRAM. это поможет диагностировать неполадку. скорее всего где-то ноги неправильно подключены, сверьтесь со схемой платы.
Go to the top of the page
 
+Quote Post
titova
сообщение Oct 1 2010, 13:44
Сообщение #20





Группа: Новичок
Сообщений: 8
Регистрация: 7-04-10
Пользователь №: 56 476



В этом то и дело, есть желание научиться читать и пасать из/в SSRAM желаемую информацию. Возможно был выбран неправильный подход к изучению.
Не посоветуете где можно почитать? Или готовые проекты где-нибудь может есть, на которых можно понять принцип работы?
Go to the top of the page
 
+Quote Post
vadimuzzz
сообщение Oct 1 2010, 14:54
Сообщение #21


Гуру
******

Группа: Свой
Сообщений: 2 291
Регистрация: 21-07-05
Пользователь №: 6 988



все тут:
http://www.altera.com/literature/lit-nio2.jsp
примеры есть на nioswiki.com
ссылку на на альтеровские примеры я давал выше, но там довольно скромно. собственно с SSRAM все просто, она прозрачно цепляется к шине avalon (www.altera.com/literature/manual/mnl_avalon_spec.pdf). в самой программе для проверки достаточно воспользоваться макросами IOWR/IORD (адрес,смещение)
Go to the top of the page
 
+Quote Post
Stewart Little
сообщение Oct 1 2010, 17:09
Сообщение #22


Лентяй
******

Группа: Свой
Сообщений: 2 203
Регистрация: 11-10-04
Из: Санкт-Петербург
Пользователь №: 843



Цитата(titova @ Oct 1 2010, 17:44) *
В этом то и дело, есть желание научиться читать и пасать из/в SSRAM желаемую информацию. Возможно был выбран неправильный подход к изучению.
Не посоветуете где можно почитать? Или готовые проекты где-нибудь может есть, на которых можно понять принцип работы?

ЕМНИП, на вашей плате внешние SSRAM и Flash висят на одной шине. Поэтому нужно задавать бОльшую нагрузочную способность для сигналов управления (по крайней мере) на этой шине (adcs, be, ce, clk, oe, we). Ну и, как уже рекомендовали, надо проверить правильность подключения сигналов на выводы микросхемы.
Прилагаю свой проект с внешней SSRAM, который делался когда-то для такой же платы, как и у Вас. Cразу извиняюсь за монстоидальный размер архива - просто некогда его оптимизировать laughing.gif
Проект делался в версии 8.1, и если мне склероз не изменяет, работал как Папа Карло smile.gif
Модуль SSRAM делался в Component Editor'e из заготовки (Template).
Прикрепленные файлы
Прикрепленный файл  Lab1.zip ( 2.81 мегабайт ) Кол-во скачиваний: 27
 


--------------------
Чтобы слова не расходились с делом, нужно молчать и ничего не делать...
Go to the top of the page
 
+Quote Post
titova
сообщение Oct 21 2010, 11:24
Сообщение #23





Группа: Новичок
Сообщений: 8
Регистрация: 7-04-10
Пользователь №: 56 476



Всем большое спасибо за помощь! Проблема разрешилась! Не был подключен клок на память.
В этой же системе пытаюсь узнать быстродействие процессора.
запускаю следующий текст программы.
int main()
{
while (1)
{
IOWR_ALTERA_AVALON_PIO_DATA(LED1_BASE, 1);
IOWR_ALTERA_AVALON_PIO_DATA(LED1_BASE, 0);
}
}
На диоде осциллографом вижу частоту около 333кГц.
Неужели так медленно?
Go to the top of the page
 
+Quote Post
vadimuzzz
сообщение Oct 21 2010, 13:43
Сообщение #24


Гуру
******

Группа: Свой
Сообщений: 2 291
Регистрация: 21-07-05
Пользователь №: 6 988



Цитата(titova @ Oct 21 2010, 18:24) *
На диоде осциллографом вижу частоту около 333кГц.
Неужели так медленно?

а какая градация ниоса, не экономичный часом?
Go to the top of the page
 
+Quote Post
titova
сообщение Oct 22 2010, 06:30
Сообщение #25





Группа: Новичок
Сообщений: 8
Регистрация: 7-04-10
Пользователь №: 56 476



И экономичный и фаст. без разницы, одно и то же.
Go to the top of the page
 
+Quote Post
vadimuzzz
сообщение Oct 22 2010, 06:48
Сообщение #26


Гуру
******

Группа: Свой
Сообщений: 2 291
Регистрация: 21-07-05
Пользователь №: 6 988



Цитата(titova @ Oct 22 2010, 13:30) *
И экономичный и фаст. без разницы, одно и то же.

а таймер в системе есть? и тактовая, кстати, сколько?
Go to the top of the page
 
+Quote Post
titova
сообщение Oct 22 2010, 07:31
Сообщение #27





Группа: Новичок
Сообщений: 8
Регистрация: 7-04-10
Пользователь №: 56 476



таймера нет. тактовая 50 Мгц.
Как вообще узнать реальную скорость выполнения команд?
Можно ли залезть в машинный код?
Go to the top of the page
 
+Quote Post
vadimuzzz
сообщение Oct 22 2010, 07:38
Сообщение #28


Гуру
******

Группа: Свой
Сообщений: 2 291
Регистрация: 21-07-05
Пользователь №: 6 988



Цитата(titova @ Oct 22 2010, 14:31) *
таймера нет. тактовая 50 Мгц.
Как вообще узнать реальную скорость выполнения команд?
Можно ли залезть в машинный код?

покопайтесь в настройках эклипса (меню Preferences), там есть галка "generate objdump". после ребилда появится файл с таким расширением, в нем все есть.
Go to the top of the page
 
+Quote Post

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

 


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


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