КР1878ВЕ1

Другие микроконтроллеры и микропроцессоры, не попавшие в предыдущие разделы

Moderator: Shaos

User avatar
fifan
Devil
Posts: 912
Joined: 06 Oct 2006 03:17
Location: г.Лянтор,Сургутского р-на,ХМАО

Re: КР1878ВЕ1

Post by fifan »

Это почти тоже самое, я через такой подключал программатор плисин от Алтеры. Современнее было бы именно под USB.
Shumadan
Fanat
Posts: 67
Joined: 10 Mar 2018 12:50

Re: КР1878ВЕ1

Post by Shumadan »

fifan wrote:Вот именно, а есть схема программатора под USB, переходники LPT/USB не предлагать.
https://7b17252a-a-62cb3a1a-s-sites.goo ... edirects=0
вот схема под COM. Добавив преобразователь на CH340 или FT232 будет по USB
kotofalk
Junior
Posts: 8
Joined: 15 May 2022 16:10

Re: КР1878ВЕ1

Post by kotofalk »

fifan wrote:Вот именно, а есть схема программатора под USB, переходники LPT/USB не предлагать.
Есть. У Б.Ю. Семёнова есть странички, посвящённые этому МК. Там есть ссылка на программатор со схемой на USB. Конструкция называется Ve1ProgUSB. Сделано на базе отладки FT245BM, которую уже не купить. В принципе, ещё можно купить отдельно микросхему, отдельно память 93C46 и сделать. Но мне показалось, что свой на ардуине сделать быстрее. Показалось =).
вот тут статья по программатору http://www.mcu-cpld.narod.ru/Ve1ProgUSB.html
Навсяк приложу файлы.

Схема с компортом, которую выложил Shumadan мне неизвестна. По крайней мере, я не знаю, каким софтом можно было бы гарантированно прошить этот МК через ком порт.
You do not have the required permissions to view the files attached to this post.
User avatar
Lavr
Supreme God
Posts: 16689
Joined: 21 Oct 2009 08:08
Location: Россия

Re: КР1878ВЕ1

Post by Lavr »

kotofalk wrote:
Lavr wrote: ... , но вот "порядок байт" меня ни разу
не побеспокоил в этом процессе...
Это потому, что у вас win98 и железный LPT :)
А что, Венды, начиная с Win XP, меняют порядок байт в файле? :roll:
Что-то я такого не слышал... :-?
Last edited by Lavr on 16 May 2022 15:38, edited 2 times in total.
iLavr
kotofalk
Junior
Posts: 8
Joined: 15 May 2022 16:10

Re: КР1878ВЕ1

Post by kotofalk »

Lavr wrote: А что, Венды, начиная с Win XP, меняют порядок байт в файле? :roll:
Да не. Просто w98+LPT - это железная связка, на которой всё работает. А она не у всех есть.
Начиная с winXP уже прямая работа с LPT не катит. У кого-то был опыт использования каких-то прокачанных драйверов. Но у меня такого опыта нет. Да и вряд ли это поможет exe-файлу написанному под 16-разрядный DOS.
Порядок байт может менять софт. Если, к примеру, компилятор пишет в файл.sav 16b-word'ами, то в хекс-редакторе байты будут перевёрнутыми. Ну это если на x86 запускать. Соответственно, читающая программа также читает 16b-слова и никаких проблем нет. Вопрос возникает, когда файл открывается программой, которая не знает, что там word'ы и читает файл побайтно.
Да модель протеуса с толку сбила. Там на вкладке ROM содержимое контроллера с перевёрнутыми байтами. Хотя, скорее всего, разработчик модели просто не заморачивался содержимым окна ROM.
Просто открывая прошивку я надеялся увидеть опкоды. А увидел, что программа начинается после пропуска 512 байт и не с jmp 0x8015, а 0x1580. До того как залез файл прошивки, я так с этой пустотой в 512 байт данные в камень и отправлял.
User avatar
Lavr
Supreme God
Posts: 16689
Joined: 21 Oct 2009 08:08
Location: Россия

Re: КР1878ВЕ1

Post by Lavr »

kotofalk wrote:Я скачал ваш asm-файл, но никак в нём сам не разберусь.
Я сам скачал этот asm-файл, посмотрел в него и увидел, что там все просто.
Файл *.sav считывается в буфер памяти программы - как есть.
Никаких перестановок байтов нет. После чего байты берутся из буфера памяти
по одному в том порядке, как их занесли из файла *.sav.
Где там может поменяться порядок байтов - я просто не представляю...
Файл *.sav используется так, как он создан.
iLavr
User avatar
Lavr
Supreme God
Posts: 16689
Joined: 21 Oct 2009 08:08
Location: Россия

Re: КР1878ВЕ1

Post by Lavr »

kotofalk wrote:Да модель протеуса с толку сбила. Там на вкладке ROM содержимое контроллера с перевёрнутыми байтами. Хотя, скорее всего, разработчик модели просто не заморачивался содержимым окна ROM.
Что-то вы и про Proteus странные сказки рассказываете... Либо Proteus у вас кривой... :-?

