nedoPC.org

Electronics hobbyists community established in 2002
Atom Feed | View unanswered posts | View active topics It is currently 28 Mar 2024 03:25



Reply to topic  [ 72 posts ]  Go to page Previous  1, 2, 3, 4, 5  Next
КР1878ВЕ1 
Author Message
Devil

Joined: 06 Oct 2006 03:17
Posts: 856
Location: г.Лянтор,Сургутского р-на,ХМАО
Reply with quote
Это почти тоже самое, я через такой подключал программатор плисин от Алтеры. Современнее было бы именно под USB.


16 May 2022 10:34
Profile
Fanat

Joined: 10 Mar 2018 12:50
Posts: 67
Reply with quote
fifan wrote:
Вот именно, а есть схема программатора под USB, переходники LPT/USB не предлагать.

https://7b17252a-a-62cb3a1a-s-sites.goo ... edirects=0
вот схема под COM. Добавив преобразователь на CH340 или FT232 будет по USB


16 May 2022 11:13
Profile
Junior

Joined: 15 May 2022 16:10
Posts: 8
Reply with quote
fifan wrote:
Вот именно, а есть схема программатора под USB, переходники LPT/USB не предлагать.

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

Схема с компортом, которую выложил Shumadan мне неизвестна. По крайней мере, я не знаю, каким софтом можно было бы гарантированно прошить этот МК через ком порт.


Attachments:
File comment: sfx с файлами
Ve1ProgUSB_1_02a (1).zip [882.92 KiB]
Downloaded 116 times
File comment: схема
sxemaVe1ProgUSB1_02a[1].gif
sxemaVe1ProgUSB1_02a[1].gif [ 24.49 KiB | Viewed 5742 times ]
16 May 2022 13:33
Profile
Supreme God
User avatar

Joined: 21 Oct 2009 08:08
Posts: 7777
Location: Россия
Reply with quote
kotofalk wrote:
Lavr wrote:
... , но вот "порядок байт" меня ни разу
не побеспокоил в этом процессе...
Это потому, что у вас win98 и железный LPT :)

А что, Венды, начиная с Win XP, меняют порядок байт в файле? :roll:
Что-то я такого не слышал... :-?

_________________
iLavr


Last edited by Lavr on 16 May 2022 15:38, edited 2 times in total.



16 May 2022 14:30
Profile
Junior

Joined: 15 May 2022 16:10
Posts: 8
Reply with quote
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 байт данные в камень и отправлял.


16 May 2022 15:34
Profile
Supreme God
User avatar

Joined: 21 Oct 2009 08:08
Posts: 7777
Location: Россия
Reply with quote
kotofalk wrote:
Я скачал ваш asm-файл, но никак в нём сам не разберусь.

Я сам скачал этот asm-файл, посмотрел в него и увидел, что там все просто.
Файл *.sav считывается в буфер памяти программы - как есть.
Никаких перестановок байтов нет. После чего байты берутся из буфера памяти
по одному в том порядке, как их занесли из файла *.sav.
Где там может поменяться порядок байтов - я просто не представляю...
Файл *.sav используется так, как он создан.

_________________
iLavr


16 May 2022 15:38
Profile
Supreme God
User avatar

Joined: 21 Oct 2009 08:08
Posts: 7777
Location: Россия
Reply with quote
kotofalk wrote:
Да модель протеуса с толку сбила. Там на вкладке ROM содержимое контроллера с перевёрнутыми байтами. Хотя, скорее всего, разработчик модели просто не заморачивался содержимым окна ROM.

Что-то вы и про Proteus странные сказки рассказываете... Либо Proteus у вас кривой... :-?

Вот у меня проект Proteus этих самых часов, и выведен дамп памяти.
Attachment:
C18.PNG
C18.PNG [ 54.52 KiB | Viewed 5738 times ]

А вот файл прошивки Clock18.sav - через WinHex...
Attachment:
C18_1.PNG
C18_1.PNG [ 23.82 KiB | Viewed 5738 times ]

Я не вижу ни перевёрнутых байтов, ни каких иных различий. Если что - Windows 7 у меня.

_________________
iLavr


16 May 2022 16:02
Profile
Supreme God
User avatar

Joined: 21 Oct 2009 08:08
Posts: 7777
Location: Россия
Reply with quote
kotofalk wrote:
Начиная с winXP уже прямая работа с LPT не катит.

Это тоже вы неправду излагать изволите... :-?
Вот у меня самодельный программатор ByteBlasterMV :

Image

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

Программатор не сложнее того, что используется здесь для КР1878ВЕ1.
Единственное различие: под winXP прямое обращение к LPT идёт из DLL-
библиотеки, потому как обычной программе это просто запрещено.

_________________
iLavr


16 May 2022 16:22
Profile
Junior

Joined: 15 May 2022 16:10
Posts: 8
Reply with quote
Lavr wrote:
Что-то вы и про Proteus странные сказки рассказываете...

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

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

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

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

Я конечно удивлён. Попробую засовывать в камень "как есть". Ошибочки пока ещё не все нашлись, видимо. Спасибо за участие =)


