tiretrak 0 May 15, 2021 Posted May 15, 2021 · Report post пытаюсь записать на флешку скопилированную программу monitor получаю файл .bnm записываю на программаторе в микросхему флеш, плата не грузится. из за чего может быть ? Quote Share this post Link to post Share on other sites More sharing options...
V_G 7 May 15, 2021 Posted May 15, 2021 · Report post 1. ADSP-2181 сконфигурирован внешними перемычками на загрузку из байтовой памяти? 2. Не помню точно механизма загрузок этого проца, но вроде при должном конфигурировании по включению питания из внешней байтовой памяти во внутреннюю программную грузятся 32 слова, потом эта программа запускается из внутренней памяти программ. В этих 32 словах должен быть записан начальный загрузчик, переносящий остальное содержимое внешней байтовой памяти во внутреннюю память программ 3. Просто напрямую выполнять программу из внешней байтовой памяти этот проц не позволяет: разрядность шины данных памяти программ составляет 32 бит Quote Share this post Link to post Share on other sites More sharing options...
tiretrak 0 May 15, 2021 Posted May 15, 2021 · Report post 11 минут назад, V_G сказал: 1. ADSP-2181 сконфигурирован внешними перемычками на загрузку из байтовой памяти? 2. Не помню точно механизма загрузок этого проца, но вроде при должном конфигурировании по включению питания из внешней байтовой памяти во внутреннюю программную грузятся 32 слова, потом эта программа запускается из внутренней памяти программ. В этих 32 словах должен быть записан начальный загрузчик, переносящий остальное содержимое внешней байтовой памяти во внутреннюю память программ 3. Просто напрямую выполнять программу из внешней байтовой памяти этот проц не позволяет: разрядность шины данных памяти программ составляет 32 бит это ez-kit , на нем уже есть микросхема флэш памяти. я просто пытаюсь записать туда программа monitor которая шла в комплекте. нашел подходящую флешку,переписал туда содержимое флешки с платы- работает.но вот при компилировании программы монитор из исходников , ни в какую . вот файл который компилируется и который записываю на флешку monitor.bnm а вот исходная прошивка из платы Atmel AT27C010_dip32_.rar Quote Share this post Link to post Share on other sites More sharing options...
tiretrak 0 May 15, 2021 Posted May 15, 2021 · Report post делаю вот так же . записываю полученный файл на флэш , никаких признаков жизни "Шаг 8: Программирование EPROM После проверки, что программное обеспечение работает, можно разделить программу для программирования EPROM. Микросхема EPROM может быть вставлена в кроватку на плате для запуска вашей программы. Преобразователь кодов для программирования ППЗУ может быть вызван следующей командой: spl21 demo demoprom -loader -2181 Эта команда создает из исполняемого файла demo.exe PROM файл с именем demoprom.bnm. По умолчанию формат этого файла является записью Motorola S. При указании ключа –i можно задать запись формата Intel Hex. После включения питания или когда вы нажали кнопку перезапуска на плате, содержимое EPROM автоматически загрузится во внутреннюю память программ и память данных процессора и начнется выполнение команд." Quote Share this post Link to post Share on other sites More sharing options...
V_G 7 May 16, 2021 Posted May 16, 2021 · Report post 13 часов назад, tiretrak сказал: вот файл который компилируется и который записываю на флешку Вы предлагаете мне декомпилировать и сравнить два файла? Раз у ж Вы сейчас непосредственно работаете с этим процессором, полезнее и эффективнее было бы Вам самому дизассемблировать код из родной флешки и сравнить с Вашим исходником. По крайней мере, первые 32 команды, в которых, как я писал, ОБЯЗАН содержаться загрузчик остальной программы из флешки в память программ процессора. Я уже давно не работал с этими процами, и необходимых средств декомпиляции и отладки не имею. Quote Share this post Link to post Share on other sites More sharing options...
tiretrak 0 May 22, 2021 Posted May 22, 2021 · Report post 16.05.2021 в 05:08, V_G сказал: полезнее и эффективнее было бы Вам самому дизассемблировать код из родной флешки и сравнить с Вашим исходником чем это лучше сделать? Quote Share this post Link to post Share on other sites More sharing options...
V_G 7 May 22, 2021 Posted May 22, 2021 · Report post Ну, видимо в среде VisualDSP++ надо запускать симуляцию конкретного процессора, грузить файл программы, запускать на выполнение и смотреть в окно дизассемблера. Или Вы решили заниматься программированием DSP, не имея средств программирования и отладки? Для того, чтобы забивать гвозди, желательно иметь как минимум молоток, булыжником неудобно... Quote Share this post Link to post Share on other sites More sharing options...
tiretrak 0 October 26, 2021 Posted October 26, 2021 · Report post 23.05.2021 в 03:48, V_G сказал: Ну, видимо в среде VisualDSP++ надо запускать симуляцию конкретного процессора, грузить файл программы, запускать на выполнение и смотреть в окно дизассемблера. Или Вы решили заниматься программированием DSP, не имея средств программирования и отладки? а возможно ли загрузить дамп пзу прошивки в VisualDSP++ и увидеть ассемблерный код? Quote Share this post Link to post Share on other sites More sharing options...
V_G 7 October 27, 2021 Posted October 27, 2021 · Report post 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" Quote Share this post Link to post Share on other sites More sharing options...
tiretrak 0 October 27, 2021 Posted October 27, 2021 · Report post 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" увы,это такой вымерший динозавр ,что найти что то нестандартное по нему уже не реально Quote Share this post Link to post Share on other sites More sharing options...
V_G 7 October 27, 2021 Posted October 27, 2021 · Report post 3 часа назад, tiretrak сказал: у меня не работает без загрузки символов. а где их взять не знаю Символьную информацию нигде взять невозможно: это продукт, получаемый из исходного текста у автора софта. Потому я и завел речь о дизассемблере как об отдельном продукте. Но если его не найти, найдите информацию по машинным кодам команд этого процессора. Я уже писал: при включении загрузки из ПЗУ первые 32 слова с внешней флешки копируются во внутреннюю память программ в нулевые адреса, после чего эта микропрограмма и запускается с нулевого адреса памяти программ. Эти 32 слова можно и вручную декомпилировать, если имеется справочная информация по машинным кодам Смысл этого коротенького загрузчика (скорее всего) - переписать рабочую программу из внешней байтовой памяти во внутреннюю память программ (настройка регистров и копирование в цикле), и после загрузки - прямой переход на стартовый адрес рабочей программы Quote Share this post Link to post Share on other sites More sharing options...
tiretrak 0 October 27, 2021 Posted October 27, 2021 · Report post нашел человека из Болгарии по имени Vlad, кто писал декомпилятор под 2181. он скинул последнюю версию. буду пробовать deadsp-0.1.9.tgz Quote Share this post Link to post Share on other sites More sharing options...
mars_208 0 July 18, 2022 Posted July 18, 2022 · Report post В 15.05.2021 в 14:31, tiretrak сказал: monitor.bnm 18 кБ · 8 загрузок а вот исходная прошивка из платы Atmel AT27C010_dip32_.rar 97 кБ · 7 загрузок Если вопрос еще актуальный..... Еще неплохо бы убедиться, что скомпилированная программа монитора зашивается в ПЗУ в нужном и правильном формате. Я бы предложил скачать оригинальную (исходную) программу из ПЗУ, а потом скачать собранную и зашитую, а затем сравнить их. Они должны быть "похожи", скажем так, на первых 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 имеет другой формат, и важно, как он будет зашит в ПЗУ. Т.Е. было бы проще, если увидеть два файла в одном формате. Quote Share this post Link to post Share on other sites More sharing options...
tiretrak 0 July 18, 2022 Posted July 18, 2022 · Report post В 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 имеет другой формат, и важно, как он будет зашит в ПЗУ. Т.Е. было бы проще, если увидеть два файла в одном формате. оказалось что плата работает не со всеми микросхемами(не по размеру ,а таймингам). подобрал правильную и плата с нее загрузилась Quote Share this post Link to post Share on other sites More sharing options...
tiretrak 0 September 1 Posted September 1 · Report post В 18.07.2022 в 18:32, tiretrak сказал: оказалось что плата работает не со всеми микросхемами(не по размеру ,а таймингам). подобрал правильную и плата с нее загрузилась AM29F010-120pc Quote Share this post Link to post Share on other sites More sharing options...