Да, именно утилита MSPFET от Кurt-а - даже с сериализацией прошивок. Пользовать из командной строки...
Если у вас имеется фирменный программатор PRGS430, то все это есть и даже с примерами для C,C++,Basic и пр. в комплекте ПО для программатора PRGS430... Я его покупал довольно давно, когда еще не было USB версии. Вот правил с для Delphi:
//LONG WINAPI InitCom(LPTSTR lpszPort, LONG lBaud); function InitCom(Port:PChar;baudr: integer):Integer stdcall; external 'prgs430.dll';
//LONG WINAPI ReleaseCom(void); function ReleaseCom():Integer stdcall; external 'prgs430.dll';
//LONG WINAPI SetDeviceType(LPTSTR lpszDeviceName); function SetDeviceType(Name:PChar):Integer stdcall; external 'prgs430.dll';
//LONG WINAPI InitTarget(LPTSTR lpszDeviceName); function InitTarget(Name:PChar):Integer stdcall; external 'prgs430.dll';
//LONG WINAPI SetVcc(LONG iVoltage); function SetVcc(volt: Integer):Integer stdcall; external 'prgs430.dll';
//LONG WINAPI ReleaseTarget(void); function ReleaseTarget():Integer stdcall; external 'prgs430.dll';
//LONG WINAPI VerifyData(LONG wStart, LONG wLength, void *lpData); function VerifyData(Start:Integer;Len:Integer;p: pointer):Integer stdcall; external 'prgs430.dll';
//LONG WINAPI Erase(LONG wStart, LONG wLength, LONG iFlags); function Erase(Start:Integer;Len:Integer;flags:Integer):Integer stdcall; external 'prgs430.dll';
//LONG WINAPI ProgramData(LONG wStart, LONG wLength, void *lpData); function ProgramData(Start:Integer;Len:Integer;p: pointer):Integer stdcall; external 'prgs430.dll';
//LONG WINAPI BlowFuse(void); function BlowFuse():Integer stdcall; external 'prgs430.dll';
//LONG WINAPI Reset(LONG iFlags); //function Reset():Int64 stdcall; external 'prgs430.dll';
function VerifyFile(f_name: PChar; FileType: Integer):Integer stdcall; external 'prgs430.dll';
function ProgramFile(f_name : PChar;FileType: Integer; Flags: Integer; ProjectIni: PChar):Integer stdcall; external 'prgs430.dll';
|