Jump to content
    

как записать загрузочный rom для adsp-2181 ez-kit ?

пытаюсь записать на флешку скопилированную программу monitor

получаю файл .bnm

записываю на программаторе в микросхему флеш, плата не грузится.

из за чего может быть ?

Screenshot_4.png

Screenshot_3.png

Screenshot_5.png

Share this post


Link to post
Share on other sites

1. ADSP-2181 сконфигурирован внешними перемычками на загрузку из байтовой памяти?

2. Не помню точно механизма загрузок этого проца, но вроде при должном конфигурировании по включению питания из внешней байтовой памяти во внутреннюю программную грузятся 32 слова, потом эта программа  запускается из внутренней памяти программ. В этих 32 словах должен быть записан начальный загрузчик, переносящий остальное содержимое внешней байтовой памяти  во внутреннюю память программ

3. Просто напрямую выполнять программу из внешней байтовой памяти этот проц не позволяет: разрядность шины данных памяти программ составляет 32 бит

Share this post


Link to post
Share on other sites

11 минут назад, V_G сказал:

1. ADSP-2181 сконфигурирован внешними перемычками на загрузку из байтовой памяти?

2. Не помню точно механизма загрузок этого проца, но вроде при должном конфигурировании по включению питания из внешней байтовой памяти во внутреннюю программную грузятся 32 слова, потом эта программа  запускается из внутренней памяти программ. В этих 32 словах должен быть записан начальный загрузчик, переносящий остальное содержимое внешней байтовой памяти  во внутреннюю память программ

3. Просто напрямую выполнять программу из внешней байтовой памяти этот проц не позволяет: разрядность шины данных памяти программ составляет 32 бит

это  ez-kit  , на нем уже есть микросхема  флэш памяти. я просто пытаюсь записать туда программа monitor  которая шла в комплекте.

нашел подходящую флешку,переписал туда содержимое флешки с платы- работает.но вот при компилировании программы монитор из исходников , ни в какую .

вот файл который компилируется и который записываю на флешку

 

1614346002928-1211383929.jpg

monitor.bnm

а вот исходная прошивка из платы

Atmel AT27C010_dip32_.rar

Share this post


Link to post
Share on other sites

делаю вот так же . записываю полученный файл на флэш , никаких признаков жизни

"Шаг 8: Программирование EPROM После проверки, что программное обеспечение работает, можно разделить программу для программирования EPROM. Микросхема EPROM может быть вставлена в кроватку на плате для запуска вашей программы. Преобразователь кодов для программирования ППЗУ может быть вызван следующей командой: spl21 demo demoprom -loader -2181 Эта команда создает из исполняемого файла demo.exe PROM файл с именем demoprom.bnm. По умолчанию формат этого файла является записью Motorola S. При указании ключа –i можно задать запись формата Intel Hex. После включения питания или когда вы нажали кнопку перезапуска на плате, содержимое EPROM автоматически загрузится во внутреннюю память программ и память данных процессора и начнется выполнение команд."

Share this post


Link to post
Share on other sites

13 часов назад, tiretrak сказал:

вот файл который компилируется и который записываю на флешку

Вы предлагаете мне декомпилировать и сравнить два файла?

Раз у ж Вы сейчас непосредственно работаете с этим процессором, полезнее и эффективнее было бы Вам самому дизассемблировать код из родной флешки и сравнить с Вашим исходником. По крайней мере, первые 32 команды, в которых, как я писал, ОБЯЗАН содержаться загрузчик остальной программы из флешки в память программ процессора.

Я уже давно не работал с этими процами, и необходимых средств декомпиляции и отладки не имею.

Share this post


Link to post
Share on other sites

16.05.2021 в 05:08, V_G сказал:

полезнее и эффективнее было бы Вам самому дизассемблировать код из родной флешки и сравнить с Вашим исходником

чем это лучше сделать?

Share this post


Link to post
Share on other sites

Ну, видимо в среде VisualDSP++ надо запускать симуляцию конкретного процессора, грузить файл программы, запускать на выполнение и смотреть в окно дизассемблера. Или Вы решили заниматься программированием DSP, не имея средств программирования и отладки?

Для того, чтобы забивать гвозди, желательно иметь как минимум молоток, булыжником неудобно...

Share this post


Link to post
Share on other sites

23.05.2021 в 03:48, V_G сказал:

Ну, видимо в среде VisualDSP++ надо запускать симуляцию конкретного процессора, грузить файл программы, запускать на выполнение и смотреть в окно дизассемблера. Или Вы решили заниматься программированием DSP, не имея средств программирования и отладки?

 а возможно ли загрузить  дамп пзу прошивки в VisualDSP++  и увидеть ассемблерный код?

Share this post


Link to post
Share on other sites

6 часов назад, tiretrak сказал:

а возможно ли загрузить  дамп пзу прошивки в VisualDSP++  и увидеть ассемблерный код?

Это и называется дизассемблирование - весьма распространенный прием при отладке кода. К сожалению, у меня в наличии нет средств отладки DSP, потому проверить Вашу идею не могу. Но в армах и в avr это работает.

