Jump to content

    

xxxmatrixxx

Участник
  • Content Count

    119
  • Joined

  • Last visited

Community Reputation

0 Обычный

About xxxmatrixxx

  • Rank
    Частый гость
  • Birthday 05/31/1985

Контакты

  • Сайт
    Array
  • ICQ
    Array

Информация

  • Город
    Array

Recent Profile Visitors

1559 profile views
  1. Здравствуйте, уважаемые форумчане стоит задача внедрить в разработанные модули интерфейс Arinc-818 может кто поделиться: 1. стандартом на Arinc 818 2. есть ли у кого IP Core под Arinc 818 3. есть ли у кого пример реализации схемотехники для Arinc-818 спасибо, буду рад любой помощи
  2. так вот сейчас я и посмотрел, что хоть библиотеку находит, но вот функции не подгружает... я скачал с официального сайта, подо что скомпилирована библиотека не помню... тогда вопрос следующие: 1. есть ли возможность использования EmWin под NiosII? 2. просмотрев просторы интернета, я наткнулся на библиотеку китайцев uGUI, на основе которой получилась EmWin: - был ли у кого опыт с ней? - есть ли у кого исходники, чтобы можно скомпилить? 3. какие библиотеки для отрисовки графики и получения координат с тачскрина использовали?
  3. Здравствуйте, уважаемые форумчане встала задача, чтобы выводить изображение с ПЛИС EP3C25Q240, а так же отслеживать нажатие на экране через тачскрин я имел опыт работы с библиотекой StEmWin под STM32L496, хочу в первую очередь использовать ее родоначальника EmWin в проекте Скачал библиотеку EmWin с официального сайта Segger, собираю проект в Eclipse NIOS версии 13.1 без использования ОС, подключил библиотеку, сейчас при компиляции вижу следующее: C:\PROJECTS\Neptun\bukvaverilog_new\software\bukvaverilog_de0nano/GUI/Config/GUIConf.c:58: undefined reference to `GUI_ALLOC_AssignMemory' obj/default/GUI/Config/LCDConf.o: In function `LCD_X_Config': C:\PROJECTS\Neptun\bukvaverilog_new\software\bukvaverilog_de0nano/GUI/Config/LCDConf.c:99: undefined reference to `GUIDRV_Win_API' C:\PROJECTS\Neptun\bukvaverilog_new\software\bukvaverilog_de0nano/GUI/Config/LCDConf.c:99: undefined reference to `GUIDRV_Win_API' C:\PROJECTS\Neptun\bukvaverilog_new\software\bukvaverilog_de0nano/GUI/Config/LCDConf.c:99: undefined reference to `LCD_API_ColorConv_M8888I' C:\PROJECTS\Neptun\bukvaverilog_new\software\bukvaverilog_de0nano/GUI/Config/LCDConf.c:99: undefined reference to `LCD_API_ColorConv_M8888I' C:\PROJECTS\Neptun\bukvaverilog_new\software\bukvaverilog_de0nano/GUI/Config/LCDConf.c:99: undefined reference to `GUI_DEVICE_CreateAndLink' C:\PROJECTS\Neptun\bukvaverilog_new\software\bukvaverilog_de0nano/GUI/Config/LCDConf.c:103: undefined reference to `LCD_SetSizeEx' C:\PROJECTS\Neptun\bukvaverilog_new\software\bukvaverilog_de0nano/GUI/Config/LCDConf.c:104: undefined reference to `LCD_SetVSizeEx' C:\PROJECTS\Neptun\bukvaverilog_new\software\bukvaverilog_de0nano/GUI/Config/LCDConf.c:105: undefined reference to `LCD_SetVRAMAddrEx' у меня следующие вопросы: 1. был ли у кого опыт использование EmWin библиотеки под Nios II без использования ОС??? 2. кто какие использовал библиотеки для отрисовки и получения координат с тачскрина под Nios II? очень прошу поделиться опытом, если есть проект под Nios II, то буду очень признателен
  4. Решил проблему очисткой статусных регистров и контрольных(записью в низ 0х0), а так же перезаписью на каждую транзакцию длины, адресов чтения и записи, ну и записи в контрольный регистр INTEL_DMA_CTRL_SET_LEEN_WORD_GO_IEN = INTEL_DMA_CTRL_WORD_MSK | INTEL_DMA_CTRL_GO_MSK | INTEL_DMA_CTRL_I_EN_MSK | INTEL_DMA_CTRL_LEEN_MSK = 0х9С
  5. Здравствуйте, уважаемые форумчане Использовал стандартный DMA Controller, именно стандартный(https://www.intel.com/content/dam/www/programmable/us/en/pdfs/literature/ug/ug_embedded_ip.pdf, пункт 29), а не msgdma... с одной стороны он связан с флэш памятью Max10, с другой OnChipMemory - служит для передачи данных из памяти во флэш и наоборот я написал модуль на verilog, который конфигурирует DMA Controller и запускает транзакцию пересылки данных через DMA модуль MCU реализует инструкции, которые заданы в массиве значений, и выдает их на шину Avalon через avm_master typedef struct packed { t_operation operation; logic [31:0] address; logic [7:0] register; logic [31:0] data; } t_op_array; t_op_array init_array[21]; t_op_array work_array[25]; // Write from Flash to Memory init_array[7]= { OP_WRITE, DMA_CSR_AMM_ADDRESS[31:0], INTEL_DMA_RD_ADDRESS[7:0], FLASH_DATA_AMM_ADDRESS[31:0] }; // write Read address init_array[8]= { OP_WRITE, DMA_CSR_AMM_ADDRESS[31:0], INTEL_DMA_WR_ADDRESS[7:0], MEMORY_AMM_ADDRESS[31:0]}; // write Write address init_array[9]= { OP_WRITE, DMA_CSR_AMM_ADDRESS[31:0], INTEL_DMA_LENGTH[7:0], MEM_FLASH_SIZE[31:0] }; // write Lenght init_array[10]= { OP_WRITE, DMA_CSR_AMM_ADDRESS[31:0], INTEL_DMA_CONTROL[7:0], INTEL_DMA_CTRL_SET_LEEN_WORD_GO_IEN[31:0] }; // write control register (start DMA) init_array[11]= { OP_READ, DMA_CSR_AMM_ADDRESS[31:0], INTEL_DMA_STATUS[7:0], 32'h00}; // read status register (wait DMA Done) // Set Address and Lenght to Write from Memory to Flash init_array[12]= { OP_WRITE, DMA_CSR_AMM_ADDRESS[31:0], INTEL_DMA_RD_ADDRESS[7:0], MEMORY_AMM_ADDRESS[31:0] }; // write Read address init_array[13]= { OP_WRITE, DMA_CSR_AMM_ADDRESS[31:0], INTEL_DMA_WR_ADDRESS[7:0], FLASH_DATA_AMM_ADDRESS[31:0]}; // write Write address init_array[14]= { OP_WRITE, DMA_CSR_AMM_ADDRESS[31:0], INTEL_DMA_LENGTH[7:0], MEM_FLASH_SIZE[31:0] }; // write Lenght // MEM_FLASH work_array[10]= { OP_READ, DMA_CSR_AMM_ADDRESS[31:0], INTEL_DMA_STATUS[7:0], 32'h00}; // read status register (wait DMA Done) work_array[11]= { OP_WRITE, FLASH_CSR_AMM_ADDRESS[31:0], MAX_FLASH_CONTROL[7:0], MAX_FLASH_CTRL_SET_SE_CLR_WP_SECTOR_ID1[31:0] }; // enable write to Sector ID1 and erase Sector ID1 work_array[12]= { OP_READ, FLASH_CSR_AMM_ADDRESS[31:0], MAX_FLASH_STATUS[7:0], 32'h00}; // read status register (wait erase Sector ID1) work_array[13]= { OP_WRITE, DMA_CSR_AMM_ADDRESS[31:0], INTEL_DMA_CONTROL[7:0], INTEL_DMA_CTRL_SET_LEEN_WORD_GO_IEN[31:0] }; // write control register (start DMA) при старте пробегаюсь по массиву инициализации(init_array), как видно из него, я записываю адреса чтения, записи и длину пакета, равную 128, и стартую DMA транзакцию на 128 слов, причем у меня поставлена галочка Burst режим При инициализации данные передаются из FLASH -> MEMORY, и транзакция проходит успешно INTEL_DMA_CTRL_SET_LEEN_WORD_GO_IEN = INTEL_DMA_CTRL_WORD_MSK | INTEL_DMA_CTRL_GO_MSK | INTEL_DMA_CTRL_I_EN_MSK | INTEL_DMA_CTRL_LEEN_MSK = 0х9С жду окончания транзакции DMA и записываю рабочие адреса записи и чтения, а также длину затем в рабочем цикле(массив work_array) я запускаю DMA транзакцию, проверяя перед этим, что предыдущая транзакция по DMA завершена, когда выставлен контрольный бит в моем контрольном регистре, но DMA не запускается В итоге получается: 1. при инициализации(массив init_array) DMA отрабатывает нормально(правда 1 раз) 2. в рабочем цикле при запуске DMA, я не вижу по сигналтабу, что транзакция DMA стартует вообще, хотя все значения адресов, длины и контрольный регистр записаны т.к. я адреса записи и чтения, а также длину выставил заранее, а потом только запускал DMA, надо ли их каждый раз перезаписывать, либо может стирать или записывать какие-то другие надо регистры, чтобы запустить DMA повторно??? спасибо, жду вашего ответа
  6. Если использовать Terasic Usb-Blaster, то в Ubuntu работает все на ура - и программатор, и сигналтаб...
  7. Пробовал менять usb-blaster на другой, перезапускать jtagserver - ситуация не изменилась
  8. Здравствуйте, уважаемые форумчане Установил Quartus 18.1 Standart(такая же проблема в 20.1) на Ubuntu 18.04.5 LTS(полная установка, не на виртуалку) Сразу появились проблемы с Usb-Blaster, я использую WareShare Usb-Blaster 2.0, посмотрел в рекомендация от Альтеры: https://rocketboards.org/foswiki/Documentation/UsingUSBBlasterUnderLinux После этих манипуляций стала прошиваться ПЛИС через Programmer... Перенес проект, скомпиленный в Windows 10, на Ubuntu, запустил Signaltab, появились следующие проблемы(все делаю через Signaltab): 1. Определяется ПЛИС через раз 2. прошивается ПЛИС(sof файл) еще реже 3. При запуске снятия картинки Signaltab, он виснет, ни разу не получилось получить хоть какую-то картинку Перезагрузился на Windows 10, это же проделал с тем же самым проектом - все работает, как часы... Перекомпилил в Ubuntu проект, что был собран в Windows, все равно те же самые проблемы с Signaltab Хочется добиться, чтобы хотя бы осциллограмма появлялась при запуске снятия картинки Signaltab кто как решил эту проблему??? поделитесь опытом Спасибо, буду рад любой помощи
  9. сделал в итоге, как я хотел, опишу, чтобы у других не вызывало трудностей настройка FT4232H: 1. порт A настроил для работы по JTAG с использованием драйвера от Марсохода(https://marsohod.org/prodmbftdi/mbftdiq2drv), сделал именно так, как описано, программатор нашелся в Quartus Но так как у меня стояли 2е версии Quartus(18.1.1 и 13.1, причем последнюю ставил 13.1), то не учел, что Jtag Server запускается той версии Quartus, которая была поставлена последней, т.е. драйвер надо переносить в папки Quartus 13.1, тогда все увидится, у меня же был закинут в папку только 18.1.1, что по понятным причинам не обнаруживался... 2. настроил 2й порт для работы через OpenOCD с STM32F103 через JTAG, делал, как описано вот здесь https://marsohod.org/projects/proekty-dlya-platy-marsokhod3/mipsfpga/365-m3-mipsfpga-gdb и http://microsin.net/programming/arm/getting-started-openocd-with-ft2232h-for-swd-debugging.html скачал новую скомпилированную версию OpenOCD, написал скрипт ft4232h-jtag-portb.cfg: # # FTDI MiniModule # # http://www.ftdichip.com/Support/Documents/DataSheets/Modules/DS_FT4232H_Mini_Module.pdf # # -f \interface\jlink.cfg -f \target\stm32f1x.cfg # -f \interface\ftdi\ft4232h-jtag-portb.cfg -f \target\stm32f1x.cfg adapter driver ftdi transport select jtag ftdi_vid_pid 0x0403 0x6011 ftdi_channel 1 adapter speed 1000 #Config Command: ftdi_layout_init data direction #Specifies the initial values of the FTDI GPIO data and direction registers. #Each value is a 16-bit number corresponding to the concatenation of the high and low FTDI GPIO registers. #The values should be selected based on the schematics of the adapter, such that all signals are set to safe levels with minimal impact on the target system. #Avoid floating inputs, conflicting outputs and initially asserted reset signals. # Bit MPSSE FT4232 JTAG Type Description # Bit0 TCK BDBUS0 TCK Out Clock Signal Output # Bit1 TDI BDBUS1 TDI Out Serial Data Out # Bit2 TDO BDBUS2 TDO In Serial Data In # Bit3 TMS BDBUS3 TMS Out Select Signal Out # Bit4 GPIOL0 BDBUS4 nTRST In/Out General Purpose I/O # Bit5 GPIOL1 BDBUS5 SW_PORTA In/Out General Purpose I/O # Bit6 GPIOL2 BDBUS6 SW_PORTB In/Out General Purpose I/O # data MSB..LSB direction (1:out) MSB..LSB( 0 - input, 1 - output) # 0000'0000'0XX1'0000 0000'0000'0111'1011 ftdi_layout_init 0x0038 0x007b ftdi_layout_signal nTRST -ndata 0x0010 #SW_PORTA=0 => Jtag 2е ПЛИС #SW_PORTA=1 => Jtag 1 ПЛИС(ПВВ) #SW_PORTB=0 => Jtag STM32 #SW_PORTB=1 => не допустимо, т.к. подключен будет UART Спутника и разместил его в папке \interface\ftdi\ в данном пакете. для старта его из Eclipse необходимо в настройках запуска отладки через OpenOCD вбить: -f \interface\ftdi\ft4232h-jtag-portb.cfg -f \target\stm32f1x.cfg 3. остальные порты не менял, они у меня как UART задействованы Отладил все на FT4232H MiniModule, пока все заработало, перенес порты, определяющие конфигурацию переключателей, с порта А на порт В, т.к. там они мне доступны будут через OpenOCD, а вот через драйвер от Марсохода нет... еще раз всем спасибо за помощь, надеюсь кому-нибудь эта информация пригодится
  10. для конфигурации порта А Ft4232 Mini Module я использовал драйвер марсохода, но долго парился с ним из-за того, что у меня установленно 2 Quartus- 18.1 и 13.1, причем последнюю установил именно 13.1, в итоге драйвер скинул в папку 18.1, а jtag server был запущен от 13.1 - поэтому не находился устройство mfbti 2.0, пока не положил в 13.1 папку этот драйвер кстати, через этот драйвер получилось прошить Плис, сигналтаб запустить, но вот tcl console не работает, виснет при посылке 1й команды я хотел порт B настроить и использовать для прошивки STM32F103 через JTAG с использованием JLINK под Eclipse, но пока нашел что-то ясное по описанию только для openocd вторая проблема у меня еще в том, что мне необходимо управлять оставшимися портами ввода/вывода порта А и В, т.е. переключать их во время, например, работы драйвера марсохода mfbti 2.0 (вообще в моем случае допустимо изменять конфигурацию этих портов ввода/вывода до начала работы драйвера) пока с конфигурацией портов ввода/вывода и реализацией драйвера для работы через JTAG(либо определения его через существующие средства) по JLINK не разобрался
  11. после конфигурации данных портов через программу, взаимодействующую с библиотекой D2xx, на JTAG, у меня порт А и В сконфигурируются и определятся через Диспетчер устройств, как устройства, к которым я смогу подключить драйвер USB-Blaster, я правильно понимаю?
  12. сейчас пришел ft4232h mini module, запустил программу FT_Prog, но я не увидел там возможность переключение портов A и В в режим MPSE(JTAG), да и конфигурацию каждого порта и его пинов в зависимости от режимов Как все таки возможно сконфигурировать отдельные порты FT4232 через FT_Prog, либо это невозможно? Какие пути есть для конфигурации портов A и B в JTAG, портов C и D в UART?
  13. Здравствуйте, уважаемые форумчане Возникла такая задача, чтобы 2е Плис Cyclone4, которые разнесены по 2м модулям, объединить в JTAG цепочку и программировать их как с внешнего разъема, так и с микросхемы FT4232HL к этой микросхеме будут в сумме подключены: 1. шина ADBUS - JTAG 2х ПЛИС Сyclone4 2. шина BDBUS - JTAG от STM32, переключаемый с UART от спутника 3. шина СDBUS - UART от STM32 4. шина DDBUS - UART от IMX6 схему структурную я прилагаю вопросы следующие: 1. так как я с этой микросхемой FT4232HL не работал раньше, предполагается, что при подключении и конфигурации ее через FtProg я буду видеть 4 интерфейса на компе - 2а jtag, на которые я могу ставить свои отдельные дрова, и 2а виртуальных uart, так ли это? 2. могу ли я управлять gpioL на adbus и bdbus, когда они сконфигурированы как jtag, при этом, если я сконфигурирую порт, как uart они мне будут не доступны? 3. пробовал ли кто-нибудь объединять ПЛИС и STM32 в JTAG цепочку, какие были проблемы с таким подключением, в частности интересует вопрос с драйверами, т.к. на одном jtag висят и плис и stm32, которые требуют своих драйверов, будут ли они работать одновременно, либо хотя бы по раздельности(поставил драйвер для usb-blaster, то работаешь с Плис, поставил драйвер jlink, то работаешь с stm32? 4. так как у меня стоят и стандартные внешние разъемы для отдельной возможности программирования и Плис и Stm32, при этом сигналы Jtag у меня завязаны с FT4232HL, то не подсадит ли мне эта микросхема сигналы JTAG, если к ней со стороны Usb ничего подключено не будет, а я буду прошивать только через внешний соединитель выкладываю структурную схему, чтобы было понятнее о чем я говорю.. спасибо, буду рад любой помощи KOMPAS - JTAG_UART_BMS2.pdf