Вот у меня проект Proteus этих самых часов, и выведен дамп памяти.
C18.PNG
А вот файл прошивки Clock18.sav - через WinHex...
C18_1.PNG
Я не вижу ни перевёрнутых байтов, ни каких иных различий. Если что - Windows 7 у меня.
You do not have the required permissions to view the files attached to this post.
iLavr
User avatar
Lavr
Supreme God
Posts: 16689
Joined: 21 Oct 2009 08:08
Location: Россия

Re: КР1878ВЕ1

Post by Lavr »

kotofalk wrote:Начиная с winXP уже прямая работа с LPT не катит.
Это тоже вы неправду излагать изволите... :-?
Вот у меня самодельный программатор ByteBlasterMV :

Image

Работаю с ним из под winXP под «MAX+plus II» через LPT и всё "катит"...

Программатор не сложнее того, что используется здесь для КР1878ВЕ1.
Единственное различие: под winXP прямое обращение к LPT идёт из DLL-
библиотеки, потому как обычной программе это просто запрещено.
iLavr
kotofalk
Junior
Posts: 8
Joined: 15 May 2022 16:10

Re: КР1878ВЕ1

Post by kotofalk »

Lavr wrote: Что-то вы и про Proteus странные сказки рассказываете...
У меня там всё то же, что и у вас.
Вот только незадача, по документации ангстрема, jmp никак не может быть 1580.

Так что, байты явно где-то перепутаны. Возможно, что и в документации.

Ну хотя бы со смещением 0x200 вы согласны? Оно видно на ваших скриншотах.
Если sav-файл используется так, как он создан, то в контроллер предварительно должны отправляться 512 байт пустоты.

Хорошо, что у вас с байтбластером получается. У меня пока ни разу нормально битбанг на LPT не заработал. А теперь и ни одного компьютера дома нет с LPT. И венда x64. Все 16-разрядные приложения только из-под виртуалки запускаются.

Я конечно удивлён. Попробую засовывать в камень "как есть". Ошибочки пока ещё не все нашлись, видимо. Спасибо за участие =)
You do not have the required permissions to view the files attached to this post.
User avatar
Lavr
Supreme God
Posts: 16689
Joined: 21 Oct 2009 08:08
Location: Россия

Re: КР1878ВЕ1

Post by Lavr »

kotofalk wrote:
Lavr wrote:Что-то вы и про Proteus странные сказки рассказываете...
У меня там всё то же, что и у вас.
Вот только незадача, по документации ангстрема, jmp никак не может быть 1580.
Да какая мне разница? Я не писал компилятор для КР1878ВЕ1...
Файл *.sav - это бинарник, который создаёт компилятор ангстрема.
Никто на всём просторе интернета, пока я занимался КР1878ВЕ1, не сказал
ни разу, что компилятор ангстрема создаёт неправильный файл *.sav ! :roll:
На программаторы грешат многие, на компилятор нареканий я не слышал...
iLavr
User avatar
Lavr
Supreme God
Posts: 16689
Joined: 21 Oct 2009 08:08
Location: Россия

Re: КР1878ВЕ1

Post by Lavr »

kotofalk wrote:Если sav-файл используется так, как он создан, то в контроллер предварительно должны отправляться 512 байт пустоты.
И "пустоты" у меня там тоже нет, а есть какие-то байты.
C18_2.PNG
Но я себе не морочил голову содержимым... есть *.sav-файл и это - прошивка, созданная средствами Ангстрема.
Значит - она такая, как надо, и её надо залить как есть.
You do not have the required permissions to view the files attached to this post.
iLavr
kotofalk
Junior
Posts: 8
Joined: 15 May 2022 16:10

Re: КР1878ВЕ1

Post by kotofalk »

Lavr wrote: Да какая мне разница? Я не писал компилятор для КР1878ВЕ1...
Файл *.sav - это бинарник, который создаёт компилятор ангстрема.
Никто на всём просторе интернета, пока я занимался КР1878ВЕ1, не сказал
ни разу, что компилятор ангстрема создаёт неправильный файл *.sav ! :roll:
Я нигде не сказал, что он неправильный. Я выражаю сомнение, что файл sav, это точный дамп. Т.к. я не могу взглянув на asm-файл прошиватора, сказать, что там всё просто и все байты заходят в камень точно так, как написано в файле. Потому к вам и обратился.
Т.к. мне не на что больше ориентироваться. В документации на камень - одно. В модели протеуса - другое (перевёрнуто), в файле sav - третье (перевёрнуто+смещение).

Я Бы тоже не морочил себе голову, если б не собрался свой USB-программатор сделать.
User avatar
Lavr
Supreme God
Posts: 16689
Joined: 21 Oct 2009 08:08
Location: Россия

Re: КР1878ВЕ1

Post by Lavr »

