From 8205ae0ffcfa9892053ef4f2fdb86145e3077e17 Mon Sep 17 00:00:00 2001 From: joelimgu Date: Fri, 25 Nov 2022 18:32:03 +0100 Subject: [PATCH] SPI au debut --- FileInclude/Lib_Com_Periph_2022.lib | Bin 0 -> 15036 bytes FileInclude/MyI2C.h | 229 +++++++++++ FileInclude/MySPI.h | 129 +++++++ Listings/Projet1_Simulation.map | 465 ++++++++++++----------- Objects/Projet1_Réel.dep | 4 +- Objects/Projet1_Simulation.axf | Bin 258392 -> 261084 bytes Objects/Projet1_Simulation.build_log.htm | 8 +- Objects/Projet1_Simulation.htm | 190 +++++---- Objects/Projet1_Simulation.lnp | 1 + Objects/batterie.o | Bin 259220 -> 259220 bytes Objects/driver_gpio.o | Bin 259760 -> 259760 bytes Objects/main.crf | Bin 241028 -> 241464 bytes Objects/main.d | 1 + Objects/main.o | Bin 265684 -> 267104 bytes Objects/myadc.o | Bin 258432 -> 258432 bytes Objects/mygirouette.o | Bin 259944 -> 259944 bytes Objects/mytimer.o | Bin 273540 -> 273540 bytes Objects/myvoile.o | Bin 257096 -> 257096 bytes Objects/plateau.o | Bin 261852 -> 261852 bytes Objects/system_stm32f10x.o | Bin 258328 -> 258328 bytes Objects/telecommande.o | Bin 264016 -> 264016 bytes Projet1.uvguix.imbergam | 48 +-- Projet1.uvoptx | 17 + Projet1.uvprojx | 10 + Sources/main.c | 20 +- 25 files changed, 797 insertions(+), 325 deletions(-) create mode 100644 FileInclude/Lib_Com_Periph_2022.lib create mode 100644 FileInclude/MyI2C.h create mode 100644 FileInclude/MySPI.h diff --git a/FileInclude/Lib_Com_Periph_2022.lib b/FileInclude/Lib_Com_Periph_2022.lib new file mode 100644 index 0000000000000000000000000000000000000000..ce805ab1d01ff2c58d03e536cca4cebe04e07b5e GIT binary patch literal 15036 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 literal 0 HcmV?d00001 diff --git a/FileInclude/MyI2C.h b/FileInclude/MyI2C.h new file mode 100644 index 0000000..289c9ed --- /dev/null +++ b/FileInclude/MyI2C.h @@ -0,0 +1,229 @@ +#ifndef _I2C_ +#define _I2C_ + +#include "stm32f10x.h" + +/************************************************************************************* +===================== By Periph team INSA GEI 2022 =========================== +*************************************************************************************/ + +/* +************************************************************************************* +===================== I2C les IO STM32F103 ================================= +************************************************************************************* + +Les IO sont pris en charge par la lib, pas besoin de faire les configurations Alt OD. + +**I2C1** +SCL PB6 +SDA PB7 + +**I2C2** +SCL PB10 +SDA PB11 + + +************************************************************************************* +==================== Fondamentaux I2C ========================================== +************************************************************************************* +- Bus synchrone Low speed (<100kHz) ou high speed (=400kHz), Ici Low speed 100kHz. +- Transfert octet par octet, poids fort en premier, avec aquittement pour chaque octet +- Deux lignes SDA et SCL (horloge) en open drain, repos '1' +- bit "normal" = SDA stable lors du pulse SCL (ie durant l'état haut de SCL, SDA est stable) +- bit Start/Stop/Restart = SDA non stable lorsque SCL vaut '1' (violation règle précédente) + * Start : front descendant de SDA lorsque SCL vaut '1' + * Stop : front montant de SDA lorsque SCL = '1' + * Restart = Start en cours de trame (typiquement pour changer Write/read). +- uC en Mode Master uniquement (c'est notre choix) : c'est le uC qui est maître de l'horloge SCL. +- Le Slave a une @ 7 bits. On ajoute un bit LSB qui est /WR (donc 0 pour écriture, 1 pour lecture) +- Une adresse s'écrit donc |a6 a5 a4 a3 a2 a1 a0 /WR| ce qui donne 8 bits. Elle indique une future +lecture ou écriture. +On parle d'@ 7 bits en regroupant |a6 a5 a4 a3 a2 a1 a0| +On parle d'@ 8 bits en regroupant |a6 a5 a4 a3 a2 a1 a0 /WR| (donc une @ écriture, une @ lecture) +NB : préférer le concept @7bits...c'est plus clair. + +- On peut lire ou écrire une ou plusieurs données à la suite. C'est lors de l'envoie de l'adresse Slave +par le Master que le sens à venir pour les datas est indiqué. +- En écriture, + * les Ack sont faits par le slave après chaque octet envoyé par le master (Ack = mise à 0 le bit 9). +- En lecture, + * dès que le l@ slave est transmise (/RW = 1), et le Ack réalisé, le slave positionne le bit 7 + du prochain octet à lire sur SDA par anticipation , + * le master enchaîne ses pulses (9), lors du pulse 9 (le dernier) c'est le master qui acquite. + * Après chaque acquitement, le Slave amorce le prochain octet en positionnant son bit 7 sur SDA + * Après le dernier octet, le Master génère un stop. + * Pour pouvoir générer le stop, le Master doit piloter SDA, or ce n'est pas possible puisque + le Slave positionne le futur bit 7 ... Pour régler ce problème : + lors du dernier transfert, le Master N'acquitte PAS (NACK). Ainsi le Slave ne + propose plus le bit 7 du prochain octet sur SDA et libère SDA. Le Master peut alors clôturer la + communication avec un Stop. + + + + +======= Echange typique avec un Slave ================================================================ +- Une lecture ou écriture se fait vers un Slave et à partir d'une adresse mémoire donnée (pointeur interne). +Ce pointeur est automatiquement incrémenté dans le slave lors des accès écriture ou lecture. + +- Ecriture de N octets , trame complète (@ = adresse slave, pt = valeur de chargement du pointeur interne) +|Start Cond |@6|@5|@4|@3|@2|@1|@0| Wr =0 |Slave ACK| +|pt7|pt6|pt5|pt4|pt3|pt2|pt1|pt0|Slave ACK| +|d7|d6|d5|d4|d3|d2|d1|d0|Slave ACK| (data 1) +..... +|d7|d6|d5|d4|d3|d2|d1|d0|Salve ACK|Stop Cond| (data N) + +- Lecture de N octets à partir d'une adresse de pointeur donnée +|Start Cond |@6|@5|@4|@3|@2|@1|@0| Wr =0 |Slave ACK| +|pt7|pt6|pt5|pt4|pt3|pt2|pt1|pt0|Slave ACK| +|ReStart Cond |@6|@5|@4|@3|@2|@1|@0| Wr =1 |Slave ACK| (NB: restart nécessaire pour changer écriture / lecture) +|d7|d6|d5|d4|d3|d2|d1|d0|Master ACK| (data 1) +..... +|d7|d6|d5|d4|d3|d2|d1|d0|Master ACK| (data N-1) +|d7|d6|d5|d4|d3|d2|d1|d0|Master NACK|Stop Cond| (data N) + + + + + +************************************************************************************* +==================== La lib I2C ========================================== +************************************************************************************* + +3 fonctions essentielles : +MyI2C_Init +MyI2C_PutString +MyI2C_GetString + +1 fonction spéciale : MyI2C_Get_Error + +Les fonctions Put/Get string fonctionnent sur le principe classique décrit précédemment +(Slave@, Pter @, Data...). +La fonction init prend parmi ses paramètres le nom d'une fct callback d'erreur. +En fait, le driver gère en IT les erreurs possibles I2C. La fonction MyI2C_Get_Error permet de +recevoir un code erreur. +Il est conseillé d'utiliser ce callback. Si on tombe dedans, c'est qu'une erreur s'est produite. +Si le code erreur est "inconnu", souvent c'est qu'il y a un soucis à l'adressage slave: +Vérifier alors la connectique physique SDA/SCL ainsi que l'alimentation du slave ou tout simplement +l'@ slave ! + + +==========================================================================================*/ + + + + + +/*========================================================================================= + GESTION ERREURS +========================================================================================= */ +typedef enum +{ + OK, + BusError, // + AckFail, // Pas,d'ack + TimeOut, // SCL est resté plus de 25ms à l'état bas + UnknownError // IT erreur déclenchée mais pas de flag explicite ... +} MyI2C_Err_Enum; + + + + +/** + * @brief Retourne les erreurs I2C + * @param I2Cx: where x can be 1 or 2 to select the I2C peripheral. + * @retval Type d'erreur rencontrée , voir MyI2C_Err_Enum + */ + +MyI2C_Err_Enum MyI2C_Get_Error(I2C_TypeDef * I2Cx); + + + +/*========================================================================================= + INITIALISATION I2C +========================================================================================= */ + + +/** + * @brief Initialise l'interface I2C (1 ou 2) + * @param I2Cx: where x can be 1 or 2 to select the I2C peripheral. + * @param char IT_Prio_I2CErr 0 à 15 (utilisé en cas d'erreur, IT courte et non bloquante + * @param *ITErr_function : callback à utiliser pour sortir d'un plantage transmission + * @retval None + * @Example MyI2C_Init(I2C1, 2,My_CallbackErr); + + + + */ +void MyI2C_Init(I2C_TypeDef * I2Cx, char IT_Prio_I2CErr, void (*ITErr_function) (void)); + + + +/*========================================================================================= + EMISSION I2C : PutString +========================================================================================= */ + + +// Structure de données pour l'émission ou la réception I2C : +typedef struct +{ + char SlaveAdress7bits; // l'adresse I2C du slave device + char * Ptr_Data; // l'adresse du début de tableau char à recevoir/émettre (tableau en RAM uC) + char Nb_Data; // le nbre d'octets à envoyer / recevoir +} +MyI2C_RecSendData_Typedef; + + + +/** + * @brief|Start Cond |@6|@5|@4|@3|@2|@1|@0| Wr =0 |Slave ACK| + |pt7|pt6|pt5|pt4|pt3|pt2|pt1|pt0|Slave ACK| + |d7|d6|d5|d4|d3|d2|d1|d0|Slave ACK| (data 1) + ..... + |d7|d6|d5|d4|d3|d2|d1|d0|Salve ACK|Stop Cond| (data N) + + * @param I2Cx: where x can be 1 or 2 to select the I2C peripheral. + * @param PteurAdress = adresse de démarrage écriture à l'interieur du slave I2C + * @param DataToSend, adresse de la structure qui contient les informations à transmettre + voir définition MyI2C_RecSendData_Typedef + * @retval None + * @Example MyI2C_PutString(I2C1,0xAA, &MyI2C_SendTimeData); + * Ecrit dans le slave câblé sur I2C1 à partir de l'@ mémoire interne Slave 0xAA + + */ +void MyI2C_PutString(I2C_TypeDef * I2Cx, char PteurAdress, MyI2C_RecSendData_Typedef * DataToSend); + + + + + + + + + + +/*========================================================================================= + Réception I2C : GetString +========================================================================================= */ + +/** + * @brief |Start Cond |@6|@5|@4|@3|@2|@1|@0| Wr =0 |Slave ACK| + |pt7|pt6|pt5|pt4|pt3|pt2|pt1|pt0|Slave ACK| + |ReStart Cond |@6|@5|@4|@3|@2|@1|@0| Wr =1 |Slave ACK| + |d7|d6|d5|d4|d3|d2|d1|d0|Master ACK| (data 1) + ..... + |d7|d6|d5|d4|d3|d2|d1|d0|Master NACK|Stop Cond| (data N) + + * @param I2Cx: where x can be 1 or 2 to select the I2C peripheral. + * @param PteurAdress = adresse de démarrage lecture à l'interieur du slave I2C + * @param DataToSend, adresse de la structure qui contient les informations nécessaires à la + réception des données voir définition MyI2C_RecSendData_Typedef + * @retval None + * @Example MyI2C_GetString(I2C1,0xAA, &MyI2C_RecevievedTimeData); + Lit dans le slave câblé sur I2C1 à partir de l'@ mémoire interne Slave 0xAA + */ +void MyI2C_GetString(I2C_TypeDef * I2Cx, char PteurAdress, MyI2C_RecSendData_Typedef * DataToReceive); + + + + +#endif diff --git a/FileInclude/MySPI.h b/FileInclude/MySPI.h new file mode 100644 index 0000000..b5f9aef --- /dev/null +++ b/FileInclude/MySPI.h @@ -0,0 +1,129 @@ + +#ifndef INC_MYSPI_H_ +#define INC_MYSPI_H_ + +#include "stm32f10x.h" + +/************************************************************************************* +===================== By Periph team INSA GEI 2022 =========================== +*************************************************************************************/ + +/* +************************************************************************************* +===================== I2C les IO STM32F103 ================================= +************************************************************************************* +Les IO sont pris en charge par la lib, pas besoin de faire les configurations + + +Sur la Nucléo , le SPI1 est perturbé par la LED2 (PA5), mais doit pouvoir subir les front SCK qd même (LED clignote vite..) +le SPI2 n'est pas utilisable car pin non connectées par défaut (sauf à modifier les SB). En fait la Nucléo fait un choix entre SPI1 +et SPI2 par soudage jumper (SB). + +-> Utiliser SPI1 avec la carte Nucléo + + * **IO SPI 1** + SPI1_NSS PA4 + SPI1_SCK PA5 + SPI1_MISO PA6 + SPI1_MOSI PA7 + + **IO SPI 2** + SPI2_NSS PB12 + SPI2_SCK PB13 + SPI2_MISO PB14 + SPI2_MOSI PB15 + + + + + +************************************************************************************* +==================== Fondamentaux SPI ========================================== +************************************************************************************* +- Bus Synchrone, 4 fils (même si on peut l'utiliser en 3 fils) +- Transfert à l'octet +- Protocole entre un Master (contrôle SCK) et un Slave +- SCK permet de synchroniser les bits de chaque octet. Il se configure par : + * son niveau de repos : ici niveau '1' + * le front actif de synchronisation pour chaque bit : ici front montant (front up durant bit stable) +- /CS ou /NSS active le slave sur l'état bas +- MOSI : Master Out Slave In (donc data circulant du Master vers le Slave, donc écriture dans le Slave) +- MISO : Master In Slave Out (donc data circulant du Slave vers le Master, donc lecture du Slave) + +Bien que la lib propose une fonction d'écriture et de lecture : + * une écriture s'accompagne obligatoirement d'une lecture (bidon) + * une lecture s'accompagne obligatoirement d'une écriture (bidon) +La gestion /CS = /NSS se fait "à la main". On peut alors lire toute une série d'octets +en laissant /CS à l'état bas pendant toute la durée de circulation des octets. + + +************************************************************************************* +==================== La lib SPI ========================================== +************************************************************************************* + +fonctions essentielles : + +MySPI_Init +MySPI_Send +MySPI_Read +MySPI_Set_NSS +MySPI_Clear_NSS + + +==========================================================================================*/ + + + + +/*========================================================================================= + INITIALISATION SPI +========================================================================================= */ + +/** + * @brief Configure le SPI spécifié : FSCK = 281kHz, Repos SCK = '1', Front actif = up + Gestion /CS logicielle à part, configure les 4 IO + - SCK, MOSI : Out Alt push pull + - MISO : floating input + - /NSS (/CS) : Out push pull + * @param SPI_TypeDef * SPI : SPI1 ou SPI2 + */ +void MySPI_Init(SPI_TypeDef * SPI); + + + +/** + * @brief Envoie un octet (/CS non géré, à faire logiciellement) + Plus en détail, émission de l'octet souhaité sur MOSI + Lecture en même temps d'un octet poubelle sur MISO (non exploité) + * @param : char ByteToSend : l'octet à envoyer + */ +void MySPI_Send(char ByteToSend); + + +/** + * @brief Reçoit un octet (/CS non géré, à faire logiciellement) + Plus en détail, émission d'un octet bidon sur MOSI (0x00) + pour élaborer les 8 fronts sur SCK et donc piloter le slave en lecture + qui répond sur MISO + * @param : none + * @retval : l'octet lu. + */ +char MySPI_Read(void); + + + +/** + * @brief Positionne /CS = /NSS à '1'. A utiliser pour borner les octets à transmettre/recevoir + * @param : none + */ +void MySPI_Set_NSS(void); + + + +/** + * @brief Positionne /CS = /NSS à '0'. A utiliser pour borner les octets à transmettre/recevoir + * @param :none + */ +void MySPI_Clear_NSS(void); + +#endif diff --git a/Listings/Projet1_Simulation.map b/Listings/Projet1_Simulation.map index 9e8e674..a1404ff 100644 --- a/Listings/Projet1_Simulation.map +++ b/Listings/Projet1_Simulation.map @@ -17,7 +17,12 @@ Section Cross References main.o(i.main) refers to plateau.o(i.Init_Plateau) for Init_Plateau main.o(i.main) refers to mygirouette.o(i.Init_Girouette) for Init_Girouette main.o(i.main) refers to myvoile.o(i.MyVoile_Init) for MyVoile_Init + main.o(i.main) refers to myspi.o(i.MySPI_Init) for MySPI_Init + main.o(i.main) refers to myspi.o(i.MySPI_Clear_NSS) for MySPI_Clear_NSS + main.o(i.main) refers to myspi.o(i.MySPI_Send) for MySPI_Send + main.o(i.main) refers to myspi.o(i.MySPI_Set_NSS) for MySPI_Set_NSS main.o(i.main) refers to batterie.o(i.Init_Batterie) for Init_Batterie + main.o(i.main) refers to myspi.o(i.MySPI_Read) for MySPI_Read main.o(i.main) refers to mygirouette.o(i.Get_Angle) for Get_Angle main.o(i.main) refers to myvoile.o(i.Set_Voile) for Set_Voile main.o(i.main) refers to main.o(.data) for Data @@ -90,6 +95,12 @@ Section Cross References system_stm32f10x.o(i.SetSysClock) refers to system_stm32f10x.o(i.SetSysClockTo72) for SetSysClockTo72 system_stm32f10x.o(i.SystemCoreClockUpdate) refers to system_stm32f10x.o(.data) for SystemCoreClock system_stm32f10x.o(i.SystemInit) refers to system_stm32f10x.o(i.SetSysClock) for SetSysClock + myspi.o(i.MySPI_Clear_NSS) refers to myspi.o(.data) for ActiveSPI + myspi.o(i.MySPI_Init) refers to myspi.o(i.MySPI_Set_NSS) for MySPI_Set_NSS + myspi.o(i.MySPI_Init) refers to myspi.o(.data) for ActiveSPI + myspi.o(i.MySPI_Read) refers to myspi.o(.data) for ActiveSPI + myspi.o(i.MySPI_Send) refers to myspi.o(.data) for ActiveSPI + myspi.o(i.MySPI_Set_NSS) refers to myspi.o(.data) for ActiveSPI entry.o(.ARM.Collect$$$$00000000) refers (Special) to entry10a.o(.ARM.Collect$$$$0000000F) for __rt_final_cpp entry.o(.ARM.Collect$$$$00000000) refers (Special) to entry11a.o(.ARM.Collect$$$$00000011) for __rt_final_exit entry.o(.ARM.Collect$$$$00000000) refers (Special) to entry12b.o(.ARM.Collect$$$$0000000E) for __rt_lib_shutdown_fini @@ -168,8 +179,11 @@ Removing Unused input sections from the image. Removing system_stm32f10x.o(.rrx_text), (6 bytes). Removing system_stm32f10x.o(i.SystemCoreClockUpdate), (164 bytes). Removing system_stm32f10x.o(.data), (20 bytes). + Removing myspi.o(.rev16_text), (4 bytes). + Removing myspi.o(.revsh_text), (4 bytes). + Removing myspi.o(.rrx_text), (6 bytes). -37 unused section(s) (total 876 bytes) removed from the image. +40 unused section(s) (total 890 bytes) removed from the image. ============================================================================== @@ -179,35 +193,35 @@ Image Symbol Table Symbol Name Value Ov Type Size Object(Section) - ../clib/microlib/init/entry.s 0x00000000 Number 0 entry11a.o ABSOLUTE - ../clib/microlib/init/entry.s 0x00000000 Number 0 entry5.o ABSOLUTE - ../clib/microlib/init/entry.s 0x00000000 Number 0 entry7b.o ABSOLUTE - ../clib/microlib/init/entry.s 0x00000000 Number 0 entry.o ABSOLUTE - ../clib/microlib/init/entry.s 0x00000000 Number 0 entry9a.o ABSOLUTE - ../clib/microlib/init/entry.s 0x00000000 Number 0 entry9b.o ABSOLUTE - ../clib/microlib/init/entry.s 0x00000000 Number 0 entry10a.o ABSOLUTE - ../clib/microlib/init/entry.s 0x00000000 Number 0 entry10b.o ABSOLUTE ../clib/microlib/init/entry.s 0x00000000 Number 0 entry12b.o ABSOLUTE - ../clib/microlib/init/entry.s 0x00000000 Number 0 entry12a.o ABSOLUTE - ../clib/microlib/init/entry.s 0x00000000 Number 0 entry11b.o ABSOLUTE - ../clib/microlib/init/entry.s 0x00000000 Number 0 entry7a.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 entry2.o ABSOLUTE + ../clib/microlib/init/entry.s 0x00000000 Number 0 entry12a.o ABSOLUTE + ../clib/microlib/init/entry.s 0x00000000 Number 0 entry.o ABSOLUTE + ../clib/microlib/init/entry.s 0x00000000 Number 0 entry11b.o ABSOLUTE + ../clib/microlib/init/entry.s 0x00000000 Number 0 entry11a.o ABSOLUTE + ../clib/microlib/init/entry.s 0x00000000 Number 0 entry7a.o ABSOLUTE + ../clib/microlib/init/entry.s 0x00000000 Number 0 entry5.o ABSOLUTE + ../clib/microlib/init/entry.s 0x00000000 Number 0 entry9a.o ABSOLUTE + ../clib/microlib/init/entry.s 0x00000000 Number 0 entry7b.o ABSOLUTE + ../clib/microlib/init/entry.s 0x00000000 Number 0 entry10b.o ABSOLUTE + ../clib/microlib/init/entry.s 0x00000000 Number 0 entry8a.o ABSOLUTE + ../clib/microlib/init/entry.s 0x00000000 Number 0 entry10a.o ABSOLUTE + ../clib/microlib/init/entry.s 0x00000000 Number 0 entry9b.o ABSOLUTE + ../clib/microlib/longlong.c 0x00000000 Number 0 llshl.o ABSOLUTE ../clib/microlib/longlong.c 0x00000000 Number 0 llushr.o ABSOLUTE ../clib/microlib/longlong.c 0x00000000 Number 0 llsshr.o ABSOLUTE - ../clib/microlib/longlong.c 0x00000000 Number 0 llshl.o ABSOLUTE ../clib/microlib/stubs.s 0x00000000 Number 0 iusefp.o ABSOLUTE ../fplib/microlib/d2f.c 0x00000000 Number 0 d2f.o ABSOLUTE ../fplib/microlib/fpadd.c 0x00000000 Number 0 dadd.o ABSOLUTE ../fplib/microlib/fpdiv.c 0x00000000 Number 0 ddiv.o ABSOLUTE - ../fplib/microlib/fpepilogue.c 0x00000000 Number 0 fepilogue.o ABSOLUTE ../fplib/microlib/fpepilogue.c 0x00000000 Number 0 depilogue.o ABSOLUTE + ../fplib/microlib/fpepilogue.c 0x00000000 Number 0 fepilogue.o ABSOLUTE ../fplib/microlib/fpfix.c 0x00000000 Number 0 ffixui.o ABSOLUTE ../fplib/microlib/fpflt.c 0x00000000 Number 0 dfltui.o ABSOLUTE ../fplib/microlib/fpflt.c 0x00000000 Number 0 ffltui.o ABSOLUTE - ../fplib/microlib/fpmul.c 0x00000000 Number 0 dmul.o ABSOLUTE ../fplib/microlib/fpmul.c 0x00000000 Number 0 fmul.o ABSOLUTE + ../fplib/microlib/fpmul.c 0x00000000 Number 0 dmul.o ABSOLUTE FileInclude\Batterie.c 0x00000000 Number 0 batterie.o ABSOLUTE FileInclude\Driver_GPIO.c 0x00000000 Number 0 driver_gpio.o ABSOLUTE FileInclude\MyADC.c 0x00000000 Number 0 myadc.o ABSOLUTE @@ -222,6 +236,8 @@ Image Symbol Table FileInclude\\MyTimer.c 0x00000000 Number 0 mytimer.o ABSOLUTE FileInclude\\Plateau.c 0x00000000 Number 0 plateau.o ABSOLUTE FileInclude\\Telecommande.c 0x00000000 Number 0 telecommande.o ABSOLUTE + MyDrivers\MySPI.c 0x00000000 Number 0 myspi.o ABSOLUTE + MyDrivers\\MySPI.c 0x00000000 Number 0 myspi.o ABSOLUTE MyVoile.c 0x00000000 Number 0 myvoile.o ABSOLUTE MyVoile.c 0x00000000 Number 0 myvoile.o ABSOLUTE RTE\Device\STM32F103RB\startup_stm32f10x_md.s 0x00000000 Number 0 startup_stm32f10x_md.o ABSOLUTE @@ -274,51 +290,57 @@ Image Symbol Table i.MyGPIO_Init 0x080009d8 Section 0 driver_gpio.o(i.MyGPIO_Init) i.MyGPIO_Reset 0x08000a8c Section 0 driver_gpio.o(i.MyGPIO_Reset) i.MyGPIO_Set 0x08000a9a Section 0 driver_gpio.o(i.MyGPIO_Set) - i.MyTimer_ActiveIT 0x08000aa8 Section 0 mytimer.o(i.MyTimer_ActiveIT) - i.MyTimer_Base_Init 0x08000b58 Section 0 mytimer.o(i.MyTimer_Base_Init) - i.MyTimer_Base_Start 0x08000bc4 Section 0 mytimer.o(i.MyTimer_Base_Start) - i.MyTimer_PWM 0x08000bd0 Section 0 mytimer.o(i.MyTimer_PWM) - i.MyVoile_Init 0x08000db8 Section 0 myvoile.o(i.MyVoile_Init) - i.Send_Char 0x08000de0 Section 0 telecommande.o(i.Send_Char) - i.Send_Message 0x08000dfc Section 0 telecommande.o(i.Send_Message) - i.SetSysClock 0x08000e14 Section 0 system_stm32f10x.o(i.SetSysClock) - SetSysClock 0x08000e15 Thumb Code 8 system_stm32f10x.o(i.SetSysClock) - i.SetSysClockTo72 0x08000e1c Section 0 system_stm32f10x.o(i.SetSysClockTo72) - SetSysClockTo72 0x08000e1d Thumb Code 214 system_stm32f10x.o(i.SetSysClockTo72) - i.Set_Direction 0x08000efc Section 0 plateau.o(i.Set_Direction) - i.Set_Duty_Cycle 0x08000f24 Section 0 mytimer.o(i.Set_Duty_Cycle) - i.Set_Moteur_Plateau 0x08000f4c Section 0 plateau.o(i.Set_Moteur_Plateau) - i.Set_PWM_PRCT 0x08000f64 Section 0 mytimer.o(i.Set_PWM_PRCT) - i.Set_Vitesse 0x08000f9c Section 0 plateau.o(i.Set_Vitesse) - i.Set_Voile 0x08000fbc Section 0 myvoile.o(i.Set_Voile) - i.SystemInit 0x080010a8 Section 0 system_stm32f10x.o(i.SystemInit) - i.TIM1_UP_IRQHandler 0x08001108 Section 0 mytimer.o(i.TIM1_UP_IRQHandler) - i.TIM2_IRQHandler 0x0800112c Section 0 mytimer.o(i.TIM2_IRQHandler) - i.TIM3_IRQHandler 0x08001150 Section 0 mytimer.o(i.TIM3_IRQHandler) - i.TIM4_IRQHandler 0x08001174 Section 0 mytimer.o(i.TIM4_IRQHandler) - i.USART1_IRQHandler 0x08001198 Section 0 telecommande.o(i.USART1_IRQHandler) - i.__scatterload_copy 0x080011b4 Section 14 handlers.o(i.__scatterload_copy) - i.__scatterload_null 0x080011c2 Section 2 handlers.o(i.__scatterload_null) - i.__scatterload_zeroinit 0x080011c4 Section 14 handlers.o(i.__scatterload_zeroinit) - i.f 0x080011d4 Section 0 main.o(i.f) - i.handler 0x08001214 Section 0 main.o(i.handler) - i.initADC 0x080012d8 Section 0 myadc.o(i.initADC) - i.main 0x08001314 Section 0 main.o(i.main) - i.read 0x08001388 Section 0 myadc.o(i.read) - i.startADC 0x080013b0 Section 0 myadc.o(i.startADC) - .constdata 0x080013c4 Section 36 mygirouette.o(.constdata) - .constdata 0x080013e8 Section 8 myvoile.o(.constdata) - .conststring 0x080013f0 Section 8 main.o(.conststring) - .data 0x20000000 Section 36 main.o(.data) - .data 0x20000024 Section 16 mytimer.o(.data) - .data 0x20000034 Section 4 mygirouette.o(.data) - .data 0x20000038 Section 16 plateau.o(.data) - .data 0x20000048 Section 4 batterie.o(.data) - .data 0x2000004c Section 8 telecommande.o(.data) - .bss 0x20000054 Section 24 plateau.o(.bss) - .bss 0x2000006c Section 12 batterie.o(.bss) - .bss 0x20000078 Section 52 telecommande.o(.bss) - STACK 0x200000b0 Section 1024 startup_stm32f10x_md.o(STACK) + i.MySPI_Clear_NSS 0x08000aa8 Section 0 myspi.o(i.MySPI_Clear_NSS) + i.MySPI_Init 0x08000ad8 Section 0 myspi.o(i.MySPI_Init) + i.MySPI_Read 0x08000ccc Section 0 myspi.o(i.MySPI_Read) + i.MySPI_Send 0x08000d20 Section 0 myspi.o(i.MySPI_Send) + i.MySPI_Set_NSS 0x08000d70 Section 0 myspi.o(i.MySPI_Set_NSS) + i.MyTimer_ActiveIT 0x08000d9c Section 0 mytimer.o(i.MyTimer_ActiveIT) + i.MyTimer_Base_Init 0x08000e4c Section 0 mytimer.o(i.MyTimer_Base_Init) + i.MyTimer_Base_Start 0x08000eb8 Section 0 mytimer.o(i.MyTimer_Base_Start) + i.MyTimer_PWM 0x08000ec4 Section 0 mytimer.o(i.MyTimer_PWM) + i.MyVoile_Init 0x080010ac Section 0 myvoile.o(i.MyVoile_Init) + i.Send_Char 0x080010d4 Section 0 telecommande.o(i.Send_Char) + i.Send_Message 0x080010f0 Section 0 telecommande.o(i.Send_Message) + i.SetSysClock 0x08001108 Section 0 system_stm32f10x.o(i.SetSysClock) + SetSysClock 0x08001109 Thumb Code 8 system_stm32f10x.o(i.SetSysClock) + i.SetSysClockTo72 0x08001110 Section 0 system_stm32f10x.o(i.SetSysClockTo72) + SetSysClockTo72 0x08001111 Thumb Code 214 system_stm32f10x.o(i.SetSysClockTo72) + i.Set_Direction 0x080011f0 Section 0 plateau.o(i.Set_Direction) + i.Set_Duty_Cycle 0x08001218 Section 0 mytimer.o(i.Set_Duty_Cycle) + i.Set_Moteur_Plateau 0x08001240 Section 0 plateau.o(i.Set_Moteur_Plateau) + i.Set_PWM_PRCT 0x08001258 Section 0 mytimer.o(i.Set_PWM_PRCT) + i.Set_Vitesse 0x08001290 Section 0 plateau.o(i.Set_Vitesse) + i.Set_Voile 0x080012b0 Section 0 myvoile.o(i.Set_Voile) + i.SystemInit 0x0800139c Section 0 system_stm32f10x.o(i.SystemInit) + i.TIM1_UP_IRQHandler 0x080013fc Section 0 mytimer.o(i.TIM1_UP_IRQHandler) + i.TIM2_IRQHandler 0x08001420 Section 0 mytimer.o(i.TIM2_IRQHandler) + i.TIM3_IRQHandler 0x08001444 Section 0 mytimer.o(i.TIM3_IRQHandler) + i.TIM4_IRQHandler 0x08001468 Section 0 mytimer.o(i.TIM4_IRQHandler) + i.USART1_IRQHandler 0x0800148c Section 0 telecommande.o(i.USART1_IRQHandler) + i.__scatterload_copy 0x080014a8 Section 14 handlers.o(i.__scatterload_copy) + i.__scatterload_null 0x080014b6 Section 2 handlers.o(i.__scatterload_null) + i.__scatterload_zeroinit 0x080014b8 Section 14 handlers.o(i.__scatterload_zeroinit) + i.f 0x080014c8 Section 0 main.o(i.f) + i.handler 0x08001508 Section 0 main.o(i.handler) + i.initADC 0x080015cc Section 0 myadc.o(i.initADC) + i.main 0x08001608 Section 0 main.o(i.main) + i.read 0x080016c8 Section 0 myadc.o(i.read) + i.startADC 0x080016f0 Section 0 myadc.o(i.startADC) + .constdata 0x08001704 Section 36 mygirouette.o(.constdata) + .constdata 0x08001728 Section 8 myvoile.o(.constdata) + .conststring 0x08001730 Section 8 main.o(.conststring) + .data 0x20000000 Section 44 main.o(.data) + .data 0x2000002c Section 16 mytimer.o(.data) + .data 0x2000003c Section 4 mygirouette.o(.data) + .data 0x20000040 Section 16 plateau.o(.data) + .data 0x20000050 Section 4 batterie.o(.data) + .data 0x20000054 Section 8 telecommande.o(.data) + .data 0x2000005c Section 4 myspi.o(.data) + .bss 0x20000060 Section 24 plateau.o(.bss) + .bss 0x20000078 Section 12 batterie.o(.bss) + .bss 0x20000084 Section 52 telecommande.o(.bss) + STACK 0x200000b8 Section 1024 startup_stm32f10x_md.o(STACK) Global Symbols @@ -429,62 +451,70 @@ Image Symbol Table MyGPIO_Init 0x080009d9 Thumb Code 166 driver_gpio.o(i.MyGPIO_Init) MyGPIO_Reset 0x08000a8d Thumb Code 14 driver_gpio.o(i.MyGPIO_Reset) MyGPIO_Set 0x08000a9b Thumb Code 12 driver_gpio.o(i.MyGPIO_Set) - MyTimer_ActiveIT 0x08000aa9 Thumb Code 148 mytimer.o(i.MyTimer_ActiveIT) - MyTimer_Base_Init 0x08000b59 Thumb Code 98 mytimer.o(i.MyTimer_Base_Init) - MyTimer_Base_Start 0x08000bc5 Thumb Code 10 mytimer.o(i.MyTimer_Base_Start) - MyTimer_PWM 0x08000bd1 Thumb Code 472 mytimer.o(i.MyTimer_PWM) - MyVoile_Init 0x08000db9 Thumb Code 32 myvoile.o(i.MyVoile_Init) - Send_Char 0x08000de1 Thumb Code 22 telecommande.o(i.Send_Char) - Send_Message 0x08000dfd Thumb Code 24 telecommande.o(i.Send_Message) - Set_Direction 0x08000efd Thumb Code 34 plateau.o(i.Set_Direction) - Set_Duty_Cycle 0x08000f25 Thumb Code 40 mytimer.o(i.Set_Duty_Cycle) - Set_Moteur_Plateau 0x08000f4d Thumb Code 24 plateau.o(i.Set_Moteur_Plateau) - Set_PWM_PRCT 0x08000f65 Thumb Code 56 mytimer.o(i.Set_PWM_PRCT) - Set_Vitesse 0x08000f9d Thumb Code 22 plateau.o(i.Set_Vitesse) - Set_Voile 0x08000fbd Thumb Code 210 myvoile.o(i.Set_Voile) - SystemInit 0x080010a9 Thumb Code 78 system_stm32f10x.o(i.SystemInit) - TIM1_UP_IRQHandler 0x08001109 Thumb Code 28 mytimer.o(i.TIM1_UP_IRQHandler) - TIM2_IRQHandler 0x0800112d Thumb Code 32 mytimer.o(i.TIM2_IRQHandler) - TIM3_IRQHandler 0x08001151 Thumb Code 28 mytimer.o(i.TIM3_IRQHandler) - TIM4_IRQHandler 0x08001175 Thumb Code 28 mytimer.o(i.TIM4_IRQHandler) - USART1_IRQHandler 0x08001199 Thumb Code 18 telecommande.o(i.USART1_IRQHandler) - __scatterload_copy 0x080011b5 Thumb Code 14 handlers.o(i.__scatterload_copy) - __scatterload_null 0x080011c3 Thumb Code 2 handlers.o(i.__scatterload_null) - __scatterload_zeroinit 0x080011c5 Thumb Code 14 handlers.o(i.__scatterload_zeroinit) - f 0x080011d5 Thumb Code 54 main.o(i.f) - handler 0x08001215 Thumb Code 126 main.o(i.handler) - initADC 0x080012d9 Thumb Code 50 myadc.o(i.initADC) - main 0x08001315 Thumb Code 94 main.o(i.main) - read 0x08001389 Thumb Code 34 myadc.o(i.read) - startADC 0x080013b1 Thumb Code 14 myadc.o(i.startADC) - Region$$Table$$Base 0x080013f8 Number 0 anon$$obj.o(Region$$Table) - Region$$Table$$Limit 0x08001418 Number 0 anon$$obj.o(Region$$Table) + MySPI_Clear_NSS 0x08000aa9 Thumb Code 30 myspi.o(i.MySPI_Clear_NSS) + MySPI_Init 0x08000ad9 Thumb Code 480 myspi.o(i.MySPI_Init) + MySPI_Read 0x08000ccd Thumb Code 70 myspi.o(i.MySPI_Read) + MySPI_Send 0x08000d21 Thumb Code 68 myspi.o(i.MySPI_Send) + MySPI_Set_NSS 0x08000d71 Thumb Code 28 myspi.o(i.MySPI_Set_NSS) + MyTimer_ActiveIT 0x08000d9d Thumb Code 148 mytimer.o(i.MyTimer_ActiveIT) + MyTimer_Base_Init 0x08000e4d Thumb Code 98 mytimer.o(i.MyTimer_Base_Init) + MyTimer_Base_Start 0x08000eb9 Thumb Code 10 mytimer.o(i.MyTimer_Base_Start) + MyTimer_PWM 0x08000ec5 Thumb Code 472 mytimer.o(i.MyTimer_PWM) + MyVoile_Init 0x080010ad Thumb Code 32 myvoile.o(i.MyVoile_Init) + Send_Char 0x080010d5 Thumb Code 22 telecommande.o(i.Send_Char) + Send_Message 0x080010f1 Thumb Code 24 telecommande.o(i.Send_Message) + Set_Direction 0x080011f1 Thumb Code 34 plateau.o(i.Set_Direction) + Set_Duty_Cycle 0x08001219 Thumb Code 40 mytimer.o(i.Set_Duty_Cycle) + Set_Moteur_Plateau 0x08001241 Thumb Code 24 plateau.o(i.Set_Moteur_Plateau) + Set_PWM_PRCT 0x08001259 Thumb Code 56 mytimer.o(i.Set_PWM_PRCT) + Set_Vitesse 0x08001291 Thumb Code 22 plateau.o(i.Set_Vitesse) + Set_Voile 0x080012b1 Thumb Code 210 myvoile.o(i.Set_Voile) + SystemInit 0x0800139d Thumb Code 78 system_stm32f10x.o(i.SystemInit) + TIM1_UP_IRQHandler 0x080013fd Thumb Code 28 mytimer.o(i.TIM1_UP_IRQHandler) + TIM2_IRQHandler 0x08001421 Thumb Code 32 mytimer.o(i.TIM2_IRQHandler) + TIM3_IRQHandler 0x08001445 Thumb Code 28 mytimer.o(i.TIM3_IRQHandler) + TIM4_IRQHandler 0x08001469 Thumb Code 28 mytimer.o(i.TIM4_IRQHandler) + USART1_IRQHandler 0x0800148d Thumb Code 18 telecommande.o(i.USART1_IRQHandler) + __scatterload_copy 0x080014a9 Thumb Code 14 handlers.o(i.__scatterload_copy) + __scatterload_null 0x080014b7 Thumb Code 2 handlers.o(i.__scatterload_null) + __scatterload_zeroinit 0x080014b9 Thumb Code 14 handlers.o(i.__scatterload_zeroinit) + f 0x080014c9 Thumb Code 54 main.o(i.f) + handler 0x08001509 Thumb Code 126 main.o(i.handler) + initADC 0x080015cd Thumb Code 50 myadc.o(i.initADC) + main 0x08001609 Thumb Code 158 main.o(i.main) + read 0x080016c9 Thumb Code 34 myadc.o(i.read) + startADC 0x080016f1 Thumb Code 14 myadc.o(i.startADC) + Region$$Table$$Base 0x08001738 Number 0 anon$$obj.o(Region$$Table) + Region$$Table$$Limit 0x08001758 Number 0 anon$$obj.o(Region$$Table) droite 0x20000000 Data 4 main.o(.data) b 0x20000004 Data 4 main.o(.data) testBatterie 0x20000008 Data 4 main.o(.data) bat 0x2000000c Data 4 main.o(.data) - counter 0x20000010 Data 4 main.o(.data) - visuBatterie 0x20000014 Data 4 main.o(.data) - TIM 0x20000018 Data 8 main.o(.data) - Data 0x20000020 Data 4 main.o(.data) - ptr1 0x20000024 Data 4 mytimer.o(.data) - ptr2 0x20000028 Data 4 mytimer.o(.data) - ptr3 0x2000002c Data 4 mytimer.o(.data) - ptr4 0x20000030 Data 4 mytimer.o(.data) - x 0x20000034 Data 4 mygirouette.o(.data) - channel 0x20000038 Data 1 plateau.o(.data) - TIMPlateau 0x2000003c Data 8 plateau.o(.data) - DataPlateau 0x20000044 Data 4 plateau.o(.data) - nivBatterie 0x20000048 Data 4 batterie.o(.data) - Usart 0x2000004c Data 4 telecommande.o(.data) - ptr 0x20000050 Data 4 telecommande.o(.data) - GPIOC9 0x20000054 Data 12 plateau.o(.bss) - GPIOB1 0x20000060 Data 12 plateau.o(.bss) - GPIOC0 0x2000006c Data 12 batterie.o(.bss) - USART 0x20000078 Data 28 telecommande.o(.bss) - GPIOA10 0x20000094 Data 12 telecommande.o(.bss) - GPIOA9 0x200000a0 Data 12 telecommande.o(.bss) - __initial_sp 0x200004b0 Data 0 startup_stm32f10x_md.o(STACK) + ID_acc 0x20000010 Data 4 main.o(.data) + ID_acc2 0x20000014 Data 4 main.o(.data) + counter 0x20000018 Data 4 main.o(.data) + visuBatterie 0x2000001c Data 4 main.o(.data) + TIM 0x20000020 Data 8 main.o(.data) + Data 0x20000028 Data 4 main.o(.data) + ptr1 0x2000002c Data 4 mytimer.o(.data) + ptr2 0x20000030 Data 4 mytimer.o(.data) + ptr3 0x20000034 Data 4 mytimer.o(.data) + ptr4 0x20000038 Data 4 mytimer.o(.data) + x 0x2000003c Data 4 mygirouette.o(.data) + channel 0x20000040 Data 1 plateau.o(.data) + TIMPlateau 0x20000044 Data 8 plateau.o(.data) + DataPlateau 0x2000004c Data 4 plateau.o(.data) + nivBatterie 0x20000050 Data 4 batterie.o(.data) + Usart 0x20000054 Data 4 telecommande.o(.data) + ptr 0x20000058 Data 4 telecommande.o(.data) + ActiveSPI 0x2000005c Data 4 myspi.o(.data) + GPIOC9 0x20000060 Data 12 plateau.o(.bss) + GPIOB1 0x2000006c Data 12 plateau.o(.bss) + GPIOC0 0x20000078 Data 12 batterie.o(.bss) + USART 0x20000084 Data 28 telecommande.o(.bss) + GPIOA10 0x200000a0 Data 12 telecommande.o(.bss) + GPIOA9 0x200000ac Data 12 telecommande.o(.bss) + __initial_sp 0x200004b8 Data 0 startup_stm32f10x_md.o(STACK) @@ -494,109 +524,114 @@ Memory Map of the image Image Entry point : 0x080000ed - Load Region LR_IROM1 (Base: 0x08000000, Size: 0x0000146c, Max: 0x00020000, ABSOLUTE) + Load Region LR_IROM1 (Base: 0x08000000, Size: 0x000017b8, Max: 0x00020000, ABSOLUTE) - Execution Region ER_IROM1 (Exec base: 0x08000000, Load base: 0x08000000, Size: 0x00001418, Max: 0x00020000, ABSOLUTE) + Execution Region ER_IROM1 (Exec base: 0x08000000, Load base: 0x08000000, Size: 0x00001758, Max: 0x00020000, ABSOLUTE) Exec Addr Load Addr Size Type Attr Idx E Section Name Object - 0x08000000 0x08000000 0x000000ec Data RO 503 RESET startup_stm32f10x_md.o - 0x080000ec 0x080000ec 0x00000000 Code RO 554 * .ARM.Collect$$$$00000000 mc_w.l(entry.o) - 0x080000ec 0x080000ec 0x00000004 Code RO 575 .ARM.Collect$$$$00000001 mc_w.l(entry2.o) - 0x080000f0 0x080000f0 0x00000004 Code RO 578 .ARM.Collect$$$$00000004 mc_w.l(entry5.o) - 0x080000f4 0x080000f4 0x00000000 Code RO 580 .ARM.Collect$$$$00000008 mc_w.l(entry7b.o) - 0x080000f4 0x080000f4 0x00000000 Code RO 582 .ARM.Collect$$$$0000000A mc_w.l(entry8b.o) - 0x080000f4 0x080000f4 0x00000008 Code RO 583 .ARM.Collect$$$$0000000B mc_w.l(entry9a.o) - 0x080000fc 0x080000fc 0x00000004 Code RO 590 .ARM.Collect$$$$0000000E mc_w.l(entry12b.o) - 0x08000100 0x08000100 0x00000000 Code RO 585 .ARM.Collect$$$$0000000F mc_w.l(entry10a.o) - 0x08000100 0x08000100 0x00000000 Code RO 587 .ARM.Collect$$$$00000011 mc_w.l(entry11a.o) - 0x08000100 0x08000100 0x00000004 Code RO 576 .ARM.Collect$$$$00002712 mc_w.l(entry2.o) - 0x08000104 0x08000104 0x00000024 Code RO 504 .text startup_stm32f10x_md.o - 0x08000128 0x08000128 0x00000064 Code RO 557 .text mf_w.l(fmul.o) - 0x0800018c 0x0800018c 0x0000014e Code RO 559 .text mf_w.l(dadd.o) - 0x080002da 0x080002da 0x000000e4 Code RO 561 .text mf_w.l(dmul.o) - 0x080003be 0x080003be 0x000000de Code RO 563 .text mf_w.l(ddiv.o) - 0x0800049c 0x0800049c 0x0000000a Code RO 565 .text mf_w.l(ffltui.o) - 0x080004a6 0x080004a6 0x0000001a Code RO 567 .text mf_w.l(dfltui.o) - 0x080004c0 0x080004c0 0x00000028 Code RO 569 .text mf_w.l(ffixui.o) - 0x080004e8 0x080004e8 0x00000030 Code RO 571 .text mf_w.l(cdcmple.o) - 0x08000518 0x08000518 0x00000038 Code RO 573 .text mf_w.l(d2f.o) - 0x08000550 0x08000550 0x0000001e Code RO 591 .text mc_w.l(llshl.o) - 0x0800056e 0x0800056e 0x00000024 Code RO 593 .text mc_w.l(llsshr.o) - 0x08000592 0x08000592 0x00000000 Code RO 595 .text mc_w.l(iusefp.o) - 0x08000592 0x08000592 0x0000006e Code RO 596 .text mf_w.l(fepilogue.o) - 0x08000600 0x08000600 0x000000ba Code RO 598 .text mf_w.l(depilogue.o) + 0x08000000 0x08000000 0x000000ec Data RO 506 RESET startup_stm32f10x_md.o + 0x080000ec 0x080000ec 0x00000000 Code RO 574 * .ARM.Collect$$$$00000000 mc_w.l(entry.o) + 0x080000ec 0x080000ec 0x00000004 Code RO 595 .ARM.Collect$$$$00000001 mc_w.l(entry2.o) + 0x080000f0 0x080000f0 0x00000004 Code RO 598 .ARM.Collect$$$$00000004 mc_w.l(entry5.o) + 0x080000f4 0x080000f4 0x00000000 Code RO 600 .ARM.Collect$$$$00000008 mc_w.l(entry7b.o) + 0x080000f4 0x080000f4 0x00000000 Code RO 602 .ARM.Collect$$$$0000000A mc_w.l(entry8b.o) + 0x080000f4 0x080000f4 0x00000008 Code RO 603 .ARM.Collect$$$$0000000B mc_w.l(entry9a.o) + 0x080000fc 0x080000fc 0x00000004 Code RO 610 .ARM.Collect$$$$0000000E mc_w.l(entry12b.o) + 0x08000100 0x08000100 0x00000000 Code RO 605 .ARM.Collect$$$$0000000F mc_w.l(entry10a.o) + 0x08000100 0x08000100 0x00000000 Code RO 607 .ARM.Collect$$$$00000011 mc_w.l(entry11a.o) + 0x08000100 0x08000100 0x00000004 Code RO 596 .ARM.Collect$$$$00002712 mc_w.l(entry2.o) + 0x08000104 0x08000104 0x00000024 Code RO 507 .text startup_stm32f10x_md.o + 0x08000128 0x08000128 0x00000064 Code RO 577 .text mf_w.l(fmul.o) + 0x0800018c 0x0800018c 0x0000014e Code RO 579 .text mf_w.l(dadd.o) + 0x080002da 0x080002da 0x000000e4 Code RO 581 .text mf_w.l(dmul.o) + 0x080003be 0x080003be 0x000000de Code RO 583 .text mf_w.l(ddiv.o) + 0x0800049c 0x0800049c 0x0000000a Code RO 585 .text mf_w.l(ffltui.o) + 0x080004a6 0x080004a6 0x0000001a Code RO 587 .text mf_w.l(dfltui.o) + 0x080004c0 0x080004c0 0x00000028 Code RO 589 .text mf_w.l(ffixui.o) + 0x080004e8 0x080004e8 0x00000030 Code RO 591 .text mf_w.l(cdcmple.o) + 0x08000518 0x08000518 0x00000038 Code RO 593 .text mf_w.l(d2f.o) + 0x08000550 0x08000550 0x0000001e Code RO 611 .text mc_w.l(llshl.o) + 0x0800056e 0x0800056e 0x00000024 Code RO 613 .text mc_w.l(llsshr.o) + 0x08000592 0x08000592 0x00000000 Code RO 615 .text mc_w.l(iusefp.o) + 0x08000592 0x08000592 0x0000006e Code RO 616 .text mf_w.l(fepilogue.o) + 0x08000600 0x08000600 0x000000ba Code RO 618 .text mf_w.l(depilogue.o) 0x080006ba 0x080006ba 0x00000002 PAD - 0x080006bc 0x080006bc 0x00000024 Code RO 600 .text mc_w.l(init.o) - 0x080006e0 0x080006e0 0x00000020 Code RO 602 .text mc_w.l(llushr.o) - 0x08000700 0x08000700 0x00000028 Code RO 289 i.EXTI0_IRQHandler mygirouette.o - 0x08000728 0x08000728 0x0000000e Code RO 290 i.Get_Angle mygirouette.o + 0x080006bc 0x080006bc 0x00000024 Code RO 620 .text mc_w.l(init.o) + 0x080006e0 0x080006e0 0x00000020 Code RO 622 .text mc_w.l(llushr.o) + 0x08000700 0x08000700 0x00000028 Code RO 292 i.EXTI0_IRQHandler mygirouette.o + 0x08000728 0x08000728 0x0000000e Code RO 293 i.Get_Angle mygirouette.o 0x08000736 0x08000736 0x00000002 PAD - 0x08000738 0x08000738 0x00000028 Code RO 412 i.Get_Batterie batterie.o - 0x08000760 0x08000760 0x00000006 Code RO 97 i.Get_Max_Duty mytimer.o + 0x08000738 0x08000738 0x00000028 Code RO 415 i.Get_Batterie batterie.o + 0x08000760 0x08000760 0x00000006 Code RO 100 i.Get_Max_Duty mytimer.o 0x08000766 0x08000766 0x00000002 PAD - 0x08000768 0x08000768 0x00000028 Code RO 413 i.Init_Batterie batterie.o - 0x08000790 0x08000790 0x000000f4 Code RO 291 i.Init_Girouette mygirouette.o - 0x08000884 0x08000884 0x00000038 Code RO 449 i.Init_Message_Reception telecommande.o - 0x080008bc 0x080008bc 0x00000080 Code RO 363 i.Init_Plateau plateau.o - 0x0800093c 0x0800093c 0x0000009c Code RO 450 i.Init_USART telecommande.o - 0x080009d8 0x080009d8 0x000000b4 Code RO 241 i.MyGPIO_Init driver_gpio.o - 0x08000a8c 0x08000a8c 0x0000000e Code RO 243 i.MyGPIO_Reset driver_gpio.o - 0x08000a9a 0x08000a9a 0x0000000c Code RO 244 i.MyGPIO_Set driver_gpio.o + 0x08000768 0x08000768 0x00000028 Code RO 416 i.Init_Batterie batterie.o + 0x08000790 0x08000790 0x000000f4 Code RO 294 i.Init_Girouette mygirouette.o + 0x08000884 0x08000884 0x00000038 Code RO 452 i.Init_Message_Reception telecommande.o + 0x080008bc 0x080008bc 0x00000080 Code RO 366 i.Init_Plateau plateau.o + 0x0800093c 0x0800093c 0x0000009c Code RO 453 i.Init_USART telecommande.o + 0x080009d8 0x080009d8 0x000000b4 Code RO 244 i.MyGPIO_Init driver_gpio.o + 0x08000a8c 0x08000a8c 0x0000000e Code RO 246 i.MyGPIO_Reset driver_gpio.o + 0x08000a9a 0x08000a9a 0x0000000c Code RO 247 i.MyGPIO_Set driver_gpio.o 0x08000aa6 0x08000aa6 0x00000002 PAD - 0x08000aa8 0x08000aa8 0x000000b0 Code RO 99 i.MyTimer_ActiveIT mytimer.o - 0x08000b58 0x08000b58 0x0000006c Code RO 100 i.MyTimer_Base_Init mytimer.o - 0x08000bc4 0x08000bc4 0x0000000a Code RO 101 i.MyTimer_Base_Start mytimer.o - 0x08000bce 0x08000bce 0x00000002 PAD - 0x08000bd0 0x08000bd0 0x000001e8 Code RO 103 i.MyTimer_PWM mytimer.o - 0x08000db8 0x08000db8 0x00000028 Code RO 332 i.MyVoile_Init myvoile.o - 0x08000de0 0x08000de0 0x0000001c Code RO 451 i.Send_Char telecommande.o - 0x08000dfc 0x08000dfc 0x00000018 Code RO 452 i.Send_Message telecommande.o - 0x08000e14 0x08000e14 0x00000008 Code RO 511 i.SetSysClock system_stm32f10x.o - 0x08000e1c 0x08000e1c 0x000000e0 Code RO 512 i.SetSysClockTo72 system_stm32f10x.o - 0x08000efc 0x08000efc 0x00000028 Code RO 364 i.Set_Direction plateau.o - 0x08000f24 0x08000f24 0x00000028 Code RO 104 i.Set_Duty_Cycle mytimer.o - 0x08000f4c 0x08000f4c 0x00000018 Code RO 365 i.Set_Moteur_Plateau plateau.o - 0x08000f64 0x08000f64 0x00000038 Code RO 105 i.Set_PWM_PRCT mytimer.o - 0x08000f9c 0x08000f9c 0x00000020 Code RO 366 i.Set_Vitesse plateau.o - 0x08000fbc 0x08000fbc 0x000000ec Code RO 333 i.Set_Voile myvoile.o - 0x080010a8 0x080010a8 0x00000060 Code RO 514 i.SystemInit system_stm32f10x.o - 0x08001108 0x08001108 0x00000024 Code RO 106 i.TIM1_UP_IRQHandler mytimer.o - 0x0800112c 0x0800112c 0x00000024 Code RO 107 i.TIM2_IRQHandler mytimer.o - 0x08001150 0x08001150 0x00000024 Code RO 108 i.TIM3_IRQHandler mytimer.o - 0x08001174 0x08001174 0x00000024 Code RO 109 i.TIM4_IRQHandler mytimer.o - 0x08001198 0x08001198 0x0000001c Code RO 453 i.USART1_IRQHandler telecommande.o - 0x080011b4 0x080011b4 0x0000000e Code RO 606 i.__scatterload_copy mc_w.l(handlers.o) - 0x080011c2 0x080011c2 0x00000002 Code RO 607 i.__scatterload_null mc_w.l(handlers.o) - 0x080011c4 0x080011c4 0x0000000e Code RO 608 i.__scatterload_zeroinit mc_w.l(handlers.o) - 0x080011d2 0x080011d2 0x00000002 PAD - 0x080011d4 0x080011d4 0x00000040 Code RO 4 i.f main.o - 0x08001214 0x08001214 0x000000c4 Code RO 5 i.handler main.o - 0x080012d8 0x080012d8 0x0000003c Code RO 202 i.initADC myadc.o - 0x08001314 0x08001314 0x00000074 Code RO 6 i.main main.o - 0x08001388 0x08001388 0x00000028 Code RO 203 i.read myadc.o - 0x080013b0 0x080013b0 0x00000014 Code RO 204 i.startADC myadc.o - 0x080013c4 0x080013c4 0x00000024 Data RO 292 .constdata mygirouette.o - 0x080013e8 0x080013e8 0x00000008 Data RO 334 .constdata myvoile.o - 0x080013f0 0x080013f0 0x00000008 Data RO 7 .conststring main.o - 0x080013f8 0x080013f8 0x00000020 Data RO 604 Region$$Table anon$$obj.o + 0x08000aa8 0x08000aa8 0x00000030 Code RO 560 i.MySPI_Clear_NSS Lib_Com_Periph_2022.lib(myspi.o) + 0x08000ad8 0x08000ad8 0x000001f4 Code RO 561 i.MySPI_Init Lib_Com_Periph_2022.lib(myspi.o) + 0x08000ccc 0x08000ccc 0x00000054 Code RO 562 i.MySPI_Read Lib_Com_Periph_2022.lib(myspi.o) + 0x08000d20 0x08000d20 0x00000050 Code RO 563 i.MySPI_Send Lib_Com_Periph_2022.lib(myspi.o) + 0x08000d70 0x08000d70 0x0000002c Code RO 564 i.MySPI_Set_NSS Lib_Com_Periph_2022.lib(myspi.o) + 0x08000d9c 0x08000d9c 0x000000b0 Code RO 102 i.MyTimer_ActiveIT mytimer.o + 0x08000e4c 0x08000e4c 0x0000006c Code RO 103 i.MyTimer_Base_Init mytimer.o + 0x08000eb8 0x08000eb8 0x0000000a Code RO 104 i.MyTimer_Base_Start mytimer.o + 0x08000ec2 0x08000ec2 0x00000002 PAD + 0x08000ec4 0x08000ec4 0x000001e8 Code RO 106 i.MyTimer_PWM mytimer.o + 0x080010ac 0x080010ac 0x00000028 Code RO 335 i.MyVoile_Init myvoile.o + 0x080010d4 0x080010d4 0x0000001c Code RO 454 i.Send_Char telecommande.o + 0x080010f0 0x080010f0 0x00000018 Code RO 455 i.Send_Message telecommande.o + 0x08001108 0x08001108 0x00000008 Code RO 514 i.SetSysClock system_stm32f10x.o + 0x08001110 0x08001110 0x000000e0 Code RO 515 i.SetSysClockTo72 system_stm32f10x.o + 0x080011f0 0x080011f0 0x00000028 Code RO 367 i.Set_Direction plateau.o + 0x08001218 0x08001218 0x00000028 Code RO 107 i.Set_Duty_Cycle mytimer.o + 0x08001240 0x08001240 0x00000018 Code RO 368 i.Set_Moteur_Plateau plateau.o + 0x08001258 0x08001258 0x00000038 Code RO 108 i.Set_PWM_PRCT mytimer.o + 0x08001290 0x08001290 0x00000020 Code RO 369 i.Set_Vitesse plateau.o + 0x080012b0 0x080012b0 0x000000ec Code RO 336 i.Set_Voile myvoile.o + 0x0800139c 0x0800139c 0x00000060 Code RO 517 i.SystemInit system_stm32f10x.o + 0x080013fc 0x080013fc 0x00000024 Code RO 109 i.TIM1_UP_IRQHandler mytimer.o + 0x08001420 0x08001420 0x00000024 Code RO 110 i.TIM2_IRQHandler mytimer.o + 0x08001444 0x08001444 0x00000024 Code RO 111 i.TIM3_IRQHandler mytimer.o + 0x08001468 0x08001468 0x00000024 Code RO 112 i.TIM4_IRQHandler mytimer.o + 0x0800148c 0x0800148c 0x0000001c Code RO 456 i.USART1_IRQHandler telecommande.o + 0x080014a8 0x080014a8 0x0000000e Code RO 626 i.__scatterload_copy mc_w.l(handlers.o) + 0x080014b6 0x080014b6 0x00000002 Code RO 627 i.__scatterload_null mc_w.l(handlers.o) + 0x080014b8 0x080014b8 0x0000000e Code RO 628 i.__scatterload_zeroinit mc_w.l(handlers.o) + 0x080014c6 0x080014c6 0x00000002 PAD + 0x080014c8 0x080014c8 0x00000040 Code RO 4 i.f main.o + 0x08001508 0x08001508 0x000000c4 Code RO 5 i.handler main.o + 0x080015cc 0x080015cc 0x0000003c Code RO 205 i.initADC myadc.o + 0x08001608 0x08001608 0x000000c0 Code RO 6 i.main main.o + 0x080016c8 0x080016c8 0x00000028 Code RO 206 i.read myadc.o + 0x080016f0 0x080016f0 0x00000014 Code RO 207 i.startADC myadc.o + 0x08001704 0x08001704 0x00000024 Data RO 295 .constdata mygirouette.o + 0x08001728 0x08001728 0x00000008 Data RO 337 .constdata myvoile.o + 0x08001730 0x08001730 0x00000008 Data RO 7 .conststring main.o + 0x08001738 0x08001738 0x00000020 Data RO 624 Region$$Table anon$$obj.o - Execution Region RW_IRAM1 (Exec base: 0x20000000, Load base: 0x08001418, Size: 0x000004b0, Max: 0x00005000, ABSOLUTE) + Execution Region RW_IRAM1 (Exec base: 0x20000000, Load base: 0x08001758, Size: 0x000004b8, Max: 0x00005000, ABSOLUTE) Exec Addr Load Addr Size Type Attr Idx E Section Name Object - 0x20000000 0x08001418 0x00000024 Data RW 8 .data main.o - 0x20000024 0x0800143c 0x00000010 Data RW 110 .data mytimer.o - 0x20000034 0x0800144c 0x00000004 Data RW 293 .data mygirouette.o - 0x20000038 0x08001450 0x00000010 Data RW 368 .data plateau.o - 0x20000048 0x08001460 0x00000004 Data RW 415 .data batterie.o - 0x2000004c 0x08001464 0x00000008 Data RW 455 .data telecommande.o - 0x20000054 - 0x00000018 Zero RW 367 .bss plateau.o - 0x2000006c - 0x0000000c Zero RW 414 .bss batterie.o - 0x20000078 - 0x00000034 Zero RW 454 .bss telecommande.o - 0x200000ac 0x0800146c 0x00000004 PAD - 0x200000b0 - 0x00000400 Zero RW 501 STACK startup_stm32f10x_md.o + 0x20000000 0x08001758 0x0000002c Data RW 8 .data main.o + 0x2000002c 0x08001784 0x00000010 Data RW 113 .data mytimer.o + 0x2000003c 0x08001794 0x00000004 Data RW 296 .data mygirouette.o + 0x20000040 0x08001798 0x00000010 Data RW 371 .data plateau.o + 0x20000050 0x080017a8 0x00000004 Data RW 418 .data batterie.o + 0x20000054 0x080017ac 0x00000008 Data RW 458 .data telecommande.o + 0x2000005c 0x080017b4 0x00000004 Data RW 565 .data Lib_Com_Periph_2022.lib(myspi.o) + 0x20000060 - 0x00000018 Zero RW 370 .bss plateau.o + 0x20000078 - 0x0000000c Zero RW 417 .bss batterie.o + 0x20000084 - 0x00000034 Zero RW 457 .bss telecommande.o + 0x200000b8 - 0x00000400 Zero RW 504 STACK startup_stm32f10x_md.o ============================================================================== @@ -608,7 +643,7 @@ Image component sizes 80 12 0 4 12 1108 batterie.o 206 14 0 0 0 1822 driver_gpio.o - 376 102 8 36 0 209023 main.o + 452 114 8 44 0 209146 main.o 120 22 0 0 0 1248 myadc.o 298 32 36 4 0 1612 mygirouette.o 1028 82 0 16 0 7434 mytimer.o @@ -619,14 +654,15 @@ Image component sizes 292 54 0 8 52 3186 telecommande.o ---------------------------------------------------------------------- - 3272 434 320 84 1116 231734 Object Totals + 3348 446 320 92 1112 231857 Object Totals 0 0 32 0 0 0 (incl. Generated) - 8 0 0 0 4 0 (incl. Padding) + 8 0 0 0 0 0 (incl. Padding) ---------------------------------------------------------------------- Code (inc. data) RO Data RW Data ZI Data Debug Library Member Name + 756 80 0 4 0 348 myspi.o 0 0 0 0 0 0 entry.o 0 0 0 0 0 0 entry10a.o 0 0 0 0 0 0 entry11a.o @@ -655,18 +691,19 @@ Image component sizes 100 0 0 0 0 76 fmul.o ---------------------------------------------------------------------- - 1552 16 0 0 0 1404 Library Totals + 2308 96 0 4 0 1752 Library Totals 4 0 0 0 0 0 (incl. Padding) ---------------------------------------------------------------------- Code (inc. data) RO Data RW Data ZI Data Debug Library Name + 756 80 0 4 0 348 Lib_Com_Periph_2022.lib 188 16 0 0 0 272 mc_w.l 1360 0 0 0 0 1132 mf_w.l ---------------------------------------------------------------------- - 1552 16 0 0 0 1404 Library Totals + 2308 96 0 4 0 1752 Library Totals ---------------------------------------------------------------------- @@ -675,15 +712,15 @@ Image component sizes Code (inc. data) RO Data RW Data ZI Data Debug - 4824 450 320 84 1116 230690 Grand Totals - 4824 450 320 84 1116 230690 ELF Image Totals - 4824 450 320 84 0 0 ROM Totals + 5656 542 320 96 1112 230901 Grand Totals + 5656 542 320 96 1112 230901 ELF Image Totals + 5656 542 320 96 0 0 ROM Totals ============================================================================== - Total RO Size (Code + RO Data) 5144 ( 5.02kB) - Total RW Size (RW Data + ZI Data) 1200 ( 1.17kB) - Total ROM Size (Code + RO Data + RW Data) 5228 ( 5.11kB) + Total RO Size (Code + RO Data) 5976 ( 5.84kB) + Total RW Size (RW Data + ZI Data) 1208 ( 1.18kB) + Total ROM Size (Code + RO Data + RW Data) 6072 ( 5.93kB) ============================================================================== diff --git a/Objects/Projet1_Réel.dep b/Objects/Projet1_Réel.dep index 48e60ea..e84bbe8 100644 --- a/Objects/Projet1_Réel.dep +++ b/Objects/Projet1_Réel.dep @@ -1,6 +1,6 @@ Dependencies for Project 'Projet1', Target 'Réel': (DO NOT MODIFY !) CompilerVersion: 5060960::V5.06 update 7 (build 960)::.\ARMCC -F (.\Sources\main.c)(0x6380E896)(-c --cpu Cortex-M3 -D__EVAL -D__MICROLIB -g -O0 --apcs=interwork --split_sections -I .\FileInclude -I.\RTE\Device\STM32F103RB -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 -D__UVISION_VERSION="534" -D_RTE_ -DSTM32F10X_MD -D_RTE_ -o .\objects\main.o --omf_browse .\objects\main.crf --depend .\objects\main.d) +F (.\Sources\main.c)(0x6380FB44)(-c --cpu Cortex-M3 -D__EVAL -D__MICROLIB -g -O0 --apcs=interwork --split_sections -I .\FileInclude -I.\RTE\Device\STM32F103RB -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 -D__UVISION_VERSION="534" -D_RTE_ -DSTM32F10X_MD -D_RTE_ -o .\objects\main.o --omf_browse .\objects\main.crf --depend .\objects\main.d) I (C:\Programdata\Keil\Arm\Packs\Keil\STM32F1xx_DFP\2.3.0\Device\Include\stm32f10x.h)(0x58258CCC) I (.\RTE\_R_el\RTE_Components.h)(0x6380E338) I (C:\Programdata\Keil\Arm\Packs\ARM\CMSIS\5.7.0\CMSIS\Core\Include\core_cm3.h)(0x5E8F2582) @@ -17,6 +17,7 @@ I (.\FileInclude\Telecommande.h)(0x6380E338) I (.\FileInclude\Batterie.h)(0x6380E338) I (.\FileInclude\MyGirouette.h)(0x63727F20) I (.\FileInclude\MyVoile.h)(0x63727F20) +I (.\FileInclude\MySPI.h)(0x634E5AE0) F (.\FileInclude\MyTimer.c)(0x6380E338)(-c --cpu Cortex-M3 -D__EVAL -D__MICROLIB -g -O0 --apcs=interwork --split_sections -I .\FileInclude -I.\RTE\Device\STM32F103RB -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 -D__UVISION_VERSION="534" -D_RTE_ -DSTM32F10X_MD -D_RTE_ -o .\objects\mytimer.o --omf_browse .\objects\mytimer.crf --depend .\objects\mytimer.d) I (FileInclude\MyTimer.h)(0x6380E338) I (C:\Programdata\Keil\Arm\Packs\Keil\STM32F1xx_DFP\2.3.0\Device\Include\stm32f10x.h)(0x58258CCC) @@ -111,6 +112,7 @@ I (C:\Programdata\Keil\Arm\Packs\Keil\STM32F1xx_DFP\2.3.0\Device\Include\system_ I (FileInclude\Driver_GPIO.h)(0x6380E338) I (FileInclude\Plateau.h)(0x6380E338) I (FileInclude\Telecommande.h)(0x6380E338) +F (.\FileInclude\Lib_Com_Periph_2022.lib)(0x634E68C6)() F (RTE\Device\STM32F103RB\RTE_Device.h)(0x6380E338)() F (RTE\Device\STM32F103RB\startup_stm32f10x_md.s)(0x6380E338)(--cpu Cortex-M3 --pd "__EVAL SETA 1" -g --apcs=interwork --pd "__MICROLIB SETA 1" -I.\RTE\Device\STM32F103RB -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_MD SETA 1" --pd "_RTE_ SETA 1" --list .\listings\startup_stm32f10x_md.lst --xref -o .\objects\startup_stm32f10x_md.o --depend .\objects\startup_stm32f10x_md.d) F (RTE\Device\STM32F103RB\system_stm32f10x.c)(0x63727F21)(-c --cpu Cortex-M3 -D__EVAL -D__MICROLIB -g -O0 --apcs=interwork --split_sections -I .\FileInclude -I.\RTE\Device\STM32F103RB -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 -D__UVISION_VERSION="534" -D_RTE_ -DSTM32F10X_MD -D_RTE_ -o .\objects\system_stm32f10x.o --omf_browse .\objects\system_stm32f10x.crf --depend .\objects\system_stm32f10x.d) diff --git a/Objects/Projet1_Simulation.axf b/Objects/Projet1_Simulation.axf index 91eada26c150ab8ac8d676f97d66020cd5ffe819..cae0f27c0a21342dabcddf3f1efb3de385ed96c8 100644 GIT binary patch delta 9465 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 M2DpnKtrhh9Ux_RII{*Lx delta 7380 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 diff --git a/Objects/Projet1_Simulation.build_log.htm b/Objects/Projet1_Simulation.build_log.htm index 622c549..ffe3358 100644 --- a/Objects/Projet1_Simulation.build_log.htm +++ b/Objects/Projet1_Simulation.build_log.htm @@ -27,19 +27,19 @@ Project File Date: 11/25/2022

