Von:	EXTERNAL Forche Torsten (Ascena; GS-EC/ESI4)
Gesendet:	Dienstag, 24. Mai 2005 15:48
An:	Project-GS-EC/ESI4 ME7 (GS-EC/ESI4)
Betreff:	Untersuchung von den neuen codesyntaxen und adressierschema für den SW-Adapter bei fälschlichen überschreiben 
Hallo zusammen,

folgende Beispiele wurden untersucht wie sie auf ein unerlaubtes übschreiben reagieren:

Deklaration:
ram_groesse B_dbyk
   TYP_SingleBitZeros;

Code:
B_dbyk = FALSE;

Übersetzte Code:
0000 0E8E         BCLR    _swadpB_dbyk

Compiler Warnung:
Keine

INCA:
Variable bleibt auf FALSE

Bewertung:
OK

Deklaration:
ram_groesse B_dsp
   TYP_SingleBitOnes;

Code:
B_dsp = FALSE;

Übersetzte Code:
0002 0E8F       BCLR    _swadpB_dsp

Compiler Warnung:
Keine

INCA:
Variable bleibt auf TRUE

Bewertung:
OK

Deklaration:
ram_groesse B_ldrbu
   TYP_SingleBitZeros;

Code:
B_ldrbu = TRUE;

Übersetzte Code:
0004 0F8E        BSET    _swadpB_ldrbu

Compiler Warnung:
Keine

INCA:
Variable bleibt auf FALSE

INCA:
Variable bleibt auf TRUE

Bewertung:
OK

Deklaration:
ram_groesse wistr_w					/* [0...1], 1Inc = 1/65535 */
  {
  datentyp uw ;
  umrechnung fak_uw_b1;
  adressierschema  LeerAdS;
  codesyntax 		 SwadpFarRamWord;
  alternativ_name  imlpr_w;
  }

Code:
wistr_w = 0x5555;

Übersetzte Code:
Keiner (läst sich nicht übersetzen)

Compiler Warnung:
Error undefine

Bewertung:
OK

Deklaration:
ram_groesse	pte_w
{
   	umrechnung 			p_sw_q0p000977;					/*eigener Entwurf*/
  	datentyp         	uw;
  	adressierschema  	LeerAdS;
  	codesyntax 			SwadpNearRamWordZeros;
}

Code:
pte_w = 0x5555;

Übersetzte Code:
0006 E6FC5555    MOV     R12,#05555h
000A F6FC1CFF   MOV     _pte_w,R12

Compiler Warnung:
**** W 127: write access to a read only system address

INCA:
Variable bleibt auf 0

Bewertung:
OK

Deklaration:
ram_groesse	ushfmxstg
   {
   umrechnung		spgg_q0p52;
   datentyp		ub;
   adressierschema  	LeerAdS;
   codesyntax 		SwadpNearRamByteZeros;
   }

Code:
ushfmxstg = 0x55;

Übersetzte Code:
000E E7F25500     MOVB    RL1,#055h
0012 F7F21CFF     MOVB    _ushfmxstg,RL1

Compiler Warnung:
**** W 127: write access to a read only system address

INCA:
Variable bleibt auf 0

Bewertung:
OK

Deklaration:
ram_groesse		   fvarllrdl
   {
   datentyp               ub;
   umrechnung 	       fak_ub_b4;
   adressierschema   LeerAdS;
   codesyntax 	       SwadpFarRamByteInit;
   init_wertp       {1.0};
}

Code:
fvarllrdl  = 0x55;

Übersetzte Code:
000E E7F25500       MOVB    RL1,#055h
0016 D7400000  R   EXTP    #PAG _fvarllrdl,#01h
001A F7F20000 1R  MOVB    POF _fvarllrdl,RL1

Compiler Warnung:
Keine

INCA:
Variable geht auf falschen Wert. 

Bewertung:
Unkritisch da dieses Überschreiben nur in der Funktion möglich ist die die Variable anlegt (SW-Adapter). Die Module die diese Variable referenzieren arbeiten weiterhin mit dem richtigen Init_Wert da sie im D-File folgenden eintragt haben:
#define fvarllrdl (Byte)64u  
Führt ber zu verwirrung da in INCA ein falscher wert angezeigt wird. Mit dem nicht in den FKT gerechnet wir.

Deklaration:
ram_groesse dlatrmo_w
   {
   umrechnung       fak_sw_b1;
   datentyp         sw;
   adressierschema  LeerAdS;
   codesyntax 		SwadpNearRamInt16;
   alternativ_name  dlatrmi_w;
   }

Code:
dlatrmo_w = -55;

Übersetzte Code:
Keiner (läst sich nicht übersetzen)

Compiler Warnung:
Error undefine

Bewertung:
OK

Deklaration:
ram_groesse		wnwsenp_w
   {
   umrechnung       kw_sw_q0p0078;
   datentyp         sw;
   adressierschema  LeerAdS;
   codesyntax 		SwadpNearRamInt16Zeros;
   }

Code:
wnwsenp_w = -5555;

Übersetzte Code:
001E E6FD4DEA    MOV     R13,#0EA4Dh
0022 F6FD1CFF     MOV     _wnwsenp_w,R13

Compiler Warnung:
**** W 127: write access to a read only system address

INCA:
Variable bleibt auf 0

Bewertung:
OK

Der PST lief mit diesen Änderungen unauffällig.

Diese Bewertung habe ich auch in die Integrationsliste eingetragen.

Mit freundlichen Grüßen

    Torsten Forche
_________________________________________________________
Robert Bosch GmbH	(:	0711/811-34737
Abteilung GS-EC/ESI4	Fax:	0711/811-26087
Postfach 300 240     :.mailto:torsten.forche@de.bosch.com
70442  Stuttgart
__________________________________________________________