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

 
 
> Nios II Software, загрузка с Flash
dim99
сообщение Jul 1 2009, 08:10
Сообщение #1


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

Группа: Свой
Сообщений: 120
Регистрация: 8-02-09
Из: Мытищи
Пользователь №: 44 580



Доброго времени суток, товарищи )

Возникла необходимость экономии памяти (on-chip) и требуется перекинуть software с on-chip на Flash, чтобы ядро грузилось с флэшки,встроенной на плате.

Имеется Cyclone III C120 и flash 64 Мб с CFI интерфейсом.
Посмотрел на официальном сайте altera.com, вроде все просто прошился через Flash Programmer и все.

Так вот сам вопрос: по мануалу ug_nios2_flash_programmer.pdf необходимо создать для CFI Avalon-MM Tristate и добавить компонент Flash Memory.
Тогда получается необходимо создать и внешний блок(саму Flash память) и организовать связь между ядром и разработанным блоком?
Чем тогда будет являться Flash память, какой элемент использовать или все дело в дальнейшей распиновке(то есть привяжу к ножкам Flash и оно поймет)?

Простите, если коряво выразился, может подобная тема и есть, но что-то не нашел.
буду благодарен за любые отзывы.
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Men
сообщение Jul 31 2009, 05:43
Сообщение #2


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

Группа: Свой
Сообщений: 127
Регистрация: 6-10-06
Из: Санкт-Петербург
Пользователь №: 21 039



А слона то я и незаметил!!! laughing.gif
Все заработало!!!!!!!
Спасибо огромное за содействие!!!
Go to the top of the page
 
+Quote Post
inco
сообщение Jul 31 2009, 09:57
Сообщение #3


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

Группа: Свой
Сообщений: 161
Регистрация: 26-08-05
Из: Российская Империя
Пользователь №: 7 984



Цитата(Men @ Jul 31 2009, 08:43) *
А слона то я и незаметил!!! laughing.gif
Все заработало!!!!!!!
Спасибо огромное за содействие!!!


А какого слона уточните?!

Меня тоже интересует этот вопрос и я уже спрашивал на форуме, но так и не понял из ответов, всё таки можно или нет исполнять код НАПРЯМУЮ из епцс, пусть очень медленно но напрямую? С загрузчиками всё понятно!
Go to the top of the page
 
+Quote Post
vadimuzzz
сообщение Jul 31 2009, 14:10
Сообщение #4


Гуру
******

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



Цитата(inco @ Jul 31 2009, 16:57) *
А какого слона уточните?!

Меня тоже интересует этот вопрос и я уже спрашивал на форуме, но так и не понял из ответов, всё таки можно или нет исполнять код НАПРЯМУЮ из епцс, пусть очень медленно но напрямую? С загрузчиками всё понятно!

нужно создать компонент, который будет иметь avalon-MM интерфейс как у памяти, а наружу - интерфейс SPI. собственно его уже давно сделали http://www.niosforum.com/pages/project_det...fb148c132365f74
но ссылка сейчас дохлая. обсуждалось тут http://electronix.ru/forum/index.php?showtopic=19716 - можно попробовать написать авторам.
Go to the top of the page
 
+Quote Post
Stewart Little
сообщение Aug 2 2009, 08:02
Сообщение #5


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

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



Цитата(vadimuzzz @ Jul 31 2009, 18:10) *
можно попробовать написать авторам.

Увы, боюсь это будет запрос "на деревню дедушке". Марко Гроенфельд сейчас работает в Microtronix, разрабатывает для них платы ViClaro XXX, и все для них.


--------------------
Чтобы слова не расходились с делом, нужно молчать и ничего не делать...
Go to the top of the page
 
+Quote Post
vadimuzzz
сообщение Aug 2 2009, 09:32
Сообщение #6


Гуру
******

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



Цитата(Stewart Little @ Aug 2 2009, 15:02) *
Увы, боюсь это будет запрос "на деревню дедушке". Марко Гроенфельд сейчас работает в Microtronix, разрабатывает для них платы ViClaro XXX, и все для них.

я имел в виду авторов постов smile.gif кто-то в той теме обмолвился, что исходники слил. впрочем, написать компонент не проблема, вот смысла в этом не вижу
Go to the top of the page
 
+Quote Post
dim99
сообщение Oct 6 2009, 15:20
Сообщение #7


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

