Etape 3 #1

Merged
yoboujon merged 29 commits from etape_3 into main 2023-05-29 22:57:47 +02:00
3 changed files with 72 additions and 82 deletions
Showing only changes of commit 507297338e - Show all commits

View file

@ -125,7 +125,7 @@
<SetRegEntry>
<Number>0</Number>
<Key>DLGDARM</Key>
<Name>(1010=-1,-1,-1,-1,0)(1007=-1,-1,-1,-1,0)(1008=-1,-1,-1,-1,0)(1009=-1,-1,-1,-1,0)(100=15,39,661,712,0)(110=-1,-1,-1,-1,0)(111=-1,-1,-1,-1,0)(1011=-1,-1,-1,-1,0)(180=-1,-1,-1,-1,0)(120=1074,413,1495,840,1)(121=1495,417,1916,844,1)(122=-1,-1,-1,-1,0)(123=-1,-1,-1,-1,0)(140=-1,-1,-1,-1,0)(240=-1,-1,-1,-1,0)(190=-1,-1,-1,-1,0)(200=-1,-1,-1,-1,0)(170=-1,-1,-1,-1,0)(130=18,101,612,852,0)(131=255,99,849,850,0)(132=49,93,643,844,0)(133=-1105,32,-511,783,0)(160=-1,-1,-1,-1,0)(161=-1,-1,-1,-1,0)(162=-1,-1,-1,-1,0)(210=-1,-1,-1,-1,0)(211=-1,-1,-1,-1,0)(220=-1,-1,-1,-1,0)(221=-1,-1,-1,-1,0)(230=-1,-1,-1,-1,0)(234=-1,-1,-1,-1,0)(231=-1,-1,-1,-1,0)(232=-1,-1,-1,-1,0)(233=-1,-1,-1,-1,0)(150=-1,-1,-1,-1,0)(151=-1,-1,-1,-1,0)</Name>
<Name>(1010=-1,-1,-1,-1,0)(1007=-1,-1,-1,-1,0)(1008=-1,-1,-1,-1,0)(1009=-1,-1,-1,-1,0)(100=15,39,661,712,0)(110=-1,-1,-1,-1,0)(111=-1,-1,-1,-1,0)(1011=-1,-1,-1,-1,0)(180=-1,-1,-1,-1,0)(120=1040,425,1461,852,1)(121=1499,392,1920,819,1)(122=-1,-1,-1,-1,0)(123=-1,-1,-1,-1,0)(140=-1,-1,-1,-1,0)(240=-1,-1,-1,-1,0)(190=-1,-1,-1,-1,0)(200=-1,-1,-1,-1,0)(170=-1,-1,-1,-1,0)(130=18,101,612,852,0)(131=255,99,849,850,0)(132=49,93,643,844,0)(133=-1105,32,-511,783,0)(160=-1,-1,-1,-1,0)(161=-1,-1,-1,-1,0)(162=-1,-1,-1,-1,0)(210=-1,-1,-1,-1,0)(211=-1,-1,-1,-1,0)(220=-1,-1,-1,-1,0)(221=-1,-1,-1,-1,0)(230=-1,-1,-1,-1,0)(234=-1,-1,-1,-1,0)(231=-1,-1,-1,-1,0)(232=-1,-1,-1,-1,0)(233=-1,-1,-1,-1,0)(150=-1,-1,-1,-1,0)(151=-1,-1,-1,-1,0)</Name>
</SetRegEntry>
<SetRegEntry>
<Number>0</Number>
@ -142,25 +142,25 @@
<Bp>
<Number>0</Number>
<Type>0</Type>
<LineNumber>52</LineNumber>
<LineNumber>100</LineNumber>
<EnabledFlag>1</EnabledFlag>
<Address>134222536</Address>
<Address>134222484</Address>
<ByteObject>0</ByteObject>
<HtxType>0</HtxType>
<ManyObjects>0</ManyObjects>
<SizeOfObject>0</SizeOfObject>
<BreakByAccess>0</BreakByAccess>
<BreakIfRCount>1</BreakIfRCount>
<Filename>.\FonctionEtape2.asm</Filename>
<Filename>.\Principale.asm</Filename>
<ExecCommand></ExecCommand>
<Expression>\\Simu_Etape0\FonctionEtape2.asm\52</Expression>
<Expression>\\Simu_Etape0\Principale.asm\100</Expression>
</Bp>
<Bp>
<Number>1</Number>
<Type>0</Type>
<LineNumber>92</LineNumber>
<LineNumber>70</LineNumber>
<EnabledFlag>1</EnabledFlag>
<Address>134222434</Address>
<Address>134222470</Address>
<ByteObject>0</ByteObject>
<HtxType>0</HtxType>
<ManyObjects>0</ManyObjects>
@ -169,14 +169,14 @@
<BreakIfRCount>1</BreakIfRCount>
<Filename>.\Principale.asm</Filename>
<ExecCommand></ExecCommand>
<Expression>\\Simu_Etape0\Principale.asm\92</Expression>
<Expression>\\Simu_Etape0\Principale.asm\70</Expression>
</Bp>
<Bp>
<Number>2</Number>
<Type>0</Type>
<LineNumber>66</LineNumber>
<LineNumber>73</LineNumber>
<EnabledFlag>1</EnabledFlag>
<Address>134222430</Address>
<Address>134222480</Address>
<ByteObject>0</ByteObject>
<HtxType>0</HtxType>
<ManyObjects>0</ManyObjects>
@ -185,59 +185,43 @@
<BreakIfRCount>1</BreakIfRCount>
<Filename>.\Principale.asm</Filename>
<ExecCommand></ExecCommand>
<Expression>\\Simu_Etape0\Principale.asm\66</Expression>
<Expression>\\Simu_Etape0\Principale.asm\73</Expression>
</Bp>
<Bp>
<Number>3</Number>
<Type>0</Type>
<LineNumber>62</LineNumber>
<LineNumber>47</LineNumber>
<EnabledFlag>1</EnabledFlag>
<Address>134222416</Address>
<Address>0</Address>
<ByteObject>0</ByteObject>
<HtxType>0</HtxType>
<ManyObjects>0</ManyObjects>
<SizeOfObject>0</SizeOfObject>
<BreakByAccess>0</BreakByAccess>
<BreakIfRCount>1</BreakIfRCount>
<Filename>.\Principale.asm</Filename>
<BreakIfRCount>0</BreakIfRCount>
<Filename>.\FonctionEtape.asm</Filename>
<ExecCommand></ExecCommand>
<Expression>\\Simu_Etape0\Principale.asm\62</Expression>
<Expression></Expression>
</Bp>
<Bp>
<Number>4</Number>
<Type>0</Type>
<LineNumber>204</LineNumber>
<LineNumber>51</LineNumber>
<EnabledFlag>1</EnabledFlag>
<Address>134222836</Address>
<Address>0</Address>
<ByteObject>0</ByteObject>
<HtxType>0</HtxType>
<ManyObjects>0</ManyObjects>
<SizeOfObject>0</SizeOfObject>
<BreakByAccess>0</BreakByAccess>
<BreakIfRCount>1</BreakIfRCount>
<Filename>.\FonctionEtape2.asm</Filename>
<BreakIfRCount>0</BreakIfRCount>
<Filename>.\FonctionEtape.asm</Filename>
<ExecCommand></ExecCommand>
<Expression>\\Simu_Etape0\FonctionEtape2.asm\204</Expression>
<Expression></Expression>
</Bp>
<Bp>
<Number>5</Number>
<Type>0</Type>
<LineNumber>175</LineNumber>
<EnabledFlag>1</EnabledFlag>
<Address>134222762</Address>
<ByteObject>0</ByteObject>
<HtxType>0</HtxType>
<ManyObjects>0</ManyObjects>
<SizeOfObject>0</SizeOfObject>
<BreakByAccess>0</BreakByAccess>
<BreakIfRCount>1</BreakIfRCount>
<Filename>.\FonctionEtape2.asm</Filename>
<ExecCommand></ExecCommand>
<Expression>\\Simu_Etape0\FonctionEtape2.asm\175</Expression>
</Bp>
<Bp>
<Number>6</Number>
<Type>0</Type>
<LineNumber>47</LineNumber>
<EnabledFlag>1</EnabledFlag>
<Address>0</Address>
@ -252,7 +236,7 @@
<Expression></Expression>
</Bp>
<Bp>
<Number>7</Number>
<Number>6</Number>
<Type>0</Type>
<LineNumber>51</LineNumber>
<EnabledFlag>1</EnabledFlag>
@ -268,7 +252,7 @@
<Expression></Expression>
</Bp>
<Bp>
<Number>8</Number>
<Number>7</Number>
<Type>0</Type>
<LineNumber>134</LineNumber>
<EnabledFlag>1</EnabledFlag>
@ -284,7 +268,7 @@
<Expression></Expression>
</Bp>
<Bp>
<Number>9</Number>
<Number>8</Number>
<Type>0</Type>
<LineNumber>173</LineNumber>
<EnabledFlag>1</EnabledFlag>
@ -300,7 +284,7 @@
<Expression></Expression>
</Bp>
<Bp>
<Number>10</Number>
<Number>9</Number>
<Type>0</Type>
<LineNumber>174</LineNumber>
<EnabledFlag>1</EnabledFlag>
@ -315,6 +299,22 @@
<ExecCommand></ExecCommand>
<Expression></Expression>
</Bp>
<Bp>
<Number>10</Number>
<Type>0</Type>
<LineNumber>45</LineNumber>
<EnabledFlag>1</EnabledFlag>
<Address>0</Address>
<ByteObject>0</ByteObject>
<HtxType>0</HtxType>
<ManyObjects>0</ManyObjects>
<SizeOfObject>0</SizeOfObject>
<BreakByAccess>0</BreakByAccess>
<BreakIfRCount>0</BreakIfRCount>
<Filename>.\Principale.asm</Filename>
<ExecCommand></ExecCommand>
<Expression></Expression>
</Bp>
<Bp>
<Number>11</Number>
<Type>0</Type>
@ -334,7 +334,7 @@
<Bp>
<Number>12</Number>
<Type>0</Type>
<LineNumber>64</LineNumber>
<LineNumber>95</LineNumber>
<EnabledFlag>1</EnabledFlag>
<Address>0</Address>
<ByteObject>0</ByteObject>
@ -350,7 +350,7 @@
<Bp>
<Number>13</Number>
<Type>0</Type>
<LineNumber>68</LineNumber>
<LineNumber>47</LineNumber>
<EnabledFlag>1</EnabledFlag>
<Address>0</Address>
<ByteObject>0</ByteObject>
@ -359,23 +359,7 @@
<SizeOfObject>0</SizeOfObject>
<BreakByAccess>0</BreakByAccess>
<BreakIfRCount>0</BreakIfRCount>
<Filename>.\Principale.asm</Filename>
<ExecCommand></ExecCommand>
<Expression></Expression>
</Bp>
<Bp>
<Number>14</Number>
<Type>0</Type>
<LineNumber>94</LineNumber>
<EnabledFlag>1</EnabledFlag>
<Address>0</Address>
<ByteObject>0</ByteObject>
<HtxType>0</HtxType>
<ManyObjects>0</ManyObjects>
<SizeOfObject>0</SizeOfObject>
<BreakByAccess>0</BreakByAccess>
<BreakIfRCount>0</BreakIfRCount>
<Filename>.\Principale.asm</Filename>
<Filename>REG_UTILES.inc</Filename>
<ExecCommand></ExecCommand>
<Expression></Expression>
</Bp>
@ -384,7 +368,7 @@
<Mm>
<WinNumber>1</WinNumber>
<SubType>0</SubType>
<ItemText>0x20000000</ItemText>
<ItemText>0x40010800</ItemText>
<AccSizeX>0</AccSizeX>
</Mm>
</MemoryWindow1>
@ -446,12 +430,12 @@
<Wi>
<IntNumber>0</IntNumber>
<FirstString>(portA &amp; 0x20 &amp; 0x20) &gt;&gt; 0</FirstString>
<SecondString>FF000000000000000000000000000000E0FFEF4001000000000000000000000000000000706F7274412026203078323000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000001000000000000000000E03F0A00000000000000000000000000000000000000E4120008</SecondString>
<SecondString>FF000000000000000000000000000000E0FFEF4001000000000000000000000000000000706F7274412026203078323000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000001000000000000000000E03F1400000000000000000000000000000000000000E4120008</SecondString>
</Wi>
<Wi>
<IntNumber>1</IntNumber>
<FirstString>(portA &amp; 0x80 &amp; 0x80) &gt;&gt; 0</FirstString>
<SecondString>00800000000000000000000000000000E0FFEF4001000000000000000000000000000000706F7274412026203078383000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000002000000000000000000E03F0A0000000000000000000000000000000000000062120008</SecondString>
<SecondString>00800000000000000000000000000000E0FFEF4001000000000000000000000000000000706F7274412026203078383000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000002000000000000000000E03F140000000000000000000000000000000000000062120008</SecondString>
</Wi>
</LogicAnalyzers>
<DebugDescription>

