Etape 3 #1

Merged
yoboujon merged 29 commits from etape_3 into main 2023-05-29 22:57:47 +02:00
9 changed files with 231 additions and 144 deletions
Showing only changes of commit f896c5e828 - Show all commits

File diff suppressed because one or more lines are too long

View file

@ -418,9 +418,9 @@
<Bp>
<Number>0</Number>
<Type>0</Type>
<LineNumber>53</LineNumber>
<LineNumber>85</LineNumber>
<EnabledFlag>1</EnabledFlag>
<Address>134222552</Address>
<Address>134222592</Address>
<ByteObject>0</ByteObject>
<HtxType>0</HtxType>
<ManyObjects>0</ManyObjects>
@ -429,7 +429,7 @@
<BreakIfRCount>1</BreakIfRCount>
<Filename>.\Principale.asm</Filename>
<ExecCommand></ExecCommand>
<Expression>\\Reel_Etape0\Principale.asm\53</Expression>
<Expression>\\Reel_Etape0\Principale.asm\85</Expression>
</Bp>
</Breakpoint>
<MemoryWindow1>

View file

@ -164,20 +164,20 @@ Image Symbol Table
Symbol Name Value Ov Type Size Object(Section)
../clib/microlib/init/entry.s 0x00000000 Number 0 entry10a.o ABSOLUTE
../clib/microlib/init/entry.s 0x00000000 Number 0 entry11a.o ABSOLUTE
../clib/microlib/init/entry.s 0x00000000 Number 0 entry2.o ABSOLUTE
../clib/microlib/init/entry.s 0x00000000 Number 0 entry.o ABSOLUTE
../clib/microlib/init/entry.s 0x00000000 Number 0 entry10b.o ABSOLUTE
../clib/microlib/init/entry.s 0x00000000 Number 0 entry5.o ABSOLUTE
../clib/microlib/init/entry.s 0x00000000 Number 0 entry8b.o ABSOLUTE
../clib/microlib/init/entry.s 0x00000000 Number 0 entry8a.o ABSOLUTE
../clib/microlib/init/entry.s 0x00000000 Number 0 entry10b.o ABSOLUTE
../clib/microlib/init/entry.s 0x00000000 Number 0 entry.o ABSOLUTE
../clib/microlib/init/entry.s 0x00000000 Number 0 entry10a.o ABSOLUTE
../clib/microlib/init/entry.s 0x00000000 Number 0 entry2.o ABSOLUTE
../clib/microlib/init/entry.s 0x00000000 Number 0 entry5.o ABSOLUTE
../clib/microlib/init/entry.s 0x00000000 Number 0 entry9b.o ABSOLUTE
../clib/microlib/init/entry.s 0x00000000 Number 0 entry12b.o ABSOLUTE
../clib/microlib/init/entry.s 0x00000000 Number 0 entry8a.o ABSOLUTE
../clib/microlib/init/entry.s 0x00000000 Number 0 entry11a.o ABSOLUTE
../clib/microlib/init/entry.s 0x00000000 Number 0 entry7b.o ABSOLUTE
../clib/microlib/init/entry.s 0x00000000 Number 0 entry7a.o ABSOLUTE
../clib/microlib/init/entry.s 0x00000000 Number 0 entry9b.o ABSOLUTE
../clib/microlib/init/entry.s 0x00000000 Number 0 entry11b.o ABSOLUTE
../clib/microlib/init/entry.s 0x00000000 Number 0 entry9a.o ABSOLUTE
../clib/microlib/init/entry.s 0x00000000 Number 0 entry11b.o ABSOLUTE
../clib/microlib/init/entry.s 0x00000000 Number 0 entry12a.o ABSOLUTE
../clib/microlib/longlong.c 0x00000000 Number 0 llshl.o ABSOLUTE
../clib/microlib/longlong.c 0x00000000 Number 0 llushr.o ABSOLUTE
@ -190,8 +190,8 @@ Image Symbol Table
../fplib/microlib/fpepilogue.c 0x00000000 Number 0 depilogue.o ABSOLUTE
../fplib/microlib/fpfix.c 0x00000000 Number 0 ffixui.o ABSOLUTE
../fplib/microlib/fpflt.c 0x00000000 Number 0 ffltui.o ABSOLUTE
../fplib/microlib/fpmul.c 0x00000000 Number 0 fmul.o ABSOLUTE
../fplib/microlib/fpmul.c 0x00000000 Number 0 dmul.o ABSOLUTE
../fplib/microlib/fpmul.c 0x00000000 Number 0 fmul.o ABSOLUTE
..\\pilotes\\Sources\\Timer_Systick.c 0x00000000 Number 0 timer_systick_1.o ABSOLUTE
..\\pilotes\\Sources\\pilote_IO.c 0x00000000 Number 0 pilote_io_1.o ABSOLUTE
..\pilotes\Sources\Timer_Systick.c 0x00000000 Number 0 timer_systick_1.o ABSOLUTE
@ -235,8 +235,8 @@ Image Symbol Table
.text 0x08000488 Section 48 cdcmple.o(.text)
.text 0x080004b8 Section 48 cdrcmple.o(.text)
.text 0x080004e8 Section 0 d2f.o(.text)
.text 0x08000520 Section 0 iusefp.o(.text)
.text 0x08000520 Section 0 fepilogue.o(.text)
.text 0x08000520 Section 0 iusefp.o(.text)
.text 0x0800058e Section 0 depilogue.o(.text)
.text 0x08000648 Section 36 init.o(.text)
.text 0x0800066c Section 0 llshl.o(.text)
@ -268,8 +268,10 @@ Image Symbol Table
i.__scatterload_copy 0x080012b0 Section 14 handlers.o(i.__scatterload_copy)
i.__scatterload_null 0x080012be Section 2 handlers.o(i.__scatterload_null)
i.__scatterload_zeroinit 0x080012c0 Section 14 handlers.o(i.__scatterload_zeroinit)
moncode 0x080012d0 Section 60 principale.o(moncode)
moncode 0x0800130c Section 200 foncasm.o(moncode)
moncode 0x080012d0 Section 68 principale.o(moncode)
Eteint_LED 0x080012d1 Thumb Code 22 principale.o(moncode)
Allume_LED 0x080012e7 Thumb Code 22 principale.o(moncode)
moncode 0x08001314 Section 200 foncasm.o(moncode)
.data 0x20000000 Section 19 initialisation.o(.data)
.data 0x20000014 Section 24 fonctiontimer.o(.data)
incre 0x20000024 Data 4 fonctiontimer.o(.data)
@ -413,11 +415,11 @@ Image Symbol Table
__scatterload_copy 0x080012b1 Thumb Code 14 handlers.o(i.__scatterload_copy)
__scatterload_null 0x080012bf Thumb Code 2 handlers.o(i.__scatterload_null)
__scatterload_zeroinit 0x080012c1 Thumb Code 14 handlers.o(i.__scatterload_zeroinit)
main 0x080012d1 Thumb Code 54 principale.o(moncode)
Envoie192Boucle 0x0800130d Thumb Code 108 foncasm.o(moncode)
Envoie96Dot 0x08001379 Thumb Code 78 foncasm.o(moncode)
Region$$Table$$Base 0x080013d4 Number 0 anon$$obj.o(Region$$Table)
Region$$Table$$Limit 0x080013f4 Number 0 anon$$obj.o(Region$$Table)
main 0x080012fd Thumb Code 20 principale.o(moncode)
Envoie192Boucle 0x08001315 Thumb Code 108 foncasm.o(moncode)
Envoie96Dot 0x08001381 Thumb Code 78 foncasm.o(moncode)
Region$$Table$$Base 0x080013dc Number 0 anon$$obj.o(Region$$Table)
Region$$Table$$Limit 0x080013fc Number 0 anon$$obj.o(Region$$Table)
PrtSurImage 0x20000000 Data 4 initialisation.o(.data)
BarretEnCours 0x20000004 Data 4 initialisation.o(.data)
DataSend 0x20000008 Data 1 initialisation.o(.data)
@ -438,9 +440,9 @@ Memory Map of the image
Image Entry point : 0x08000151
Load Region LR_IROM1 (Base: 0x08000000, Size: 0x00001484, Max: 0x00040000, ABSOLUTE)
Load Region LR_IROM1 (Base: 0x08000000, Size: 0x0000148c, Max: 0x00040000, ABSOLUTE)
Execution Region ER_IROM1 (Exec base: 0x08000000, Load base: 0x08000000, Size: 0x000013f4, Max: 0x00040000, ABSOLUTE)
Execution Region ER_IROM1 (Exec base: 0x08000000, Load base: 0x08000000, Size: 0x000013fc, Max: 0x00040000, ABSOLUTE)
Exec Addr Load Addr Size Type Attr Idx E Section Name Object
@ -500,20 +502,20 @@ Memory Map of the image
0x080012be 0x080012be 0x00000002 Code RO 492 i.__scatterload_null mc_w.l(handlers.o)
0x080012c0 0x080012c0 0x0000000e Code RO 493 i.__scatterload_zeroinit mc_w.l(handlers.o)
0x080012ce 0x080012ce 0x00000002 PAD
0x080012d0 0x080012d0 0x0000003c Code RO 2 moncode principale.o
0x0800130c 0x0800130c 0x000000c8 Code RO 331 moncode Matos.lib(foncasm.o)
0x080013d4 0x080013d4 0x00000020 Data RO 489 Region$$Table anon$$obj.o
0x080012d0 0x080012d0 0x00000044 Code RO 2 moncode principale.o
0x08001314 0x08001314 0x000000c8 Code RO 331 moncode Matos.lib(foncasm.o)
0x080013dc 0x080013dc 0x00000020 Data RO 489 Region$$Table anon$$obj.o
Execution Region RW_IRAM1 (Exec base: 0x20000000, Load base: 0x080013f4, Size: 0x00000490, Max: 0x00010000, ABSOLUTE)
Execution Region RW_IRAM1 (Exec base: 0x20000000, Load base: 0x080013fc, Size: 0x00000490, Max: 0x00010000, ABSOLUTE)
Exec Addr Load Addr Size Type Attr Idx E Section Name Object
0x20000000 0x080013f4 0x00000013 Data RW 97 .data Matos.lib(initialisation.o)
0x20000013 0x08001407 0x00000001 PAD
0x20000014 0x08001408 0x00000018 Data RW 229 .data Matos.lib(fonctiontimer.o)
0x2000002c 0x08001420 0x00000060 Data RW 321 .data Matos.lib(warning.o)
0x2000008c 0x08001480 0x00000004 Data RW 407 .data Matos.lib(timer_systick_1.o)
0x20000000 0x080013fc 0x00000013 Data RW 97 .data Matos.lib(initialisation.o)
0x20000013 0x0800140f 0x00000001 PAD
0x20000014 0x08001410 0x00000018 Data RW 229 .data Matos.lib(fonctiontimer.o)
0x2000002c 0x08001428 0x00000060 Data RW 321 .data Matos.lib(warning.o)
0x2000008c 0x08001488 0x00000004 Data RW 407 .data Matos.lib(timer_systick_1.o)
0x20000090 - 0x00000400 Zero RW 10 STACK startup_stm32f10x_cl.o
@ -524,12 +526,12 @@ Image component sizes
Code (inc. data) RO Data RW Data ZI Data Debug Object Name
60 6 0 0 0 344 principale.o
68 4 0 0 0 424 principale.o
36 8 336 0 1024 800 startup_stm32f10x_cl.o
396 32 0 0 0 6481 system_stm32f10x_1.o
----------------------------------------------------------------------
492 46 368 0 1024 7625 Object Totals
500 44 368 0 1024 7705 Object Totals
0 0 32 0 0 0 (incl. Generated)
0 0 0 0 0 0 (incl. Padding)
@ -592,15 +594,15 @@ Image component sizes
Code (inc. data) RO Data RW Data ZI Data Debug
4740 388 368 144 1024 245244 Grand Totals
4740 388 368 144 1024 245244 ELF Image Totals
4740 388 368 144 0 0 ROM Totals
4748 386 368 144 1024 245324 Grand Totals
4748 386 368 144 1024 245324 ELF Image Totals
4748 386 368 144 0 0 ROM Totals
==============================================================================
Total RO Size (Code + RO Data) 5108 ( 4.99kB)
Total RO Size (Code + RO Data) 5116 ( 5.00kB)
Total RW Size (RW Data + ZI Data) 1168 ( 1.14kB)
Total ROM Size (Code + RO Data + RW Data) 5252 ( 5.13kB)
Total ROM Size (Code + RO Data + RW Data) 5260 ( 5.14kB)
==============================================================================