Output:

*** Using Compiler 'V5.06 update 7 (build 960)', folder: 'C:\Keil_v5\ARM\ARMCC\Bin' Rebuild target 'Réel' -compiling Driver_GPIO.c... compiling MyVoile.c... compiling MyADC.c... -compiling Plateau.c... +compiling Driver_GPIO.c... compiling MyTimer.c... compiling MyGirouette.c... compiling main.c... +compiling Plateau.c... assembling startup_stm32f10x_md.s... compiling Batterie.c... -compiling Telecommande.c... compiling system_stm32f10x.c... +compiling Telecommande.c... linking... -Program Size: Code=4824 RO-data=320 RW-data=84 ZI-data=1116 +Program Size: Code=5656 RO-data=320 RW-data=96 ZI-data=1112 ".\Objects\Projet1_Simulation.axf" - 0 Error(s), 0 Warning(s).

Software Packages used:

diff --git a/Objects/Projet1_Simulation.htm b/Objects/Projet1_Simulation.htm index 2b45d0a..a3d81e4 100644 --- a/Objects/Projet1_Simulation.htm +++ b/Objects/Projet1_Simulation.htm @@ -3,7 +3,7 @@ Static Call Graph - [.\Objects\Projet1_Simulation.axf]

Static Call Graph for image .\Objects\Projet1_Simulation.axf


