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

Vivado генерация файла прошивки

Скажите пож-ста, есть ли еще какой-то способ сгенерировать mcs файл прошивки, кроме как через tcl скрипт?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Нет. Да и скрипт-то в одну строчку.

 

Ну почему нет, можно. Начиная с 2016.2 в Vivado есть закладка для вызова окошка

для генерации msc файла, надо только заполнить поля что, куда и как. Очень удобная

и понятная опция.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Приветствую!

 

Нет. Да и скрипт-то в одну строчку.

У кого как :)

Приведеное ниже безобразие генерирует mcs в папке с датой ревизии да еще и копирует туда относящиеся к нему отладочные файлы и инфу о ревизии синтеза. А то лень было ручками каждый раз...

# generate revision of mcs file
proc rev_mcs {{run_id ""}} {
    # get run object
    if {$run_id==""} {set run_id [current_run]}

    # get top level name and synthesis run name
    set top_run   [get_runs $run_id]
    set top_synth [get_runs [get_property PARENT $top_run]]
    set top_name  [get_property TOP [get_property SRCSET $top_run]]
    set proj_dir  [get_property DIRECTORY [current_project ]]

    # read synthesis run info file
    set top_info  [file normalize [file join [get_property DIRECTORY $top_synth] synth.info]]

    if {[file exists $top_info ]} {
        set fi [open $top_info "r"]
        set info [read $fi]
        close $fi

        regexp -nocase -- {SYNTH_TIME\s*=\s*\d+\'h([0-9a-f_]+)} $info -> synth_time
    } else {
        set synth_time  [clock format [clock seconds] -format {%m%d%H%M}]
    }

    # get bit file and debug definitions name
    set top_bit  [file normalize [file join [get_property DIRECTORY $top_run] ${top_name}.bit]]
    set top_ltx  [file normalize [file join [get_property DIRECTORY $top_run] debug_nets.ltx]]

    set bin_root [mk_bin_root $proj_dir]

    # create destinations directory
    set revdir   [file normalize ${bin_root}/${top_name}_${synth_time}]
    file mkdir  $revdir

    # create destinations file name
    set mcs_file  [file normalize ${revdir}/${top_name}_spi_x8.mcs]
    set ltx_file  [file normalize ${revdir}/${top_name}_spi_x8.ltx]
    set bit_file  [file normalize ${revdir}/${top_name}_spi_x8.bit]
    set info_file [file normalize ${revdir}/${top_name}_spi_x8.info]

    # create mcs file
    #write_cfgmem -force -format MCS -size 128 -interface BPIx16 -loadbit "up 0x02000000 $top_bit" $mcs_file
        write_cfgmem -force -format MCS -size 32 -interface SPIx8 -loadbit "up 0x00000000 $top_bit" $mcs_file

    # copy bit, debug and info file to destination folder
    file copy -force $top_bit   $bit_file

    if {[file exists $top_ltx]} { file copy -force $top_ltx   $ltx_file    }

    if {[file exists $top_info]} {    file copy -force $top_info  $info_file }
}

Хм.. может еще и муз. плеер встроить ... ? :wacko:

 

Удачи! Rob.

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Спасибо. Вопрос вдогонку можно - есть кит KC705 С Kintex , к нему Target reference design, может кто знает такую штуку? Почему там идут драйвера и софт именно под Линукс (в комплекте также живой дистрибутив Линукса)? с чем это связано?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Хм.. может еще и муз. плеер встроить ... ? :wacko:

 

Лучше multiboot встроить. В свое время он мне крови попил...

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...