View file

@ -172,7 +172,7 @@ PoidFortOKIF
;****************************************************************************
DriverReg PROC
PUSH {LR} ;R7 recupère LR
PUSH {LR,R6} ;Place LR dans la pile
MOV R1,R0 ;On recupère l'adresse de base
MOV R0, #SCLK ;Argument SCLK
BL Set_X; ;Set_X(SCLK)
@ -210,8 +210,8 @@ REG_PoidFortOKJUMP ;Fin Si
LDR R0,=DataSend;Adresse de DataSend
MOV R1,#0 ; DataSend
STRB R1,[R0,#0] ;DataSend=0
POP {LR}
BX LR ;while(1)
POP {LR,R6} ;On remet LR dans les registres
BX LR ;On retourne dans le main
REG_PoidFortOKIF
BL Set_X ;Set_X(SCLK)

View file

@ -35,23 +35,18 @@
EXPORT main
;*******************************************************************************
;*******************************************************************************
;***************VARIABLES*******************************************************
AREA mesdonnees, data, readwrite
;*******************************************************************************
M EQU 10
;***************CODE************************************************************
AREA moncode, code, readonly
;*******************************************************************************
; Procédure principale et point d'entrée du projet
;*******************************************************************************
main PROC
;*******************************************************************************
BL Run_Timer3 ;Allumage du Timer 3
LDR R4, [pc,#-2124] ;***********************************************
MOV R5, #1 ;RetroEngineering : 0x40021000 << 18 -> Argument ?
@ -60,13 +55,23 @@ main PROC
;*******************************************************************************
; ETAPE 2
;*******************************************************************************
LDR R0, =Barette1
MOV R7,#0
Etape2 ;for(int=0;i<M;i++)
LDR R6,=GPIOBASEA ;On récup l'adresse du GPIOA
LDR R0, =Barette1 ;Adresse Jeu de led 1 : Argument
BL DriverReg ;*******************
MOV R0, #10 ;Argument : 10ms
BL Tempo; :Tempo(10)
LDR R0, =Barette2
LDR R0, =Barette2 ;Adresse Jeu de led 2 : Argument
BL DriverReg ;*******************
LDR R6,[R6,#OffsetInput] ;On lit le GPIOA_IDR
AND R6, R6, #(0x01<<8) ;On masque pour n'avoir que le 9ème bit (Capteur)
CMP R6, #(0x01<<8) ;On vérifie que ce dernier bit est bien à 1.
BEQ TheEnd ;if capteur = true -> on sort de la boucle
ADD R7,R7,#1 ;i++
CMP R7, #10 ;i==10 ?
BNE Etape2 ;if i!=10 -> on continue la boucle (Au final : R7 == 10 || R6)
;*******************************************************************************
; ETAPE 1
;*******************************************************************************
@ -91,6 +96,7 @@ main PROC
; B Boucle
;
;*******************************************************************************
TheEnd
B . ; boucle inifinie terminale...
ENDP