CCS Modul   S_BDM
 
   $Id: s_bdm.C,v 1.6 2004/03/25 09:09:18 lehmann Exp $
   ---------------------------------------------------------------------
   Kurzbeschreibung: 	BMS43/46-PrÏfung mit PG333_Programmierstation 
   ---------------------------------------------------------------------
   Projekt:		BDM43/46-Tester
   Sourcefile:		s_bdm.C
   Autor:		RtW2/TEF72-Petrovic Ivica (14.05.98)
   Zielsystem:		V743 (HP-RT 3.01), /7/C/D (HP-UX 9.0)
   Sprache:		C++
   ---------------------------------------------------------------------
   Prototyp:
   
   int s_bdm(shm_stringpointer *zeilen_wert //-I- Beginn der Pruefliste
   ,long index1			            //-I- Array zeiger in Prufliste
   ,long anzahl)		    	    //-I- Anzahl Ûbergabeparameter
   
   ---------------------------------------------------------------------
   Aufruf:
   
   error = int s_bdm(shm_stringpointer *zeilen_wert //-I- Beginn der Pruefliste
   ,long index1			                    //-I- Array zeiger in Prufliste
   ,long anzahl)			            //-I- Anzahl Ûbergabeparameter
   
   if (error != 0) 	Fehler bei der Programmierung eines BDM-SteuergerÌte 
   {
	error = -1: GerÌt nicht erfolgreich programmiert
   }
   
   ---------------------------------------------------------------------
   Funktionsbeschreibung:
   
   Dieses Modul dient zur Kommunikation mit der PG333-Programmierstation.
   Im RÏstlauf wird das Device des MEN-MUX mit welchem die 
   PG333-Programmierstation verbunden ist initialisiert. Zu beachten ist,
   daÞ auf zwei verschiedenen PrÏfsektionen programmiert werden soll. Das
   bedeutet, daÞ zwei PrÏfkammern einschlieÞlich Zusatzplatine, welche 
   jeweils programmiert und gesteuert werden mÏssen, zweimal vorhanden sind.
   Nach dem RÏstlauf wird der Status der PG333-Programmierstation ÏberprÏft.
   Sind die Daten auf der PG333-Programmierstation gÏltig wird sektioniert 
   die Zusatzplatine auf ihre Daten ÏberprÏft und wenn nÎtig programmiert.
   Sind die Daten auf der PG333-Programmierstation nicht gÏltig, werden die
   Daten auf der PG333-Programmierstation aktuallisiert und danach die 
   Zusatzplatine ebenfalls auf ihre Daten ÏberprÏft und wenn nÎtig
   programmiert.
   Ist diese erfolgreich, wird der Datensatz der PG333-Programmierstation 
   ÏberprÏft und bei bedarf Ïberschrieben.
   In Normalmodus (PrÏfmodus) wird aus SicherheitsgrÏnden der Status der
   PG333-Programmierstation und der Zusatzplatine bei jedem Durchlauf 
   ÏberprÏft. Ist diese ÛberprÏfung erfolgreich wird das SteuergerÌt
   programmiert.
   
   Beschreibung der ModulÏbergabeparameter:
1 PRUEFSCHRITT
   GAUDI PrÏfschritt
   ------------------------------
2 POSITION
   PAV- Position
   ------------------------------
3 FILENAME
	
   Hier wird der Name der Datei eingegeben, welche
   fÏr den Download zu der BDM-Programmierstation
   benÎtigt werden.
   Format: z.B. 67355939
   ------------------------------
4 MODUS_BDM
   Hier wird der Befehssatz eingegeben welchen die 
   BDM-Programmierstation auszufÏhren hat.
   P:		Zielsystem programmieren		
   E:		Zielsystem lÎschen
   V:		Vergleich von Zielsystem-Speicher und PG333-Speicher		
   T:		Leertest des Zielsystems
   D:		CRC-ÛberprÏfung des Zielsystems
   BD:		CRC-ÏberprÏfung des Adapter-Flash-EPROMs (Zusatzplatine)		
   BV:		Adapter-Flash-EPROMs und PG333-Speicher vergleichen
5 STRING0
	
   Hier wird der Refrenzparameter von FILENAME Ïbergeben.
   Dieser wird benÎtigt um zu testen ob die Daten die
   zur PG333-Programmierstation geladen wurden auch 
   die Richtigen sind.
   Format: z.B. 01118300BD05
   ----------------------------------------------------------
6 MODUS_LADE
   Hier wird der Befehlsatz fÏr die Initialisierung der
   Zusatzplatine Ïbergeben. Dieser wird benÎtigt um das
   Adapter-Flash-EPROMs mit den richtigen Daten zu 
   versorgen.
   BD:		CRC-ÏberprÏfung des Adapter-Flash-EPROMs (Zusatzplatine)		
   BP:		Adapter-Flash-EPROMs (Zusatzplatine) programmieren  		
   BE:		Adapter-Flash-EPROMs (Zusatzplatine) lÎschen
   BV:		Adapter-Flash-EPROMs und BDM-Speicher vergleichen
   BT:		Leertest des Adapter-Flash-EPROMs
   --------------------------------------------------------------
7 ERGEBNIS
   Hier wird ein Fehlertext vom Modul and das System
   zurÏckgegeben.
   --------------------------------------------------------------
8 FEHLERFLAG
   Fehlerflag des Systems
   0 -> Programmieren OK
   1 -> Fehler aufgetreten (siehe Fehlertext) 

   Revision 1.1  2001/12/18 10:06:49  sgc3sa
   Anpassungen fuer Linux und QT

   Revision 1.8  2000/03/14 09:04:13  wiese
   Überschreiber raus

   Revision 1.7  1999/12/22 10:06:22  keppler
   $ID -> $Id

   Revision 1.6  1999/12/22 09:12:52  keppler
   $Header -> $Id

   Revision 1.5  1999/12/07 12:48:49  gueltlin
   Aenderungen Herr Petrovic

Revision 1.4  98/08/03  10:04:57  10:04:57  petrovic (Ivica Petrovic)
no entry

Revision 1.3  98/08/03  10:01:17  10:01:17  petrovic (Ivica Petrovic)
no entry

Revision 1.2  98/07/31  17:13:56  17:13:56  wiese (Stefan Wiese)
SectionabhÌngigkeit des Firstruns ermitteln

Revision 1.1  98/07/21  12:34:14  12:34:14  wiese (Stefan Wiese)
Initial revision

   ---------------------------------------------------------------------