Jump to content

    
Sign in to follow this  
ветерок

Spartan и другие SRAM А чем формируется файл который находится в загрузочном EEPROM ?

Recommended Posts

Могу ли я чем-то сформировать этот файл что бы обычным   программатором для  eeprom  залить прошивку ?

 То есть без  покупки JTAG программатора.

Edited by ветерок

Share this post


Link to post
Share on other sites

Можете. Загружаете bitstream (*.bit) в Impact и генерируете прошивку в формате bin или hex, которые шьете потом обычным программатором. Либо если нравится командная строка читайте про promgen:

Скрытый текст

promgen -?
Release 14.7 - Promgen P.20131013 (lin64)
Copyright (c) 1995-2013 Xilinx, Inc.  All rights reserved.
Usage: promgen [-b] [-spi] [-p mcs|exo|tek|hex|bin|ieee1532|ufp] [-o <outfile>
{<outfile>}] [-s <size> {<size>}] [-x <xilinx_prom> {<xilinx_prom>}] [-c
[<hexbyte>]] [-l] [-w] [-bpi_dc serial|parallel] [-intstyle ise|xflow|silent]
[-t <templatefile[.pft]>] [-z [<version:0,3>]] [-i <version:0,3>] [-data_width
8|16|32] [-config_mode selectmap8|selectmap16|selectmap32] {-ver <version:0,3>
<file> {<file>}} {-u <hexaddr> <file> {<file>}} {-d <hexaddr> <file> {<file>}}
{-n <file> {<file>}} {-bd <file> [start <hexaddr>] [tag <tagname> {<tagname>}]}
{-bm <file>} {-data_file up|down <hexaddr> <file> {<file>}} [-r <promfile>] 
 
Where:

 -b           Disable bit swapping.

 -l           Disable length count for daisychain.

 -w           Overwrite existing output file(s).

 -s <size>    PROM size in K bytes (must be power of 2), multiple sizes imply
              splitting the bitstream(s) into multiple PROMs.

 -x <xilinx_prom>
              Specific Xilinx PROM, multiple PROMs imply splitting the
              bitstream(s) into multiple PROMs.

 -p <format>  PROM format (mcs, exo, hex, tek, bin, ieee1532, or ufp)

 -t <templatefile[.pft]>
              Specify a template file for the User Format PROM (ufp).
              If not specified the file $XILINX/data/default.pft is used.
 
 -o <file>    Output PROM file name (default matches first .bit file),
              multiple names may be specified when splitting PROMs.

 -u <hexaddr> <file[.bit]> {<file[.bit]>}
              Load .bit file(s) up from address.  Multiple .bit files are
              daisychained to form a single PROM load.

 -ver <version> <hexaddr> <file[.bit]> {<file[.bit]>}
              Load .bit file(s) up from address.  Multiple .bit files are
              daisychained to form a single PROM load. The daisychain will be
              assigned to the specified version within the PROM. Only valid
              for Xilinx Multi-Bank PROMs. 

 -i <version>
              Select the initial version for a Xilinx Multi-Bank PROM.

 -z [<version>]
              Enable compression for a Xilinx Multi-Bank PROM. All versions
              will be compressed if a specific version is not specified.

 -d <hexaddr> <file[.bit]> {<file[.bit]>}
              Load .bit file(s) down from address.  Multiple .bit files are
              daisychained to form a single PROM load.

 -n <file[.bit]> {<file[.bit]>}
              Load .bit file(s) up or down starting from the next address
              following previous load.  Multiple .bit files are daisychained
              to form a single PROM load.  Must follow a -u, -d, or -n option.

 -r <promfile>
              Load the PROM file.  The -r and the -u, -d and -n options are 
              mutually exclusive.

 -c [<hexbyte>]
              Calculate a 32 bit checksum for each PROM file. The PROM will
              be pre-filled with the value 0xff unless <hexbyte> (a 2 digit
              hexadecimal value) is specified.

 -f <cmdfile>
              Read command line arguments from file <cmdfile>.

 -data_width <8|16|32>
              Change bit/byte ordering in device bitstream depending on the
              device architecture. This option is not valid for all
              architectures, check device data-sheet.

 -bd <file[.elf]> [start <hexaddr>]
              Load .elf or .mem data file up from starting address if specified.
              If start address is not specified, the file will be loaded up from
              end of previous data file.

 -bm <file[.bmm]>
              Load .bmm file to describe formatting of data files.

 -spi
              Disables bit swapping for compatibility with SPI flash devices.

 -bpi_dc <serial|parallel>
              Selects serial or parallel daisy-chain output from first FPGA
              connected in either BPI or SelectMAP modes. Serial daisy-chain is
              only supported for certain families, check device data-sheet.

 -data_file <up|down> <hexaddr> <file> {<file>}
              Specify the starting address, direction and data filenames to add
              into the PROM file. No further formatting will be done on these
              file, they will be added as-is.

At least one -r, -u, -d, or -ver option must appear in the command line.

PROMGEN: Creates memory (PROM) file(s) from configuration (BIT) file(s) for
use in programming a PROM.  The PROM may then be used to configure one or
more FPGAs.

 

 

Share this post


Link to post
Share on other sites

У Альтеры в самом Квартусе (их фирменной среде разработки) можно создать необходимый файл. Возможно (не уверен, а сейчас посмотреть нет возможности)м - в stand alone программаторе сконвертировать.

Подозреваю - у Xilinx тоже где-то если пощелкать по менюшкам можно найти эту возможность.

Share this post


Link to post
Share on other sites
37 минут назад, Yuri124 сказал:

У Альтеры в самом Квартусе (их фирменной среде разработки) можно создать необходимый файл.

Вот зачем нужны такие комментарии? Автор же ясно написал: Spartan. При чём тут Альтера?

38 минут назад, Yuri124 сказал:

Подозреваю

Если ответа нет, то лучше не писать ничего.

41 минуту назад, makc сказал:

Можете. Загружаете bitstream (*.bit) в Impact и генерируете прошивку в формате bin

Для того чтобы получит bin, Impact не нужен. bin делает bitgen при наличии нужной голочки.

Share this post


Link to post
Share on other sites
23 минуты назад, andrew_b сказал:

Для того чтобы получит bin, Impact не нужен. bin делает bitgen при наличии нужной голочки.

Да, так тоже можно, но Impact/promgen универсальнее, т.к. позволяет выполнять перестановки бит/байт в зависимости от используемого типа памяти.

Share this post


Link to post
Share on other sites
1 hour ago, andrew_b said:

Вот зачем нужны такие комментарии?

подвигнуть ТС - поискать в меню своей программы соответствующий пункт. Или поискать в документации/интернете. Лично мне подобного рода "наводки" помогали найти необходимое...

Правда, пока написал тот пост - уже опередили...

Edited by Yuri124

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this