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

 
 
 
Reply to this topicStart new topic
> Nios на своем железе, проблемы и вопросы.
RHnd
сообщение Mar 4 2008, 17:55
Сообщение #1


Знающий
****

Группа: Свой
Сообщений: 518
Регистрация: 12-04-07
Из: Санкт-Петербург
Пользователь №: 26 997



Итак, имея рабочий проект ниоса на отладочной плате, начинаю переводить его на свое железо. Первая проблема было с CFI (тема рядом) - разобрались. Едем дальше.

1) SDRAM. Стоит чип MT 48LC16M16A2 75. Из пдф на него нашел Cas latency 2 при частоте меньше 100MHz, access time 6ns, t_rcd 20ns, t_rp 20ns, t_rfc 66 ns. Есть вопрос по t_wr - если в пдф указано 1 cycle + 7.5ns, а тактовка 50 MHz, то нужно в сопсе указать 27.5 ns? Так же не нашел в пдф Initialization refresh cycles, Issue one refresh command every и delay after powerup before initialization. Плохо искал? Как назначить эти параметры?

2) Как-то странно ведет себя nios ide в плане отладчика. Выглядит это так. Для тестирования sdram создаем проект, содержащий cpu/s+jtag debugger 1, cfi, jtag-uart, sdram и onchip_memory 40 Kb, из которой и планируется проверять sdram. Reset vector направлен на cfi, exeption vector - onchip_memory. Геренируем систему в сопс, создаем в ниос-иде проект, собираем, получаем файл onсhip_memory.hex, собираем все в квартусе (7.1), зашиваем в epcs. Далее идут странности. Если из ниос иде выбрать Run As, то проект какое-то время (несколько минут) работает, после чего вылетает due to I/O error. Так же странно ведет себя Debug As - может запустится и отработать несколько комманд, после чего вылететь, а может вообще не запуститься, сказав, что verefication faild on address - адрес onchip_memory. Так же есть ощущение, что программа, загружаемая при стартапе из флешки, так же некоторое время работает и резетится, но тут точно утверждать не могу - нет толком средств наблюдения.
В чем тут может быть дело?
Go to the top of the page
 
+Quote Post
Harbour
сообщение Mar 5 2008, 06:24
Сообщение #2


Местами Гуру
*****

Группа: Validating
Сообщений: 1 103
Регистрация: 5-12-04
Пользователь №: 1 323



В свое время во всех nios платах я делал мелкий on-cip memory - в нем на асме что-то типа несложного BIOS POST memory теста, результат выдавался в консоль (uart) и отмечался светодиодом - основной принцип в том что _все_ (data memory/program memory) находится внутри fpga - никаких внешних устройств памяти, on-cip memory глючить не может (при прохождении TA) - а проверка внешних устройств добавляется в данный тест по необходимости. никто не гарантирует что код из cfi считан верно, а если он не помещается в кеш, то имеем неконтроллируемый постоянный обмен с внешним устройством, что для любого теста не есть good.
Go to the top of the page
 
+Quote Post
RHnd
сообщение Mar 5 2008, 15:42
Сообщение #3


Знающий
****

Группа: Свой
Сообщений: 518
Регистрация: 12-04-07
Из: Санкт-Петербург
Пользователь №: 26 997



Со вторым пунктом вопрос решился просто - оказалось, что источник питания пока стоит не тот, который должен (еще не привезли), а временный. А он, зараза, сильно грелся и минут через 5 работы начинал давать проскоки по питанию. Соответственно, ниос и перегружался.
А с первым вопросом ясности еще нет.
Go to the top of the page
 
+Quote Post
Kuzmi4
сообщение Mar 6 2008, 07:46
Сообщение #4


Гуру
******

Группа: Свой
Сообщений: 3 304
Регистрация: 13-02-07
Из: 55°55′5″ 37°52′16″
Пользователь №: 25 329



2 Harbour - а можете как начинающему чуть разжевать что такое " мелкий on-cip memory " ??
Go to the top of the page
 
+Quote Post
Harbour
сообщение Mar 7 2008, 02:25
Сообщение #5


Местами Гуру
*****

Группа: Validating
Сообщений: 1 103
Регистрация: 5-12-04
Пользователь №: 1 323



это FPGA on-chip RAM размером for ex. 1K - nios стартует из нее, проверяет периферию (SDRAM), далее запускает c_init()
Go to the top of the page
 
+Quote Post
Harbour
сообщение Apr 11 2008, 06:01
Сообщение #6


Местами Гуру
*****

Группа: Validating
Сообщений: 1 103
Регистрация: 5-12-04
Пользователь №: 1 323



по просьбам жаждущих добавил nios memtest исходник и makefile к нему, что к чему думаю разберетесь, так как я уже смутно помню - проект был в 2004 году wink.gif
Прикрепленные файлы
Прикрепленный файл  nios_test.rar ( 1.99 килобайт ) Кол-во скачиваний: 92
 
Go to the top of the page
 
+Quote Post
Kuzmi4
сообщение Apr 15 2008, 07:20
Сообщение #7


Гуру
******

Группа: Свой
Сообщений: 3 304
Регистрация: 13-02-07
Из: 55°55′5″ 37°52′16″
Пользователь №: 25 329



2 Harbour - пытался собрать вашим мэйк-файлом - кричит

make: makefile: line 37: Error -- Include file .depend, not found

Не подскажете в чём дело ? зачем ему *.depend нужен ?

Пытался изменить мэйк - поулчил месагу типа