Группа: Свой
Сообщений: 120
Регистрация: 8-02-09
Из: Мытищи
Пользователь №: 44 580



После некоторого перерыва добрался до платы (Cyclone III 3c120 dev kit), чтобы попробовать запустить проект с Flash.
с 1-ого раза не завелась и с 2-ого тоже.

Имеется CIII dev kit на борту Flash - Spansion (S29GL512N11FFIV1),
- 64 Мбх16
- CFI flash command support (поддержка CFI)

Sopc Builder:
cpu
on-chip memory
...
tristate_bridge + cfi_flash

sysid не ставил или необходимо?

Nios IDE пример из handbook:
ставлю галочки в свойствах библиотеки -
program never exits
support C++
ligthweight device driver API
clean exit
reduce device driver
small C library

#include "sys/alt_flash.h"
#include <stdio.h>
#include <string.h>
...
alt_flash_fd* fd;
fd = alt_flash_open_dev("/dev/cfi_flash");


fd возвращается нулевой - ничего не открылось естественно.

В Quartus распиновку проверил вроде правильно, но...

в Sopc Builder компонент CFI - ставлю Custom, address width - 25 bit и data width - 16 объем Flash - 64 Мб
смотрим в manual распиновка address bit 24 - 0 FSM_A(24:0) Address bus (word aligned)
то есть адресация 32 Мб используя 25 бит. сама Flash 64 Мб - 26 бит. (поправьте если я здесь чего-то не понимаю)

В Quartus это выглядит так:
Прикрепленное изображение


Как с этим быть?

При прошивке проекта в CIII загорается Led Flash active, за который отвечает Max II (вырезка из manual к CIII - Illuminates when flash memory is being accessed with a read or write transaction. Driven by the MAX II CPLD).
При запуске в Nios IDE Debug никакого моргания или признаков активности Led нет.

Мои догадки, почему не работает:
1. неправильная конфигурация в sopc builder(может нужен sysid или неправильно выставлен объем Flash)
2. ошибка при распиновке в Quartus (проверю еще раз)
3. неправильное имя при обращении /dev/cfi_flash (беру из system.h после генерации)
4. мертвая flash(маловероятно) или как-то причастен Max II

Кто сталкивался с проблемами Flash в Nios II Или есть какие-то соображения, отпишитесь пожалуйста.
Go to the top of the page
 
+Quote Post
barabek
сообщение Oct 8 2009, 13:17
Сообщение #8


Знающий
****

Группа: Свой
Сообщений: 540
Регистрация: 16-08-07
Из: Владивосток
Пользователь №: 29 831



Цитата(dim99 @ Oct 7 2009, 02:20) *
Nios IDE пример из handbook:
ставлю галочки в свойствах библиотеки -
program never exits
support C++
ligthweight device driver API
clean exit
reduce device driver
small C library

Я ставил галочки
program never exits
ligthweight device driver API
reduce device driver
small C library

Но в таком случае, как Вам уже выше описали, многие библиотеки сильно кастрируются. Можете выставить или полные библиотеки или, если не хотите сильно раздувать код (а раздуться он может значительно) то :
Код
#include<sys/alt_flash.h>
#ifndef ALT_USE_CFI_FLASH
#define ALT_USE_CFI_FLASH
#endif
#include <altera_avalon_cfi_flash.h>

добавить глобальную структуру:

