Добрый день. Поставил под убунту 16.04 LTS Altera Standalone Programmer. Поставил две версии - 16.1 и 15.1. Настроил jtagd по многочисленным мануалам в сети.
jtagconfig работает нормально.
CODE
/opt/altera/intelFPGA/16.1/qprogrammer/bin/jtagconfig
1) USB-Blaster [1-7.3]
0100A0DD EPC(16|4|8|E16|E4|E8)
При запуске pgmt программа валится с ошибкой
CODE
/opt/altera/intelFPGA/16.1/qprogrammer/bin/qpgmt
*** Fatal Error: Illegal Instruction
Module: qpgmt
Stack Trace:
0xca9d8: std::vector<DEV_PART_DESC*, std::allocator<DEV_PART_DESC*> >::_M_fill_insert(__gnu_cxx::__normal_iterator<DEV_PART_DESC**, std::vector<DEV_PART_DESC*, std::allocator<DEV_PART_DESC*> > >, unsigned long, DEV_PART_DESC* const&) + 0x148 (ddb_dev)
0xf08a2: DEV_FAMILY_INFO_MGR_BODY::DEV_FAMILY_INFO_MGR_BODY() + 0x1e2 (ddb_dev)
0xca3d1: DEV_FAMILY_INFO_MGR_BODY::get_instance() + 0x21 (ddb_dev)
0xbb319: DEV_FAMILY_MANAGER::DEV_FAMILY_MANAGER() + 0x9 (ddb_dev)
End-trace
При запуске quartus_pgm вcе ок пока он работает в режиме поиска устройств.
CODE
/opt/altera/intelFPGA/16.1/qprogrammer/bin/quartus_pgm -l
Info: *******************************************************************
Info: Running Quartus Prime Programmer
Info: Version 16.1.0 Build 196 10/24/2016 SJ Standard Edition
Info: Copyright © 2016 Intel Corporation. All rights reserved.
Info: Your use of Intel Corporation's design tools, logic functions
Info: and other software and tools, and its AMPP partner logic
Info: functions, and any output files from any of the foregoing
Info: (including device programming or simulation files), and any
Info: associated documentation or information are expressly subject
Info: to the terms and conditions of the Intel Program License
Info: Subscription Agreement, the Intel Quartus Prime License Agreement,
Info: the Intel MegaCore Function License Agreement, or other
Info: applicable license agreement, including, without limitation,
Info: that your use is for the sole purpose of programming logic
Info: devices manufactured by Intel and sold by Intel or its
Info: authorized distributors. Please refer to the applicable
Info: agreement for further details.
Info: Processing started: Wed Dec 6 13:07:21 2017
Info: Command: quartus_pgm -l
1) USB-Blaster [1-7.3]
Info: Quartus Prime Programmer was successful. 0 errors, 0 warnings
Info: Peak virtual memory: 419 megabytes
Info: Processing ended: Wed Dec 6 13:07:21 2017
Info: Elapsed time: 00:00:00
Info: Total CPU time (on all processors): 00:00:00
CODE
/opt/altera/intelFPGA/16.1/qprogrammer/bin/quartus_pgm --cable=USB-Blaster -a
Info: *******************************************************************
Info: Running Quartus Prime Programmer
Info: Version 16.1.0 Build 196 10/24/2016 SJ Standard Edition
Info: Copyright © 2016 Intel Corporation. All rights reserved.
Info: Your use of Intel Corporation's design tools, logic functions
Info: and other software and tools, and its AMPP partner logic
Info: functions, and any output files from any of the foregoing
Info: (including device programming or simulation files), and any
Info: associated documentation or information are expressly subject
Info: to the terms and conditions of the Intel Program License
Info: Subscription Agreement, the Intel Quartus Prime License Agreement,
Info: the Intel MegaCore Function License Agreement, or other
Info: applicable license agreement, including, without limitation,
Info: that your use is for the sole purpose of programming logic
Info: devices manufactured by Intel and sold by Intel or its
Info: authorized distributors. Please refer to the applicable
Info: agreement for further details.
Info: Processing started: Wed Dec 6 13:07:57 2017
Info: Command: quartus_pgm --cable=USB-Blaster -a
Info (213045): Using programming cable "USB-Blaster [1-7.3]"
1) USB-Blaster [1-7.3]
0100A0DD EPC(16|4|8|E16|E4|E8)
Info: Quartus Prime Programmer was successful. 0 errors, 0 warnings
Info: Peak virtual memory: 419 megabytes
Info: Processing ended: Wed Dec 6 13:07:57 2017
Info: Elapsed time: 00:00:00
Info: Total CPU time (on all processors): 00:00:00
При попытке что-то зашить.
CODE
/opt/altera/intelFPGA/16.1/qprogrammer/bin/quartus_pgm --cable=USB-Blaster --mode=JTAG --operation="pv;test.pof"
*** Fatal Error: Illegal Instruction
Module: quartus_pgm
Stack Trace:
0xca9d8: std::vector<DEV_PART_DESC*, std::allocator<DEV_PART_DESC*> >::_M_fill_insert(__gnu_cxx::__normal_iterator<DEV_PART_DESC**, std::vector<DEV_PART_DESC*, std::allocator<DEV_PART_DESC*> > >, unsigned long, DEV_PART_DESC* const&) + 0x148 (ddb_dev)
0xf08a2: DEV_FAMILY_INFO_MGR_BODY::DEV_FAMILY_INFO_MGR_BODY() + 0x1e2 (ddb_dev)
0xca3d1: DEV_FAMILY_INFO_MGR_BODY::get_instance() + 0x21 (ddb_dev)
0xc2a79: DEV_PART_MANAGER::DEV_PART_MANAGER() + 0x9 (ddb_dev)
0x28695d: PGM_CHAIN_ELEMENT::create_chain_element(PGM_CHAIN_ELEMENT*, bool, FIO_PATH*, bool, PGMIO_CONFIG_SCHEME, bool) + 0xc1d (pgm_pgmio)
0x2327f: PGME_PROGRAMMER::lookup_device(PGM_CHAIN_ELEMENT*, PGMIO_CONFIG_SCHEME, bool, bool) + 0x21 (pgm_pgme)
0x2121b: QPGM_FRAMEWORK::create_element(std::string, std::string, unsigned int, unsigned int) + 0x5fb (quartus_pgm)
0x23ab1: QPGM_FRAMEWORK::process_operation(std::string*) + 0x1e93 (quartus_pgm)
0x24bfe: QPGM_FRAMEWORK::post_check_arguments() + 0x2d6 (quartus_pgm)
0x1c08f: qexe_standard_main(QEXE_FRAMEWORK*, QEXE_OPTION_DEFINITION const**, int, char const**) + 0x1bc (comp_qexe)
0x1fccc: qpgm_main(int, char const**) + 0x5e (quartus_pgm)
0x407e0: msg_main_thread(void*) + 0x10 (ccl_msg)
0x602c: thr_final_wrapper + 0xc (ccl_thr)
0x4089f: msg_thread_wrapper(void* (*)(void*), void*) + 0x62 (ccl_msg)
0xa559: mem_thread_wrapper(void* (*)(void*), void*) + 0x99 (ccl_mem)
0x8f92: err_thread_wrapper(void* (*)(void*), void*) + 0x27 (ccl_err)
0x63f2: thr_thread_wrapper + 0x15 (ccl_thr)
0x42c37: msg_exe_main(int, char const**, int (*)(int, char const**)) + 0xa3 (ccl_msg)
0x1fd56: main + 0x26 (quartus_pgm)
0x20830: __libc_start_main + 0xf0 (c.so.6)
End-trace
Я нагуглил похожую проблему у другого человека, но он ставил квартус, а не стэндалон, и он написал, что у него все решилось откатом к 15.1 версии квартуса. Но у меня с ней возникают те же проблемы с иллегал инструкциями.
Программатор работает, из винды все прошивается.
Прошивка собрана квартусом 9.1.
Проверить квартусом пока не смог, потому что jtagconfig квартуса 9.1 не видит программатор (подозреваю, что я там что-то недонастроил, но пока не могу понять, что именно).
Кто-нибудь сталкивался с подобными проблемами, и если да, то как решили?
Заранее спасибо за помощь.