kotofalk wrote:Я нигде не сказал, что он неправильный. Я выражаю сомнение, что файл sav, это точный дамп.
А кто и где сказал, что файл *.sav - это точный дамп? :roll:
C1.PNG

Это файл прошивки... точный дамп - это обычно *.bin !
kotofalk wrote:. я не могу взглянув на asm-файл прошиватора, сказать, что там всё просто и все байты заходят в камень точно так, как написано в файле.
А что вам мешает? Там прилично комментариев...
Я в упор не помню всего этого, но открыл файл и всё увидел...

Code: Select all

sub_FILE_89E  proc near        ; CODE XREF: start+3Cp  start+9Ap
    pusha
    push ds
    push cs
    pop  ds
    assume ds:seg000
    mov  ax, 3D00h
    int  21h; DOS -  2+ - OPEN DISK FILE WITH HANDLE
            ; DS:DX  -> ASCIZ filename
            ; AL = access mode
            ; 0 - read
    jb   loc_0_8DB
    mov  bx, ax
    xor  cx, cx
    mov  dx, cx
    mov  ax, 4202h
    int  21h; DOS -  2+ - MOVE FILE READ/WRITE POINTER (LSEEK)
            ; AL = method: offset from end of file
    jb   loc_0_8DB
    mov  bp, ax
    xor  cx, cx
    mov  dx, cx
    mov  ax, 4200h
    int  21h; DOS -  2+ - MOVE FILE READ/WRITE POINTER (LSEEK)
            ; AL = method: offset from beginning of file
    jb   loc_0_8DB
    mov  cx, bp
    mov  dx, offset byte_0_A99; 0A99h
    mov  ah, 3Fh
    int  21h; DOS -  2+ - READ FROM FILE WITH HANDLE
            ; BX = file handle, CX = number of bytes to read
            ; DS:DX  -> buffer
    jb   loc_0_8DB
    cmp  ax, cx
    stc
    jnz  loc_0_8DB
    mov  cs:word_0_89C, ax
    mov  ah, 3Eh
    int  21h; DOS -  2+ - CLOSE A FILE WITH HANDLE
            ; BX = file handle

loc_0_8DB:                     ; CODE XREF: sub_FILE_89E+9j
                               ; sub_FILE_89E+16j ...
    pop  ds
    assume ds:nothing
    popa
    retn
sub_FILE_89E  endp
kotofalk wrote:В модели протеуса - другое (перевёрнуто), в файле sav - третье (перевёрнуто+смещение).
Я Бы тоже не морочил себе голову, если б не собрался свой USB-программатор сделать.
На самом деле вы весьма долго мне голову морочите и всему форуму совершенно надуманными проблемами... :-?

P.S. Особенно с учетом того, что вы решили "свой USB-программатор сделать", а я лишь проверил
программу Ангстрема, работающую на LPT, на соответствие Ангстремовским же алгоритмам...
Причем мне и в голову не приходило ковыряться в структуре *.sav файла...


P.P.S. Может быть, вам лучше у этого чувачка спросить исходник? На ЯВУ написано...http://radionet.com.ru/shem/shem956.html
You do not have the required permissions to view the files attached to this post.
iLavr
Shumadan
Fanat
Posts: 67
Joined: 10 Mar 2018 12:50

Re: КР1878ВЕ1

Post by Shumadan »

kotofalk wrote: Схема с компортом, которую выложил Shumadan мне неизвестна. По крайней мере, я не знаю, каким софтом можно было бы гарантированно прошить этот МК через ком порт.
вот здесь и прога под XP
https://sites.google.com/site/russianlabyrinth/
User avatar
Lavr
Supreme God
Posts: 16689
Joined: 21 Oct 2009 08:08
Location: Россия

Re: КР1878ВЕ1

Post by Lavr »

kotofalk wrote:
Lavr wrote:*.sav - это файл прошивки...
в файле sav - третье (перевёрнуто+смещение).
Я структуру файла *.sav не разбирал, поскольку, судя по коду, программатор считывает его целиком в свой внутренний буфер.
В этом случае в памяти программатора байты лежат так, как лежали в файле *.sav

Из интересу я вчера пошарил структуру файла *.sav поисковиками по Интернету, и ничего не нашел... :-?

Но, сравнив несколько собственных файлов типа *.sav, пришел к выводу, что в начале файла - служебная
информация, по крайней мере, два ненулевых байта - это длина кода с адреса 200h.
C18_3.PNG
Что касается "другое (перевёрнуто), ... третье (перевёрнуто+смещение)", то ничего там
не перевёрнуто, а всё - совершенно правильно!

Команда КР1878ВЕ1 - 16-разрядная:

Image

Программатор начинает читать команду побитно, начиная со старшего бита старшего байта слова:
C18_4.PNG
Поэтому старший байт в файле *.sav лежит первым, ибо это - файл прошивки.
После 16 сдвигов этот байт окажется на своём старшем месте, а следующий за ним - на своём младшем.
You do not have the required permissions to view the files attached to this post.
iLavr