Загрузка отечественного DSP 1967ВН028 от внешней EEPROM

Моя цель - предложение широкого ассортимента товаров и услуг на постоянно высоком качестве обслуживания по самым выгодным ценам.

Прежде чем перейти к статье, хочу вам представить, экономическую онлайн игру Brave Knights, в которой вы можете играть и зарабатывать. Регистируйтесь, играйте и зарабатывайте!

В этой заметке, разберу один из способов прошивки отечественного процессора 1967ВН028. Все это идет в продолжение этой статьи. Этот процессор не имеет внутренней энергонезависимой памяти, а потому для него есть 4 варианта начала работы.

  1. Загрузка проекта отладочной средой через программатор. Т.к. в конечное изделие программатор не поставишь, этот вариант хорош только при разработке.

  2. Сконфигурировать внешними переключателями процессор чтобы при подаче питания он считал по параллельной шине прошивку с внешнего ПЗУ 256 32-разрядных слова начиная с нулевого адреса. Эти 256 слов кода действуют в качестве загрузчика для инициализации остальной памяти процессора.

  3. Загрузка прошивки от хост-процессора. Хост-процессор может загрузить программу во внутреннюю память процессора, а затем, используя векторное прерывание, запустить процессор на исполнение кода.

  4. Загрузка процессора из порта связи.

Исходя из того, что с прошивкой от программатора все более-менее понятно, было решено рассмотреть один из оставшихся вариантов пробуждения, а именно второй.

На роль внешнего ПЗУ у меня имеется небольшая микросхемка flash памяти AM29LV040B, которая впринципе идентична 1636PP1 от Milandr. Цеплять её было решено по параллельной шине, выведенной на разъем XP6. Так как делалось для себя, плату изготовить на скорую руку решил сам.

За основу бралась схема для модуля внешней Flash-памяти для платы 1967ВН028, которая имелась на сайте Milandr (ссылку на схемотехнические файлы оставил в конце).Получившаяся схема выглядит так:

По причине лени и бессмысленности всего этого мероприятия, подписывать дотошно все, что можно и нельзя, не стал. Печатная плата получилась такая:

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

FLAGREG = 0x0F;;
loop:
FLAGREGST=0xF;;
call _pause;NOP; NOP; NOP;;
FLAGREGCL=0x0;;
call _pause;NOP; NOP; NOP;;
jump loop;NOP; NOP; NOP;;

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

Впринципе нас тут волнует только вывод nBMS, он должен быть в нуле. Это переключение можно осуществить на расположенном на плате движковом переключателе SA15. Схемы платы приведены на сайте производителя ссылку оставил в конце.

Для формирования загрузочного файла воспользуемся предоставляемой производителем утилитой «Loader». Загрузочный файл сформирован вот с такими настройками:

Тут кстати указывается ID процессора, ID размещенных на плате процессоров задаются переключателями SA13 и SA12.

Загрузку в ПЗУ вставленную в отладочную плату через импровизированный переходник производим при помощи другой утилиты - «Flasher» с применением следующих настроек:

После выставления настроек соединяемся с памятью, в случае успешного соединения выдаст

И далее производим стирание, а затем прошивку. После этого достаточно кратковременно отключить питание и процессор запускается от внешней памяти. Отдельно укажу что на версии CM-Lynx 1.09.00 в роли загрузчика удавалось успешно применить только программы на писаные на Си, а написанное на ассемблере с EPROM нормально не грузилось, и только после обновления до версии 2.02.00 начали успешно загружаться проекты на ассемблере. На этом, пожалуй, можно закончить, спасибо за внимание!

Ссылка на документацию дополнительного модуля внешней FLASH-памяти предоставляемого производителем

Схемотехнические файлы отладочной платы процессора 1967ВН028 можно найти здесь

Источник: https://habr.com/ru/post/581906/


Интересные статьи

Интересные статьи

Agile – это набор ценностей, или даже целая философия, которая помогает бизнесу сращиваться с IT, вследствие чего рождается мощный работающий Продукт. Этот процесс позволяет доставлять ценности компан...
Однажды, в понедельник, мне пришла в голову мысль — "а покопаюсь ка я в новом ядре" (новым относительно, но об этом позже). Мысль не появилась на ровном месте, а предпосылками для нее стали: ...
Как быстро определить, что на отдельно взятый сайт забили, и им никто не занимается? Если в подвале главной страницы в копирайте стоит не текущий год, а старый, то именно в этом году опека над са...
Если у вас есть интернет-магазин и вы принимаете платежи через Интернет, то с 01 июля 2017 года у вас есть онлайн-касса.
Один из самых острых вопросов при разработке на Битрикс - это миграции базы данных. Какие же способы облегчить эту задачу есть на данный момент?