nedoPC.org

Community for electronics hobbyists, established in 2002
Last visit was: 31 Oct 2024 17:11
It is currently 31 Oct 2024 17:11



 [ 39 posts ]  Go to page Previous  1, 2, 3
Пропатчить отладчик для МК КР1878ВЕ1 
Author Message
Supreme God
User avatar

Joined: 21 Oct 2009 08:08
Posts: 7777
Location: Россия
Post 
aav8 wrote:
чтой-то не найду, как картинки вставить ...

У Вас же была моя почта, когда мы 580ВМ80 на Протезусе мучали...
Напомню в личку.

_________________
iLavr


19 Feb 2015 05:45
Supreme God
User avatar

Joined: 21 Oct 2009 08:08
Posts: 7777
Location: Россия
Post 
Что-то я тут над одной вещью затупил... :(
В моём коде 5-летней давности DLL перехвата сообщений тоже вызывается
через LoadLibraryA и должна вернуть "хэндлер" библиотеки hLib.

Под вызовом LoadLibraryA написанный мной-же комментарий:
Code:
  Объявляют переменные в DLL'ке и после загрузки DLL в процесс
  exe-шника вызывают из неё процедуру инициализации переменных
  в этом случае глобальные переменные DLL доступны и в exe и в dll

Но в вызове LoadLibraryA кроме имени DLL'ки никаких переменных нет.
DLL'ка правильно находится в путях, но hLib упорно возвращает = 0.

И я что-то не пойму, где я тут затупил... :(


PS. Походу въехал... старая DLL'ка же аттачилась совсем к другому процессу... :wink:
Code:
//---------------------------------------------------------------------------
int WINAPI DllEntryPoint(HINSTANCE hinst, unsigned long reason, void* lpReserved)
{
   if(reason==DLL_PROCESS_ATTACH) //---- Проецируем .dll на адр. простр-во ----
   {
     //--- узнаем хэндлер своего стартового окна ---
       hMyWin=FindWindow("HookWndClass","EWBHook");
      hEWBWin=FindWindow("ewb5","Electronics Workbench Professional Edition");
   if(hEWBWin==0) //--- узнаем хэндлер окна WEWB32, если оно есть...
      PostMessage(hMyWin, WM_DESTROY, NULL, NULL); //--- иначе выходим...----
   }
   return 1;
}

Надо подправить... 8)

_________________
iLavr


20 Feb 2015 06:27
Supreme God
User avatar

Joined: 21 Oct 2009 08:08
Posts: 7777
Location: Россия
Post 
Вот что в Венде порой напрягает - так некоторая непонятная неодинаковость
в подходах... :(

Вот без особых трудов захватываю я текст child-окна RAM типа Reach-Edit: по
найденному идентификатору окна использую сообщениe WM_GETTEXT - и всё
возвращается в моей строковой переменной.

Image

Решил я и потактовое время исполнения команд InClock ухватывать,
чтoбы имитировать внешнюю тактовую частоту на вывод порта.

Хорошо... находим идентификатор StatusBar, узнаем сколько у него
полей через SB_GETPARTS, узнаем размер текстового буфера для
нужного поля через SB_GETTEXTLENGTH, и остаётся последнее -
прочитать содержимое поля в буфер через SB_GETTEXT. Всё довольно
аналогично ситуации с WM_GETTEXT.

А вот тут и - обломинго! :o
Quote:
Переменная, в которую мы хотим передать текст, и исходный текст
содержатся в разных адресных пространствах.


А я еще задумался - зачем в одном из вариантов DLL у меня выделяется
область памяти общая для всех процессов! Думал, что перемудрил... :wink:

Выходит, что если WM_GETTEXT, то моя переменная и текст типа в
"одном адресном пространстве", хотя процессы и разные! :o
А вот если SB_GETTEXT - то они сразу стали "в разных адресных
пространствах
"...

_________________
iLavr


23 Feb 2015 11:04
Supreme God
User avatar

Joined: 21 Oct 2009 08:08
Posts: 7777
Location: Россия
Post Re:
Lavr wrote:
Есть вот такой Виндавозный отладчик для микроконтроллера КР1878ВЕ1, работает он довольно-таки
неплохо, все примеры для микроконтроллера я проверяю на нём.

Image

То, что обведено красным контуром в окошках - это состояние портов ввода-вывода А и В.
Так вот хотелось мне вывод в эти окна перехватить и сделать плагин для отладчика с эмуляцией
внешнего устройства, скажем, линейки светодиодов или матрицы их как в MPLAB IDE для PICxx.

Image

Если исправлять содержимое полей портов в этих окнах, то отладчик это воспринимает, как ввод с ВУ.
Можно было бы эмуляцию кнопок прицепить... а то отлаживать, видя лишь циферки, - кисло немного... :-?

Собственно, это у меня была идея подшаманить Виндавозный отладчик для микроконтроллера КР1878ВЕ1,
так, как я позже умудрился-таки подправить эмулятор компьютера БК, чтобы можно было прицепить
внешний плагин, отображающий зажигание светодиодов или 7-сегментных индикаторов через порты контроллера,
а также эмулировать нажатие кнопок.

Image

С эмулятором БК это получилось методом внедрения в код. А вот с фирменным отладчиком для микроконтроллера
КР1878ВЕ1 фокус тогда не удался... :-?

_________________
iLavr


06 Nov 2020 11:27
Novelist

Joined: 11 Nov 2015 09:34
Posts: 25
А где скачать этот DebugMCT.exe ?
нигде не могу найти. :econfused:


06 Nov 2020 16:29
Supreme God
User avatar

Joined: 21 Oct 2009 08:08
Posts: 7777
Location: Россия
Pavtik wrote:
А где скачать этот DebugMCT.exe ?
нигде не могу найти. :econfused:

На сайте ОАО "Ангстрем": https://www.angstrem.ru/
Но я туда давненько не заходил... :-?

_________________
iLavr


06 Nov 2020 17:03
Supreme God
User avatar

Joined: 21 Oct 2009 08:08
Posts: 7777
Location: Россия
Я нашел у себя на диске одну копию DebugMCT.exe в папке EXEScope, где я обычно
патчу exe-шники или их ресурсы.
Я не знаю, патчил я этот экземпляр DebugMCT.exe или нет, но он работает.

Судя по записи в Реестре Венды он был инсталлирован в папку C:\1878ВЕ1, где должна быть
и папка C:\1878ВЕ1\DebugMCT с файлами *.LST и *.SAV.
Основные настройки программа DebugMCT.exe хранит в Реестре, я эту ветку Реестра
в архив приложил.

Так чисто на вид - работает нормально, хотя я очень давно не трогал КР1878ВЕ1 и связанный
с ним софт...
Attachment:
1878ВЕ1.zip


You do not have the required permissions to view the files attached to this post.

_________________
iLavr


06 Nov 2020 21:08
Novelist

Joined: 11 Nov 2015 09:34
Posts: 25
Да, спасибо, нашёл на Ангстреме, ваш exe и с сайта одинаковые.


07 Nov 2020 09:30
Supreme God
User avatar

Joined: 21 Oct 2009 08:08
Posts: 7777
Location: Россия
Lavr wrote:
Pavtik wrote:
А где скачать этот DebugMCT.exe ?
нигде не могу найти. :econfused:
На сайте ОАО "Ангстрем": https://www.angstrem.ru/
Но я туда давненько не заходил... :-?

Да, они там всё несколько обновили, сразу и не найти нужное... :-?
Все материалы по микроконтроллеру КР1878ВЕ1 теперь здесь:
http://old.angstrem.ru/products/micro/tesey-8/KP1878BE1.html

_________________
iLavr


07 Nov 2020 09:55
 [ 39 posts ]  Go to page Previous  1, 2, 3

Who is online

Users browsing this forum: No registered users and 0 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

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