Attachments:
Untitled 1.png
Untitled 1.png [ 44.41 KiB | Viewed 5735 times ]
16 May 2022 16:32
Profile
Supreme God
User avatar

Joined: 21 Oct 2009 08:08
Posts: 7777
Location: Россия
Reply with quote
kotofalk wrote:
Lavr wrote:
Что-то вы и про Proteus странные сказки рассказываете...
У меня там всё то же, что и у вас.
Вот только незадача, по документации ангстрема, jmp никак не может быть 1580.

Да какая мне разница? Я не писал компилятор для КР1878ВЕ1...
Файл *.sav - это бинарник, который создаёт компилятор ангстрема.
Никто на всём просторе интернета, пока я занимался КР1878ВЕ1, не сказал
ни разу, что компилятор ангстрема создаёт неправильный файл *.sav ! :roll:
На программаторы грешат многие, на компилятор нареканий я не слышал...

_________________
iLavr


16 May 2022 16:52
Profile
Supreme God
User avatar

Joined: 21 Oct 2009 08:08
Posts: 7777
Location: Россия
Reply with quote
kotofalk wrote:
Если sav-файл используется так, как он создан, то в контроллер предварительно должны отправляться 512 байт пустоты.

И "пустоты" у меня там тоже нет, а есть какие-то байты.
Attachment:
C18_2.PNG
C18_2.PNG [ 14.85 KiB | Viewed 5731 times ]

Но я себе не морочил голову содержимым... есть *.sav-файл и это - прошивка, созданная средствами Ангстрема.
Значит - она такая, как надо, и её надо залить как есть.

_________________
iLavr


16 May 2022 17:04
Profile
Junior

Joined: 15 May 2022 16:10
Posts: 8
Reply with quote
Lavr wrote:
Да какая мне разница? Я не писал компилятор для КР1878ВЕ1...
Файл *.sav - это бинарник, который создаёт компилятор ангстрема.
Никто на всём просторе интернета, пока я занимался КР1878ВЕ1, не сказал
ни разу, что компилятор ангстрема создаёт неправильный файл *.sav ! :roll:

Я нигде не сказал, что он неправильный. Я выражаю сомнение, что файл sav, это точный дамп. Т.к. я не могу взглянув на asm-файл прошиватора, сказать, что там всё просто и все байты заходят в камень точно так, как написано в файле. Потому к вам и обратился.
Т.к. мне не на что больше ориентироваться. В документации на камень - одно. В модели протеуса - другое (перевёрнуто), в файле sav - третье (перевёрнуто+смещение).

Я Бы тоже не морочил себе голову, если б не собрался свой USB-программатор сделать.


16 May 2022 17:13
Profile
Supreme God
User avatar

Joined: 21 Oct 2009 08:08
Posts: 7777
Location: Россия
Reply with quote
kotofalk wrote:
Я нигде не сказал, что он неправильный. Я выражаю сомнение, что файл sav, это точный дамп.
А кто и где сказал, что файл *.sav - это точный дамп? :roll:
Attachment:
C1.PNG
C1.PNG [ 9.51 KiB | Viewed 5729 times ]

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

_________________
iLavr


16 May 2022 17:31
Profile
Fanat

Joined: 10 Mar 2018 12:50
Posts: 67
Reply with quote
kotofalk wrote:
Схема с компортом, которую выложил Shumadan мне неизвестна. По крайней мере, я не знаю, каким софтом можно было бы гарантированно прошить этот МК через ком порт.


вот здесь и прога под XP
https://sites.google.com/site/russianlabyrinth/


16 May 2022 22:49
Profile
Supreme God
User avatar

Joined: 21 Oct 2009 08:08
Posts: 7777
Location: Россия
Reply with quote
kotofalk wrote:
Lavr wrote:
*.sav - это файл прошивки...

в файле sav - третье (перевёрнуто+смещение).

Я структуру файла *.sav не разбирал, поскольку, судя по коду, программатор считывает его целиком в свой внутренний буфер.
В этом случае в памяти программатора байты лежат так, как лежали в файле *.sav

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

Но, сравнив несколько собственных файлов типа *.sav, пришел к выводу, что в начале файла - служебная
информация, по крайней мере, два ненулевых байта - это длина кода с адреса 200h.
Attachment:
C18_3.PNG
C18_3.PNG [ 36.55 KiB | Viewed 5696 times ]

Что касается "другое (перевёрнуто), ... третье (перевёрнуто+смещение)", то ничего там
не перевёрнуто, а всё - совершенно правильно!

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

Image

Программатор начинает читать команду побитно, начиная со старшего бита старшего байта слова:
Attachment:
C18_4.PNG
C18_4.PNG [ 11.6 KiB | Viewed 5696 times ]

Поэтому старший байт в файле *.sav лежит первым, ибо это - файл прошивки.
После 16 сдвигов этот байт окажется на своём старшем месте, а следующий за ним - на своём младшем.

_________________
iLavr


17 May 2022 06:02
Profile
Display posts from previous:  Sort by  
Reply to topic   [ 72 posts ]  Go to page Previous  1, 2, 3, 4, 5  Next

Who is online

Users browsing this forum: No registered users and 6 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
Powered by phpBB® Forum Software © phpBB Group
Designed by ST Software.