dde29 0 Posted May 20, 2021 · Report post Поставлена задача после подачи питания на ПЛИС (Cyclone III) посчитать CRC16 файла прошивки, залитой в конфигурационную флеш-память, в которую предварительно была записана прошивка в формате RBF. Вопрос: кто-нибудь знаком с форматом файла RBF в данном контексте? Где-нибудь в файле прописан размер файла? Чтобы считать CRC16 не всей флеш-памяти. Суть в том, чтобы посчитанная CRC16 из флеш совпадала с CRC16 файлом прошивки... Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
GenaSPB 0 Posted May 20, 2021 · Report post А почему бы самому по spi не попытаться скормить файл ПЛИСке? Она его верифицирует сама. В конце будете иметь состояние выхода об удачной загрузке. Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
new123 0 Posted May 20, 2021 · Report post на интеловском форуме несколько человек написали, что можно глянуть исходники NIOS boot loader, там можно понять формат файла Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
dde29 0 Posted May 21, 2021 · Report post 22 hours ago, GenaSPB said: А почему бы самому по spi не попытаться скормить файл ПЛИСке? Она его верифицирует сама. В конце будете иметь состояние выхода об удачной загрузке. Фишка в том, что по основному протоколу работы оборудования, необходимо по запросу отдавать контрольную сумму прошивки, конкретное число, а не сам факт - удачный файл прошивки или нет) 21 hours ago, new123 said: на интеловском форуме несколько человек написали, что можно глянуть исходники NIOS boot loader, там можно понять формат файла Если бы Вы поделились ссылочкой, было бы неплохо Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
prostoRoman 0 Posted May 21, 2021 (edited) · Report post Вечный вопрос =) Где-то, то ли в документах от ВЗПП-С-ных ПЛИС (см. по форуму здесь или Миладнра в разделе 5576РС1), то ли в обсуждении медодики и программы "склейки" прошивок двух ПЛИС для загрузки из одной ПЗУ встреячал описание формата загрузки. Он блочно и байт-ориентированный: блоки или все одинакового размера, первый - описательный/заколовочный (возможно он иного размера), остальные одинакового размера и их по количеству логических блоков + площадок ввода-вывода (это для простых ПЛИС); в блоке точно есть стартовый "0" бит и стоповый "1" бит, между ними данные (и, видимо, к.с.). Это всё на мою дырявую память. Иными словами, RBF и есть тот поток, что грузится в ПЛИС по интерфейсу. UPD: https://www.intel.com/content/www/us/en/programmable/quartushelp/17.0/reference/glossary/def_rbf.htm - кажется довольно исчерпывающим объяснением по Вашей задаче. Spoiler A binary file (with the extension .rbf) containing configuration data for use outside the Quartus® Prime software. A Raw Binary File contains the binary equivalent of a Tabular Text File (.ttf). You can use the Programming Files page of the Device and Pin Options dialog box, which is available from the Device dialog box on the Assignments menu, to direct the Compiler to generate Raw Binary Files containing configuration data for the sequential Passive Parallel Synchronous (PPS), Passive Parallel Asynchronous (PPA), and Passive Serial (PS) configuration schemes. You also can generate Raw Binary Files containing configuration data for the Fast Passive Parallel (FPP) configuration scheme. The file name of the RBF the Compiler generates is the same as the name of the current Compiler settings You can also generate Raw Binary Files with the makeprogfile utility, or from previously generated SRAM Object Files (.sof) or Partial Mask SRAM Object Files (.pmsf) with the Convert Programming Files command on the File menu. When configuring a device in PS configuration scheme, send each byte of data with the LSB first. Edited May 21, 2021 by prostoRoman Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
new123 0 Posted May 21, 2021 · Report post 5 hours ago, dde29 said: Если бы Вы поделились ссылочкой, было бы неплох как пример https://community.intel.com/t5/Programmable-Devices/How-to-determine-the-length-of-the-RBF-file/m-p/37394 ну а вообще, просто поиск по их форуму поковырял чуть чуть https://community.intel.com/t5/forums/searchpage/tab/message?advanced=false&allow_punctuation=false&q=format rbf Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
dde29 0 Posted May 24, 2021 · Report post On 5/21/2021 at 7:48 PM, new123 said: как пример https://community.intel.com/t5/Programmable-Devices/How-to-determine-the-length-of-the-RBF-file/m-p/37394 ну а вообще, просто поиск по их форуму поковырял чуть чуть https://community.intel.com/t5/forums/searchpage/tab/message?advanced=false&allow_punctuation=false&q=format rbf Благодарю! Поизучаю! Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...