Посмотрите здесь, работает в связи с исходниками: https://ez.analog.com/dsp/f/q-a/54911/is-their-a-general-overview-on-using-the-disassembly-window

И погуглите "adsp21XX disassembly"

Share this post


Link to post
Share on other sites

1 час назад, V_G сказал:

Это и называется дизассемблирование - весьма распространенный прием при отладке кода. К сожалению, у меня в наличии нет средств отладки DSP, потому проверить Вашу идею не могу. Но в армах и в avr это работает.

Посмотрите здесь, работает в связи с исходниками: https://ez.analog.com/dsp/f/q-a/54911/is-their-a-general-overview-on-using-the-disassembly-window

у меня не работает без загрузки символов. а где их взять не знаю. есть только ром из микросхемы пзу.

1 час назад, V_G сказал:

И погуглите "adsp21XX disassembly"

увы,это такой вымерший динозавр ,что найти что то нестандартное по нему уже не реально

Share this post


Link to post
Share on other sites

3 часа назад, tiretrak сказал:

у меня не работает без загрузки символов. а где их взять не знаю

Символьную информацию нигде взять невозможно: это продукт, получаемый из исходного текста у автора софта.

Потому я и завел речь о дизассемблере как об отдельном продукте. Но если его не найти, найдите информацию по машинным кодам команд этого процессора. Я уже писал: при включении загрузки из ПЗУ первые 32 слова с внешней флешки копируются во внутреннюю память программ в нулевые адреса, после чего эта микропрограмма и запускается с нулевого адреса памяти программ. Эти 32 слова можно и вручную декомпилировать, если имеется справочная информация по машинным кодам

Смысл этого коротенького загрузчика (скорее всего) - переписать рабочую программу из внешней байтовой памяти во внутреннюю память программ (настройка регистров и копирование в цикле), и после загрузки - прямой переход на стартовый адрес рабочей программы

Share this post


Link to post
Share on other sites

нашел человека из Болгарии по имени Vlad, кто писал декомпилятор под 2181. он скинул последнюю версию. буду пробовать

deadsp-0.1.9.tgz

Share this post


Link to post
Share on other sites

 

В 15.05.2021 в 14:31, tiretrak сказал:

Если вопрос еще актуальный.....

 

Еще неплохо бы убедиться, что скомпилированная программа монитора зашивается в ПЗУ в нужном и правильном формате. 

Я бы предложил скачать оригинальную (исходную) программу из ПЗУ, а потом скачать собранную и зашитую, а затем сравнить их. Они должны быть "похожи", скажем так, на первых 32 байтах (до появления серий 0xFF, если говорить о bin-файле).

В файле Atmel AT27C010_dip32_.BIN в самом начале я вижу логичный набор трехбайтных кодов  команд: 3C0FFC,  40000a, 93fe1a, 40060a и т.д. (правда, сейчас не помню, какой должен быть порядок следования байтов). Это, насколько я помню, команды загрузки регистров BDMA, т.е. пары команд, типа :

reg=val;

dm(bdma_reg_adr)=reg;

(reg - регистр, скорее ar;  val - значение;  bdma_reg_adr - адрес одного из четырех регистров BDMA)

А вот файл monitor.bnm имеет другой формат, и важно, как он будет зашит в ПЗУ.

Т.Е. было бы проще, если увидеть два файла в одном формате.

 

Share this post


Link to post
Share on other sites

В 18.07.2022 в 14:13, mars_208 сказал:

 

Если вопрос еще актуальный.....

 

Еще неплохо бы убедиться, что скомпилированная программа монитора зашивается в ПЗУ в нужном и правильном формате. 

Я бы предложил скачать оригинальную (исходную) программу из ПЗУ, а потом скачать собранную и зашитую, а затем сравнить их. Они должны быть "похожи", скажем так, на первых 32 байтах (до появления серий 0xFF, если говорить о bin-файле).

В файле Atmel AT27C010_dip32_.BIN в самом начале я вижу логичный набор трехбайтных кодов  команд: 3C0FFC,  40000a, 93fe1a, 40060a и т.д. (правда, сейчас не помню, какой должен быть порядок следования байтов). Это, насколько я помню, команды загрузки регистров BDMA, т.е. пары команд, типа :

reg=val;

dm(bdma_reg_adr)=reg;

(reg - регистр, скорее ar;  val - значение;  bdma_reg_adr - адрес одного из четырех регистров BDMA)

А вот файл monitor.bnm имеет другой формат, и важно, как он будет зашит в ПЗУ.

Т.Е. было бы проще, если увидеть два файла в одном формате.

 

оказалось что плата работает не со всеми микросхемами(не по размеру ,а таймингам). подобрал правильную и плата с нее загрузилась

Share this post


Link to post
Share on other sites

В 18.07.2022 в 18:32, tiretrak сказал:

оказалось что плата работает не со всеми микросхемами(не по размеру ,а таймингам). подобрал правильную и плата с нее загрузилась

AM29F010-120pc

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.

×
×
  • Create New...