`Makefile' is up to date
Go to the top of the page
 
+Quote Post
Harbour
сообщение Apr 16 2008, 04:29
Сообщение #8


Местами Гуру
*****

Группа: Validating
Сообщений: 1 103
Регистрация: 5-12-04
Пользователь №: 1 323



там должна быть цель 'dep' или 'depend' - вообще makefile я дал не для компиляции а для обзора что куды линкуется, не факт что он вообще рабочий. нужно составлять makefile самому - под нокретный проект.
Go to the top of the page
 
+Quote Post
Kuzmi4
сообщение Apr 16 2008, 06:48
Сообщение #9


Гуру
******

Группа: Свой
Сообщений: 3 304
Регистрация: 13-02-07
Из: 55°55′5″ 37°52′16″
Пользователь №: 25 329



2 Harbour - а не подскажете , где можно найти что нибудь почитать по ассемблеру для ниоса ? help.gif
Понимаю что плохо искал, но как то не нашёл... smile3046.gif ...
Go to the top of the page
 
+Quote Post
Harbour
сообщение Apr 17 2008, 10:45
Сообщение #10


Местами Гуру
*****

Группа: Validating
Сообщений: 1 103
Регистрация: 5-12-04
Пользователь №: 1 323



я кроме оригинального справочника по ассемблеру, от альтеры, ничего не читал/не знаю
Go to the top of the page
 
+Quote Post
Kuzmi4
сообщение Apr 17 2008, 12:15
Сообщение #11


Гуру
******

Группа: Свой
Сообщений: 3 304
Регистрация: 13-02-07
Из: 55°55′5″ 37°52′16″
Пользователь №: 25 329



2 Harbour - понимаете, я никак не пойму как стыкуюся конструкции вида

nm_printchar '\r'
nm_print "RAM test at 0x"

В принципе далее идёт

bsr nr_uart_txhex

так что вроде бы комманды nm_xxx должны формировать строку которую в nr_uart_txhex и отправляют, но вопрос - а как это они так хитро делают ??

И вопросик который меня мучит давно - касательно корректного перехода к скопированному участку программы.
У вас это я так понял это -

movia %g0, na_ram@h
jmp %g0
nop

Ноп я так понял нужен для места, главное тут - это загрузка в регистр %g0 адреса начала рама - na_ram - и просто переход по этому адресу.
И собсно это и есть так сказать передача управления от загрузчика к исполняемому коду?
Go to the top of the page
 
+Quote Post
Harbour
сообщение Apr 18 2008, 06:29
Сообщение #12


Местами Гуру
*****

Группа: Validating
Сообщений: 1 103
Регистрация: 5-12-04
Пользователь №: 1 323



следует для начала изучить nios-sdk, там много полезного для начинающих можно почерпнуть - for ex. если глянуть в начало файла nios32_sdk/lib/uart_txhex.s, то можно увидеть следующее :

.......
;----------------------------------------
; Name: nr_uart_txhex
; Description: Print value in hexadecimal
; Input: %o0 = value to be printed
; Output: none
; Side Effects: %g0 & %g1 altered, %o1 used for uart base
; CWP Depth: 1
.........

насчет перехода - как я уже говорил, все зависит от карты памяти конкретнго проекта - главное, действительно, куда нибудь в конце концов перейти wink.gif
Go to the top of the page
 
+Quote Post
Kuzmi4
сообщение Apr 18 2008, 10:45
Сообщение #13


Гуру
******

Группа: Свой
Сообщений: 3 304
Регистрация: 13-02-07
Из: 55°55′5″ 37°52′16″
Пользователь №: 25 329



2 Harbour - я бы даже не против, только имеются некоторые нъюансы:

я не нашёл у себя вообсче директории nios32_sdk(или вообсче похожей) - ставил NIOS 7.2 EDS. Это
что - отдельно надо ставить сдк( если да - подскажите где )? smile3046.gif
(похоже что так - http://www.altera.com/support/ip/processor...y-er-intro.html - "SDK support is not available in Nios II Embedded Design Suite (EDS) version 6.0 and later. ") - Будьте так добры - поделитесь пожалуста..

Касательно makefile - у меня тут неоднозначность
на 1-м компъютере выдаёт
"make не является внутренней или внешней
командой, исполняемой программой или пакетным файлом."

А на 2-м - типа всё ок мэйком , но строка типа
nios-build –b 0x140000 flash_copy.s
( http://www.altera.ru/Disks/Altera%20Docume...ec_to_flash.pdf )
вызывает реакцию
"nios-build" не является внутренней или внешней
командой, исполняемой программой или пакетным файлом.
wacko.gif
Может кто подскажет куда копать ?
help.gif
Go to the top of the page
 
+Quote Post
Harbour
сообщение Apr 19 2008, 03:36
Сообщение #14


Местами Гуру
*****

Группа: Validating
Сообщений: 1 103
Регистрация: 5-12-04
Пользователь №: 1 323



директория nios_sdk32 генерилась sopc_builder'ом в процессе синтеза системы. для новых версий это видимо теперь называется HAL - проектов на новом (без SDK) nios'е у меня еще не было, посему не разбирался. то же относится и к codegen'у - в edk есть директория, где лежат gnu утилиты для nios - путь к ней укажите.
Go to the top of the page
 
+Quote Post
Kuzmi4
сообщение Apr 19 2008, 07:42
Сообщение #15


Гуру
******

Группа: Свой
Сообщений: 3 304
Регистрация: 13-02-07
Из: 55°55′5″ 37°52′16″
Пользователь №: 25 329



Нашёл решение - 08.gif
"NIOS II Command Shell.bat" называется - оно собсно и запускает среду что ли, где это всё мона билдить smile3046.gif
Как пример ( может кому на будущее) мэйкфайла - смотрел в сторону an458 документов с сайта альтеры и инструкшн-сета для ниос2 процессора....
smile.gif
Go to the top of the page
 
+Quote Post

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

 


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


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