View file

@ -157,66 +157,95 @@ ARM Macro Assembler Page 3
42 00000000
43 00000000 ;*******************************************************
************************
44 00000000 ; Procédure principale et point d'entrée du projet
44 00000000 ; On eteint la LED
45 00000000 ;*******************************************************
************************
46 00000000 main PROC
47 00000000 ;*******************************************************
46 00000000 Eteint_LED
PROC
47 00000000
48 00000000 E92D 1001 PUSH {R12,R0} ;On stocke R12 dans
R0
49 00000004 F8DF C038 LDR R12,=GPIOBASEB ;On recupère l'a
dresse de base
50 00000008 F44F 6580 MOV R5,#(0x01 << 10) ;1 décalé de 1
0 dans R5
51 0000000C F8AC 5014 STRH R5,[R12,#OffsetReset] ;On stock
e la variable R5 à
l'adresse 0x0X40010
C14 (reset)
52 00000010 E8BD 1001 POP {R12,R0} ;On restitue R12 da
ns R0
53 00000014 4770 BX LR ;Retour
54 00000016 ;LDR R5,[R12,#0x0C] ;Valeur à l'adresse de l'output
55 00000016 ;AND R5, R5,#~(0x01 << 10) ;OU LOGIQUE pour calculer la
valeur a mettre dans l'output
56 00000016 ;STRH R5,[R12,#0x0C] ;Etat du port B (R5) stocké dans
l'output
57 00000016 ENDP
58 00000016
59 00000016 ;*******************************************************
************************
48 00000000
49 00000000
50 00000000 F04F 0000 MOV R0,#0 ;
51 00000004 F7FF FFFE BL Init_Cible ;
52 00000008 ; SET
53 00000008 F8DF C02C LDR R12,=0x40010C00
54 0000000C F44F 6580 MOV R5,#(0x01 << 10)
55 00000010 F8AC 5010 STRH R5,[R12,#0x10] ;On stocke la va
riable R5 à l'adres
se 0x0X40010C10
56 00000014 ; RESET
57 00000014 F44F 6580 MOV R5,#(0x01 << 10)
58 00000018 F8AC 5014 STRH R5,[R12,#0x14] ;On stocke la va
riable R5 à l'adres
se 0x0X40010C10
59 0000001C
60 0000001C ; ALLUMER LA LED
61 0000001C F8DC 500C LDR R5,[R12,#0x0C] ;Valeur à l'adre
sse de l'output
62 00000020 F445 6580 ORR R5, R5,#(0x01 << 10) ;OU LOGIQU
E pour calculer la
valeur a mettre dan
s l'output
63 00000024 F8AC 500C STRH R5,[R12,#0x0C] ;Etat du port B
(R5) stocké dans l'
output
64 00000028
65 00000028 ;ETEINDRE LA LED
66 00000028 F8DC 500C LDR R5,[R12,#0x0C] ;Valeur à l'adre
sse de l'output
60 00000016 ; On allume la LED
61 00000016 ;*******************************************************
************************
62 00000016 Allume_LED
PROC
63 00000016
64 00000016 E92D 1001 PUSH {R12,R0} ;On stocke R12 dans
R0
ARM Macro Assembler Page 4
67 0000002C F425 6580 AND R5, R5,#~(0x01 << 10) ;OU LOGIQ
UE pour calculer la
valeur a mettre da
ns l'output
68 00000030 F8AC 500C STRH R5,[R12,#0x0C] ;Etat du port B
(R5) stocké dans l'
output
69 00000034
70 00000034 E7FE B . ; boucle inifinie t
65 0000001A F8DF C024 LDR R12,=GPIOBASEB ;On recupère l'a
dresse de base
66 0000001E F44F 6580 MOV R5,#(0x01 << 10) ;1 décalé de 1
0 dans R5
67 00000022 F8AC 5010 STRH R5,[R12,#OffsetSet] ;On stocke
la variable R5 à l'
adresse 0x0X40010C1
0 (set)
68 00000026 E8BD 1001 POP {R12,R0} ;On restitue R12 da
ns R0
69 0000002A 4770 BX LR ;Retour
70 0000002C ;LDR R5,[R12,#0x0C] ;Valeur à l'adresse de l'output
71 0000002C ;ORR R5, R5,#(0x01 << 10) ;OU LOGIQUE pour calculer la v
aleur a mettre dans l'output
72 0000002C ;STRH R5,[R12,#0x0C] ;Etat du port B (R5) stocké dans
l'output
73 0000002C
74 0000002C ENDP
75 0000002C
76 0000002C
77 0000002C ;*******************************************************
************************
78 0000002C ; Procédure principale et point d'entrée du projet
79 0000002C ;*******************************************************
************************
80 0000002C main PROC
81 0000002C ;*******************************************************
************************
82 0000002C
83 0000002C
84 0000002C F04F 0000 MOV R0,#0 ;
85 00000030 F7FF FFFE BL Init_Cible ;
86 00000034 Boucle
87 00000034 F7FF FFFE BL Allume_LED
88 00000038 F7FF FFFE BL Eteint_LED
89 0000003C E7FA B Boucle
90 0000003E
91 0000003E E7FE B . ; boucle inifinie t
erminale...
71 00000036
72 00000036
73 00000036
74 00000036
75 00000036 ENDP
76 00000036
77 00000036 END
00 00 40010C00
92 00000040
93 00000040
94 00000040
95 00000040
96 00000040 ENDP
97 00000040
98 00000040 END
40010C00
Command Line: --debug --xref --diag_suppress=9931 --cpu=Cortex-M3 --apcs=interw
ork --depend=.\objects\principale.d -o.\objects\principale.o -I.\RTE\Device\STM
32F107VC -I.\RTE\_R_el -IC:\Programdata\Keil\Arm\Packs\ARM\CMSIS\5.7.0\CMSIS\Co
@ -246,11 +275,35 @@ Comment: mesdonnees unused
ARM Macro Assembler Page 1 Alphabetic symbol ordering
Relocatable symbols
main 00000000
Allume_LED 00000016
Symbol: Allume_LED
Definitions
At line 62 in file Principale.asm
Uses
At line 87 in file Principale.asm
Comment: Allume_LED used once
Boucle 00000034
Symbol: Boucle
Definitions
At line 86 in file Principale.asm
Uses
At line 89 in file Principale.asm
Comment: Boucle used once
Eteint_LED 00000000
Symbol: Eteint_LED
Definitions
At line 46 in file Principale.asm
Uses
At line 88 in file Principale.asm
Comment: Eteint_LED used once
main 0000002C
Symbol: main
Definitions
At line 46 in file Principale.asm
At line 80 in file Principale.asm
Uses
At line 26 in file Principale.asm
Comment: main used once
@ -262,7 +315,7 @@ Symbol: moncode
Uses
None
Comment: moncode unused
2 symbols
5 symbols
@ -283,8 +336,9 @@ Symbol: GPIOBASEB
Definitions
At line 25 in file REG_UTILES.inc
Uses
None
Comment: GPIOBASEB unused
At line 49 in file Principale.asm
At line 65 in file Principale.asm
MaskBlank 00000004
Symbol: MaskBlank
@ -327,13 +381,13 @@ Symbol: MaskSerial_Dots
Comment: MaskSerial_Dots unused
MaskSerial_In1 00000080
Symbol: MaskSerial_In1
ARM Macro Assembler Page 2 Alphabetic symbol ordering
Absolute symbols
Symbol: MaskSerial_In1
Definitions
At line 33 in file REG_UTILES.inc
Uses
@ -377,28 +431,28 @@ Symbol: OffsetReset
Definitions
At line 30 in file REG_UTILES.inc
Uses
None
Comment: OffsetReset unused
At line 51 in file Principale.asm
Comment: OffsetReset used once
OffsetSet 00000010
Symbol: OffsetSet
Definitions
At line 29 in file REG_UTILES.inc
Uses
None
Comment: OffsetSet unused
At line 67 in file Principale.asm
Comment: OffsetSet used once
SCB_VTOR E000ED08
Symbol: SCB_VTOR
Definitions
At line 43 in file REG_UTILES.inc
Uses
ARM Macro Assembler Page 3 Alphabetic symbol ordering
Absolute symbols
Uses
None
Comment: SCB_VTOR unused
TIM1_CNT 40012C24
@ -446,7 +500,7 @@ Symbol: Init_Cible
Definitions
At line 23 in file Principale.asm
Uses
At line 51 in file Principale.asm
At line 85 in file Principale.asm
Comment: Init_Cible used once
|Lib$$Request$$armlib| 00000000
@ -457,4 +511,4 @@ Symbol: |Lib$$Request$$armlib|
None
Comment: |Lib$$Request$$armlib| unused
2 symbols
361 symbols in table
364 symbols in table

View file

@ -1,6 +1,6 @@
Dependencies for Project 'Etape_1', Target 'Réel': (DO NOT MODIFY !)
CompilerVersion: 5060960::V5.06 update 7 (build 960)::.\ARMCC
F (.\Principale.asm)(0x640EF4CD)(--cpu Cortex-M3 --pd "__EVAL SETA 1" -g --apcs=interwork --pd "__MICROLIB SETA 1" -I.\RTE\Device\STM32F107VC -I.\RTE\_R_el -IC:\Programdata\Keil\Arm\Packs\ARM\CMSIS\5.7.0\CMSIS\Core\Include -IC:\Programdata\Keil\Arm\Packs\Keil\STM32F1xx_DFP\2.3.0\Device\Include --pd "__UVISION_VERSION SETA 534" --pd "_RTE_ SETA 1" --pd "STM32F10X_CL SETA 1" --pd "_RTE_ SETA 1" --pd "STM32F10X_CL SETA 1" --list .\listings\principale.lst --xref -o .\objects\principale.o --depend .\objects\principale.d)
F (.\Principale.asm)(0x640EF96C)(--cpu Cortex-M3 --pd "__EVAL SETA 1" -g --apcs=interwork --pd "__MICROLIB SETA 1" -I.\RTE\Device\STM32F107VC -I.\RTE\_R_el -IC:\Programdata\Keil\Arm\Packs\ARM\CMSIS\5.7.0\CMSIS\Core\Include -IC:\Programdata\Keil\Arm\Packs\Keil\STM32F1xx_DFP\2.3.0\Device\Include --pd "__UVISION_VERSION SETA 534" --pd "_RTE_ SETA 1" --pd "STM32F10X_CL SETA 1" --pd "_RTE_ SETA 1" --pd "STM32F10X_CL SETA 1" --list .\listings\principale.lst --xref -o .\objects\principale.o --depend .\objects\principale.d)
I (REG_UTILES.inc)(0x640EE4CF)
F (.\FonctionEtape.asm)(0x640EE738)(--cpu Cortex-M3 --pd "__EVAL SETA 1" -g --apcs=interwork --pd "__MICROLIB SETA 1" -I.\RTE\Device\STM32F107VC -I.\RTE\_R_el -IC:\Programdata\Keil\Arm\Packs\ARM\CMSIS\5.7.0\CMSIS\Core\Include -IC:\Programdata\Keil\Arm\Packs\Keil\STM32F1xx_DFP\2.3.0\Device\Include --pd "__UVISION_VERSION SETA 534" --pd "_RTE_ SETA 1" --pd "STM32F10X_CL SETA 1" --pd "_RTE_ SETA 1" --pd "STM32F10X_CL SETA 1" --list .\listings\fonctionetape.lst --xref -o .\objects\fonctionetape.o --depend .\objects\fonctionetape.d)
I (REG_UTILES.inc)(0x640EE4CF)

Binary file not shown.

View file

@ -3,7 +3,7 @@
<title>Static Call Graph - [.\Objects\Reel_Etape0.axf]</title></head>
<body><HR>
<H1>Static Call Graph for image .\Objects\Reel_Etape0.axf</H1><HR>
<BR><P>#&#060CALLGRAPH&#062# ARM Linker, 5060960: Last Updated: Mon Mar 13 11:03:00 2023
<BR><P>#&#060CALLGRAPH&#062# ARM Linker, 5060960: Last Updated: Mon Mar 13 11:22:38 2023
<BR><P>
<H3>Maximum Stack Usage = 168 bytes + Unknown(Cycles, Untraceable Function Pointers)</H3><H3>
Call chain for Maximum Stack Depth:</H3>
@ -108,7 +108,7 @@ Global Symbols
<P><STRONG><a name="[49]"></a>__main</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, entry.o(.ARM.Collect$$$$00000000))
<BR>[Address Reference Count : 1]<UL><LI> startup_stm32f10x_cl.o(.text)
</UL>
<P><STRONG><a name="[6e]"></a>_main_stk</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, entry2.o(.ARM.Collect$$$$00000001))
<P><STRONG><a name="[70]"></a>_main_stk</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, entry2.o(.ARM.Collect$$$$00000001))
<P><STRONG><a name="[4b]"></a>_main_scatterload</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, entry5.o(.ARM.Collect$$$$00000004))
<BR><BR>[Calls]<UL><LI><a href="#[4c]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__scatterload
@ -118,17 +118,17 @@ Global Symbols
<BR><BR>[Called By]<UL><LI><a href="#[4c]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__scatterload
</UL>
<P><STRONG><a name="[6f]"></a>_main_clock</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, entry7b.o(.ARM.Collect$$$$00000008))
<P><STRONG><a name="[71]"></a>_main_clock</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, entry7b.o(.ARM.Collect$$$$00000008))
<P><STRONG><a name="[70]"></a>_main_cpp_init</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, entry8b.o(.ARM.Collect$$$$0000000A))
<P><STRONG><a name="[72]"></a>_main_cpp_init</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, entry8b.o(.ARM.Collect$$$$0000000A))
<P><STRONG><a name="[71]"></a>_main_init</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, entry9a.o(.ARM.Collect$$$$0000000B))
<P><STRONG><a name="[73]"></a>_main_init</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, entry9a.o(.ARM.Collect$$$$0000000B))
<P><STRONG><a name="[72]"></a>__rt_lib_shutdown_fini</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, entry12b.o(.ARM.Collect$$$$0000000E))
<P><STRONG><a name="[74]"></a>__rt_lib_shutdown_fini</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, entry12b.o(.ARM.Collect$$$$0000000E))
<P><STRONG><a name="[73]"></a>__rt_final_cpp</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, entry10a.o(.ARM.Collect$$$$0000000F))
<P><STRONG><a name="[75]"></a>__rt_final_cpp</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, entry10a.o(.ARM.Collect$$$$0000000F))
<P><STRONG><a name="[74]"></a>__rt_final_exit</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, entry11a.o(.ARM.Collect$$$$00000011))
<P><STRONG><a name="[76]"></a>__rt_final_exit</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, entry11a.o(.ARM.Collect$$$$00000011))
<P><STRONG><a name="[0]"></a>Reset_Handler</STRONG> (Thumb, 8 bytes, Stack size 0 bytes, startup_stm32f10x_cl.o(.text))
<BR>[Address Reference Count : 1]<UL><LI> startup_stm32f10x_cl.o(RESET)
@ -419,7 +419,7 @@ Global Symbols
<LI><a href="#[5b]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Init_Timer1
</UL>
<P><STRONG><a name="[75]"></a>__aeabi_cdcmpeq</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, cdcmple.o(.text), UNUSED)
<P><STRONG><a name="[77]"></a>__aeabi_cdcmpeq</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, cdcmple.o(.text), UNUSED)
<P><STRONG><a name="[69]"></a>__aeabi_cdcmple</STRONG> (Thumb, 48 bytes, Stack size 0 bytes, cdcmple.o(.text))
<BR><BR>[Called By]<UL><LI><a href="#[5b]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Init_Timer1
@ -438,7 +438,7 @@ Global Symbols
<LI><a href="#[5b]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Init_Timer1
</UL>
<P><STRONG><a name="[76]"></a>__I$use$fp</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, iusefp.o(.text), UNUSED)
<P><STRONG><a name="[78]"></a>__I$use$fp</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, iusefp.o(.text), UNUSED)
<P><STRONG><a name="[4e]"></a>_float_round</STRONG> (Thumb, 18 bytes, Stack size 0 bytes, fepilogue.o(.text))
<BR><BR>[Called By]<UL><LI><a href="#[4d]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__aeabi_fdiv
@ -473,19 +473,19 @@ Global Symbols
<BR>[Called By]<UL><LI><a href="#[4b]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_main_scatterload
</UL>
<P><STRONG><a name="[77]"></a>__scatterload_rt2</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, init.o(.text), UNUSED)
<P><STRONG><a name="[79]"></a>__scatterload_rt2</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, init.o(.text), UNUSED)
<P><STRONG><a name="[55]"></a>__aeabi_llsl</STRONG> (Thumb, 30 bytes, Stack size 0 bytes, llshl.o(.text))
<BR><BR>[Called By]<UL><LI><a href="#[50]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_double_epilogue
</UL>
<P><STRONG><a name="[78]"></a>_ll_shift_l</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, llshl.o(.text), UNUSED)
<P><STRONG><a name="[7a]"></a>_ll_shift_l</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, llshl.o(.text), UNUSED)
<P><STRONG><a name="[56]"></a>__aeabi_llsr</STRONG> (Thumb, 32 bytes, Stack size 0 bytes, llushr.o(.text))
<BR><BR>[Called By]<UL><LI><a href="#[50]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_double_epilogue
</UL>
<P><STRONG><a name="[79]"></a>_ll_ushift_r</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, llushr.o(.text), UNUSED)
<P><STRONG><a name="[7b]"></a>_ll_ushift_r</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, llushr.o(.text), UNUSED)
<P><STRONG><a name="[4a]"></a>Anim</STRONG> (Thumb, 32 bytes, Stack size 0 bytes, fonctiontimer.o(i.Anim))
<BR>[Address Reference Count : 1]<UL><LI> initialisation.o(i.Init_Cible)
@ -642,16 +642,18 @@ Global Symbols
</UL>
<BR>[Address Reference Count : 1]<UL><LI> startup_stm32f10x_cl.o(RESET)
</UL>
<P><STRONG><a name="[7a]"></a>__scatterload_copy</STRONG> (Thumb, 14 bytes, Stack size unknown bytes, handlers.o(i.__scatterload_copy), UNUSED)
<P><STRONG><a name="[7c]"></a>__scatterload_copy</STRONG> (Thumb, 14 bytes, Stack size unknown bytes, handlers.o(i.__scatterload_copy), UNUSED)
<P><STRONG><a name="[7b]"></a>__scatterload_null</STRONG> (Thumb, 2 bytes, Stack size unknown bytes, handlers.o(i.__scatterload_null), UNUSED)
<P><STRONG><a name="[7d]"></a>__scatterload_null</STRONG> (Thumb, 2 bytes, Stack size unknown bytes, handlers.o(i.__scatterload_null), UNUSED)
<P><STRONG><a name="[7c]"></a>__scatterload_zeroinit</STRONG> (Thumb, 14 bytes, Stack size unknown bytes, handlers.o(i.__scatterload_zeroinit), UNUSED)
<P><STRONG><a name="[7e]"></a>__scatterload_zeroinit</STRONG> (Thumb, 14 bytes, Stack size unknown bytes, handlers.o(i.__scatterload_zeroinit), UNUSED)
<P><STRONG><a name="[47]"></a>main</STRONG> (Thumb, 54 bytes, Stack size 0 bytes, principale.o(moncode))
<P><STRONG><a name="[47]"></a>main</STRONG> (Thumb, 20 bytes, Stack size 0 bytes, principale.o(moncode))
<BR><BR>[Stack]<UL><LI>Max Depth = 168<LI>Call Chain = main &rArr; Init_Cible &rArr; Init_Timer1 &rArr; __aeabi_dmul &rArr; _double_epilogue &rArr; _double_round
</UL>
<BR>[Calls]<UL><LI><a href="#[58]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Init_Cible
<LI><a href="#[6e]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Allume_LED
<LI><a href="#[6f]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Eteint_LED
</UL>
<BR>[Address Reference Count : 1]<UL><LI> entry9a.o(.ARM.Collect$$$$0000000B)
</UL>
@ -668,6 +670,14 @@ Global Symbols
<H3>
Local Symbols
</H3>
<P><STRONG><a name="[6f]"></a>Eteint_LED</STRONG> (Thumb, 22 bytes, Stack size 0 bytes, principale.o(moncode))
<BR><BR>[Called By]<UL><LI><a href="#[47]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;main
</UL>
<P><STRONG><a name="[6e]"></a>Allume_LED</STRONG> (Thumb, 22 bytes, Stack size 0 bytes, principale.o(moncode))
<BR><BR>[Called By]<UL><LI><a href="#[47]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;main
</UL>
<P><STRONG><a name="[6c]"></a>SetSysClock</STRONG> (Thumb, 8 bytes, Stack size 8 bytes, system_stm32f10x_1.o(i.SetSysClock))
<BR><BR>[Stack]<UL><LI>Max Depth = 20<LI>Call Chain = SetSysClock &rArr; SetSysClockTo72
</UL>

