Перейти к содержанию
    

Azatot

Участник
  • Постов

    108
  • Зарегистрирован

  • Посещение

Репутация

0 Обычный

Информация о Azatot

  • Звание
    Частый гость
    Частый гость
  • День рождения 13.06.1986

Контакты

  • Сайт
    Array

Информация

  • Город
    Array
  1. Xilinx Platform Studio отвечает за ARM ядро, которое Вы не добавляете(об этом как раз и варнинг). А Вы меняете конфигурацию логики. Вам надо добавлять свою "мигалку" к имеющейся прошивке логики. Но что бы это все работало вместе с ARM ядром и грузилось из памяти необходимо будет менять и загрузчик ARMа.
  2. Да, учтено. Тем более, что GPIO пины должны работать без этих ухищрений.
  3. Всем доброго времени суток! Имеется плата ZC706. Хочу вывести сигналы SPI через EMIO пины (привязанные к логике). SPI1 запустил через MIO, все работает. SPI0 завел через EMIO, не работает. Попробовал просто GPIO вывести через EMIO к LEDам, подключенным к логике, тоже не работает. Использую ISE 14.7+EDK. В ISE подключаю ARM, назначаю пины EMIO, заливаю в плисовую часть. В SDK запускаю программу ARMa. И не работает. В интернете примеры все через Vivado, но ее нет(точнее лицензии нет :laughing:). Может кто встречался с таким и поделится опытом? Заранее благодарю!
  4. Был бы очень благодарен, если бы могли поднять проект. Просто примеров на плату у меня не было, а найти рабочий не получается.
  5. Serhiy_UA А Вы бы не могли поделиться этим проектом, если, конечно есть такая возможность. Я бы попробовал проц в Qsys открыть и посмотреть что куда идет. Да и ethernet софт на Ниос тоже пригодился бы.
  6. Да что то не понятно мне. Пишу: for(i=0;i<20;i++) { IOWR_16DIRECT(LAN_BASE_ADDRESS+0xE, 14, 0x0003); reg[i]=IORD_16DIRECT(LAN_BASE_ADDRESS+i, 14); } Хочу записывая один регистр, посмотреть, что в других, включая и записанный. В reg[] после выхода из for какая то ерунда лежит. В том числе и в BASE_ADR+0xA. Пишу: IOWR_16DIRECT(LAN_BASE_ADDRESS+0xE, 14, 0x0003); reg2=IORD_16DIRECT(LAN_BASE_ADDRESS+0xA, 14); IOWR_16DIRECT(LAN_BASE_ADDRESS+0xE, 14, 0x0003); reg3=IORD_16DIRECT(LAN_BASE_ADDRESS+0xB, 14); IOWR_16DIRECT(LAN_BASE_ADDRESS+0xE, 14, 0x0003); reg4=IORD_16DIRECT(LAN_BASE_ADDRESS+0xC, 14); IOWR_16DIRECT(LAN_BASE_ADDRESS+0xE, 14, 0x0003); reg5=IORD_16DIRECT(LAN_BASE_ADDRESS+0xD, 14); Так же, по идее, как и с for, но в результате выдает: reg2=0х3 reg3=0х300 reg4=0х3 reg5=0х0
  7. Попробовал так. Подключил, как написано, пишу 0х0003, читаю 0х3. Ради интереса записал 0х0007 и 0х0123, прочитал 0х7 и 0х123. По моему, не работает. А ссылку не кинете на тему альтеровского форума откуда взяли этот текст?
  8. Беру из вкладки HDL Example Qsys'а (в VHDL): component Nios1_proc is port ( clk_0 : in std_logic := 'X'; -- clk reset_n : in std_logic := 'X'; -- reset_n out_port_from_the_pio_0 : out std_logic_vector(7 downto 0); -- export tri_state_bridge_0_bridge_0_out_select_n_to_the_cfi_flash_0 : inout std_logic_vector(0 downto 0) := (others => 'X'); -- select_n_to_the_cfi_flash_0 tri_state_bridge_0_bridge_0_out_write_n_to_the_cfi_flash_0 : inout std_logic_vector(0 downto 0) := (others => 'X'); -- write_n_to_the_cfi_flash_0 tri_state_bridge_0_bridge_0_out_read_n_to_the_cfi_flash_0 : inout std_logic_vector(0 downto 0) := (others => 'X'); -- read_n_to_the_cfi_flash_0 tri_state_bridge_0_bridge_0_out_data_to_and_from_the_cfi_flash_0 : inout std_logic_vector(7 downto 0) := (others => 'X'); -- data_to_and_from_the_cfi_flash_0 tri_state_bridge_0_bridge_0_out_address_to_the_cfi_flash_0 : inout std_logic_vector(23 downto 0) := (others => 'X'); -- address_to_the_cfi_flash_0 tristate_conduit_bridge_0_out_tcm_byteenable_n_out : inout std_logic_vector(3 downto 0) := (others => 'X'); -- tcm_byteenable_n_out tristate_conduit_bridge_0_out_tcm_irq_in_in : in std_logic_vector(0 downto 0) := (others => 'X'); -- tcm_irq_in_in tristate_conduit_bridge_0_out_tcm_data_out : inout std_logic_vector(31 downto 0) := (others => 'X'); -- tcm_data_out tristate_conduit_bridge_0_out_tcm_write_n_out : inout std_logic_vector(0 downto 0) := (others => 'X'); -- tcm_write_n_out tristate_conduit_bridge_0_out_tcm_reset_out : inout std_logic_vector(0 downto 0) := (others => 'X'); -- tcm_reset_out tristate_conduit_bridge_0_out_tcm_chipselect_n_out : inout std_logic_vector(0 downto 0) := (others => 'X'); -- tcm_chipselect_n_out tristate_conduit_bridge_0_out_tcm_address_out : inout std_logic_vector(15 downto 0) := (others => 'X'); -- tcm_address_out tristate_conduit_bridge_0_out_tcm_read_n_out : inout std_logic_vector(0 downto 0) := (others => 'X') -- tcm_read_n_out );
  9. Хорошо, поменяю. Меня это тоже насторожило, но подумал раз Qsys так генерит, значит так и надо. LAN_AEn[0] я ввел, когда cs вывел из компонента. А сейчас на ADR[0] подключено, поэтому LAN_AEn[0] остался голый. Эти пины подключены к ногам ПЛИС, которые являются GND ногами. Смотрю осциллографом: WR и RD оба в 0 лежат. По адресной шине что то проскакивает. На данных вообще пила какая то. AEn в третьем состоянии будто бы.
  10. Так Qsys сгенерировал. В файле, что я выложил, эти сигналы идут от Nios к выводам FPGA: LAN_data LAN_adr LAN_byte LAN_read LAN_irq LAN_AEn LAN_write Остальные ноги LAN: LAN_RDYRTN<='1'; LAN_CYCLE<='1'; LAN_VLBUS<='1'; LAN_LCLK<='1'; Эти ноги LAN сидят на жесткую (либо земля, либо питание): DATA_CS<='1'; IOCHRDY<='1'; LDEV<='0'; SRDY<='0'; W_R_N<='1';
  11. Даже не в 1, а TriState. В приложении. PIN.txt
  12. Да тут похоже, всетаки с сигналами что то не так. AEN и на ADR0 вешал и CS на выводил. Потом смотрю осциллографом AEN, а он как стоит в 1, так и не шелохнется.
  13. Да, похоже, что не работает и макросами, либо я что то не так делаю. Через указатель пишу, потом читаю, во вкладке Variables в переменной reg показывает то, что писал. А в lan_reg (откуда считываю) всеравно лежит FF.
  14. А Nios точно должен распознать LAN, как память и видеть, что в регистрах через вкладку Memory в Eclipse? Там все время FF, а если пишу через IOWR_ALTERA_AVALON_LAN91C111_BSR, а потом читаю IORD_ALTERA_AVALON_LAN91C111_BSR, то в переменной лежит, то что писал. Но, может это и не работает на самом деле.
  15. Просто, тогда странно, что делать с ADDR0.
×
×
  • Создать...