Jump to content

    

doom13

Свой
  • Content Count

    1563
  • Joined

  • Last visited

Community Reputation

0 Обычный

About doom13

  • Rank
    Профессионал
  • Birthday 02/09/1982

Контакты

  • Сайт
    http://
  • ICQ
    0

Информация

  • Город
    Минск, Беларусь

Recent Profile Visitors

6736 profile views
  1. Приветствую. Не могу найти в какой доке можно почитать про атрибуты для памяти, которые устанавливает: void Xil_SetTlbAttributes(UINTPTR Addr, u64 attrib); 1. Хочу выделить некэшируемую область памяти. 2. Хочу ограничить возможность записи в определённые области памяти.
  2. Так для анализа состояния пина много кода и не потребуется.
  3. Спасибо, попробую. По старту синтеза наверное будет правильнее чем по открытию проекта.
  4. для hook_open_project добавил cd $prj_dir, дальше получилось стартануть скрипт спасибо
  5. Можно пример, как стартануть скрипт из папки проекта по нажатию кнопки синтеза Такое set_property STEPS.SYNTH_DESIGN.TCL.PRE {C:/Data/report.tcl} [get_runs synth_1] не предлагать, спасибо.
  6. Попробовал так set_property STEPS.SYNTH_DESIGN.TCL.PRE "version/pre_synth.tcl" [get_runs synth_1] синтез погнал, реакции ноль, если явно указать полный путь через гуи - работает.
  7. Как из настроек проекта теперь достучаться к ::env(PWD), чтоб стартануть свой скрипт из папки проекта?
  8. Так он же целых пять минут сочинялся) set_param xicom.use_bitstream_version_check false puts "Script is processing" ### proc hook_proc {name hook_name} { if {[llength [namespace which {${name}_}]]==0} { rename ::${name} ::${name}_ rename ${hook_name} ::${name} } } ### proc hook_open_project args { puts "Hook of open_project" # processing input options for {set i 0} {$i < [llength $args]} {incr i} { set option [string trim [lindex $args $i]] switch -regexp -- $option { "-part" { incr i } "-read_only" { } "-quiet" { } "-verbose" { } default { # is incorrect switch specified? if { [regexp {^-} $option] } { send_msg_id Vivado-projutils-001 ERROR "Unknown option '$option', please type 'open_project -help' for usage info.\n" return } set prj_file [file normalize $option] } } } set prj_dir [file dirname $prj_file] set ::env(PWD) $prj_dir uplevel 1 ::open_project_ $args puts "Script is done!!!" } hook_proc "open_project" "hook_open_project" Пытаюсь разобраться, как оно работает, получаю лог *** Running vivado with args -log xczu9eg.vds -m64 -product Vivado -mode batch -messageDb vivado.pb -notrace -source xczu9eg.tcl ****** Vivado v2018.2 (64-bit) **** SW Build 2258646 on Thu Jun 14 20:02:38 MDT 2018 **** IP Build 2256618 on Thu Jun 14 22:10:49 MDT 2018 ** Copyright 1986-2018 Xilinx, Inc. All Rights Reserved. Sourcing tcl script '/home/andrei/Programs/Xilinx/Vivado/2018.2/scripts/Vivado_init.tcl' Script is processing source xczu9eg.tcl -notrace WARNING: [Common 17-1361] You have specified a new message control rule that is equivalent to an existing rule with attributes ' -ruleid {11} -id {[BD 41-1271]} -suppress '. The existing rule will be replaced. WARNING: [Common 17-1361] You have specified a new message control rule that is equivalent to an existing rule with attributes ' -ruleid {10} -id {[BD 41-1306]} -suppress '. The existing rule will be replaced. WARNING: [Common 17-1361] You have specified a new message control rule that is equivalent to an existing rule with attributes ' -ruleid {3} -id {[BD 41-1271]} -suppress '. The existing rule will be replaced. WARNING: [Common 17-1361] You have specified a new message control rule that is equivalent to an existing rule with attributes ' -ruleid {4} -id {[BD 41-1306]} -suppress '. The existing rule will be replaced. WARNING: [Common 17-1361] You have specified a new message control rule that is equivalent to an existing rule with attributes ' -ruleid {5} -id {[BD 41-1271]} -suppress '. The existing rule will be replaced. WARNING: [Common 17-1361] You have specified a new message control rule that is equivalent to an existing rule with attributes ' -ruleid {7} -id {[BD 41-1271]} -suppress '. The existing rule will be replaced. WARNING: [Common 17-1361] You have specified a new message control rule that is equivalent to an existing rule with attributes ' -ruleid {6} -id {[BD 41-1306]} -suppress '. The existing rule will be replaced. add_files: Time (s): cpu = 00:00:07 ; elapsed = 00:00:07 . Memory (MB): peak = 2551.223 ; gain = 920.449 ; free physical = 1915 ; free virtual = 11697 Command: synth_design -top xczu9eg -part xczu9eg-ffvb1156-2-i Starting synth_design Attempting to get a license for feature 'Synthesis' and/or device 'xczu9eg' INFO: [Common 17-349] Got license for feature 'Synthesis' and/or device 'xczu9eg' INFO: Launching helper process for spawning children vivado processes INFO: Helper process launched with PID 1454 Что-то не так? hook_proc не вызывался Да, есть такое, спасибо.
  9. Форматирование какое-то видно было неправильное, ещё раз скопировал - не ругается. Но значение pwd не изменилось, на дефолтную директорию ссылается.
  10. Оно должно работать? Выдаёт ошибки.
  11. Перед стартом синтеза, скрипт должен сгенерить константы для контроля версии. Я попробовал добавить, но всё не так просто) cd [get_property directory [current_project]]
  12. Вопрос в скриптах. Нужно опцию tcl.pre с относительным путём прописать.
  13. Приветствую. Возможно ли при открытии проекта в Vivado запустить TCL скрипт. Хочу, чтоб при при открытии проекта переменная PWD указывала на директорию проекта (без привязки к конкретной директории и ПК).
  14. Сделал аналогично. Не сразу нашёл эту доку, больше смотрел по ZynqMP, а там предлагают из FSBL делать переброс на рабочую прошивку, работает, но не понял зачем такие сложности, если можно просто поменять их местами. В моём случае самая обидная ситуация - залить прошивку с нерабочим Ethernet. Используется FreeRTOS и при обновлении hdf-файла настройки bsp всё время сбрасываются. Если не проконтролировать, высока вероятность получить нерабочее устройство. Хороший вариант со счётчиком загрузок, вообще думали в новой версии железа вытащить порт процессора, по которому загрузчик определял бы рабочий или аварийный режим запуска.
  15. LwIP link up/down

    Спасибо, с этим понятно. Думал так делать, но пока пытаюсь понять. есть ли стандартная опция/возможность. Если кабель дёргать то сообщения в stdout кидает (если не ошибаюсь), поэтому решил, что оно само мониторит состояние сети и возможно есть какая-то возможность привязаться к данному событию. //netif.h #if LWIP_NETIF_LINK_CALLBACK /** This function is called when the netif link is set to up or down */ netif_status_callback_fn link_callback; #endif /* LWIP_NETIF_LINK_CALLBACK */ #if LWIP_NETIF_LINK_CALLBACK void netif_set_link_callback(struct netif *netif, netif_status_callback_fn link_callback); #endif /* LWIP_NETIF_LINK_CALLBACK */ Такое вот нахожу