-

#<CALLGRAPH># ARM Linker, 5060960: Last Updated: Fri Nov 25 18:01:54 2022 +

#<CALLGRAPH># ARM Linker, 5060960: Last Updated: Fri Nov 25 18:28:39 2022

Maximum Stack Usage = 144 bytes + Unknown(Cycles, Untraceable Function Pointers)

Call chain for Maximum Stack Depth:

@@ -92,7 +92,7 @@ Global Symbols

__main (Thumb, 0 bytes, Stack size unknown bytes, entry.o(.ARM.Collect$$$$00000000))
[Address Reference Count : 1]

  • startup_stm32f10x_md.o(.text)
-

_main_stk (Thumb, 0 bytes, Stack size unknown bytes, entry2.o(.ARM.Collect$$$$00000001)) +

_main_stk (Thumb, 0 bytes, Stack size unknown bytes, entry2.o(.ARM.Collect$$$$00000001))

_main_scatterload (Thumb, 0 bytes, Stack size unknown bytes, entry5.o(.ARM.Collect$$$$00000004))

[Calls]

  • >>   __scatterload @@ -102,17 +102,17 @@ Global Symbols

    [Called By]
    • >>   __scatterload
    -

    _main_clock (Thumb, 0 bytes, Stack size unknown bytes, entry7b.o(.ARM.Collect$$$$00000008)) +

    _main_clock (Thumb, 0 bytes, Stack size unknown bytes, entry7b.o(.ARM.Collect$$$$00000008)) -

    _main_cpp_init (Thumb, 0 bytes, Stack size unknown bytes, entry8b.o(.ARM.Collect$$$$0000000A)) +

    _main_cpp_init (Thumb, 0 bytes, Stack size unknown bytes, entry8b.o(.ARM.Collect$$$$0000000A)) -

    _main_init (Thumb, 0 bytes, Stack size unknown bytes, entry9a.o(.ARM.Collect$$$$0000000B)) +

    _main_init (Thumb, 0 bytes, Stack size unknown bytes, entry9a.o(.ARM.Collect$$$$0000000B)) -

    __rt_lib_shutdown_fini (Thumb, 0 bytes, Stack size unknown bytes, entry12b.o(.ARM.Collect$$$$0000000E)) +

    __rt_lib_shutdown_fini (Thumb, 0 bytes, Stack size unknown bytes, entry12b.o(.ARM.Collect$$$$0000000E)) -

    __rt_final_cpp (Thumb, 0 bytes, Stack size unknown bytes, entry10a.o(.ARM.Collect$$$$0000000F)) +

    __rt_final_cpp (Thumb, 0 bytes, Stack size unknown bytes, entry10a.o(.ARM.Collect$$$$0000000F)) -

    __rt_final_exit (Thumb, 0 bytes, Stack size unknown bytes, entry11a.o(.ARM.Collect$$$$00000011)) +

    __rt_final_exit (Thumb, 0 bytes, Stack size unknown bytes, entry11a.o(.ARM.Collect$$$$00000011))

    Reset_Handler (Thumb, 8 bytes, Stack size 0 bytes, startup_stm32f10x_md.o(.text))
    [Address Reference Count : 1]

    • startup_stm32f10x_md.o(RESET) @@ -295,10 +295,10 @@ Global Symbols

      WWDG_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_stm32f10x_md.o(.text))
      [Address Reference Count : 1]

      • startup_stm32f10x_md.o(RESET)
      -

      __aeabi_fmul (Thumb, 100 bytes, Stack size 8 bytes, fmul.o(.text)) +

      __aeabi_fmul (Thumb, 100 bytes, Stack size 8 bytes, fmul.o(.text))

      [Stack]

      • Max Depth = 8
      • Call Chain = __aeabi_fmul
      -
      [Called By]
      • >>   Set_Voile +
        [Called By]
        • >>   Set_Voile

        __aeabi_dadd (Thumb, 322 bytes, Stack size 48 bytes, dadd.o(.text)) @@ -322,7 +322,7 @@ Global Symbols


      [Calls]
      • >>   __aeabi_dadd
      -
      [Called By]
      • >>   Set_Voile +
        [Called By]
        • >>   Set_Voile

        __aeabi_dmul (Thumb, 228 bytes, Stack size 48 bytes, dmul.o(.text)) @@ -330,7 +330,7 @@ Global Symbols


      [Calls]
      • >>   _double_epilogue
      -
      [Called By]
      • >>   Set_Voile +
        [Called By]
        • >>   Set_Voile

        __aeabi_ddiv (Thumb, 222 bytes, Stack size 32 bytes, ddiv.o(.text)) @@ -338,7 +338,7 @@ Global Symbols


      [Calls]
      • >>   _double_round
      -
      [Called By]
      • >>   Set_Voile +
        [Called By]
        • >>   Set_Voile

        __aeabi_ui2f (Thumb, 10 bytes, Stack size 0 bytes, ffltui.o(.text)) @@ -346,7 +346,7 @@ Global Symbols


      [Calls]
      • >>   _float_epilogue
      -
      [Called By]
      • >>   Set_Voile +
        [Called By]
        • >>   Set_Voile

        __aeabi_ui2d (Thumb, 26 bytes, Stack size 16 bytes, dfltui.o(.text)) @@ -354,17 +354,17 @@ Global Symbols


      [Calls]
      • >>   _double_epilogue
      -
      [Called By]
      • >>   Set_Voile +
        [Called By]
        • >>   Set_Voile
        -

        __aeabi_f2uiz (Thumb, 40 bytes, Stack size 0 bytes, ffixui.o(.text)) -

        [Called By]

        • >>   Set_Voile +

          __aeabi_f2uiz (Thumb, 40 bytes, Stack size 0 bytes, ffixui.o(.text)) +

          [Called By]

          • >>   Set_Voile
          -

          __aeabi_cdcmpeq (Thumb, 0 bytes, Stack size 0 bytes, cdcmple.o(.text), UNUSED) +

          __aeabi_cdcmpeq (Thumb, 0 bytes, Stack size 0 bytes, cdcmple.o(.text), UNUSED) -

          __aeabi_cdcmple (Thumb, 48 bytes, Stack size 0 bytes, cdcmple.o(.text)) -

          [Called By]

          • >>   Set_Voile +

            __aeabi_cdcmple (Thumb, 48 bytes, Stack size 0 bytes, cdcmple.o(.text)) +

            [Called By]

            • >>   Set_Voile

            __aeabi_d2f (Thumb, 56 bytes, Stack size 8 bytes, d2f.o(.text)) @@ -372,7 +372,7 @@ Global Symbols


          [Calls]
          • >>   _float_round
          -
          [Called By]
          • >>   Set_Voile +
            [Called By]
            • >>   Set_Voile

            __aeabi_llsl (Thumb, 30 bytes, Stack size 0 bytes, llshl.o(.text)) @@ -380,15 +380,15 @@ Global Symbols

          • >>   __aeabi_dadd
          -

          _ll_shift_l (Thumb, 0 bytes, Stack size 0 bytes, llshl.o(.text), UNUSED) +

          _ll_shift_l (Thumb, 0 bytes, Stack size 0 bytes, llshl.o(.text), UNUSED)

          __aeabi_lasr (Thumb, 36 bytes, Stack size 0 bytes, llsshr.o(.text))

          [Called By]

          • >>   __aeabi_dadd
          -

          _ll_sshift_r (Thumb, 0 bytes, Stack size 0 bytes, llsshr.o(.text), UNUSED) +

          _ll_sshift_r (Thumb, 0 bytes, Stack size 0 bytes, llsshr.o(.text), UNUSED) -

          __I$use$fp (Thumb, 0 bytes, Stack size 0 bytes, iusefp.o(.text), UNUSED) +

          __I$use$fp (Thumb, 0 bytes, Stack size 0 bytes, iusefp.o(.text), UNUSED)

          _float_round (Thumb, 18 bytes, Stack size 0 bytes, fepilogue.o(.text))

          [Called By]

          • >>   __aeabi_d2f @@ -426,18 +426,18 @@ Global Symbols
            [Called By]
            • >>   _main_scatterload
            -

            __scatterload_rt2 (Thumb, 0 bytes, Stack size 0 bytes, init.o(.text), UNUSED) +

            __scatterload_rt2 (Thumb, 0 bytes, Stack size 0 bytes, init.o(.text), UNUSED)

            __aeabi_llsr (Thumb, 32 bytes, Stack size 0 bytes, llushr.o(.text))

            [Called By]

            • >>   _double_epilogue
            -

            _ll_ushift_r (Thumb, 0 bytes, Stack size 0 bytes, llushr.o(.text), UNUSED) +

            _ll_ushift_r (Thumb, 0 bytes, Stack size 0 bytes, llushr.o(.text), UNUSED)

            EXTI0_IRQHandler (Thumb, 32 bytes, Stack size 0 bytes, mygirouette.o(i.EXTI0_IRQHandler))
            [Address Reference Count : 1]

            • startup_stm32f10x_md.o(RESET)
            -

            Get_Angle (Thumb, 14 bytes, Stack size 0 bytes, mygirouette.o(i.Get_Angle)) +

            Get_Angle (Thumb, 14 bytes, Stack size 0 bytes, mygirouette.o(i.Get_Angle))

            [Called By]

            • >>   main
            @@ -449,8 +449,8 @@ Global Symbols
            [Called By]
            • >>   handler
            -

            Get_Max_Duty (Thumb, 6 bytes, Stack size 0 bytes, mytimer.o(i.Get_Max_Duty)) -

            [Called By]

            • >>   Set_Voile +

              Get_Max_Duty (Thumb, 6 bytes, Stack size 0 bytes, mytimer.o(i.Get_Max_Duty)) +

              [Called By]

              • >>   Set_Voile

              Init_Batterie (Thumb, 32 bytes, Stack size 8 bytes, batterie.o(i.Init_Batterie)) @@ -473,7 +473,7 @@ Global Symbols
              [Called By]

              • >>   main
              -

              Init_Message_Reception (Thumb, 40 bytes, Stack size 0 bytes, telecommande.o(i.Init_Message_Reception)) +

              Init_Message_Reception (Thumb, 40 bytes, Stack size 0 bytes, telecommande.o(i.Init_Message_Reception))

              [Called By]

              • >>   main
              @@ -485,7 +485,7 @@ Global Symbols
            • >>   MyTimer_Base_Start
            • >>   MyTimer_Base_Init
            -
            [Called By]
            • >>   Set_Moteur_Plateau +
              [Called By]
              • >>   Set_Moteur_Plateau
              • >>   main
              @@ -507,29 +507,54 @@ Global Symbols
            • >>   Init_Batterie
            -

            MyGPIO_Reset (Thumb, 14 bytes, Stack size 0 bytes, driver_gpio.o(i.MyGPIO_Reset)) -

            [Called By]

            • >>   Set_Direction +

              MyGPIO_Reset (Thumb, 14 bytes, Stack size 0 bytes, driver_gpio.o(i.MyGPIO_Reset)) +

              [Called By]

              • >>   Set_Direction
              -

              MyGPIO_Set (Thumb, 12 bytes, Stack size 0 bytes, driver_gpio.o(i.MyGPIO_Set)) -

              [Called By]

              • >>   Set_Direction +

                MyGPIO_Set (Thumb, 12 bytes, Stack size 0 bytes, driver_gpio.o(i.MyGPIO_Set)) +

                [Called By]

                • >>   Set_Direction
                -

                MyTimer_ActiveIT (Thumb, 148 bytes, Stack size 8 bytes, mytimer.o(i.MyTimer_ActiveIT)) +

                MySPI_Clear_NSS (Thumb, 30 bytes, Stack size 0 bytes, myspi.o(i.MySPI_Clear_NSS)) +

                [Called By]

                • >>   main +
                + +

                MySPI_Init (Thumb, 480 bytes, Stack size 4 bytes, myspi.o(i.MySPI_Init)) +

                [Stack]

                • Max Depth = 4
                • Call Chain = MySPI_Init +
                +
                [Calls]
                • >>   MySPI_Set_NSS +
                +
                [Called By]
                • >>   main +
                + +

                MySPI_Read (Thumb, 70 bytes, Stack size 0 bytes, myspi.o(i.MySPI_Read)) +

                [Called By]

                • >>   main +
                + +

                MySPI_Send (Thumb, 68 bytes, Stack size 0 bytes, myspi.o(i.MySPI_Send)) +

                [Called By]

                • >>   main +
                + +

                MySPI_Set_NSS (Thumb, 28 bytes, Stack size 0 bytes, myspi.o(i.MySPI_Set_NSS)) +

                [Called By]

                • >>   MySPI_Init +
                • >>   main +
                + +

                MyTimer_ActiveIT (Thumb, 148 bytes, Stack size 8 bytes, mytimer.o(i.MyTimer_ActiveIT))

                [Stack]

                • Max Depth = 8
                • Call Chain = MyTimer_ActiveIT

                [Called By]
                • >>   main

                MyTimer_Base_Init (Thumb, 98 bytes, Stack size 0 bytes, mytimer.o(i.MyTimer_Base_Init)) -

                [Called By]

                • >>   MyVoile_Init +

                  [Called By]
                  • >>   MyVoile_Init
                  • >>   Init_Plateau
                  • >>   Init_Girouette
                  • >>   main

                  MyTimer_Base_Start (Thumb, 10 bytes, Stack size 0 bytes, mytimer.o(i.MyTimer_Base_Start)) -

                  [Called By]

                  • >>   MyVoile_Init +

                    [Called By]
                    • >>   MyVoile_Init
                    • >>   Init_Plateau
                    • >>   Init_Girouette
                    • >>   main @@ -540,11 +565,11 @@ Global Symbols

                    [Calls]
                    • >>   MyGPIO_Init
                    -
                    [Called By]
                    • >>   MyVoile_Init +
                      [Called By]
                      • >>   MyVoile_Init
                      • >>   Init_Plateau
                      -

                      MyVoile_Init (Thumb, 32 bytes, Stack size 16 bytes, myvoile.o(i.MyVoile_Init)) +

                      MyVoile_Init (Thumb, 32 bytes, Stack size 16 bytes, myvoile.o(i.MyVoile_Init))

                      [Stack]

                      • Max Depth = 52
                      • Call Chain = MyVoile_Init ⇒ MyTimer_PWM ⇒ MyGPIO_Init

                      [Calls]
                      • >>   MyTimer_PWM @@ -554,69 +579,69 @@ Global Symbols
                        [Called By]
                        • >>   main
                        -

                        Send_Char (Thumb, 22 bytes, Stack size 0 bytes, telecommande.o(i.Send_Char)) -

                        [Called By]

                        • >>   Send_Message +

                          Send_Char (Thumb, 22 bytes, Stack size 0 bytes, telecommande.o(i.Send_Char)) +

                          [Called By]

                          • >>   Send_Message
                          -

                          Send_Message (Thumb, 24 bytes, Stack size 4 bytes, telecommande.o(i.Send_Message)) +

                          Send_Message (Thumb, 24 bytes, Stack size 4 bytes, telecommande.o(i.Send_Message))

                          [Stack]

                          • Max Depth = 4
                          • Call Chain = Send_Message
                          -
                          [Calls]
                          • >>   Send_Char +
                            [Calls]
                            • >>   Send_Char

                            [Called By]
                            • >>   handler
                            -

                            Set_Direction (Thumb, 34 bytes, Stack size 8 bytes, plateau.o(i.Set_Direction)) +

                            Set_Direction (Thumb, 34 bytes, Stack size 8 bytes, plateau.o(i.Set_Direction))

                            [Stack]

                            • Max Depth = 8
                            • Call Chain = Set_Direction
                            -
                            [Calls]
                            • >>   MyGPIO_Set -
                            • >>   MyGPIO_Reset +
                              [Calls]
                              • >>   MyGPIO_Set +
                              • >>   MyGPIO_Reset
                              -
                              [Called By]
                              • >>   Set_Moteur_Plateau +
                                [Called By]
                                • >>   Set_Moteur_Plateau
                                -

                                Set_Duty_Cycle (Thumb, 40 bytes, Stack size 0 bytes, mytimer.o(i.Set_Duty_Cycle)) -

                                [Called By]

                                • >>   Set_Voile +

                                  Set_Duty_Cycle (Thumb, 40 bytes, Stack size 0 bytes, mytimer.o(i.Set_Duty_Cycle)) +

                                  [Called By]

                                  • >>   Set_Voile
                                  -

                                  Set_Moteur_Plateau (Thumb, 24 bytes, Stack size 16 bytes, plateau.o(i.Set_Moteur_Plateau)) +

                                  Set_Moteur_Plateau (Thumb, 24 bytes, Stack size 16 bytes, plateau.o(i.Set_Moteur_Plateau))

                                  [Stack]

                                  • Max Depth = 60
                                  • Call Chain = Set_Moteur_Plateau ⇒ Init_Plateau ⇒ MyTimer_PWM ⇒ MyGPIO_Init
                                  -
                                  [Calls]
                                  • >>   Set_Vitesse -
                                  • >>   Set_Direction +
                                    [Calls]
                                    • >>   Set_Vitesse +
                                    • >>   Set_Direction
                                    • >>   Init_Plateau

                                    [Called By]
                                    • >>   f
                                    -

                                    Set_PWM_PRCT (Thumb, 56 bytes, Stack size 12 bytes, mytimer.o(i.Set_PWM_PRCT)) +

                                    Set_PWM_PRCT (Thumb, 56 bytes, Stack size 12 bytes, mytimer.o(i.Set_PWM_PRCT))

                                    [Stack]

                                    • Max Depth = 12
                                    • Call Chain = Set_PWM_PRCT
                                    -
                                    [Called By]
                                    • >>   Set_Vitesse +
                                      [Called By]
                                      • >>   Set_Vitesse
                                      -

                                      Set_Vitesse (Thumb, 22 bytes, Stack size 8 bytes, plateau.o(i.Set_Vitesse)) +

                                      Set_Vitesse (Thumb, 22 bytes, Stack size 8 bytes, plateau.o(i.Set_Vitesse))

                                      [Stack]

                                      • Max Depth = 20
                                      • Call Chain = Set_Vitesse ⇒ Set_PWM_PRCT
                                      -
                                      [Calls]
                                      • >>   Set_PWM_PRCT +
                                        [Calls]
                                        • >>   Set_PWM_PRCT
                                        -
                                        [Called By]
                                        • >>   Set_Moteur_Plateau +
                                          [Called By]
                                          • >>   Set_Moteur_Plateau
                                          -

                                          Set_Voile (Thumb, 210 bytes, Stack size 56 bytes, myvoile.o(i.Set_Voile)) +

                                          Set_Voile (Thumb, 210 bytes, Stack size 56 bytes, myvoile.o(i.Set_Voile))

                                          [Stack]

                                          • Max Depth = 144
                                          • Call Chain = Set_Voile ⇒ __aeabi_drsub ⇒ __aeabi_dadd ⇒ _double_epilogue ⇒ _double_round

                                          [Calls]
                                          • >>   __aeabi_ui2f
                                          • >>   __aeabi_ui2d -
                                          • >>   __aeabi_fmul -
                                          • >>   __aeabi_f2uiz +
                                          • >>   __aeabi_fmul +
                                          • >>   __aeabi_f2uiz
                                          • >>   __aeabi_drsub
                                          • >>   __aeabi_dmul
                                          • >>   __aeabi_ddiv
                                          • >>   __aeabi_d2f -
                                          • >>   __aeabi_cdcmple -
                                          • >>   Set_Duty_Cycle -
                                          • >>   Get_Max_Duty +
                                          • >>   __aeabi_cdcmple +
                                          • >>   Set_Duty_Cycle +
                                          • >>   Get_Max_Duty

                                          [Called By]
                                          • >>   main
                                          @@ -624,7 +649,7 @@ Global Symbols

                                          SystemInit (Thumb, 78 bytes, Stack size 8 bytes, system_stm32f10x.o(i.SystemInit))

                                          [Stack]

                                          • Max Depth = 28
                                          • Call Chain = SystemInit ⇒ SetSysClock ⇒ SetSysClockTo72
                                          -
                                          [Calls]
                                          • >>   SetSysClock +
                                            [Calls]
                                            • >>   SetSysClock

                                            [Address Reference Count : 1]
                                            • startup_stm32f10x_md.o(.text)
                                            @@ -653,23 +678,23 @@ Global Symbols

                                          [Address Reference Count : 1]
                                          • startup_stm32f10x_md.o(RESET)
                                          -

                                          __scatterload_copy (Thumb, 14 bytes, Stack size unknown bytes, handlers.o(i.__scatterload_copy), UNUSED) +

                                          __scatterload_copy (Thumb, 14 bytes, Stack size unknown bytes, handlers.o(i.__scatterload_copy), UNUSED) -

                                          __scatterload_null (Thumb, 2 bytes, Stack size unknown bytes, handlers.o(i.__scatterload_null), UNUSED) +

                                          __scatterload_null (Thumb, 2 bytes, Stack size unknown bytes, handlers.o(i.__scatterload_null), UNUSED) -

                                          __scatterload_zeroinit (Thumb, 14 bytes, Stack size unknown bytes, handlers.o(i.__scatterload_zeroinit), UNUSED) +

                                          __scatterload_zeroinit (Thumb, 14 bytes, Stack size unknown bytes, handlers.o(i.__scatterload_zeroinit), UNUSED)

                                          f (Thumb, 54 bytes, Stack size 8 bytes, main.o(i.f))

                                          [Stack]

                                          • Max Depth = 68
                                          • Call Chain = f ⇒ Set_Moteur_Plateau ⇒ Init_Plateau ⇒ MyTimer_PWM ⇒ MyGPIO_Init
                                          -
                                          [Calls]
                                          • >>   Set_Moteur_Plateau +
                                            [Calls]
                                            • >>   Set_Moteur_Plateau

                                            [Address Reference Count : 1]
                                            • main.o(i.main)

                                            handler (Thumb, 126 bytes, Stack size 8 bytes, main.o(i.handler))

                                            [Stack]

                                            • Max Depth = 20
                                            • Call Chain = handler ⇒ Get_Batterie ⇒ read
                                            -
                                            [Calls]
                                            • >>   Send_Message +
                                              [Calls]
                                              • >>   Send_Message
                                              • >>   Get_Batterie

                                              [Address Reference Count : 1]
                                              • main.o(i.main) @@ -678,20 +703,25 @@ Global Symbols

                                                [Called By]
                                                • >>   Init_Batterie
                                                -

                                                main (Thumb, 94 bytes, Stack size 0 bytes, main.o(i.main)) +

                                                main (Thumb, 158 bytes, Stack size 0 bytes, main.o(i.main))

                                                [Stack]

                                                • Max Depth = 144
                                                • Call Chain = main ⇒ Set_Voile ⇒ __aeabi_drsub ⇒ __aeabi_dadd ⇒ _double_epilogue ⇒ _double_round
                                                -
                                                [Calls]
                                                • >>   Set_Voile -
                                                • >>   MyVoile_Init +
                                                  [Calls]
                                                  • >>   Set_Voile +
                                                  • >>   MyVoile_Init
                                                  • >>   MyTimer_Base_Start
                                                  • >>   MyTimer_Base_Init -
                                                  • >>   MyTimer_ActiveIT +
                                                  • >>   MyTimer_ActiveIT +
                                                  • >>   MySPI_Set_NSS +
                                                  • >>   MySPI_Send +
                                                  • >>   MySPI_Read +
                                                  • >>   MySPI_Init +
                                                  • >>   MySPI_Clear_NSS
                                                  • >>   Init_USART
                                                  • >>   Init_Plateau -
                                                  • >>   Init_Message_Reception +
                                                  • >>   Init_Message_Reception
                                                  • >>   Init_Girouette
                                                  • >>   Init_Batterie -
                                                  • >>   Get_Angle +
                                                  • >>   Get_Angle

                                                  [Address Reference Count : 1]
                                                  • entry9a.o(.ARM.Collect$$$$0000000B)
                                                  @@ -711,18 +741,18 @@ Global Symbols

                                                  Local Symbols

                                                  -

                                                  SetSysClock (Thumb, 8 bytes, Stack size 8 bytes, system_stm32f10x.o(i.SetSysClock)) +

                                                  SetSysClock (Thumb, 8 bytes, Stack size 8 bytes, system_stm32f10x.o(i.SetSysClock))

                                                  [Stack]

                                                  • Max Depth = 20
                                                  • Call Chain = SetSysClock ⇒ SetSysClockTo72
                                                  -
                                                  [Calls]
                                                  • >>   SetSysClockTo72 +
                                                    [Calls]
                                                    • >>   SetSysClockTo72

                                                    [Called By]
                                                    • >>   SystemInit
                                                    -

                                                    SetSysClockTo72 (Thumb, 214 bytes, Stack size 12 bytes, system_stm32f10x.o(i.SetSysClockTo72)) +

                                                    SetSysClockTo72 (Thumb, 214 bytes, Stack size 12 bytes, system_stm32f10x.o(i.SetSysClockTo72))

                                                    [Stack]

                                                    • Max Depth = 12
                                                    • Call Chain = SetSysClockTo72
                                                    -
                                                    [Called By]
                                                    • >>   SetSysClock +
                                                      [Called By]
                                                      • >>   SetSysClock

                                                      diff --git a/Objects/Projet1_Simulation.lnp b/Objects/Projet1_Simulation.lnp index 67ddd37..243392e 100644 --- a/Objects/Projet1_Simulation.lnp +++ b/Objects/Projet1_Simulation.lnp @@ -8,6 +8,7 @@ ".\objects\plateau.o" ".\objects\batterie.o" ".\objects\telecommande.o" +".\FileInclude\Lib_Com_Periph_2022.lib" ".\objects\startup_stm32f10x_md.o" ".\objects\system_stm32f10x.o" --library_type=microlib --strict --scatter ".\Objects\Projet1_Simulation.sct" diff --git a/Objects/batterie.o b/Objects/batterie.o index 523de0a58d68bc0b69059dcb21c658c8982af04d..cb4a72c9f812a52c203e40b34543be9f817ef789 100644 GIT binary patch delta 41 vcmbR8l7Gre{tXUXtVR}A#um-4TnOhwJ9B>Tz delta 41 vcmbR8l7Gre{tXUXtOkZwrpC>#T3Sy&mHH#-ZoI}0!ZG1GQu0p=x3*pf_=b&VM&HyT?`e#<1V-Fz$a NNv7@pw=-|F0{~8n6pa7? delta 59 zcmdn+mVW~f*$J>37+RScH9HHmI}0!ZG1GQu0p=x3*o`eLEOd<-CN~;ePJYWIu-$Ac N^GT*{JD4}v0RTN}6Jr1X diff --git a/Objects/main.crf b/Objects/main.crf index 25e732ef06f2c18374fe4160dfd35f8a511aef3a..b8e903cf43d509b52acd7aa686f411f40428b80f 100644 GIT binary patch delta 1306 zcmZuxYitx%6h7zfcDs++*I9RIZPaV!4}_Ep#YaO@37mcmMcxjnE&s}~wh~0Fs_BWA)@(eNZtcuun;P~dHpi=) z;lh!#{Vw3=?4=68V4|&aPddA|X?Ln6SCxk0=>zZD*$)nsJ6|t%VxinA9z2|n!e#&j z@W&hLk`3F~D!CyESBe@eE91?bPG;b8F#@6cOIYT!cT2`|Egi6&*<~&kp>OTJj_lU9 zL^hX!@w>G)TXQ$NC7a4XeX%+=ZycC2PGmchjfn)*7R%-np}9m|Yc{pVPUVf7K2g6o z2qCxCU}=0^GL=rlXfZU;xaXLaFks~S#9r4OB~q}eaH~&D-GjBp^+B;TN=Y3l&5_~Q z$+26<8-*o9;`8<4AbjV;_dPQF%pCu6;r6)r4E+mhV#e1K;#i4QI%;%Hiu(I1;2jNT zJ#wMyU+101#YwS*CH)${;r(C9NTF;>yoS{a%MY49IH%!huHg3C%u@JN!!usl&it^3 zA2HASw-?S&i)-RPmEW_X*N<=d?8;PbqJ?jz^e3 zZ6j;Q?-{iNj@2dBtlu_z1{`CO8g=xWUie07PDu$JU0iTMX{EeDi;f44o+p#AYbwkW@R<>~ZX;@A{yC24`R_M%R2NGSwG zDOSUcbujmK{^LO7Y%9mU{Or`#ppxh3sf2YlVL>us;p_%C+r_o+Nf!?U#~7oM()v##mB5*OR9}23EKwVfrkgA3V)Q8hm-AVX`sg5eD#Oq#2 zwX&V1X)|6E+{U(yz6G1SY}L-Tt?j9@j9iI4199=|U_WzB{BETYZ8dOH^0(QZZs3aK zJJZNtWV5@eC9pEX->2)kErEVbWd@?2t)8%BX(~66DFsj2$&>~=3|w&C)<99nSNUY8 zJJcG`wf>8qkrp0DLIzHFIqF3kQ9@*e5~~dS7XBqiA_k6#V_zCkwSnW(>=j2r+M+HI zs-L4-QnJUuVL1(OR4l2$K)VQEb4-LW)Wt##ax6orou(F!$?*-xf^ytzphlEK92aFA z^=dDuhB+S8J)(Kbao>BFfqgR02*+&$yCpxGMt*Iz=cso~5ltmX8}N^8`8`uqQz=pz z&_<+k$QR2GOflW%<*JWNwQ)@aNDF`#0WASq1{=MY`oxs2X=Z>JXbpbyrm4?NIhqzC zEk;_3v>a(AQX#yRulj{4S5uyKUiy7y%9FnjXfx0jpsg?}f^SSSG;On%2_9owr>WY? dkS^nbXKGpxR4UU!g^ZSBs?asPmRvnG=PzO?{LKIW diff --git a/Objects/main.d b/Objects/main.d index e0665d9..0b2eb83 100644 --- a/Objects/main.d +++ b/Objects/main.d @@ -15,3 +15,4 @@ .\objects\main.o: .\FileInclude\Batterie.h .\objects\main.o: .\FileInclude\MyGirouette.h .\objects\main.o: .\FileInclude\MyVoile.h +.\objects\main.o: .\FileInclude\MySPI.h diff --git a/Objects/main.o b/Objects/main.o index 84fdca9311f7ac3bf8a64fd0cebdeee45d9c4b4b..2eade0c866c1ecaf19146b188a97be841df5d38b 100644 GIT binary patch delta 13530 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 L^t#{ubD#V-q3bFx delta 12531 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 diff --git a/Objects/myadc.o b/Objects/myadc.o index 885c076ffd4115eb922beb4f455c0d15f9c67b4f..084144318049477b5c996157bc5c0c8b41d3a96c 100644 GIT binary patch delta 42 xcmZp8%-`^sf5RItRwD~5WAo;ZTuf7gS~rTfuH@m}H=9%rN<)faT=VECSoN JpJqOr006Qm5Y7Mq delta 54 zcmZpuf7gS~rTfuIamTI7D%rN<)faT=VECSoN JpJqOr006XL5cmK9 diff --git a/Objects/myvoile.o b/Objects/myvoile.o index 9c719e2943260c206e34c3e1ded7533acacc3c1e..993ea5c592a135482444e8aef5ca9d4da80320b9 100644 GIT binary patch delta 55 zcmX?cga5=0{tYf%tVR}A#^%kQTKjLn-F`P&)!8G)E-J0m}H_zG6TWL;y1$q(5rw@=^Be3WT> J^e*N`7XSoz5<36@ delta 59 zcmccfm;cUR{tbWlSPcxVOpTfu`P&)!8G)E-J0m}H_zJc(gJfM}hRF}vEhkTB6xhCO OJM&hi?J>KU8(aWgJrmCW diff --git a/Objects/system_stm32f10x.o b/Objects/system_stm32f10x.o index 4c30e424c51476e989ba634f75fce9038b16e85a..355078ac5ba76d3c4a756cf2582ec2238da55954 100644 GIT binary patch delta 50 zcmbR7h=0Z-{tY&QtVR}A#um+vg6)oij6lq^-BFOae-XQpNt%hSF~j7CJeJ!9wlH(p F0sxXU4$c4o delta 50 zcmbR7h=0Z-{tY&QtOkZwrpC>Vg6)oij6lq^-BFOae-XQ}d8&b~F~j7CJeJ!9wlH(p F0sxR>4#5Bb diff --git a/Objects/telecommande.o b/Objects/telecommande.o index 9023cccafc532591ed065cc989380228c9929284..95f849664524b51dacca315609fe09e3c5a7f03d 100644 GIT binary patch delta 53 zcmcc6Cvc%pV1Xd3k%g79MKh~lJF6fg5HoFO6=ddL#cr5tV4-WwFxf%Da2 3 - -1 - -1 + -32000 + -32000 -1 @@ -111,7 +111,7 @@ 0 1243 - 0100000004000000010000000100000001000000010000000000000002000000000000000100000001000000000000002800000028000000010000000D0000000C000000010000002A553A5C446F63756D656E74735C3449525C54505F566F696C6965725C536F75726365735C6D61696E2E6300000000066D61696E2E6300000000C5D4F200FFFFFFFF49553A5C446F63756D656E74735C3449525C54505F566F696C6965725C5254455C4465766963655C53544D33324631303352425C737461727475705F73746D3332663130785F6D642E730000000016737461727475705F73746D3332663130785F6D642E7300000000FFDC7800FFFFFFFF35553A5C446F63756D656E74735C3449525C54505F566F696C6965725C46696C65496E636C7564655C4D794769726F75657474652E63000000000D4D794769726F75657474652E6300000000BECEA100FFFFFFFF31553A5C446F63756D656E74735C3449525C54505F566F696C6965725C46696C65496E636C7564655C4D7954696D65722E6800000000094D7954696D65722E6800000000F0A0A100FFFFFFFF31553A5C446F63756D656E74735C3449525C54505F566F696C6965725C46696C65496E636C7564655C4D7954696D65722E6300000000094D7954696D65722E6300000000BCA8E100FFFFFFFF51433A5C50726F6772616D646174615C4B65696C5C41726D5C5061636B735C4B65696C5C53544D3332463178785F4446505C322E332E305C4465766963655C496E636C7564655C73746D3332663130782E68000000000B73746D3332663130782E68000000009CC1B600FFFFFFFF35553A5C446F63756D656E74735C3449525C54505F566F696C6965725C46696C65496E636C7564655C4472697665725F4750494F2E68000000000D4472697665725F4750494F2E6800000000F7B88600FFFFFFFF35553A5C446F63756D656E74735C3449525C54505F566F696C6965725C46696C65496E636C7564655C4D794769726F75657474652E68000000000D4D794769726F75657474652E6800000000D9ADC200FFFFFFFF25553A5C446F63756D656E74735C3449525C54505F566F696C6965725C4D79566F696C652E6300000000094D79566F696C652E6300000000A5C2D700FFFFFFFF35553A5C446F63756D656E74735C3449525C54505F566F696C6965725C46696C65496E636C7564655C4472697665725F4750494F2E63000000000D4472697665725F4750494F2E6300000000B3A6BE00FFFFFFFF31553A5C446F63756D656E74735C3449525C54505F566F696C6965725C46696C65496E636C7564655C506C61746561752E680000000009506C61746561752E6800000000F6FA7D00FFFFFFFF32553A5C446F63756D656E74735C3449525C54505F566F696C6965725C46696C65496E636C7564655C42617474657269652E63000000000A42617474657269652E6300000000B5E99D00FFFFFFFF31553A5C446F63756D656E74735C3449525C54505F566F696C6965725C46696C65496E636C7564655C506C61746561752E630000000009506C61746561752E63000000005FC3CF00FFFFFFFF0100000010000000C5D4F200FFDC7800BECEA100F0A0A100BCA8E1009CC1B600F7B88600D9ADC200A5C2D700B3A6BE00EAD6A300F6FA7D00B5E99D005FC3CF00C1838300CACAD500010000000000000002000000F40000006600000000080000FB020000 + 0100000004000000010000000100000001000000010000000000000002000000000000000100000001000000000000002800000028000000010000000D00000000000000010000002A553A5C446F63756D656E74735C3449525C54505F566F696C6965725C536F75726365735C6D61696E2E6300000000066D61696E2E6300000000C5D4F200FFFFFFFF49553A5C446F63756D656E74735C3449525C54505F566F696C6965725C5254455C4465766963655C53544D33324631303352425C737461727475705F73746D3332663130785F6D642E730000000016737461727475705F73746D3332663130785F6D642E7300000000FFDC7800FFFFFFFF35553A5C446F63756D656E74735C3449525C54505F566F696C6965725C46696C65496E636C7564655C4D794769726F75657474652E63000000000D4D794769726F75657474652E6300000000BECEA100FFFFFFFF31553A5C446F63756D656E74735C3449525C54505F566F696C6965725C46696C65496E636C7564655C4D7954696D65722E6800000000094D7954696D65722E6800000000F0A0A100FFFFFFFF31553A5C446F63756D656E74735C3449525C54505F566F696C6965725C46696C65496E636C7564655C4D7954696D65722E6300000000094D7954696D65722E6300000000BCA8E100FFFFFFFF51433A5C50726F6772616D646174615C4B65696C5C41726D5C5061636B735C4B65696C5C53544D3332463178785F4446505C322E332E305C4465766963655C496E636C7564655C73746D3332663130782E68000000000B73746D3332663130782E68000000009CC1B600FFFFFFFF35553A5C446F63756D656E74735C3449525C54505F566F696C6965725C46696C65496E636C7564655C4472697665725F4750494F2E68000000000D4472697665725F4750494F2E6800000000F7B88600FFFFFFFF35553A5C446F63756D656E74735C3449525C54505F566F696C6965725C46696C65496E636C7564655C4D794769726F75657474652E68000000000D4D794769726F75657474652E6800000000D9ADC200FFFFFFFF25553A5C446F63756D656E74735C3449525C54505F566F696C6965725C4D79566F696C652E6300000000094D79566F696C652E6300000000A5C2D700FFFFFFFF35553A5C446F63756D656E74735C3449525C54505F566F696C6965725C46696C65496E636C7564655C4472697665725F4750494F2E63000000000D4472697665725F4750494F2E6300000000B3A6BE00FFFFFFFF31553A5C446F63756D656E74735C3449525C54505F566F696C6965725C46696C65496E636C7564655C506C61746561752E680000000009506C61746561752E6800000000F6FA7D00FFFFFFFF32553A5C446F63756D656E74735C3449525C54505F566F696C6965725C46696C65496E636C7564655C42617474657269652E63000000000A42617474657269652E6300000000B5E99D00FFFFFFFF31553A5C446F63756D656E74735C3449525C54505F566F696C6965725C46696C65496E636C7564655C506C61746561752E630000000009506C61746561752E63000000005FC3CF00FFFFFFFF0100000010000000C5D4F200FFDC7800BECEA100F0A0A100BCA8E1009CC1B600F7B88600D9ADC200A5C2D700B3A6BE00EAD6A300F6FA7D00B5E99D005FC3CF00C1838300CACAD500010000000000000002000000F40000006600000000080000FB020000 @@ -1805,8 +1805,8 @@ 59392 File - 2548 - 00200000010000002800FFFF01001100434D4643546F6F6C426172427574746F6E00E100000000000000000000000000000000000000000000000100000001000000018001E100000000000001000000000000000000000000000000000100000001000000018003E1000000000000020000000000000000000000000000000001000000010000000180CD7F0000000000000300000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018023E100000000040004000000000000000000000000000000000100000001000000018022E100000000040005000000000000000000000000000000000100000001000000018025E10000000000000600000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001802BE10000000000000700000000000000000000000000000000010000000100000001802CE10000000004000800000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001807A8A0000000000000900000000000000000000000000000000010000000100000001807B8A0000000004000A00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180D3B00000000000000B000000000000000000000000000000000100000001000000018015B10000000004000C0000000000000000000000000000000001000000010000000180F4B00000000004000D000000000000000000000000000000000100000001000000018036B10000000004000E00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FF88000000000400460000000000000000000000000000000001000000010000000180FE880000000004004500000000000000000000000000000000010000000100000001800B810000000004001300000000000000000000000000000000010000000100000001800C810000000004001400000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180F0880000020000000F000000000000000000000000000000000100000001000000FFFF0100120043555646696E64436F6D626F427574746F6EE803000000000000000000000000000000000000000000000001000000010000009600000002002050000000000096000000000000000100064750494F413600000000018024E10000000000001100000000000000000000000000000000010000000100000001800A810000000000001200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6E2280000002000000150000002153746172742F53746F70202644656275672053657373696F6E094374726C2B46350000000000000000000000000100000001000000000000000000000001000000020021802280000000000000150000002153746172742F53746F70202644656275672053657373696F6E094374726C2B4635000000000000000000000000010000000100000000000000000000000100000000002180E0010000000000007500000021456E65726779204D6561737572656D656E742026776974686F75742044656275670000000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180C488000000000000160000000000000000000000000000000001000000010000000180C988000000000400180000000000000000000000000000000001000000010000000180C788000000000000190000000000000000000000000000000001000000010000002180C8880000000000001700000027264B696C6C20416C6C20427265616B706F696E747320696E2043757272656E7420546172676574000000000000000000000000010000000100000000000000000000000100000003002180C8880000000000001700000027264B696C6C20416C6C20427265616B706F696E747320696E2043757272656E7420546172676574000000000000000000000000010000000100000000000000000000000100000000002180E50100000000000078000000264B696C6C20416C6C20427265616B706F696E747320696E204163746976652050726F6A656374000000000000000000000000010000000100000000000000000000000100000000002180E601000000000000790000002F4B696C6C20416C6C20427265616B706F696E747320696E204D756C74692D50726F6A65637420576F726B73706163650000000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000021804C010000020001001A0000000F2650726F6A6563742057696E646F77000000000000000000000000010000000100000000000000000000000100000008002180DD880000000000001A0000000750726F6A656374000000000000000000000000010000000100000000000000000000000100000000002180DC8B0000000000003A00000005426F6F6B73000000000000000000000000010000000100000000000000000000000100000000002180E18B0000000000003B0000000946756E6374696F6E73000000000000000000000000010000000100000000000000000000000100000000002180E28B000000000000400000000954656D706C6174657300000000000000000000000001000000010000000000000000000000010000000000218018890000000000003D0000000E536F757263652042726F777365720000000000000000000000000100000001000000000000000000000001000000000021800000000000000400FFFFFFFF00000000000000000001000000000000000100000000000000000000000100000000002180D988000000000000390000000C4275696C64204F7574707574000000000000000000000000010000000100000000000000000000000100000000002180E38B000000000000410000000B46696E64204F75747075740000000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FB7F0000000000001B000000000000000000000000000000000100000001000000000000000446696C65C6030000 + 2554 + 00200000010000002800FFFF01001100434D4643546F6F6C426172427574746F6E00E100000000000000000000000000000000000000000000000100000001000000018001E100000000000001000000000000000000000000000000000100000001000000018003E1000000000000020000000000000000000000000000000001000000010000000180CD7F0000000000000300000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018023E100000000040004000000000000000000000000000000000100000001000000018022E100000000040005000000000000000000000000000000000100000001000000018025E10000000000000600000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001802BE10000000000000700000000000000000000000000000000010000000100000001802CE10000000004000800000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001807A8A0000000000000900000000000000000000000000000000010000000100000001807B8A0000000004000A00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180D3B00000000000000B000000000000000000000000000000000100000001000000018015B10000000004000C0000000000000000000000000000000001000000010000000180F4B00000000004000D000000000000000000000000000000000100000001000000018036B10000000004000E00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FF88000000000400460000000000000000000000000000000001000000010000000180FE880000000004004500000000000000000000000000000000010000000100000001800B810000000004001300000000000000000000000000000000010000000100000001800C810000000004001400000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180F0880000020000000F000000000000000000000000000000000100000001000000FFFF0100120043555646696E64436F6D626F427574746F6EE80300000000000000000000000000000000000000000000000100000001000000960000000200205000000000064750494F413696000000000000000100064750494F413600000000018024E10000000000001100000000000000000000000000000000010000000100000001800A810000000000001200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6E2280000002000000150000002153746172742F53746F70202644656275672053657373696F6E094374726C2B46350000000000000000000000000100000001000000000000000000000001000000020021802280000000000000150000002153746172742F53746F70202644656275672053657373696F6E094374726C2B4635000000000000000000000000010000000100000000000000000000000100000000002180E0010000000000007500000021456E65726779204D6561737572656D656E742026776974686F75742044656275670000000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180C488000000000000160000000000000000000000000000000001000000010000000180C988000000000400180000000000000000000000000000000001000000010000000180C788000000000000190000000000000000000000000000000001000000010000002180C8880000000000001700000027264B696C6C20416C6C20427265616B706F696E747320696E2043757272656E7420546172676574000000000000000000000000010000000100000000000000000000000100000003002180C8880000000000001700000027264B696C6C20416C6C20427265616B706F696E747320696E2043757272656E7420546172676574000000000000000000000000010000000100000000000000000000000100000000002180E50100000000000078000000264B696C6C20416C6C20427265616B706F696E747320696E204163746976652050726F6A656374000000000000000000000000010000000100000000000000000000000100000000002180E601000000000000790000002F4B696C6C20416C6C20427265616B706F696E747320696E204D756C74692D50726F6A65637420576F726B73706163650000000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000021804C010000020001001A0000000F2650726F6A6563742057696E646F77000000000000000000000000010000000100000000000000000000000100000008002180DD880000000000001A0000000750726F6A656374000000000000000000000000010000000100000000000000000000000100000000002180DC8B0000000000003A00000005426F6F6B73000000000000000000000000010000000100000000000000000000000100000000002180E18B0000000000003B0000000946756E6374696F6E73000000000000000000000000010000000100000000000000000000000100000000002180E28B000000000000400000000954656D706C6174657300000000000000000000000001000000010000000000000000000000010000000000218018890000000000003D0000000E536F757263652042726F777365720000000000000000000000000100000001000000000000000000000001000000000021800000000000000400FFFFFFFF00000000000000000001000000000000000100000000000000000000000100000000002180D988000000000000390000000C4275696C64204F7574707574000000000000000000000000010000000100000000000000000000000100000000002180E38B000000000000410000000B46696E64204F75747075740000000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FB7F0000000000001B000000000000000000000000000000000100000001000000000000000446696C65C6030000 1423 @@ -1875,7 +1875,7 @@ 16 - EC000000660000000008000033010000 + EC000000660000000008000034010000 @@ -2031,7 +2031,7 @@ 0 16 - EF00000066000000FD07000003010000 + EF00000066000000FD07000004010000 16 @@ -2311,7 +2311,7 @@ 0 16 - EF00000066000000FD07000003010000 + EF00000066000000FD07000004010000 16 @@ -2391,7 +2391,7 @@ 0 16 - EF00000066000000FD07000003010000 + EF00000066000000FD07000004010000 16 @@ -2411,7 +2411,7 @@ 0 16 - EF00000066000000FD07000003010000 + EF00000066000000FD07000004010000 16 @@ -2431,7 +2431,7 @@ 0 16 - EF00000066000000FD07000003010000 + EF00000066000000FD07000004010000 16 @@ -2451,7 +2451,7 @@ 0 16 - EF00000066000000FD07000003010000 + EF00000066000000FD07000004010000 16 @@ -3031,7 +3031,7 @@ 0 16 - EF00000066000000FD07000003010000 + EF00000066000000FD07000004010000 16 @@ -3540,14 +3540,14 @@ 3351 - 000000000B000000000000000020000001000000FFFFFFFFFFFFFFFFEC0000001D01000000080000210100000100000001000010040000000100000035FFFFFFAE01000000000000000000000000000001000000FFFFFFFF08000000CB00000057010000CC000000F08B00005A01000079070000D601000045890000FFFF02000B004354616262656450616E650020000001000000EC000000660000000008000033010000EC0000004F000000000800001D0100000000000040280056080000000B446973617373656D626C7901000000CB00000001000000FFFFFFFFFFFFFFFF14506572666F726D616E636520416E616C797A6572000000005701000001000000FFFFFFFFFFFFFFFF14506572666F726D616E636520416E616C797A657200000000CC00000001000000FFFFFFFFFFFFFFFF0E4C6F67696320416E616C797A657200000000F08B000001000000FFFFFFFFFFFFFFFF0D436F646520436F766572616765000000005A01000001000000FFFFFFFFFFFFFFFF11496E737472756374696F6E205472616365000000007907000001000000FFFFFFFFFFFFFFFF0F53797374656D20416E616C797A657200000000D601000001000000FFFFFFFFFFFFFFFF104576656E742053746174697374696373000000004589000001000000FFFFFFFFFFFFFFFF0000000000000000000000000000000000000000000000000000000001000000FFFFFFFFCB00000001000000FFFFFFFFCB000000000000000040000000000000FFFFFFFFFFFFFFFF9C0400004F000000A004000029020000000000000200000004000000010000000000000000000000FFFFFFFF2B000000E2050000CA0900002D8C00002E8C00002F8C0000308C0000318C0000328C0000338C0000348C0000358C0000368C0000378C0000388C0000398C00003A8C00003B8C00003C8C00003D8C00003E8C00003F8C0000408C0000418C000050C3000051C3000052C3000053C3000054C3000055C3000056C3000057C3000058C3000059C300005AC300005BC300005CC300005DC300005EC300005FC3000060C3000061C3000062C3000063C3000001800040000000000000A0040000660000009005000040020000A00400004F000000900500002902000000000000404100462B0000000753796D626F6C7300000000E205000001000000FFFFFFFFFFFFFFFF0A5472616365204461746100000000CA09000001000000FFFFFFFFFFFFFFFF00000000002D8C000001000000FFFFFFFFFFFFFFFF00000000002E8C000001000000FFFFFFFFFFFFFFFF00000000002F8C000001000000FFFFFFFFFFFFFFFF0000000000308C000001000000FFFFFFFFFFFFFFFF0000000000318C000001000000FFFFFFFFFFFFFFFF0000000000328C000001000000FFFFFFFFFFFFFFFF0000000000338C000001000000FFFFFFFFFFFFFFFF0000000000348C000001000000FFFFFFFFFFFFFFFF0000000000358C000001000000FFFFFFFFFFFFFFFF0000000000368C000001000000FFFFFFFFFFFFFFFF0000000000378C000001000000FFFFFFFFFFFFFFFF0000000000388C000001000000FFFFFFFFFFFFFFFF0000000000398C000001000000FFFFFFFFFFFFFFFF00000000003A8C000001000000FFFFFFFFFFFFFFFF00000000003B8C000001000000FFFFFFFFFFFFFFFF00000000003C8C000001000000FFFFFFFFFFFFFFFF00000000003D8C000001000000FFFFFFFFFFFFFFFF00000000003E8C000001000000FFFFFFFFFFFFFFFF00000000003F8C000001000000FFFFFFFFFFFFFFFF0000000000408C000001000000FFFFFFFFFFFFFFFF0000000000418C000001000000FFFFFFFFFFFFFFFF000000000050C3000001000000FFFFFFFFFFFFFFFF000000000051C3000001000000FFFFFFFFFFFFFFFF000000000052C3000001000000FFFFFFFFFFFFFFFF000000000053C3000001000000FFFFFFFFFFFFFFFF000000000054C3000001000000FFFFFFFFFFFFFFFF000000000055C3000001000000FFFFFFFFFFFFFFFF000000000056C3000001000000FFFFFFFFFFFFFFFF000000000057C3000001000000FFFFFFFFFFFFFFFF000000000058C3000001000000FFFFFFFFFFFFFFFF000000000059C3000001000000FFFFFFFFFFFFFFFF00000000005AC3000001000000FFFFFFFFFFFFFFFF00000000005BC3000001000000FFFFFFFFFFFFFFFF00000000005CC3000001000000FFFFFFFFFFFFFFFF00000000005DC3000001000000FFFFFFFFFFFFFFFF00000000005EC3000001000000FFFFFFFFFFFFFFFF00000000005FC3000001000000FFFFFFFFFFFFFFFF000000000060C3000001000000FFFFFFFFFFFFFFFF000000000061C3000001000000FFFFFFFFFFFFFFFF000000000062C3000001000000FFFFFFFFFFFFFFFF000000000063C3000001000000FFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000000000000000000001000000FFFFFFFFE205000001000000FFFFFFFFE2050000000000000080000001000000FFFFFFFFFFFFFFFFEC000000D302000000080000D70200000100000001000010040000000100000050FEFFFFD200000000000000000000000000000001000000C6000000FFFFFFFF0F0000008F070000930700009407000095070000960700009007000091070000B5010000B801000038030000B9050000BA050000BB050000BC050000CB090000018000800000010000007A040000EE02000000080000450400007A040000D7020000000800002E04000000000000404100560F0000001343616C6C20537461636B202B204C6F63616C73010000008F07000001000000FFFFFFFFFFFFFFFF0755415254202331000000009307000001000000FFFFFFFFFFFFFFFF0755415254202332000000009407000001000000FFFFFFFFFFFFFFFF0755415254202333000000009507000001000000FFFFFFFFFFFFFFFF15446562756720287072696E74662920566965776572000000009607000001000000FFFFFFFFFFFFFFFF0757617463682031010000009007000001000000FFFFFFFFFFFFFFFF0757617463682032000000009107000001000000FFFFFFFFFFFFFFFF10547261636520457863657074696F6E7300000000B501000001000000FFFFFFFFFFFFFFFF0E4576656E7420436F756E7465727300000000B801000001000000FFFFFFFFFFFFFFFF09554C494E4B706C7573000000003803000001000000FFFFFFFFFFFFFFFF084D656D6F7279203101000000B905000001000000FFFFFFFFFFFFFFFF084D656D6F7279203200000000BA05000001000000FFFFFFFFFFFFFFFF084D656D6F7279203300000000BB05000001000000FFFFFFFFFFFFFFFF084D656D6F7279203400000000BC05000001000000FFFFFFFFFFFFFFFF105472616365204E617669676174696F6E00000000CB09000001000000FFFFFFFFFFFFFFFF050000000000000001000000000000000100000001000000FFFFFFFF76040000D70200007A0400002E04000001000000020000100400000000000000000000000000000000000000000000000000000002000000C6000000FFFFFFFF8F07000001000000FFFFFFFF8F07000001000000C6000000000000000080000000000000FFFFFFFFFFFFFFFF0000000029020000900500002D020000000000000100000004000000010000000000000000000000FFFFFFFF06000000C5000000C7000000B4010000D2010000CF0100007794000001800080000000000000000000004402000090050000D4020000000000002D02000090050000BD0200000000000040820046060000000C4275696C64204F757470757400000000C500000001000000FFFFFFFFFFFFFFFF0D46696E6420496E2046696C657300000000C700000001000000FFFFFFFFFFFFFFFF0A4572726F72204C69737400000000B401000001000000FFFFFFFFFFFFFFFF0E536F757263652042726F7773657200000000D201000001000000FFFFFFFFFFFFFFFF0E416C6C205265666572656E63657300000000CF01000001000000FFFFFFFFFFFFFFFF0642726F777365000000007794000001000000FFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000000000000000000001000000FFFFFFFFC500000001000000FFFFFFFFC5000000000000000010000001000000FFFFFFFFFFFFFFFFE80000004F000000EC0000002E04000001000000020000100400000001000000000000000000000000000000000000000000000001000000FFFFFFFF05000000ED0300006D000000C3000000C400000073940000018000100000010000000000000066000000E800000045040000000000004F000000E80000002E0400000000000040410056050000000750726F6A65637401000000ED03000001000000FFFFFFFFFFFFFFFF05426F6F6B73000000006D00000001000000FFFFFFFFFFFFFFFF0946756E6374696F6E7300000000C300000001000000FFFFFFFFFFFFFFFF0954656D706C6174657300000000C400000001000000FFFFFFFFFFFFFFFF09526567697374657273010000007394000001000000FFFFFFFFFFFFFFFF0000000000000000000000000000000000000000000000000000000001000000FFFFFFFFED03000001000000FFFFFFFFED030000000000000000000000000000 + 000000000B000000000000000020000001000000FFFFFFFFFFFFFFFFEC0000001D01000000080000210100000100000001000010040000000100000035FFFFFFAE01000000000000000000000000000001000000FFFFFFFF08000000CB00000057010000CC000000F08B00005A01000079070000D601000045890000FFFF02000B004354616262656450616E650020000001000000EC000000660000000008000034010000EC0000004F000000000800001D0100000000000040280056080000000B446973617373656D626C7901000000CB00000001000000FFFFFFFFFFFFFFFF14506572666F726D616E636520416E616C797A6572000000005701000001000000FFFFFFFFFFFFFFFF14506572666F726D616E636520416E616C797A657200000000CC00000001000000FFFFFFFFFFFFFFFF0E4C6F67696320416E616C797A657200000000F08B000001000000FFFFFFFFFFFFFFFF0D436F646520436F766572616765000000005A01000001000000FFFFFFFFFFFFFFFF11496E737472756374696F6E205472616365000000007907000001000000FFFFFFFFFFFFFFFF0F53797374656D20416E616C797A657200000000D601000001000000FFFFFFFFFFFFFFFF104576656E742053746174697374696373000000004589000001000000FFFFFFFFFFFFFFFF0000000000000000000000000000000000000000000000000000000001000000FFFFFFFFCB00000001000000FFFFFFFFCB000000000000000040000000000000FFFFFFFFFFFFFFFF9C0400004F000000A004000029020000000000000200000004000000010000000000000000000000FFFFFFFF2B000000E2050000CA0900002D8C00002E8C00002F8C0000308C0000318C0000328C0000338C0000348C0000358C0000368C0000378C0000388C0000398C00003A8C00003B8C00003C8C00003D8C00003E8C00003F8C0000408C0000418C000050C3000051C3000052C3000053C3000054C3000055C3000056C3000057C3000058C3000059C300005AC300005BC300005CC300005DC300005EC300005FC3000060C3000061C3000062C3000063C3000001800040000000000000A0040000660000009005000040020000A00400004F000000900500002902000000000000404100462B0000000753796D626F6C7300000000E205000001000000FFFFFFFFFFFFFFFF0A5472616365204461746100000000CA09000001000000FFFFFFFFFFFFFFFF00000000002D8C000001000000FFFFFFFFFFFFFFFF00000000002E8C000001000000FFFFFFFFFFFFFFFF00000000002F8C000001000000FFFFFFFFFFFFFFFF0000000000308C000001000000FFFFFFFFFFFFFFFF0000000000318C000001000000FFFFFFFFFFFFFFFF0000000000328C000001000000FFFFFFFFFFFFFFFF0000000000338C000001000000FFFFFFFFFFFFFFFF0000000000348C000001000000FFFFFFFFFFFFFFFF0000000000358C000001000000FFFFFFFFFFFFFFFF0000000000368C000001000000FFFFFFFFFFFFFFFF0000000000378C000001000000FFFFFFFFFFFFFFFF0000000000388C000001000000FFFFFFFFFFFFFFFF0000000000398C000001000000FFFFFFFFFFFFFFFF00000000003A8C000001000000FFFFFFFFFFFFFFFF00000000003B8C000001000000FFFFFFFFFFFFFFFF00000000003C8C000001000000FFFFFFFFFFFFFFFF00000000003D8C000001000000FFFFFFFFFFFFFFFF00000000003E8C000001000000FFFFFFFFFFFFFFFF00000000003F8C000001000000FFFFFFFFFFFFFFFF0000000000408C000001000000FFFFFFFFFFFFFFFF0000000000418C000001000000FFFFFFFFFFFFFFFF000000000050C3000001000000FFFFFFFFFFFFFFFF000000000051C3000001000000FFFFFFFFFFFFFFFF000000000052C3000001000000FFFFFFFFFFFFFFFF000000000053C3000001000000FFFFFFFFFFFFFFFF000000000054C3000001000000FFFFFFFFFFFFFFFF000000000055C3000001000000FFFFFFFFFFFFFFFF000000000056C3000001000000FFFFFFFFFFFFFFFF000000000057C3000001000000FFFFFFFFFFFFFFFF000000000058C3000001000000FFFFFFFFFFFFFFFF000000000059C3000001000000FFFFFFFFFFFFFFFF00000000005AC3000001000000FFFFFFFFFFFFFFFF00000000005BC3000001000000FFFFFFFFFFFFFFFF00000000005CC3000001000000FFFFFFFFFFFFFFFF00000000005DC3000001000000FFFFFFFFFFFFFFFF00000000005EC3000001000000FFFFFFFFFFFFFFFF00000000005FC3000001000000FFFFFFFFFFFFFFFF000000000060C3000001000000FFFFFFFFFFFFFFFF000000000061C3000001000000FFFFFFFFFFFFFFFF000000000062C3000001000000FFFFFFFFFFFFFFFF000000000063C3000001000000FFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000000000000000000001000000FFFFFFFFE205000001000000FFFFFFFFE2050000000000000080000001000000FFFFFFFFFFFFFFFFEC000000D302000000080000D70200000100000001000010040000000100000050FEFFFFD200000000000000000000000000000001000000C6000000FFFFFFFF0F0000008F070000930700009407000095070000960700009007000091070000B5010000B801000038030000B9050000BA050000BB050000BC050000CB090000018000800000010000007A040000EE02000000080000450400007A040000D7020000000800002E04000000000000404100560F0000001343616C6C20537461636B202B204C6F63616C73010000008F07000001000000FFFFFFFFFFFFFFFF0755415254202331000000009307000001000000FFFFFFFFFFFFFFFF0755415254202332000000009407000001000000FFFFFFFFFFFFFFFF0755415254202333000000009507000001000000FFFFFFFFFFFFFFFF15446562756720287072696E74662920566965776572000000009607000001000000FFFFFFFFFFFFFFFF0757617463682031010000009007000001000000FFFFFFFFFFFFFFFF0757617463682032000000009107000001000000FFFFFFFFFFFFFFFF10547261636520457863657074696F6E7300000000B501000001000000FFFFFFFFFFFFFFFF0E4576656E7420436F756E7465727300000000B801000001000000FFFFFFFFFFFFFFFF09554C494E4B706C7573000000003803000001000000FFFFFFFFFFFFFFFF084D656D6F7279203101000000B905000001000000FFFFFFFFFFFFFFFF084D656D6F7279203200000000BA05000001000000FFFFFFFFFFFFFFFF084D656D6F7279203300000000BB05000001000000FFFFFFFFFFFFFFFF084D656D6F7279203400000000BC05000001000000FFFFFFFFFFFFFFFF105472616365204E617669676174696F6E00000000CB09000001000000FFFFFFFFFFFFFFFF050000000000000001000000000000000100000001000000FFFFFFFF76040000D70200007A0400002E04000001000000020000100400000000000000000000000000000000000000000000000000000002000000C6000000FFFFFFFF8F07000001000000FFFFFFFF8F07000001000000C6000000000000000080000000000000FFFFFFFFFFFFFFFF0000000029020000900500002D020000000000000100000004000000010000000000000000000000FFFFFFFF06000000C5000000C7000000B4010000D2010000CF0100007794000001800080000000000000000000004402000090050000D4020000000000002D02000090050000BD0200000000000040820046060000000C4275696C64204F757470757400000000C500000001000000FFFFFFFFFFFFFFFF0D46696E6420496E2046696C657300000000C700000001000000FFFFFFFFFFFFFFFF0A4572726F72204C69737400000000B401000001000000FFFFFFFFFFFFFFFF0E536F757263652042726F7773657200000000D201000001000000FFFFFFFFFFFFFFFF0E416C6C205265666572656E63657300000000CF01000001000000FFFFFFFFFFFFFFFF0642726F777365000000007794000001000000FFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000000000000000000001000000FFFFFFFFC500000001000000FFFFFFFFC5000000000000000010000001000000FFFFFFFFFFFFFFFFE80000004F000000EC0000002E04000001000000020000100400000001000000000000000000000000000000000000000000000001000000FFFFFFFF05000000ED0300006D000000C3000000C400000073940000018000100000010000000000000066000000E800000045040000000000004F000000E80000002E0400000000000040410056050000000750726F6A65637401000000ED03000001000000FFFFFFFFFFFFFFFF05426F6F6B73000000006D00000001000000FFFFFFFFFFFFFFFF0946756E6374696F6E7300000000C300000001000000FFFFFFFFFFFFFFFF0954656D706C6174657300000000C400000001000000FFFFFFFFFFFFFFFF09526567697374657273010000007394000001000000FFFFFFFFFFFFFFFF0000000000000000000000000000000000000000000000000000000001000000FFFFFFFFED03000001000000FFFFFFFFED030000000000000000000000000000 59392 File - 2537 - 00200000010000002800FFFF01001100434D4643546F6F6C426172427574746F6E00E100000000000000000000000000000000000000000000000100000001000000018001E100000000000001000000000000000000000000000000000100000001000000018003E1000000000000020000000000000000000000000000000001000000010000000180CD7F0000000000000300000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018023E100000000000004000000000000000000000000000000000100000001000000018022E100000000000005000000000000000000000000000000000100000001000000018025E10000000000000600000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001802BE10000000000000700000000000000000000000000000000010000000100000001802CE10000000004000800000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001807A8A0000000000000900000000000000000000000000000000010000000100000001807B8A0000000004000A00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180D3B00000000000000B000000000000000000000000000000000100000001000000018015B10000000004000C0000000000000000000000000000000001000000010000000180F4B00000000004000D000000000000000000000000000000000100000001000000018036B10000000004000E00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FF88000000000000460000000000000000000000000000000001000000010000000180FE880000000000004500000000000000000000000000000000010000000100000001800B810000000000001300000000000000000000000000000000010000000100000001800C810000000000001400000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180F0880000020000000F000000000000000000000000000000000100000001000000FFFF0100120043555646696E64436F6D626F427574746F6EE803000000000000000000000000000000000000000000000001000000010000009600000002002050000000000096000000000000000000018024E10000000000001100000000000000000000000000000000010000000100000001800A810000000000001200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6E2280000002000100150000002153746172742F53746F70202644656275672053657373696F6E094374726C2B46350000000000000000000000000100000001000000000000000000000001000000020021802280000000000000150000002153746172742F53746F70202644656275672053657373696F6E094374726C2B4635000000000000000000000000010000000100000000000000000000000100000000002180E0010000000000007500000021456E65726779204D6561737572656D656E742026776974686F75742044656275670000000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180C488000000000000160000000000000000000000000000000001000000010000000180C988000000000400180000000000000000000000000000000001000000010000000180C788000000000000190000000000000000000000000000000001000000010000002180C8880000000000001700000027264B696C6C20416C6C20427265616B706F696E747320696E2043757272656E7420546172676574000000000000000000000000010000000100000000000000000000000100000003002180C8880000000000001700000027264B696C6C20416C6C20427265616B706F696E747320696E2043757272656E7420546172676574000000000000000000000000010000000100000000000000000000000100000000002180E50100000000000078000000264B696C6C20416C6C20427265616B706F696E747320696E204163746976652050726F6A656374000000000000000000000000010000000100000000000000000000000100000000002180E601000000000000790000002F4B696C6C20416C6C20427265616B706F696E747320696E204D756C74692D50726F6A65637420576F726B73706163650000000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000021804C010000020001001A0000000F2650726F6A6563742057696E646F77000000000000000000000000010000000100000000000000000000000100000008002180DD880000000000001A0000000750726F6A656374000000000000000000000000010000000100000000000000000000000100000000002180DC8B0000000000003A00000005426F6F6B73000000000000000000000000010000000100000000000000000000000100000000002180E18B0000000000003B0000000946756E6374696F6E73000000000000000000000000010000000100000000000000000000000100000000002180E28B000000000000400000000954656D706C6174657300000000000000000000000001000000010000000000000000000000010000000000218018890000000000003D0000000E536F757263652042726F777365720000000000000000000000000100000001000000000000000000000001000000000021800000000000000400FFFFFFFF00000000000000000001000000000000000100000000000000000000000100000000002180D988000000000000390000000C4275696C64204F7574707574000000000000000000000000010000000100000000000000000000000100000000002180E38B000000000000410000000B46696E64204F75747075740000000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FB7F0000000000001B000000000000000000000000000000000100000001000000000000000446696C65C6030000 + 2554 + 00200000010000002800FFFF01001100434D4643546F6F6C426172427574746F6E00E100000000000000000000000000000000000000000000000100000001000000018001E100000000000001000000000000000000000000000000000100000001000000018003E1000000000000020000000000000000000000000000000001000000010000000180CD7F0000000000000300000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018023E100000000040004000000000000000000000000000000000100000001000000018022E100000000040005000000000000000000000000000000000100000001000000018025E10000000000000600000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001802BE10000000000000700000000000000000000000000000000010000000100000001802CE10000000004000800000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001807A8A0000000000000900000000000000000000000000000000010000000100000001807B8A0000000004000A00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180D3B00000000000000B000000000000000000000000000000000100000001000000018015B10000000004000C0000000000000000000000000000000001000000010000000180F4B00000000004000D000000000000000000000000000000000100000001000000018036B10000000004000E00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FF88000000000400460000000000000000000000000000000001000000010000000180FE880000000004004500000000000000000000000000000000010000000100000001800B810000000004001300000000000000000000000000000000010000000100000001800C810000000004001400000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180F0880000020000000F000000000000000000000000000000000100000001000000FFFF0100120043555646696E64436F6D626F427574746F6EE80300000000000000000000000000000000000000000000000100000001000000960000000200205000000000064750494F413696000000000000000100064750494F413600000000018024E10000000000001100000000000000000000000000000000010000000100000001800A810000000000001200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6E2280000002000100150000002153746172742F53746F70202644656275672053657373696F6E094374726C2B46350000000000000000000000000100000001000000000000000000000001000000020021802280000000000000150000002153746172742F53746F70202644656275672053657373696F6E094374726C2B4635000000000000000000000000010000000100000000000000000000000100000000002180E0010000000000007500000021456E65726779204D6561737572656D656E742026776974686F75742044656275670000000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180C488000000000000160000000000000000000000000000000001000000010000000180C988000000000400180000000000000000000000000000000001000000010000000180C788000000000000190000000000000000000000000000000001000000010000002180C8880000000000001700000027264B696C6C20416C6C20427265616B706F696E747320696E2043757272656E7420546172676574000000000000000000000000010000000100000000000000000000000100000003002180C8880000000000001700000027264B696C6C20416C6C20427265616B706F696E747320696E2043757272656E7420546172676574000000000000000000000000010000000100000000000000000000000100000000002180E50100000000000078000000264B696C6C20416C6C20427265616B706F696E747320696E204163746976652050726F6A656374000000000000000000000000010000000100000000000000000000000100000000002180E601000000000000790000002F4B696C6C20416C6C20427265616B706F696E747320696E204D756C74692D50726F6A65637420576F726B73706163650000000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000021804C010000020001001A0000000F2650726F6A6563742057696E646F77000000000000000000000000010000000100000000000000000000000100000008002180DD880000000000001A0000000750726F6A656374000000000000000000000000010000000100000000000000000000000100000000002180DC8B0000000000003A00000005426F6F6B73000000000000000000000000010000000100000000000000000000000100000000002180E18B0000000000003B0000000946756E6374696F6E73000000000000000000000000010000000100000000000000000000000100000000002180E28B000000000000400000000954656D706C6174657300000000000000000000000001000000010000000000000000000000010000000000218018890000000000003D0000000E536F757263652042726F777365720000000000000000000000000100000001000000000000000000000001000000000021800000000000000400FFFFFFFF00000000000000000001000000000000000100000000000000000000000100000000002180D988000000000000390000000C4275696C64204F7574707574000000000000000000000000010000000100000000000000000000000100000000002180E38B000000000000410000000B46696E64204F75747075740000000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FB7F0000000000001B000000000000000000000000000000000100000001000000000000000446696C65C6030000 1423 @@ -3579,7 +3579,7 @@ Debug 2362 - 00200000010000001900FFFF01001100434D4643546F6F6C426172427574746F6ECC880000000000002500000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018017800000000000002600000000000000000000000000000000010000000100000001801D800000000004002700000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001801A800000000000002800000000000000000000000000000000010000000100000001801B80000000000000290000000000000000000000000000000001000000010000000180E57F0000000000002A00000000000000000000000000000000010000000100000001801C800000000004002B00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018000890000000000002C00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180E48B0000020001002D0000000000000000000000000000000001000000010000000180F07F0000020001002E0000000000000000000000000000000001000000010000000180E8880000020000003700000000000000000000000000000000010000000100000001803B010000020001002F0000000000000000000000000000000001000000010000000180BB8A00000200010030000000000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6E0E01000002000100310000000D57617463682057696E646F7773000000000000000000000000010000000100000000000000000000000100000003001380D88B00000000000031000000085761746368202631000000000000000000000000010000000100000000000000000000000100000000001380D98B00000000000031000000085761746368202632000000000000000000000000010000000100000000000000000000000100000000001380CE01000000000000FFFFFFFF0C576174636820416E63686F720100000000000000010000000000000001000000000000000000000001000000000013800F0100000200010032000000094D656D6F7279202631000000000000000000000000010000000100000000000000000000000100000004001380D28B00000000000032000000094D656D6F7279202631000000000000000000000000010000000100000000000000000000000100000000001380D38B00000000000032000000094D656D6F7279202632000000000000000000000000010000000100000000000000000000000100000000001380D48B00000000000032000000094D656D6F7279202633000000000000000000000000010000000100000000000000000000000100000000001380D58B00000000000032000000094D656D6F72792026340000000000000000000000000100000001000000000000000000000001000000000013801001000002000000330000000855415254202326310000000000000000000000000100000001000000000000000000000001000000040013809307000000000000330000000855415254202326310000000000000000000000000100000001000000000000000000000001000000000013809407000000000000330000000855415254202326320000000000000000000000000100000001000000000000000000000001000000000013809507000000000000330000000855415254202326330000000000000000000000000100000001000000000000000000000001000000000013809607000000000000330000001626446562756720287072696E746629205669657765720000000000000000000000000100000001000000000000000000000001000000000013803C010000000000007200000010416E616C797369732057696E646F7773000000000000000000000000010000000100000000000000000000000100000004001380658A000000000000340000000F264C6F67696320416E616C797A6572000000000000000000000000010000000100000000000000000000000100000000001380DC7F0000000000003E0000001526506572666F726D616E636520416E616C797A6572000000000000000000000000010000000100000000000000000000000100000000001380E788000000000000380000000E26436F646520436F766572616765000000000000000000000000010000000100000000000000000000000100000000001380CD01000000000000FFFFFFFF0F416E616C7973697320416E63686F7201000000000000000100000000000000010000000000000000000000010000000000138053010000000000003F0000000D54726163652057696E646F77730000000000000000000000000100000001000000000000000000000001000000010013805401000000000000FFFFFFFF115472616365204D656E7520416E63686F720100000000000000010000000000000001000000000000000000000001000000000013802901000000000000350000001553797374656D205669657765722057696E646F77730000000000000000000000000100000001000000000000000000000001000000010013804B01000000000000FFFFFFFF1453797374656D2056696577657220416E63686F720100000000000000010000000000000001000000000000000000000001000000000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000013800189000002000000360000000F26546F6F6C626F782057696E646F7700000000000000000000000001000000010000000000000000000000010000000300138044C5000000000000FFFFFFFF0E5570646174652057696E646F77730100000000000000010000000000000001000000000000000000000001000000000013800000000000000400FFFFFFFF000000000000000000010000000000000001000000000000000000000001000000000013805B01000000000000FFFFFFFF12546F6F6C626F78204D656E75416E63686F72010000000000000001000000000000000100000000000000000000000100000000000000000005446562756764020000 + 00200000010000001900FFFF01001100434D4643546F6F6C426172427574746F6ECC880000000000002500000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018017800000000000002600000000000000000000000000000000010000000100000001801D800000000004002700000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001801A800000000000002800000000000000000000000000000000010000000100000001801B80000000000000290000000000000000000000000000000001000000010000000180E57F0000000000002A00000000000000000000000000000000010000000100000001801C800000000000002B00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018000890000000000002C00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180E48B0000020001002D0000000000000000000000000000000001000000010000000180F07F0000020001002E0000000000000000000000000000000001000000010000000180E8880000020000003700000000000000000000000000000000010000000100000001803B010000020001002F0000000000000000000000000000000001000000010000000180BB8A00000200010030000000000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6E0E01000002000100310000000D57617463682057696E646F7773000000000000000000000000010000000100000000000000000000000100000003001380D88B00000000000031000000085761746368202631000000000000000000000000010000000100000000000000000000000100000000001380D98B00000000000031000000085761746368202632000000000000000000000000010000000100000000000000000000000100000000001380CE01000000000000FFFFFFFF0C576174636820416E63686F720100000000000000010000000000000001000000000000000000000001000000000013800F0100000200010032000000094D656D6F7279202631000000000000000000000000010000000100000000000000000000000100000004001380D28B00000000000032000000094D656D6F7279202631000000000000000000000000010000000100000000000000000000000100000000001380D38B00000000000032000000094D656D6F7279202632000000000000000000000000010000000100000000000000000000000100000000001380D48B00000000000032000000094D656D6F7279202633000000000000000000000000010000000100000000000000000000000100000000001380D58B00000000000032000000094D656D6F72792026340000000000000000000000000100000001000000000000000000000001000000000013801001000002000000330000000855415254202326310000000000000000000000000100000001000000000000000000000001000000040013809307000000000000330000000855415254202326310000000000000000000000000100000001000000000000000000000001000000000013809407000000000000330000000855415254202326320000000000000000000000000100000001000000000000000000000001000000000013809507000000000000330000000855415254202326330000000000000000000000000100000001000000000000000000000001000000000013809607000000000000330000001626446562756720287072696E746629205669657765720000000000000000000000000100000001000000000000000000000001000000000013803C010000000000007200000010416E616C797369732057696E646F7773000000000000000000000000010000000100000000000000000000000100000004001380658A000000000000340000000F264C6F67696320416E616C797A6572000000000000000000000000010000000100000000000000000000000100000000001380DC7F0000000000003E0000001526506572666F726D616E636520416E616C797A6572000000000000000000000000010000000100000000000000000000000100000000001380E788000000000000380000000E26436F646520436F766572616765000000000000000000000000010000000100000000000000000000000100000000001380CD01000000000000FFFFFFFF0F416E616C7973697320416E63686F7201000000000000000100000000000000010000000000000000000000010000000000138053010000000000003F0000000D54726163652057696E646F77730000000000000000000000000100000001000000000000000000000001000000010013805401000000000000FFFFFFFF115472616365204D656E7520416E63686F720100000000000000010000000000000001000000000000000000000001000000000013802901000000000000350000001553797374656D205669657765722057696E646F77730000000000000000000000000100000001000000000000000000000001000000010013804B01000000000000FFFFFFFF1453797374656D2056696577657220416E63686F720100000000000000010000000000000001000000000000000000000001000000000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000013800189000002000000360000000F26546F6F6C626F782057696E646F7700000000000000000000000001000000010000000000000000000000010000000300138044C5000000000000FFFFFFFF0E5570646174652057696E646F77730100000000000000010000000000000001000000000000000000000001000000000013800000000000000400FFFFFFFF000000000000000000010000000000000001000000000000000000000001000000000013805B01000000000000FFFFFFFF12546F6F6C626F78204D656E75416E63686F72010000000000000001000000000000000100000000000000000000000100000000000000000005446562756764020000 898 @@ -3603,12 +3603,12 @@ 0 100 - 12 + 0 .\Sources\main.c - 0 - 56 - 93 + 19 + 97 + 119 1 0 @@ -3624,9 +3624,9 @@ .\FileInclude\MyGirouette.c - 8 - 1 - 11 + 26 + 23 + 47 1 0 diff --git a/Projet1.uvoptx b/Projet1.uvoptx index 96547f7..4443ce4 100644 --- a/Projet1.uvoptx +++ b/Projet1.uvoptx @@ -386,6 +386,11 @@ 1 x + + 5 + 1 + ID_acc2 + 0 @@ -561,6 +566,18 @@ 0 0 + + 2 + 10 + 4 + 0 + 0 + 0 + .\FileInclude\Lib_Com_Periph_2022.lib + Lib_Com_Periph_2022.lib + 0 + 0 + diff --git a/Projet1.uvprojx b/Projet1.uvprojx index 8435e89..5c7a1dc 100644 --- a/Projet1.uvprojx +++ b/Projet1.uvprojx @@ -433,6 +433,11 @@ 1 .\FileInclude\Telecommande.c + + Lib_Com_Periph_2022.lib + 4 + .\FileInclude\Lib_Com_Periph_2022.lib + @@ -870,6 +875,11 @@ 1 .\FileInclude\Telecommande.c + + Lib_Com_Periph_2022.lib + 4 + .\FileInclude\Lib_Com_Periph_2022.lib + diff --git a/Sources/main.c b/Sources/main.c index 0bdd020..2d37b9a 100644 --- a/Sources/main.c +++ b/Sources/main.c @@ -7,14 +7,14 @@ #include #include #include - +#include /* Declarations */ int droite; int b; int testBatterie ; int bat; - +int ID_acc,ID_acc2; int counter = 0; char* visuBatterie = "[-----]"; @@ -89,6 +89,8 @@ void f (char a) { int main (void) { + + /* Configuration du Timer */ Data->Timer = TIM1; Data->ARR = 65535; @@ -104,9 +106,23 @@ int main (void) Init_Girouette(); MyVoile_Init(); + MySPI_Init(SPI1); + MySPI_Clear_NSS(); + MySPI_Send(0x2D); + MySPI_Send(1<<3); + MySPI_Set_NSS(); + /* Batterie */ Init_Batterie(); while (1) { + MySPI_Clear_NSS(); + MySPI_Send(0x37); + MySPI_Set_NSS(); + + MySPI_Clear_NSS(); + ID_acc = MySPI_Read(); + ID_acc2 = MySPI_Read(); + MySPI_Set_NSS(); Set_Voile(Get_Angle()); } }