Binary file not shown.

View file

@ -40,32 +40,53 @@
;*******************************************************************************
; On eteint la LED
;*******************************************************************************
Eteint_LED PROC
PUSH {R12,R0} ;On stocke R12 dans R0
LDR R12,=GPIOBASEB ;On recupère l'adresse de base
MOV R5,#(0x01 << 10) ;1 décalé de 10 dans R5
STRH R5,[R12,#OffsetReset] ;On stocke la variable R5 à l'adresse 0x0X40010C14 (reset)
POP {R12,R0} ;On restitue R12 dans R0
BX LR ;Retour
;LDR R5,[R12,#0x0C] ;Valeur à l'adresse de l'output
;AND R5, R5,#~(0x01 << 10) ;OU LOGIQUE pour calculer la valeur a mettre dans l'output
;STRH R5,[R12,#0x0C] ;Etat du port B (R5) stocké dans l'output
ENDP
;*******************************************************************************
; On allume la LED
;*******************************************************************************
Allume_LED PROC
PUSH {R12,R0} ;On stocke R12 dans R0
LDR R12,=GPIOBASEB ;On recupère l'adresse de base
MOV R5,#(0x01 << 10) ;1 décalé de 10 dans R5
STRH R5,[R12,#OffsetSet] ;On stocke la variable R5 à l'adresse 0x0X40010C10 (set)
POP {R12,R0} ;On restitue R12 dans R0
BX LR ;Retour
;LDR R5,[R12,#0x0C] ;Valeur à l'adresse de l'output
;ORR R5, R5,#(0x01 << 10) ;OU LOGIQUE pour calculer la valeur a mettre dans l'output
;STRH R5,[R12,#0x0C] ;Etat du port B (R5) stocké dans l'output
ENDP
;*******************************************************************************
; Procédure principale et point d'entrée du projet
;*******************************************************************************
main PROC
main PROC
;*******************************************************************************
MOV R0,#0;
BL Init_Cible;
; SET
LDR R12,=0x40010C00
MOV R5,#(0x01 << 10)
STRH R5,[R12,#0x10] ;On stocke la variable R5 à l'adresse 0x0X40010C10
; RESET
MOV R5,#(0x01 << 10)
STRH R5,[R12,#0x14] ;On stocke la variable R5 à l'adresse 0x0X40010C10
; ALLUMER LA LED
LDR R5,[R12,#0x0C] ;Valeur à l'adresse de l'output
ORR R5, R5,#(0x01 << 10) ;OU LOGIQUE pour calculer la valeur a mettre dans l'output
STRH R5,[R12,#0x0C] ;Etat du port B (R5) stocké dans l'output
;ETEINDRE LA LED
LDR R5,[R12,#0x0C] ;Valeur à l'adresse de l'output
AND R5, R5,#~(0x01 << 10) ;OU LOGIQUE pour calculer la valeur a mettre dans l'output
STRH R5,[R12,#0x0C] ;Etat du port B (R5) stocké dans l'output
Boucle
BL Allume_LED
BL Eteint_LED
B Boucle
B . ; boucle inifinie terminale...