static alt_flash_cfi_dev cfi_flash =                                             \
{                                                                          \
  {                                                                        \
    ALT_LLIST_ENTRY,                                                       \
    CFI_FLASH_NAME,                                                           \
    NULL,                                                                  \
    NULL,                                                                  \
    ALT_CFI_DEV_IN_USE(CFI_FLASH_BASE) ? NULL : alt_flash_cfi_write,          \
    ALT_CFI_DEV_IN_USE(CFI_FLASH_BASE) ? NULL : alt_flash_cfi_read,           \
    ALT_CFI_DEV_IN_USE(CFI_FLASH_BASE) ? NULL : alt_flash_cfi_get_info,       \
    NULL,                                                                  \
    NULL,                                                                  \
    ((void*)( CFI_FLASH_BASE)),                                               \
    CFI_FLASH_SIZE                                                            \
  }                                                                        \
};

  в main ()
  {
...
    alt_flash_cfi_init (&cfi_flash);
...

в проект явно добавил файл
altera_avalon_cfi_flash.с

После этого можно писать-читать-стирать стандартными функциями, а также считать конфигурацию CFI c помощью alt_get_flash_info(...).

Почему-то пришлось добавлять структуру явно и явно добавлять файл. Нужно было сделать быстро. Искал по их библиотекам, рылся-рылся, но так и не понял какими define-ми сделать это более красиво. Может у Вас больше терпения, желания и времени хватит раскопать smile.gif.
Go to the top of the page
 
+Quote Post
dim99
сообщение Oct 8 2009, 18:39
Сообщение #9


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

Группа: Свой
Сообщений: 120
Регистрация: 8-02-09
Из: Мытищи
Пользователь №: 44 580



В общем решил одну из проблем - правильно распиновал.

теперь после прошивки проекта в плату, открываю Nios Command Shell, набираю nios2-flash-programmer --cable="usb-blaster [USB-0]" --base=0x04000000 --debug
и выдается CFI Table - получается видит flash.

но пока в Nios IDE никак не могу получить ненулевой результат от alt_flash_open_dev(CFI_FLASH_NAME);

думаю, что неправильно выставлены тайминги:
flash S29GL512N по даташиту - 110 ns время доступа.

Вопрос: как рассчитать

Setup —After asserting chipselect, the time required before asserting the read or write signals.
Wait—The time required for the read or write signals to be asserted for each transfer.
Hold—After deasserting the write signal, the time required before deasserting the chipselect signal.

Временыне характеристики Flash:
Max. Access Time (ns) 100 110 110
Max. CE# Access Time (ns) 100 110 110
Max. Page access time (ns) 25 25 30
Max. OE# Access Time (ns) 25 35 35

пока все выставил на 110 ns.

Кто сталкивался с расчетом параметров для CFI?
Go to the top of the page
 
+Quote Post
vadimuzzz
сообщение Oct 8 2009, 22:55
Сообщение #10


Гуру
******

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



Цитата(dim99 @ Oct 9 2009, 01:39) *
В общем решил одну из проблем - правильно распиновал.

теперь после прошивки проекта в плату, открываю Nios Command Shell, набираю nios2-flash-programmer --cable="usb-blaster [USB-0]" --base=0x04000000 --debug
и выдается CFI Table - получается видит flash.

но пока в Nios IDE никак не могу получить ненулевой результат от alt_flash_open_dev(CFI_FLASH_NAME);

думаю, что неправильно выставлены тайминги:

скорее в настройках System Library галочки не те стоят
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- dim99   Nios II Software   Jul 1 2009, 08:10
- - Postoroniy_V   1)после того как в системе появится CFI Avalon-M...   Jul 1 2009, 10:49
|- - dim99   Цитата(Postoroniy_V @ Jul 1 2009, 14:49) ...   Jul 14 2009, 07:34
|- - Postoroniy_V   Цитата(dim99 @ Jul 14 2009, 16:34) что-то...   Jul 14 2009, 08:50
|- - dim99   Цитата(Postoroniy_V @ Jul 14 2009, 12:50)...   Jul 14 2009, 19:10
- - Men   У меня DE1 от альтеры, не получается прошить в EPC...   Jul 29 2009, 16:14
|- - vadimuzzz   Цитата(Men @ Jul 29 2009, 23:14) У меня D...   Jul 30 2009, 00:51
|- - Men   Цитата(vadimuzzz @ Jul 30 2009, 04:51) ло...   Jul 30 2009, 13:02
|- - Stewart Little   Цитата(Men @ Jul 30 2009, 17:02) Мой прое...   Jul 30 2009, 15:54
|- - Men   Цитата(Stewart Little @ Jul 30 2009, 19:5...   Jul 30 2009, 16:31
|- - vadimuzzz   Цитата(Men @ Jul 30 2009, 23:31) В каком ...   Jul 30 2009, 22:31
|- - Postoroniy_V   Цитата(dim99 @ Oct 7 2009, 00:20) После н...   Oct 7 2009, 02:14
|- - vadimuzzz   Цитата(dim99 @ Oct 6 2009, 22:20) Мои дог...   Oct 7 2009, 23:07
|- - barabek   Цитата(dim99 @ Oct 9 2009, 04:39) В общем...   Oct 9 2009, 01:31
|- - dim99   Цитата(barabek @ Oct 9 2009, 05:31) Время...   Oct 9 2009, 12:43
|- - vadimuzzz   Цитата(dim99 @ Oct 9 2009, 19:43) alt_fla...   Oct 9 2009, 13:15
|- - barabek   Цитата(vadimuzzz @ Oct 9 2009, 23:15) alt...   Oct 9 2009, 14:01
||- - barabek   Да, кстати. Я скопировал упомянутый altera_avalon_...   Oct 9 2009, 14:36
||- - dim99   У меня вопрос появился, нет ли каких-нибудь ошибок...   Oct 9 2009, 15:25
||- - vadimuzzz   Цитата(dim99 @ Oct 9 2009, 22:25) У меня ...   Oct 9 2009, 15:56
||- - dim99   А что с reset? разве нельзя его завести на питание...   Oct 9 2009, 16:37
|- - dim99   Цитата(vadimuzzz @ Oct 9 2009, 17:15) alt...   Oct 9 2009, 14:34
- - vadimuzzz   собрал ниос с флешем на стартер-ките. все работает...   Oct 10 2009, 10:21
|- - dim99   Спасибо за проект и замечания. До платы доберусь т...   Oct 10 2009, 14:45
|- - dim99   Сегодня переделал проект в nios ide как в примере ...   Oct 12 2009, 09:34
|- - dim99   Покапался в datasheet к своей Flash и выяснил инте...   Oct 12 2009, 14:24
|- - vadimuzzz   Цитата(dim99 @ Oct 12 2009, 16:34) Сегодн...   Oct 12 2009, 14:35
|- - dim99   Цитата(vadimuzzz @ Oct 12 2009, 18:35) ви...   Oct 12 2009, 15:10
|- - dim99   Заработало ) Наконец-то после "недолгих...   Oct 14 2009, 14:11
|- - vadimuzzz   Цитата(dim99 @ Oct 14 2009, 21:11) В обще...   Oct 14 2009, 14:32
|- - dim99   Цитата(vadimuzzz @ Oct 14 2009, 18:32) эт...   Oct 14 2009, 14:38
|- - vadimuzzz   Цитата(dim99 @ Oct 14 2009, 21:38) Да, чи...   Oct 14 2009, 22:57
|- - dim99   Сегодня удачно загрузил soft в Flash и теперь с не...   Oct 15 2009, 13:01
- - KriGLer   А возможно ли cfi-flash сделать памятью программ н...   Jan 13 2010, 07:52
|- - vadimuzzz   Цитата(KriGLer @ Jan 13 2010, 13:52) А во...   Jan 13 2010, 08:09
- - KriGLer   Цитата(vadimuzzz @ Jan 13 2010, 11:09) не...   Jan 13 2010, 12:41
|- - vadimuzzz   Цитата(KriGLer @ Jan 13 2010, 18:41) т.е....   Jan 13 2010, 12:47
|- - KriGLer   Цитата(vadimuzzz @ Jan 13 2010, 16:47) ещ...   May 19 2010, 12:04
- - vadimuzzz   а как прогу шьете? через flash-programmer?   May 19 2010, 13:28
- - KriGLer   Да, через него   May 19 2010, 17:53
|- - barabek   Цитата(KriGLer @ May 20 2010, 04:53) Да, ...   May 19 2010, 21:15
|- - vadimuzzz   Цитата(KriGLer @ May 20 2010, 00:53) Да, ...   May 19 2010, 23:00
- - KriGLer   если это то: Код#!/bin/sh # # This file was au...   May 20 2010, 05:06
- - vadimuzzz   а ПЛИС как конфигурируется?   May 20 2010, 07:55
- - KriGLer   .jic фалом через jtag EP2C20 + EPCS4   May 20 2010, 09:01
- - vadimuzzz   а сколько у вас памяти (on-chip)?   May 20 2010, 12:02
- - KriGLer   )))) она отключена вообще   May 20 2010, 12:43
|- - vadimuzzz   Цитата(KriGLer @ May 20 2010, 19:43) ))))...   May 20 2010, 12:56
- - KriGLer   RE: Nios II Software   May 20 2010, 13:12
- - vadimuzzz   так, ошибок нигде не видно. тогда идем по порядку....   May 20 2010, 13:56
- - AntiL   помогите решить проблему(ы). ковыряюсь с платой EP...   Oct 25 2011, 11:57
- - AntiL   ладно, сам и отвечаю(может кому и понадобится): 1....   Oct 27 2011, 04:39
- - AntiL   7. ... преобразовывал с помощью quartus -> conv...   Oct 27 2011, 06:44


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

 


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


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