From c930991ccb8a0f2344e9ae92776fd72074a389b9 Mon Sep 17 00:00:00 2001 From: Sanchez Manon Date: Wed, 5 Apr 2023 16:39:01 +0200 Subject: [PATCH 1/2] =?UTF-8?q?Ajout=20du=20Driver=5FIMU,=20pour=20la=20ge?= =?UTF-8?q?stion=20de=20l'acc=C3=A9l=C3=A9rom=C3=A8tre.=20Les=20fichiers?= =?UTF-8?q?=20Driver=5FSPI=20sont=20des=20versions=20personnelles=20non=20?= =?UTF-8?q?fonctionelle=20de=20la=20gestion=20du=20SPI.=20C'est=20la=20bib?= =?UTF-8?q?lioth=C3=A8que=20MySPI=20qui=20est=20utilis=C3=A9e=20dans=20le?= =?UTF-8?q?=20projet.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Ajout de commentaires dans tous les fichiers driver en format doxygen. --- driver/Driver_ADC.c | 3 + driver/Driver_ADC.h | 25 ++ driver/Driver_GPIO.c | 5 + driver/Driver_GPIO.h | 47 ++- driver/Driver_IMU.c | 57 +++ driver/Driver_IMU.h | 26 ++ driver/Driver_SPI.c | 44 +++ driver/Driver_SPI.h | 5 + driver/Driver_Timer.c | 6 +- driver/Driver_Timer.h | 37 +- driver/Lib_Com_Periph_2022.lib | Bin 0 -> 15036 bytes driver/MyI2C.h | 229 ++++++++++++ driver/MySPI.h | 129 +++++++ projet-voilier/Listings/projet-voilier.map | 338 +++++++++++------- .../Listings/projet-voilier_reel.map | 259 +++++++++----- projet-voilier/Objects/driver_gpio.crf | Bin 243296 -> 243296 bytes projet-voilier/Objects/driver_gpio.o | Bin 262236 -> 262236 bytes projet-voilier/Objects/driver_timer.crf | Bin 243355 -> 243355 bytes projet-voilier/Objects/driver_timer.o | Bin 269472 -> 269472 bytes projet-voilier/Objects/main.crf | Bin 238994 -> 239646 bytes projet-voilier/Objects/main.d | 2 + projet-voilier/Objects/main.o | Bin 256400 -> 259712 bytes projet-voilier/Objects/projet-voilier.axf | Bin 229352 -> 237788 bytes .../Objects/projet-voilier.build_log.htm | 20 +- projet-voilier/Objects/projet-voilier.htm | 293 +++++++++------ projet-voilier/Objects/projet-voilier.lnp | 3 + .../Objects/projet-voilier_reel.axf | Bin 228208 -> 233012 bytes .../Objects/projet-voilier_reel.build_log.htm | 21 +- .../Objects/projet-voilier_reel.dep | 33 +- .../Objects/projet-voilier_reel.htm | 148 +++++--- .../Objects/projet-voilier_reel.lnp | 2 + projet-voilier/Objects/projet-voilier_sim.dep | 38 +- projet-voilier/Objects/system_stm32f10x.crf | Bin 239291 -> 239291 bytes projet-voilier/Objects/system_stm32f10x.o | Bin 258696 -> 258696 bytes projet-voilier/projet-voilier.uvguix.sanch | 222 ++++++------ projet-voilier/projet-voilier.uvoptx | 167 +++++---- projet-voilier/projet-voilier.uvprojx | 40 +++ projet-voilier/src/main.c | 15 +- 38 files changed, 1589 insertions(+), 625 deletions(-) create mode 100644 driver/Driver_IMU.c create mode 100644 driver/Driver_IMU.h create mode 100644 driver/Driver_SPI.c create mode 100644 driver/Driver_SPI.h create mode 100644 driver/Lib_Com_Periph_2022.lib create mode 100644 driver/MyI2C.h create mode 100644 driver/MySPI.h diff --git a/driver/Driver_ADC.c b/driver/Driver_ADC.c index c1c0829..a014f15 100644 --- a/driver/Driver_ADC.c +++ b/driver/Driver_ADC.c @@ -47,17 +47,20 @@ void driver_adc_1_init (char Prio, void (*IT_function)(void)) ADC1_2_fx = IT_function; } +/* Fonction de lancement*/ void driver_adc_1_launch_read (void) { //Lancement de la conversion ADC1->CR2 |= ADC_CR2_SWSTART; } +/*Lecture de la converstion*/ uint16_t driver_adc_1_read (void) { //Retour de la conversion return ADC1->DR &~ ((0x0F) << 12); } + void ADC1_2_IRQHandler(void) { //On abaisse le flag pour la prochaine lecture diff --git a/driver/Driver_ADC.h b/driver/Driver_ADC.h index f1b80d0..c258b23 100644 --- a/driver/Driver_ADC.h +++ b/driver/Driver_ADC.h @@ -2,8 +2,33 @@ #define DRIVER_ADC_H #include "stm32f10x.h" +/** +************************************************************************************************* +* @brief Activation et configuration de l'ADC1. +* @param -> char Prio: défini la priorité de l'interruption pour le flag EOC + -> void (*IT_function)(void) : pointeur de fonction qui sera appelé dans l'interruption +* @Note -> Fonction à lancer systématiquement avant d’aller plus en détail +************************************************************************************************* +*/ void driver_adc_1_init (char Prio, void (*IT_function)(void)); + +/** +************************************************************************************************* +* @brief Fonction pour lancer la convertion +* @param -> none +* @Note -> +************************************************************************************************* +*/ void driver_adc_1_launch_read (void); + +/** +************************************************************************************************* +* @brief Fonction pour lire la valeur convertie +* @param -> none +* @return -> retour de la valeur convertie +* @Note -> +************************************************************************************************* +*/ uint16_t driver_adc_1_read (void); #endif diff --git a/driver/Driver_GPIO.c b/driver/Driver_GPIO.c index 7017943..1e5c681 100644 --- a/driver/Driver_GPIO.c +++ b/driver/Driver_GPIO.c @@ -1,6 +1,7 @@ #include "Driver_GPIO.h" #include "stm32f10x.h" #include "stdio.h" + /* GPIO init function */ void MyGPIO_Init ( MyGPIO_Struct_TypeDef * GPIOStructPtr ) { @@ -45,21 +46,25 @@ void MyGPIO_Init ( MyGPIO_Struct_TypeDef * GPIOStructPtr ) GPIOStructPtr->GPIO->ODR |= 0x1<<(GPIOStructPtr->GPIO_Pin); } } + /* Read of the state of the GPIO */ int MyGPIO_Read ( GPIO_TypeDef * GPIO , char GPIO_Pin ) { return ((GPIO->IDR & (0x1<>GPIO_Pin); } + /* Set the state of the GPIO */ void MyGPIO_Set (GPIO_TypeDef * GPIO , char GPIO_Pin) { GPIO->ODR |= 0x1<ODR &= ~(0x1< Paramètre sous forme d’une structure (son adresse) qui défini le pin, le port et la conf du GPIO +* @Note -> +************************************************************************************************* +*/ +void MyGPIO_Init ( MyGPIO_Struct_TypeDef * GPIOStructPtr ); + +/** +************************************************************************************************* +* @brief Fonction pour lire l'état de la GPIO +* @param : Paramètre sous forme d’une structure (son adresse) qui défini le pin et le port +* @return : Renvoie 0 ou autre chose différent de 0 +************************************************************************************************* +*/ +int MyGPIO_Read ( GPIO_TypeDef * GPIO , char GPIO_Pin ); + +/** +************************************************************************************************* +* @brief Fonction pour set le pin voulu +* @param -> Paramètre sous forme d’une structure (son adresse) qui défini le pin et le port +* @Note -> +************************************************************************************************* +*/ +void MyGPIO_Set ( GPIO_TypeDef * GPIO , char GPIO_Pin ); + +/** +************************************************************************************************* +* @brief Fonction pour reset le pin voulu +* @param -> Paramètre sous forme d’une structure (son adresse) qui défini le pin et le port +* @Note -> +************************************************************************************************* +*/ +void MyGPIO_Reset ( GPIO_TypeDef * GPIO , char GPIO_Pin ); + +/** +************************************************************************************************* +* @brief Fonction pour toogle le pin voulu +* @param -> Paramètre sous forme d’une structure (son adresse) qui défini le pin et le port +* @Note -> +************************************************************************************************* +*/ void MyGPIO_Toggle ( GPIO_TypeDef * GPIO , char GPIO_Pin ) ; #endif diff --git a/driver/Driver_IMU.c b/driver/Driver_IMU.c new file mode 100644 index 0000000..ce4bf7c --- /dev/null +++ b/driver/Driver_IMU.c @@ -0,0 +1,57 @@ +#include "MySpi.h" + +const char POWER_CTL = 0x2D; //Power Control Register +const char BW_RATE = 0x2C; +const char DATA_FORMAT = 0x31; + +/*fonction écriture registre IMU*/ +void source_IMU_write_register(char registerAddress, char value) +{ + // On s'assure que le Chip Select est bien au niveau bas + MySPI_Clear_NSS(); + // Envoi de l'adresse du registre par SPI + MySPI_Send(registerAddress); + // Envoi de la valeur désirée du registre par SPI + MySPI_Send(value); + // On active le chip select + MySPI_Set_NSS(); +} + +/* Fonction d'initialisation*/ +void source_IMU_init(void) +{ + int i; + /* 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 */ + MySPI_Init(SPI1); + //Paramètrage du registre POWER_CTL + source_IMU_write_register(POWER_CTL, 0x08); + //Paramètrage du registe BW_RATE + source_IMU_write_register(BW_RATE, 0x0A); + //Paramètrage du registre DATA_FORMAT + source_IMU_write_register(BW_RATE, 0x08); //Full resolution, et alignement à droite + +} + +/* Fonction de lecture des données*/ +void source_IMU_read(char registerAddress, int numBytes, unsigned char * values) +{ + int i; + // Pour effectuer une lecture des registre, on doit mettre les bits R/W et MB à 1 + char trame = registerAddress | 0x80; + trame = trame | 0x40; + // On active le chip select + MySPI_Clear_NSS(); + // Envoie de la config + MySPI_Send(trame); + // On effectue la lecture + for(i=0; i none +* @Note -> Fonction a appelé avant l'utilisation du périphérique +************************************************************************************************* +*/ +void source_IMU_init(void); + +/** +************************************************************************************************* +* @brief Fonction de lecture des données de l'IMU +* @param -> char registerAddress : adresse du registre +* -> int numBytes : nombre de bytes à recevoir +* -> unsigned char * values : tableau où les valeurs seront stockés +* @Note -> +************************************************************************************************* +*/ +void source_IMU_read(char registerAddress, int numBytes, unsigned char * values); + +#endif diff --git a/driver/Driver_SPI.c b/driver/Driver_SPI.c new file mode 100644 index 0000000..0898ce9 --- /dev/null +++ b/driver/Driver_SPI.c @@ -0,0 +1,44 @@ +#include "stm32f10x.h" +#include "stdio.h" +#include "Driver_SPI.h" + +void driver_spi_1_init(char Prio, void (*IT_function)(void)) +{ + /*Activation de la clock*/ + RCC->APB2ENR = RCC_APB2ENR_SPI1EN; + /*Select the freq*/ + SPI1->CR1 |= SPI_CR1_BR_1; //5Mhz max -> fPCLK = 36Mhz -> 010: fPCLK/8 + /*Select Master mode*/ + SPI1->CR1 |= SPI_CR1_MSTR; + /*Software slave management*/ + SPI1->CR1 |= SPI_CR1_SSM; + /*Clock Phase Selection*/ + SPI1->CR1 |= SPI_CR1_CPHA; + /*Clock Polarity Selection*/ + SPI1->CR1 |= SPI_CR1_CPOL; + /*Mode 16bits - 16-bit data frame format*/ + //SPI1->CR1 |= SPI_CR1_DFF; + /*Activation de l'interruption*/ + SPI1->CR2 |= SPI_CR2_RXNEIE; + NVIC_EnableIRQ(SPI_IRQn); + NVIC_SetPriority(ADC1_2_IRQn, Prio); + /*Vider le buffer d'emission/réception 0xFFFF*/ + SPI1->DR = SPI_DR_DR; + /*Enable SPI*/ + SPI1->CR1 |= SPI_CR1_SPE; +} + +void driver_spi_1_write(uint16_t data_write) +{ + SPI1->DR = data_write; + /*Active la sélection du SLAVE*/ + SPI1->CR1 |= SPI_CR1_SSI; +} + +uint16_t driver_spi_1_read() +{ + //Abaissage automatique du flag RxNE + return SPI1->DR; +} + + diff --git a/driver/Driver_SPI.h b/driver/Driver_SPI.h new file mode 100644 index 0000000..e57d4f4 --- /dev/null +++ b/driver/Driver_SPI.h @@ -0,0 +1,5 @@ +#ifndef DRIVER_SPI_H +#define DRIVER_SPI_H +#include "stm32f10x.h" + +#endif diff --git a/driver/Driver_Timer.c b/driver/Driver_Timer.c index d900404..d950107 100644 --- a/driver/Driver_Timer.c +++ b/driver/Driver_Timer.c @@ -1,6 +1,7 @@ #include "Driver_Timer.h" #include "stm32f10x.h" #include "stdio.h" + /* Timer init function */ void MyTimer_Base_Init(MyTimer_Struct_TypeDef * Timer) { @@ -26,12 +27,13 @@ void MyTimer_Base_Init(MyTimer_Struct_TypeDef * Timer) Timer->Timer->ARR = Timer->ARR; } - +/* Start function */ void MyTimer_Start(TIM_TypeDef * Timer) { Timer->CR1 |=1<<0 ;// TIM_CR1_CEN } +/* Stop function*/ void MyTimer_Stop(TIM_TypeDef * Timer) { Timer->CR1 &=~(1<<0) ;// TIM_CR1_CEN @@ -42,11 +44,11 @@ void Bug (void) { while(1); } - void (*TIM2_fx) (void) = &Bug; void (*TIM3_fx) (void) = &Bug; void (*TIM4_fx) (void) = &Bug; +/* Interrupt function */ void MyTimer_ActiveIT (TIM_TypeDef * Timer, char Prio, void (*IT_function)(void)) { Timer->DIER |= TIM_DIER_UIE; diff --git a/driver/Driver_Timer.h b/driver/Driver_Timer.h index 46012b6..aee082e 100644 --- a/driver/Driver_Timer.h +++ b/driver/Driver_Timer.h @@ -12,37 +12,50 @@ typedef struct /** ************************************************************************************************* -* @brief -* @param -> Paramètre sous forme d’une structure (son adresse) contenant les informations de base +* @brief Initialisation du timer +* @param -> Paramètre sous forme d’une structure (son adresse) contenant les informations du timer * @Note -> Fonction à lancer systématiquement avant d’aller plus en détail dans les conf plus fines (PWM, codeur inc...) ************************************************************************************************* */ void MyTimer_Base_Init(MyTimer_Struct_TypeDef * Timer); -/*#define MyTimer_Base_Start(Timer) ... -#define MyTimer_Base_Stop(Timer) ... +/** +************************************************************************************************* +* @brief Fonction pour lancer le timer voulu +* @param -> Paramètre sous forme d’une structure (son adresse) qui défini le numéro du timer +* @Note -> +************************************************************************************************* */ - void MyTimer_Start(TIM_TypeDef * Timer) ; -void MyTimer_Stop(TIM_TypeDef * Timer) ; +/** +************************************************************************************************* +* @brief Fonction pour arrêter le timer voulu +* @param -> Paramètre sous forme d’une structure (son adresse) qui défini le numéro du timer +* @Note +************************************************************************************************* +*/ +void MyTimer_Stop(TIM_TypeDef * Timer) ; /** ************************************************************************************************** -* @brief -* @param : -TIM_TypeDef * Timer : Timer concerne -- char Prio: de 0 a 15 -* @Note : La fonction MyTimer_Base_Init doit avoir ete lancee au prealable +* @brief Active une interruption utilisant un timer +* @param : -TIM_TypeDef * Timer : Timer concerné +* - char Prio: de 0 a 15 +* @Note : La fonction MyTimer_Base_Init doit avoir été lancée au prealable ************************************************************************************************** */ void MyTimer_ActiveIT (TIM_TypeDef * Timer, char Prio, void (*IT_function)(void)); /** -* @brief -* @param +************************************************************************************************* +* @brief Fonction pour le timer du PWM +* @param : -TIM_TypeDef * Timer : Timer concerné +* - char Channel : channel du PWM concerné * @Note Active le channel spécifié sur Timer le timer spécifié * la gestion de la configuration I/O n’est pas faite dans cette fonction * ni le réglage de la période de la PWM (ARR, PSC) +************************************************************************************************* */ void MyTimer_PWM(TIM_TypeDef * Timer, char Channel); diff --git a/driver/Lib_Com_Periph_2022.lib b/driver/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/driver/MyI2C.h b/driver/MyI2C.h new file mode 100644 index 0000000..289c9ed --- /dev/null +++ b/driver/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/driver/MySPI.h b/driver/MySPI.h new file mode 100644 index 0000000..b5f9aef --- /dev/null +++ b/driver/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/projet-voilier/Listings/projet-voilier.map b/projet-voilier/Listings/projet-voilier.map index d37d576..7788710 100644 --- a/projet-voilier/Listings/projet-voilier.map +++ b/projet-voilier/Listings/projet-voilier.map @@ -4,6 +4,10 @@ Component: ARM Compiler 5.06 update 7 (build 960) Tool: armlink [4d3601] Section Cross References + main.o(i.main) refers to imu.o(i.source_IMU_init) for source_IMU_init + main.o(i.main) refers to imu.o(i.source_IMU_read) for source_IMU_read + main.o(i.toto) refers to driver_adc.o(i.driver_adc_1_read) for driver_adc_1_read + main.o(i.toto) refers to main.o(.data) for val driver_timer.o(i.MyTimer_ActiveIT) refers to driver_timer.o(i.__NVIC_EnableIRQ) for __NVIC_EnableIRQ driver_timer.o(i.MyTimer_ActiveIT) refers to driver_timer.o(i.__NVIC_SetPriority) for __NVIC_SetPriority driver_timer.o(i.MyTimer_ActiveIT) refers to driver_timer.o(.data) for TIM2_fx @@ -11,11 +15,24 @@ Section Cross References driver_timer.o(i.TIM3_IRQHandler) refers to driver_timer.o(.data) for TIM3_fx driver_timer.o(i.TIM4_IRQHandler) refers to driver_timer.o(.data) for TIM4_fx driver_timer.o(.data) refers to driver_timer.o(i.Bug) for Bug + driver_adc.o(i.ADC1_2_IRQHandler) refers to driver_adc.o(.data) for ADC1_2_fx + driver_adc.o(i.driver_adc_1_init) refers to driver_adc.o(.data) for ADC1_2_fx + driver_adc.o(.data) refers to driver_adc.o(i.erreur) for erreur + imu.o(i.source_IMU_init) refers to myspi.o(i.MySPI_Init) for MySPI_Init + imu.o(i.source_IMU_init) refers to imu.o(i.source_IMU_write_register) for source_IMU_write_register + imu.o(i.source_IMU_read) refers to myspi.o(i.MySPI_Set_NSS) for MySPI_Set_NSS + imu.o(i.source_IMU_read) refers to myspi.o(i.MySPI_Send) for MySPI_Send + imu.o(i.source_IMU_read) refers to myspi.o(i.MySPI_Read) for MySPI_Read + imu.o(i.source_IMU_read) refers to myspi.o(i.MySPI_Clear_NSS) for MySPI_Clear_NSS + imu.o(i.source_IMU_write_register) refers to myspi.o(i.MySPI_Clear_NSS) for MySPI_Clear_NSS + imu.o(i.source_IMU_write_register) refers to myspi.o(i.MySPI_Send) for MySPI_Send + imu.o(i.source_IMU_write_register) refers to myspi.o(i.MySPI_Set_NSS) for MySPI_Set_NSS startup_stm32f10x_md.o(STACK) refers (Special) to heapauxi.o(.text) for __use_two_region_memory startup_stm32f10x_md.o(HEAP) refers (Special) to heapauxi.o(.text) for __use_two_region_memory startup_stm32f10x_md.o(RESET) refers (Special) to heapauxi.o(.text) for __use_two_region_memory startup_stm32f10x_md.o(RESET) refers to startup_stm32f10x_md.o(STACK) for __initial_sp startup_stm32f10x_md.o(RESET) refers to startup_stm32f10x_md.o(.text) for Reset_Handler + startup_stm32f10x_md.o(RESET) refers to driver_adc.o(i.ADC1_2_IRQHandler) for ADC1_2_IRQHandler startup_stm32f10x_md.o(RESET) refers to driver_timer.o(i.TIM2_IRQHandler) for TIM2_IRQHandler startup_stm32f10x_md.o(RESET) refers to driver_timer.o(i.TIM3_IRQHandler) for TIM3_IRQHandler startup_stm32f10x_md.o(RESET) refers to driver_timer.o(i.TIM4_IRQHandler) for TIM4_IRQHandler @@ -27,6 +44,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 __main.o(!!!main) refers to __rtentry.o(.ARM.Collect$$rtentry$$00000000) for __rt_entry __rtentry.o(.ARM.Collect$$rtentry$$00000000) refers (Special) to __rtentry2.o(.ARM.Collect$$rtentry$$0000000A) for __rt_entry_li __rtentry.o(.ARM.Collect$$rtentry$$00000000) refers (Special) to __rtentry2.o(.ARM.Collect$$rtentry$$0000000D) for __rt_entry_main @@ -135,6 +158,8 @@ Removing Unused input sections from the image. Removing main.o(.rev16_text), (4 bytes). Removing main.o(.revsh_text), (4 bytes). Removing main.o(.rrx_text), (6 bytes). + Removing main.o(i.toto), (16 bytes). + Removing main.o(.data), (2 bytes). Removing driver_gpio.o(.rev16_text), (4 bytes). Removing driver_gpio.o(.revsh_text), (4 bytes). Removing driver_gpio.o(.rrx_text), (6 bytes). @@ -152,13 +177,26 @@ Removing Unused input sections from the image. Removing driver_timer.o(i.MyTimer_Stop), (10 bytes). Removing driver_timer.o(i.__NVIC_EnableIRQ), (34 bytes). Removing driver_timer.o(i.__NVIC_SetPriority), (40 bytes). + Removing driver_adc.o(.rev16_text), (4 bytes). + Removing driver_adc.o(.revsh_text), (4 bytes). + Removing driver_adc.o(.rrx_text), (6 bytes). + Removing driver_adc.o(i.driver_adc_1_init), (244 bytes). + Removing driver_adc.o(i.driver_adc_1_launch_read), (20 bytes). + Removing driver_adc.o(i.driver_adc_1_read), (16 bytes). + Removing imu.o(.rev16_text), (4 bytes). + Removing imu.o(.revsh_text), (4 bytes). + Removing imu.o(.rrx_text), (6 bytes). + Removing imu.o(.constdata), (3 bytes). Removing system_stm32f10x.o(.rev16_text), (4 bytes). Removing system_stm32f10x.o(.revsh_text), (4 bytes). 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). -25 unused section(s) (total 876 bytes) removed from the image. +40 unused section(s) (total 1219 bytes) removed from the image. ============================================================================== @@ -168,17 +206,17 @@ Image Symbol Table Symbol Name Value Ov Type Size Object(Section) - ../clib/angel/boardlib.s 0x00000000 Number 0 boardshut.o ABSOLUTE - ../clib/angel/boardlib.s 0x00000000 Number 0 boardinit2.o ABSOLUTE ../clib/angel/boardlib.s 0x00000000 Number 0 boardinit1.o ABSOLUTE + ../clib/angel/boardlib.s 0x00000000 Number 0 boardinit2.o ABSOLUTE ../clib/angel/boardlib.s 0x00000000 Number 0 boardinit3.o ABSOLUTE + ../clib/angel/boardlib.s 0x00000000 Number 0 boardshut.o ABSOLUTE ../clib/angel/handlers.s 0x00000000 Number 0 __scatter_zi.o ABSOLUTE ../clib/angel/handlers.s 0x00000000 Number 0 __scatter_copy.o ABSOLUTE - ../clib/angel/kernel.s 0x00000000 Number 0 __rtentry.o ABSOLUTE + ../clib/angel/kernel.s 0x00000000 Number 0 __rtentry4.o ABSOLUTE ../clib/angel/kernel.s 0x00000000 Number 0 rtexit.o ABSOLUTE ../clib/angel/kernel.s 0x00000000 Number 0 rtexit2.o ABSOLUTE - ../clib/angel/kernel.s 0x00000000 Number 0 __rtentry4.o ABSOLUTE ../clib/angel/kernel.s 0x00000000 Number 0 __rtentry2.o ABSOLUTE + ../clib/angel/kernel.s 0x00000000 Number 0 __rtentry.o ABSOLUTE ../clib/angel/rt.s 0x00000000 Number 0 rt_raise.o ABSOLUTE ../clib/angel/scatter.s 0x00000000 Number 0 __scatter.o ABSOLUTE ../clib/angel/startup.s 0x00000000 Number 0 __main.o ABSOLUTE @@ -189,37 +227,43 @@ Image Symbol Table ../clib/angel/sysapp.c 0x00000000 Number 0 sys_command.o ABSOLUTE ../clib/angel/sysapp.c 0x00000000 Number 0 sys_exit.o ABSOLUTE ../clib/angel/sysapp.c 0x00000000 Number 0 sys_wrch.o ABSOLUTE - ../clib/armsys.c 0x00000000 Number 0 no_argv.o ABSOLUTE ../clib/armsys.c 0x00000000 Number 0 argv_veneer.o ABSOLUTE ../clib/armsys.c 0x00000000 Number 0 argv_veneer.o ABSOLUTE ../clib/armsys.c 0x00000000 Number 0 _get_argv_nomalloc.o ABSOLUTE + ../clib/armsys.c 0x00000000 Number 0 no_argv.o ABSOLUTE ../clib/heapalloc.c 0x00000000 Number 0 hrguard.o ABSOLUTE ../clib/heapaux.c 0x00000000 Number 0 heapauxi.o ABSOLUTE - ../clib/libinit.s 0x00000000 Number 0 libinit2.o ABSOLUTE - ../clib/libinit.s 0x00000000 Number 0 libshutdown.o ABSOLUTE ../clib/libinit.s 0x00000000 Number 0 libshutdown2.o ABSOLUTE ../clib/libinit.s 0x00000000 Number 0 libinit.o ABSOLUTE - ../clib/signal.c 0x00000000 Number 0 defsig_abrt_inner.o ABSOLUTE - ../clib/signal.c 0x00000000 Number 0 defsig_rtred_inner.o ABSOLUTE - ../clib/signal.c 0x00000000 Number 0 defsig_stak_inner.o ABSOLUTE - ../clib/signal.c 0x00000000 Number 0 defsig_rtmem_inner.o ABSOLUTE + ../clib/libinit.s 0x00000000 Number 0 libinit2.o ABSOLUTE + ../clib/libinit.s 0x00000000 Number 0 libshutdown.o ABSOLUTE ../clib/signal.c 0x00000000 Number 0 defsig_exit.o ABSOLUTE - ../clib/signal.c 0x00000000 Number 0 defsig_pvfn_inner.o ABSOLUTE - ../clib/signal.c 0x00000000 Number 0 defsig_fpe_inner.o ABSOLUTE ../clib/signal.c 0x00000000 Number 0 defsig_cppl_inner.o ABSOLUTE ../clib/signal.c 0x00000000 Number 0 defsig_segv_inner.o ABSOLUTE - ../clib/signal.c 0x00000000 Number 0 defsig_rtmem_outer.o ABSOLUTE ../clib/signal.c 0x00000000 Number 0 defsig_other.o ABSOLUTE + ../clib/signal.c 0x00000000 Number 0 defsig_rtmem_inner.o ABSOLUTE + ../clib/signal.c 0x00000000 Number 0 defsig_fpe_inner.o ABSOLUTE + ../clib/signal.c 0x00000000 Number 0 defsig_abrt_inner.o ABSOLUTE + ../clib/signal.c 0x00000000 Number 0 defsig_rtred_inner.o ABSOLUTE ../clib/signal.c 0x00000000 Number 0 defsig_general.o ABSOLUTE ../clib/signal.c 0x00000000 Number 0 __raise.o ABSOLUTE + ../clib/signal.c 0x00000000 Number 0 defsig_rtmem_outer.o ABSOLUTE ../clib/signal.c 0x00000000 Number 0 defsig_rtmem_formal.o ABSOLUTE + ../clib/signal.c 0x00000000 Number 0 defsig_stak_inner.o ABSOLUTE + ../clib/signal.c 0x00000000 Number 0 defsig_pvfn_inner.o ABSOLUTE ../clib/signal.s 0x00000000 Number 0 defsig.o ABSOLUTE ../clib/stdlib.c 0x00000000 Number 0 exit.o ABSOLUTE ../fplib/fpinit.s 0x00000000 Number 0 fpinit.o ABSOLUTE + ..\\driver\\Driver_ADC.c 0x00000000 Number 0 driver_adc.o ABSOLUTE ..\\driver\\Driver_GPIO.c 0x00000000 Number 0 driver_gpio.o ABSOLUTE ..\\driver\\Driver_Timer.c 0x00000000 Number 0 driver_timer.o ABSOLUTE + ..\\driver\\IMU.c 0x00000000 Number 0 imu.o ABSOLUTE + ..\driver\Driver_ADC.c 0x00000000 Number 0 driver_adc.o ABSOLUTE ..\driver\Driver_GPIO.c 0x00000000 Number 0 driver_gpio.o ABSOLUTE ..\driver\Driver_Timer.c 0x00000000 Number 0 driver_timer.o ABSOLUTE + ..\driver\IMU.c 0x00000000 Number 0 imu.o ABSOLUTE + MyDrivers\MySPI.c 0x00000000 Number 0 myspi.o ABSOLUTE + MyDrivers\\MySPI.c 0x00000000 Number 0 myspi.o ABSOLUTE RTE\Device\STM32F103RB\startup_stm32f10x_md.s 0x00000000 Number 0 startup_stm32f10x_md.o ABSOLUTE RTE\Device\STM32F103RB\system_stm32f10x.c 0x00000000 Number 0 system_stm32f10x.o ABSOLUTE RTE\\Device\\STM32F103RB\\system_stm32f10x.c 0x00000000 Number 0 system_stm32f10x.o ABSOLUTE @@ -281,23 +325,35 @@ Image Symbol Table .text 0x08000234 Section 0 sys_exit.o(.text) .text 0x08000240 Section 2 use_no_semi.o(.text) .text 0x08000242 Section 0 indicate_semi.o(.text) - i.Bug 0x08000242 Section 0 driver_timer.o(i.Bug) - i.SetSysClock 0x08000246 Section 0 system_stm32f10x.o(i.SetSysClock) - SetSysClock 0x08000247 Thumb Code 8 system_stm32f10x.o(i.SetSysClock) - i.SetSysClockTo72 0x08000250 Section 0 system_stm32f10x.o(i.SetSysClockTo72) - SetSysClockTo72 0x08000251 Thumb Code 214 system_stm32f10x.o(i.SetSysClockTo72) - i.SystemInit 0x08000330 Section 0 system_stm32f10x.o(i.SystemInit) - i.TIM2_IRQHandler 0x08000390 Section 0 driver_timer.o(i.TIM2_IRQHandler) - i.TIM3_IRQHandler 0x080003b0 Section 0 driver_timer.o(i.TIM3_IRQHandler) - i.TIM4_IRQHandler 0x080003d0 Section 0 driver_timer.o(i.TIM4_IRQHandler) - i.main 0x080003f0 Section 0 main.o(i.main) + i.ADC1_2_IRQHandler 0x08000244 Section 0 driver_adc.o(i.ADC1_2_IRQHandler) + i.Bug 0x08000264 Section 0 driver_timer.o(i.Bug) + i.MySPI_Clear_NSS 0x08000268 Section 0 myspi.o(i.MySPI_Clear_NSS) + i.MySPI_Init 0x08000298 Section 0 myspi.o(i.MySPI_Init) + i.MySPI_Read 0x0800048c Section 0 myspi.o(i.MySPI_Read) + i.MySPI_Send 0x080004e0 Section 0 myspi.o(i.MySPI_Send) + i.MySPI_Set_NSS 0x08000530 Section 0 myspi.o(i.MySPI_Set_NSS) + i.SetSysClock 0x0800055c Section 0 system_stm32f10x.o(i.SetSysClock) + SetSysClock 0x0800055d Thumb Code 8 system_stm32f10x.o(i.SetSysClock) + i.SetSysClockTo72 0x08000564 Section 0 system_stm32f10x.o(i.SetSysClockTo72) + SetSysClockTo72 0x08000565 Thumb Code 214 system_stm32f10x.o(i.SetSysClockTo72) + i.SystemInit 0x08000644 Section 0 system_stm32f10x.o(i.SystemInit) + i.TIM2_IRQHandler 0x080006a4 Section 0 driver_timer.o(i.TIM2_IRQHandler) + i.TIM3_IRQHandler 0x080006c4 Section 0 driver_timer.o(i.TIM3_IRQHandler) + i.TIM4_IRQHandler 0x080006e4 Section 0 driver_timer.o(i.TIM4_IRQHandler) + i.erreur 0x08000704 Section 0 driver_adc.o(i.erreur) + i.main 0x08000708 Section 0 main.o(i.main) + i.source_IMU_init 0x08000720 Section 0 imu.o(i.source_IMU_init) + i.source_IMU_read 0x08000748 Section 0 imu.o(i.source_IMU_read) + i.source_IMU_write_register 0x08000778 Section 0 imu.o(i.source_IMU_write_register) .data 0x20000000 Section 12 driver_timer.o(.data) - .bss 0x2000000c Section 96 libspace.o(.bss) - HEAP 0x20000070 Section 512 startup_stm32f10x_md.o(HEAP) - Heap_Mem 0x20000070 Data 512 startup_stm32f10x_md.o(HEAP) - STACK 0x20000270 Section 1024 startup_stm32f10x_md.o(STACK) - Stack_Mem 0x20000270 Data 1024 startup_stm32f10x_md.o(STACK) - __initial_sp 0x20000670 Data 0 startup_stm32f10x_md.o(STACK) + .data 0x2000000c Section 4 driver_adc.o(.data) + .data 0x20000010 Section 4 myspi.o(.data) + .bss 0x20000014 Section 96 libspace.o(.bss) + HEAP 0x20000078 Section 512 startup_stm32f10x_md.o(HEAP) + Heap_Mem 0x20000078 Data 512 startup_stm32f10x_md.o(HEAP) + STACK 0x20000278 Section 1024 startup_stm32f10x_md.o(STACK) + Stack_Mem 0x20000278 Data 1024 startup_stm32f10x_md.o(STACK) + __initial_sp 0x20000678 Data 0 startup_stm32f10x_md.o(STACK) Global Symbols @@ -396,7 +452,6 @@ Image Symbol Table DebugMon_Handler 0x0800019d Thumb Code 2 startup_stm32f10x_md.o(.text) PendSV_Handler 0x0800019f Thumb Code 2 startup_stm32f10x_md.o(.text) SysTick_Handler 0x080001a1 Thumb Code 2 startup_stm32f10x_md.o(.text) - ADC1_2_IRQHandler 0x080001a3 Thumb Code 0 startup_stm32f10x_md.o(.text) CAN1_RX1_IRQHandler 0x080001a3 Thumb Code 0 startup_stm32f10x_md.o(.text) CAN1_SCE_IRQHandler 0x080001a3 Thumb Code 0 startup_stm32f10x_md.o(.text) DMA1_Channel1_IRQHandler 0x080001a3 Thumb Code 0 startup_stm32f10x_md.o(.text) @@ -448,20 +503,32 @@ Image Symbol Table _sys_exit 0x08000235 Thumb Code 8 sys_exit.o(.text) __I$use$semihosting 0x08000241 Thumb Code 0 use_no_semi.o(.text) __use_no_semihosting_swi 0x08000241 Thumb Code 2 use_no_semi.o(.text) - Bug 0x08000243 Thumb Code 4 driver_timer.o(i.Bug) __semihosting_library_function 0x08000243 Thumb Code 0 indicate_semi.o(.text) - SystemInit 0x08000331 Thumb Code 78 system_stm32f10x.o(i.SystemInit) - TIM2_IRQHandler 0x08000391 Thumb Code 26 driver_timer.o(i.TIM2_IRQHandler) - TIM3_IRQHandler 0x080003b1 Thumb Code 22 driver_timer.o(i.TIM3_IRQHandler) - TIM4_IRQHandler 0x080003d1 Thumb Code 22 driver_timer.o(i.TIM4_IRQHandler) - main 0x080003f1 Thumb Code 4 main.o(i.main) - Region$$Table$$Base 0x080003f4 Number 0 anon$$obj.o(Region$$Table) - Region$$Table$$Limit 0x08000414 Number 0 anon$$obj.o(Region$$Table) + ADC1_2_IRQHandler 0x08000245 Thumb Code 22 driver_adc.o(i.ADC1_2_IRQHandler) + Bug 0x08000265 Thumb Code 4 driver_timer.o(i.Bug) + MySPI_Clear_NSS 0x08000269 Thumb Code 30 myspi.o(i.MySPI_Clear_NSS) + MySPI_Init 0x08000299 Thumb Code 480 myspi.o(i.MySPI_Init) + MySPI_Read 0x0800048d Thumb Code 70 myspi.o(i.MySPI_Read) + MySPI_Send 0x080004e1 Thumb Code 68 myspi.o(i.MySPI_Send) + MySPI_Set_NSS 0x08000531 Thumb Code 28 myspi.o(i.MySPI_Set_NSS) + SystemInit 0x08000645 Thumb Code 78 system_stm32f10x.o(i.SystemInit) + TIM2_IRQHandler 0x080006a5 Thumb Code 26 driver_timer.o(i.TIM2_IRQHandler) + TIM3_IRQHandler 0x080006c5 Thumb Code 22 driver_timer.o(i.TIM3_IRQHandler) + TIM4_IRQHandler 0x080006e5 Thumb Code 22 driver_timer.o(i.TIM4_IRQHandler) + erreur 0x08000705 Thumb Code 4 driver_adc.o(i.erreur) + main 0x08000709 Thumb Code 22 main.o(i.main) + source_IMU_init 0x08000721 Thumb Code 34 imu.o(i.source_IMU_init) + source_IMU_read 0x08000749 Thumb Code 48 imu.o(i.source_IMU_read) + source_IMU_write_register 0x08000779 Thumb Code 28 imu.o(i.source_IMU_write_register) + Region$$Table$$Base 0x08000794 Number 0 anon$$obj.o(Region$$Table) + Region$$Table$$Limit 0x080007b4 Number 0 anon$$obj.o(Region$$Table) TIM2_fx 0x20000000 Data 4 driver_timer.o(.data) TIM3_fx 0x20000004 Data 4 driver_timer.o(.data) TIM4_fx 0x20000008 Data 4 driver_timer.o(.data) - __libspace_start 0x2000000c Data 96 libspace.o(.bss) - __temporary_stack_top$libspace 0x2000006c Data 0 libspace.o(.bss) + ADC1_2_fx 0x2000000c Data 4 driver_adc.o(.data) + ActiveSPI 0x20000010 Data 4 myspi.o(.data) + __libspace_start 0x20000014 Data 96 libspace.o(.bss) + __temporary_stack_top$libspace 0x20000074 Data 0 libspace.o(.bss) @@ -471,97 +538,110 @@ Memory Map of the image Image Entry point : 0x08000189 - Load Region LR_1 (Base: 0x08000000, Size: 0x00000420, Max: 0xffffffff, ABSOLUTE) + Load Region LR_1 (Base: 0x08000000, Size: 0x000007c8, Max: 0xffffffff, ABSOLUTE) - Execution Region ER_RO (Exec base: 0x08000000, Load base: 0x08000000, Size: 0x00000414, Max: 0xffffffff, ABSOLUTE) + Execution Region ER_RO (Exec base: 0x08000000, Load base: 0x08000000, Size: 0x000007b4, Max: 0xffffffff, ABSOLUTE) Exec Addr Load Addr Size Type Attr Idx E Section Name Object - 0x08000000 0x08000000 0x000000ec Data RO 197 RESET startup_stm32f10x_md.o - 0x080000ec 0x080000ec 0x00000008 Code RO 252 * !!!main c_w.l(__main.o) - 0x080000f4 0x080000f4 0x00000034 Code RO 411 !!!scatter c_w.l(__scatter.o) - 0x08000128 0x08000128 0x0000001a Code RO 413 !!handler_copy c_w.l(__scatter_copy.o) + 0x08000000 0x08000000 0x000000ec Data RO 310 RESET startup_stm32f10x_md.o + 0x080000ec 0x080000ec 0x00000008 Code RO 382 * !!!main c_w.l(__main.o) + 0x080000f4 0x080000f4 0x00000034 Code RO 541 !!!scatter c_w.l(__scatter.o) + 0x08000128 0x08000128 0x0000001a Code RO 543 !!handler_copy c_w.l(__scatter_copy.o) 0x08000142 0x08000142 0x00000002 PAD - 0x08000144 0x08000144 0x0000001c Code RO 415 !!handler_zi c_w.l(__scatter_zi.o) - 0x08000160 0x08000160 0x00000002 Code RO 279 .ARM.Collect$$libinit$$00000000 c_w.l(libinit.o) - 0x08000162 0x08000162 0x00000000 Code RO 286 .ARM.Collect$$libinit$$00000002 c_w.l(libinit2.o) - 0x08000162 0x08000162 0x00000000 Code RO 288 .ARM.Collect$$libinit$$00000004 c_w.l(libinit2.o) - 0x08000162 0x08000162 0x00000000 Code RO 291 .ARM.Collect$$libinit$$0000000A c_w.l(libinit2.o) - 0x08000162 0x08000162 0x00000000 Code RO 293 .ARM.Collect$$libinit$$0000000C c_w.l(libinit2.o) - 0x08000162 0x08000162 0x00000000 Code RO 295 .ARM.Collect$$libinit$$0000000E c_w.l(libinit2.o) - 0x08000162 0x08000162 0x00000000 Code RO 298 .ARM.Collect$$libinit$$00000011 c_w.l(libinit2.o) - 0x08000162 0x08000162 0x00000000 Code RO 300 .ARM.Collect$$libinit$$00000013 c_w.l(libinit2.o) - 0x08000162 0x08000162 0x00000000 Code RO 302 .ARM.Collect$$libinit$$00000015 c_w.l(libinit2.o) - 0x08000162 0x08000162 0x00000000 Code RO 304 .ARM.Collect$$libinit$$00000017 c_w.l(libinit2.o) - 0x08000162 0x08000162 0x00000000 Code RO 306 .ARM.Collect$$libinit$$00000019 c_w.l(libinit2.o) - 0x08000162 0x08000162 0x00000000 Code RO 308 .ARM.Collect$$libinit$$0000001B c_w.l(libinit2.o) - 0x08000162 0x08000162 0x00000000 Code RO 310 .ARM.Collect$$libinit$$0000001D c_w.l(libinit2.o) - 0x08000162 0x08000162 0x00000000 Code RO 312 .ARM.Collect$$libinit$$0000001F c_w.l(libinit2.o) - 0x08000162 0x08000162 0x00000000 Code RO 314 .ARM.Collect$$libinit$$00000021 c_w.l(libinit2.o) - 0x08000162 0x08000162 0x00000000 Code RO 316 .ARM.Collect$$libinit$$00000023 c_w.l(libinit2.o) - 0x08000162 0x08000162 0x00000000 Code RO 318 .ARM.Collect$$libinit$$00000025 c_w.l(libinit2.o) - 0x08000162 0x08000162 0x00000000 Code RO 322 .ARM.Collect$$libinit$$0000002C c_w.l(libinit2.o) - 0x08000162 0x08000162 0x00000000 Code RO 324 .ARM.Collect$$libinit$$0000002E c_w.l(libinit2.o) - 0x08000162 0x08000162 0x00000000 Code RO 326 .ARM.Collect$$libinit$$00000030 c_w.l(libinit2.o) - 0x08000162 0x08000162 0x00000000 Code RO 328 .ARM.Collect$$libinit$$00000032 c_w.l(libinit2.o) - 0x08000162 0x08000162 0x00000002 Code RO 329 .ARM.Collect$$libinit$$00000033 c_w.l(libinit2.o) - 0x08000164 0x08000164 0x00000002 Code RO 349 .ARM.Collect$$libshutdown$$00000000 c_w.l(libshutdown.o) - 0x08000166 0x08000166 0x00000000 Code RO 362 .ARM.Collect$$libshutdown$$00000002 c_w.l(libshutdown2.o) - 0x08000166 0x08000166 0x00000000 Code RO 364 .ARM.Collect$$libshutdown$$00000004 c_w.l(libshutdown2.o) - 0x08000166 0x08000166 0x00000000 Code RO 366 .ARM.Collect$$libshutdown$$00000006 c_w.l(libshutdown2.o) - 0x08000166 0x08000166 0x00000000 Code RO 369 .ARM.Collect$$libshutdown$$00000009 c_w.l(libshutdown2.o) - 0x08000166 0x08000166 0x00000000 Code RO 372 .ARM.Collect$$libshutdown$$0000000C c_w.l(libshutdown2.o) - 0x08000166 0x08000166 0x00000000 Code RO 374 .ARM.Collect$$libshutdown$$0000000E c_w.l(libshutdown2.o) - 0x08000166 0x08000166 0x00000000 Code RO 377 .ARM.Collect$$libshutdown$$00000011 c_w.l(libshutdown2.o) - 0x08000166 0x08000166 0x00000002 Code RO 378 .ARM.Collect$$libshutdown$$00000012 c_w.l(libshutdown2.o) - 0x08000168 0x08000168 0x00000000 Code RO 254 .ARM.Collect$$rtentry$$00000000 c_w.l(__rtentry.o) - 0x08000168 0x08000168 0x00000000 Code RO 256 .ARM.Collect$$rtentry$$00000002 c_w.l(__rtentry2.o) - 0x08000168 0x08000168 0x00000006 Code RO 268 .ARM.Collect$$rtentry$$00000004 c_w.l(__rtentry4.o) - 0x0800016e 0x0800016e 0x00000000 Code RO 258 .ARM.Collect$$rtentry$$00000009 c_w.l(__rtentry2.o) - 0x0800016e 0x0800016e 0x00000004 Code RO 259 .ARM.Collect$$rtentry$$0000000A c_w.l(__rtentry2.o) - 0x08000172 0x08000172 0x00000000 Code RO 261 .ARM.Collect$$rtentry$$0000000C c_w.l(__rtentry2.o) - 0x08000172 0x08000172 0x00000008 Code RO 262 .ARM.Collect$$rtentry$$0000000D c_w.l(__rtentry2.o) - 0x0800017a 0x0800017a 0x00000002 Code RO 283 .ARM.Collect$$rtexit$$00000000 c_w.l(rtexit.o) - 0x0800017c 0x0800017c 0x00000000 Code RO 331 .ARM.Collect$$rtexit$$00000002 c_w.l(rtexit2.o) - 0x0800017c 0x0800017c 0x00000004 Code RO 332 .ARM.Collect$$rtexit$$00000003 c_w.l(rtexit2.o) - 0x08000180 0x08000180 0x00000006 Code RO 333 .ARM.Collect$$rtexit$$00000004 c_w.l(rtexit2.o) + 0x08000144 0x08000144 0x0000001c Code RO 545 !!handler_zi c_w.l(__scatter_zi.o) + 0x08000160 0x08000160 0x00000002 Code RO 409 .ARM.Collect$$libinit$$00000000 c_w.l(libinit.o) + 0x08000162 0x08000162 0x00000000 Code RO 416 .ARM.Collect$$libinit$$00000002 c_w.l(libinit2.o) + 0x08000162 0x08000162 0x00000000 Code RO 418 .ARM.Collect$$libinit$$00000004 c_w.l(libinit2.o) + 0x08000162 0x08000162 0x00000000 Code RO 421 .ARM.Collect$$libinit$$0000000A c_w.l(libinit2.o) + 0x08000162 0x08000162 0x00000000 Code RO 423 .ARM.Collect$$libinit$$0000000C c_w.l(libinit2.o) + 0x08000162 0x08000162 0x00000000 Code RO 425 .ARM.Collect$$libinit$$0000000E c_w.l(libinit2.o) + 0x08000162 0x08000162 0x00000000 Code RO 428 .ARM.Collect$$libinit$$00000011 c_w.l(libinit2.o) + 0x08000162 0x08000162 0x00000000 Code RO 430 .ARM.Collect$$libinit$$00000013 c_w.l(libinit2.o) + 0x08000162 0x08000162 0x00000000 Code RO 432 .ARM.Collect$$libinit$$00000015 c_w.l(libinit2.o) + 0x08000162 0x08000162 0x00000000 Code RO 434 .ARM.Collect$$libinit$$00000017 c_w.l(libinit2.o) + 0x08000162 0x08000162 0x00000000 Code RO 436 .ARM.Collect$$libinit$$00000019 c_w.l(libinit2.o) + 0x08000162 0x08000162 0x00000000 Code RO 438 .ARM.Collect$$libinit$$0000001B c_w.l(libinit2.o) + 0x08000162 0x08000162 0x00000000 Code RO 440 .ARM.Collect$$libinit$$0000001D c_w.l(libinit2.o) + 0x08000162 0x08000162 0x00000000 Code RO 442 .ARM.Collect$$libinit$$0000001F c_w.l(libinit2.o) + 0x08000162 0x08000162 0x00000000 Code RO 444 .ARM.Collect$$libinit$$00000021 c_w.l(libinit2.o) + 0x08000162 0x08000162 0x00000000 Code RO 446 .ARM.Collect$$libinit$$00000023 c_w.l(libinit2.o) + 0x08000162 0x08000162 0x00000000 Code RO 448 .ARM.Collect$$libinit$$00000025 c_w.l(libinit2.o) + 0x08000162 0x08000162 0x00000000 Code RO 452 .ARM.Collect$$libinit$$0000002C c_w.l(libinit2.o) + 0x08000162 0x08000162 0x00000000 Code RO 454 .ARM.Collect$$libinit$$0000002E c_w.l(libinit2.o) + 0x08000162 0x08000162 0x00000000 Code RO 456 .ARM.Collect$$libinit$$00000030 c_w.l(libinit2.o) + 0x08000162 0x08000162 0x00000000 Code RO 458 .ARM.Collect$$libinit$$00000032 c_w.l(libinit2.o) + 0x08000162 0x08000162 0x00000002 Code RO 459 .ARM.Collect$$libinit$$00000033 c_w.l(libinit2.o) + 0x08000164 0x08000164 0x00000002 Code RO 479 .ARM.Collect$$libshutdown$$00000000 c_w.l(libshutdown.o) + 0x08000166 0x08000166 0x00000000 Code RO 492 .ARM.Collect$$libshutdown$$00000002 c_w.l(libshutdown2.o) + 0x08000166 0x08000166 0x00000000 Code RO 494 .ARM.Collect$$libshutdown$$00000004 c_w.l(libshutdown2.o) + 0x08000166 0x08000166 0x00000000 Code RO 496 .ARM.Collect$$libshutdown$$00000006 c_w.l(libshutdown2.o) + 0x08000166 0x08000166 0x00000000 Code RO 499 .ARM.Collect$$libshutdown$$00000009 c_w.l(libshutdown2.o) + 0x08000166 0x08000166 0x00000000 Code RO 502 .ARM.Collect$$libshutdown$$0000000C c_w.l(libshutdown2.o) + 0x08000166 0x08000166 0x00000000 Code RO 504 .ARM.Collect$$libshutdown$$0000000E c_w.l(libshutdown2.o) + 0x08000166 0x08000166 0x00000000 Code RO 507 .ARM.Collect$$libshutdown$$00000011 c_w.l(libshutdown2.o) + 0x08000166 0x08000166 0x00000002 Code RO 508 .ARM.Collect$$libshutdown$$00000012 c_w.l(libshutdown2.o) + 0x08000168 0x08000168 0x00000000 Code RO 384 .ARM.Collect$$rtentry$$00000000 c_w.l(__rtentry.o) + 0x08000168 0x08000168 0x00000000 Code RO 386 .ARM.Collect$$rtentry$$00000002 c_w.l(__rtentry2.o) + 0x08000168 0x08000168 0x00000006 Code RO 398 .ARM.Collect$$rtentry$$00000004 c_w.l(__rtentry4.o) + 0x0800016e 0x0800016e 0x00000000 Code RO 388 .ARM.Collect$$rtentry$$00000009 c_w.l(__rtentry2.o) + 0x0800016e 0x0800016e 0x00000004 Code RO 389 .ARM.Collect$$rtentry$$0000000A c_w.l(__rtentry2.o) + 0x08000172 0x08000172 0x00000000 Code RO 391 .ARM.Collect$$rtentry$$0000000C c_w.l(__rtentry2.o) + 0x08000172 0x08000172 0x00000008 Code RO 392 .ARM.Collect$$rtentry$$0000000D c_w.l(__rtentry2.o) + 0x0800017a 0x0800017a 0x00000002 Code RO 413 .ARM.Collect$$rtexit$$00000000 c_w.l(rtexit.o) + 0x0800017c 0x0800017c 0x00000000 Code RO 461 .ARM.Collect$$rtexit$$00000002 c_w.l(rtexit2.o) + 0x0800017c 0x0800017c 0x00000004 Code RO 462 .ARM.Collect$$rtexit$$00000003 c_w.l(rtexit2.o) + 0x08000180 0x08000180 0x00000006 Code RO 463 .ARM.Collect$$rtexit$$00000004 c_w.l(rtexit2.o) 0x08000186 0x08000186 0x00000002 PAD - 0x08000188 0x08000188 0x00000040 Code RO 198 * .text startup_stm32f10x_md.o - 0x080001c8 0x080001c8 0x00000006 Code RO 250 .text c_w.l(heapauxi.o) - 0x080001ce 0x080001ce 0x0000004a Code RO 270 .text c_w.l(sys_stackheap_outer.o) - 0x08000218 0x08000218 0x00000012 Code RO 272 .text c_w.l(exit.o) + 0x08000188 0x08000188 0x00000040 Code RO 311 * .text startup_stm32f10x_md.o + 0x080001c8 0x080001c8 0x00000006 Code RO 380 .text c_w.l(heapauxi.o) + 0x080001ce 0x080001ce 0x0000004a Code RO 400 .text c_w.l(sys_stackheap_outer.o) + 0x08000218 0x08000218 0x00000012 Code RO 402 .text c_w.l(exit.o) 0x0800022a 0x0800022a 0x00000002 PAD - 0x0800022c 0x0800022c 0x00000008 Code RO 280 .text c_w.l(libspace.o) - 0x08000234 0x08000234 0x0000000c Code RO 341 .text c_w.l(sys_exit.o) - 0x08000240 0x08000240 0x00000002 Code RO 352 .text c_w.l(use_no_semi.o) - 0x08000242 0x08000242 0x00000000 Code RO 354 .text c_w.l(indicate_semi.o) - 0x08000242 0x08000242 0x00000004 Code RO 115 i.Bug driver_timer.o - 0x08000246 0x08000246 0x00000008 Code RO 205 i.SetSysClock system_stm32f10x.o - 0x0800024e 0x0800024e 0x00000002 PAD - 0x08000250 0x08000250 0x000000e0 Code RO 206 i.SetSysClockTo72 system_stm32f10x.o - 0x08000330 0x08000330 0x00000060 Code RO 208 i.SystemInit system_stm32f10x.o - 0x08000390 0x08000390 0x00000020 Code RO 120 i.TIM2_IRQHandler driver_timer.o - 0x080003b0 0x080003b0 0x00000020 Code RO 121 i.TIM3_IRQHandler driver_timer.o - 0x080003d0 0x080003d0 0x00000020 Code RO 122 i.TIM4_IRQHandler driver_timer.o - 0x080003f0 0x080003f0 0x00000004 Code RO 4 i.main main.o - 0x080003f4 0x080003f4 0x00000020 Data RO 409 Region$$Table anon$$obj.o + 0x0800022c 0x0800022c 0x00000008 Code RO 410 .text c_w.l(libspace.o) + 0x08000234 0x08000234 0x0000000c Code RO 471 .text c_w.l(sys_exit.o) + 0x08000240 0x08000240 0x00000002 Code RO 482 .text c_w.l(use_no_semi.o) + 0x08000242 0x08000242 0x00000000 Code RO 484 .text c_w.l(indicate_semi.o) + 0x08000242 0x08000242 0x00000002 PAD + 0x08000244 0x08000244 0x00000020 Code RO 214 i.ADC1_2_IRQHandler driver_adc.o + 0x08000264 0x08000264 0x00000004 Code RO 131 i.Bug driver_timer.o + 0x08000268 0x08000268 0x00000030 Code RO 364 i.MySPI_Clear_NSS Lib_Com_Periph_2022.lib(myspi.o) + 0x08000298 0x08000298 0x000001f4 Code RO 365 i.MySPI_Init Lib_Com_Periph_2022.lib(myspi.o) + 0x0800048c 0x0800048c 0x00000054 Code RO 366 i.MySPI_Read Lib_Com_Periph_2022.lib(myspi.o) + 0x080004e0 0x080004e0 0x00000050 Code RO 367 i.MySPI_Send Lib_Com_Periph_2022.lib(myspi.o) + 0x08000530 0x08000530 0x0000002c Code RO 368 i.MySPI_Set_NSS Lib_Com_Periph_2022.lib(myspi.o) + 0x0800055c 0x0800055c 0x00000008 Code RO 318 i.SetSysClock system_stm32f10x.o + 0x08000564 0x08000564 0x000000e0 Code RO 319 i.SetSysClockTo72 system_stm32f10x.o + 0x08000644 0x08000644 0x00000060 Code RO 321 i.SystemInit system_stm32f10x.o + 0x080006a4 0x080006a4 0x00000020 Code RO 136 i.TIM2_IRQHandler driver_timer.o + 0x080006c4 0x080006c4 0x00000020 Code RO 137 i.TIM3_IRQHandler driver_timer.o + 0x080006e4 0x080006e4 0x00000020 Code RO 138 i.TIM4_IRQHandler driver_timer.o + 0x08000704 0x08000704 0x00000004 Code RO 218 i.erreur driver_adc.o + 0x08000708 0x08000708 0x00000016 Code RO 4 i.main main.o + 0x0800071e 0x0800071e 0x00000002 PAD + 0x08000720 0x08000720 0x00000028 Code RO 269 i.source_IMU_init imu.o + 0x08000748 0x08000748 0x00000030 Code RO 270 i.source_IMU_read imu.o + 0x08000778 0x08000778 0x0000001c Code RO 271 i.source_IMU_write_register imu.o + 0x08000794 0x08000794 0x00000020 Data RO 539 Region$$Table anon$$obj.o - Execution Region ER_RW (Exec base: 0x20000000, Load base: 0x08000414, Size: 0x0000000c, Max: 0xffffffff, ABSOLUTE) + Execution Region ER_RW (Exec base: 0x20000000, Load base: 0x080007b4, Size: 0x00000014, Max: 0xffffffff, ABSOLUTE) Exec Addr Load Addr Size Type Attr Idx E Section Name Object - 0x20000000 0x08000414 0x0000000c Data RW 125 .data driver_timer.o + 0x20000000 0x080007b4 0x0000000c Data RW 141 .data driver_timer.o + 0x2000000c 0x080007c0 0x00000004 Data RW 219 .data driver_adc.o + 0x20000010 0x080007c4 0x00000004 Data RW 369 .data Lib_Com_Periph_2022.lib(myspi.o) - Execution Region ER_ZI (Exec base: 0x2000000c, Load base: 0x08000420, Size: 0x00000664, Max: 0xffffffff, ABSOLUTE) + Execution Region ER_ZI (Exec base: 0x20000014, Load base: 0x080007c8, Size: 0x00000664, Max: 0xffffffff, ABSOLUTE) Exec Addr Load Addr Size Type Attr Idx E Section Name Object - 0x2000000c - 0x00000060 Zero RW 281 .bss c_w.l(libspace.o) - 0x2000006c 0x08000420 0x00000004 PAD - 0x20000070 - 0x00000200 Zero RW 196 HEAP startup_stm32f10x_md.o - 0x20000270 - 0x00000400 Zero RW 195 STACK startup_stm32f10x_md.o + 0x20000014 - 0x00000060 Zero RW 411 .bss c_w.l(libspace.o) + 0x20000074 0x080007c8 0x00000004 PAD + 0x20000078 - 0x00000200 Zero RW 309 HEAP startup_stm32f10x_md.o + 0x20000278 - 0x00000400 Zero RW 308 STACK startup_stm32f10x_md.o ============================================================================== @@ -571,13 +651,15 @@ Image component sizes Code (inc. data) RO Data RW Data ZI Data Debug Object Name + 36 10 0 4 0 1529 driver_adc.o 100 26 0 12 0 2554 driver_timer.o - 4 0 0 0 0 207215 main.o + 116 6 0 0 0 1744 imu.o + 22 0 0 0 0 207315 main.o 64 26 236 0 1536 828 startup_stm32f10x_md.o 328 28 0 0 0 2029 system_stm32f10x.o ---------------------------------------------------------------------- - 498 80 268 12 1536 212626 Object Totals + 668 96 268 16 1536 215999 Object Totals 0 0 32 0 0 0 (incl. Generated) 2 0 0 0 0 0 (incl. Padding) @@ -585,6 +667,7 @@ Image component sizes Code (inc. data) RO Data RW Data ZI Data Debug Library Member Name + 756 80 0 4 0 348 myspi.o 8 0 0 0 0 68 __main.o 0 0 0 0 0 0 __rtentry.o 12 0 0 0 0 0 __rtentry2.o @@ -607,17 +690,18 @@ Image component sizes 2 0 0 0 0 68 use_no_semi.o ---------------------------------------------------------------------- - 278 16 0 0 100 584 Library Totals - 6 0 0 0 4 0 (incl. Padding) + 1036 96 0 4 100 932 Library Totals + 8 0 0 0 4 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 272 16 0 0 96 584 c_w.l ---------------------------------------------------------------------- - 278 16 0 0 100 584 Library Totals + 1036 96 0 4 100 932 Library Totals ---------------------------------------------------------------------- @@ -626,15 +710,15 @@ Image component sizes Code (inc. data) RO Data RW Data ZI Data Debug - 776 96 268 12 1636 212738 Grand Totals - 776 96 268 12 1636 212738 ELF Image Totals - 776 96 268 12 0 0 ROM Totals + 1704 192 268 20 1636 216043 Grand Totals + 1704 192 268 20 1636 216043 ELF Image Totals + 1704 192 268 20 0 0 ROM Totals ============================================================================== - Total RO Size (Code + RO Data) 1044 ( 1.02kB) - Total RW Size (RW Data + ZI Data) 1648 ( 1.61kB) - Total ROM Size (Code + RO Data + RW Data) 1056 ( 1.03kB) + Total RO Size (Code + RO Data) 1972 ( 1.93kB) + Total RW Size (RW Data + ZI Data) 1656 ( 1.62kB) + Total ROM Size (Code + RO Data + RW Data) 1992 ( 1.95kB) ============================================================================== diff --git a/projet-voilier/Listings/projet-voilier_reel.map b/projet-voilier/Listings/projet-voilier_reel.map index 6ba7406..28c81e1 100644 --- a/projet-voilier/Listings/projet-voilier_reel.map +++ b/projet-voilier/Listings/projet-voilier_reel.map @@ -4,8 +4,10 @@ Component: ARM Compiler 5.06 update 7 (build 960) Tool: armlink [4d3601] Section Cross References - main.o(i.main) refers to driver_gpio.o(i.MyGPIO_Init) for MyGPIO_Init - main.o(i.main) refers to driver_gpio.o(i.MyGPIO_Set) for MyGPIO_Set + main.o(i.main) refers to imu.o(i.source_IMU_init) for source_IMU_init + main.o(i.main) refers to imu.o(i.source_IMU_read) for source_IMU_read + main.o(i.toto) refers to driver_adc.o(i.driver_adc_1_read) for driver_adc_1_read + main.o(i.toto) refers to main.o(.data) for val driver_timer.o(i.MyTimer_ActiveIT) refers to driver_timer.o(i.__NVIC_EnableIRQ) for __NVIC_EnableIRQ driver_timer.o(i.MyTimer_ActiveIT) refers to driver_timer.o(i.__NVIC_SetPriority) for __NVIC_SetPriority driver_timer.o(i.MyTimer_ActiveIT) refers to driver_timer.o(.data) for TIM2_fx @@ -13,8 +15,21 @@ Section Cross References driver_timer.o(i.TIM3_IRQHandler) refers to driver_timer.o(.data) for TIM3_fx driver_timer.o(i.TIM4_IRQHandler) refers to driver_timer.o(.data) for TIM4_fx driver_timer.o(.data) refers to driver_timer.o(i.Bug) for Bug + driver_adc.o(i.ADC1_2_IRQHandler) refers to driver_adc.o(.data) for ADC1_2_fx + driver_adc.o(i.driver_adc_1_init) refers to driver_adc.o(.data) for ADC1_2_fx + driver_adc.o(.data) refers to driver_adc.o(i.erreur) for erreur + imu.o(i.source_IMU_init) refers to myspi.o(i.MySPI_Init) for MySPI_Init + imu.o(i.source_IMU_init) refers to imu.o(i.source_IMU_write_register) for source_IMU_write_register + imu.o(i.source_IMU_read) refers to myspi.o(i.MySPI_Clear_NSS) for MySPI_Clear_NSS + imu.o(i.source_IMU_read) refers to myspi.o(i.MySPI_Send) for MySPI_Send + imu.o(i.source_IMU_read) refers to myspi.o(i.MySPI_Read) for MySPI_Read + imu.o(i.source_IMU_read) refers to myspi.o(i.MySPI_Set_NSS) for MySPI_Set_NSS + imu.o(i.source_IMU_write_register) refers to myspi.o(i.MySPI_Clear_NSS) for MySPI_Clear_NSS + imu.o(i.source_IMU_write_register) refers to myspi.o(i.MySPI_Send) for MySPI_Send + imu.o(i.source_IMU_write_register) refers to myspi.o(i.MySPI_Set_NSS) for MySPI_Set_NSS startup_stm32f10x_md.o(RESET) refers to startup_stm32f10x_md.o(STACK) for __initial_sp startup_stm32f10x_md.o(RESET) refers to startup_stm32f10x_md.o(.text) for Reset_Handler + startup_stm32f10x_md.o(RESET) refers to driver_adc.o(i.ADC1_2_IRQHandler) for ADC1_2_IRQHandler startup_stm32f10x_md.o(RESET) refers to driver_timer.o(i.TIM2_IRQHandler) for TIM2_IRQHandler startup_stm32f10x_md.o(RESET) refers to driver_timer.o(i.TIM3_IRQHandler) for TIM3_IRQHandler startup_stm32f10x_md.o(RESET) refers to driver_timer.o(i.TIM4_IRQHandler) for TIM4_IRQHandler @@ -23,6 +38,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 @@ -48,11 +69,15 @@ Removing Unused input sections from the image. Removing main.o(.rev16_text), (4 bytes). Removing main.o(.revsh_text), (4 bytes). Removing main.o(.rrx_text), (6 bytes). + Removing main.o(i.toto), (16 bytes). + Removing main.o(.data), (2 bytes). Removing driver_gpio.o(.rev16_text), (4 bytes). Removing driver_gpio.o(.revsh_text), (4 bytes). Removing driver_gpio.o(.rrx_text), (6 bytes). + Removing driver_gpio.o(i.MyGPIO_Init), (264 bytes). Removing driver_gpio.o(i.MyGPIO_Read), (14 bytes). Removing driver_gpio.o(i.MyGPIO_Reset), (12 bytes). + Removing driver_gpio.o(i.MyGPIO_Set), (12 bytes). Removing driver_gpio.o(i.MyGPIO_Toggle), (12 bytes). Removing driver_timer.o(.rev16_text), (4 bytes). Removing driver_timer.o(.revsh_text), (4 bytes). @@ -66,17 +91,24 @@ Removing Unused input sections from the image. Removing driver_adc.o(.rev16_text), (4 bytes). Removing driver_adc.o(.revsh_text), (4 bytes). Removing driver_adc.o(.rrx_text), (6 bytes). - Removing driver_adc.o(i.init_adc1), (132 bytes). - Removing driver_adc.o(i.launch_read_adc1), (20 bytes). - Removing driver_adc.o(i.read_adc1), (28 bytes). + Removing driver_adc.o(i.driver_adc_1_init), (244 bytes). + Removing driver_adc.o(i.driver_adc_1_launch_read), (20 bytes). + Removing driver_adc.o(i.driver_adc_1_read), (16 bytes). + Removing imu.o(.rev16_text), (4 bytes). + Removing imu.o(.revsh_text), (4 bytes). + Removing imu.o(.rrx_text), (6 bytes). + Removing imu.o(.constdata), (3 bytes). Removing startup_stm32f10x_md.o(HEAP), (512 bytes). Removing system_stm32f10x.o(.rev16_text), (4 bytes). Removing system_stm32f10x.o(.revsh_text), (4 bytes). 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). -30 unused section(s) (total 1306 bytes) removed from the image. +41 unused section(s) (total 1731 bytes) removed from the image. ============================================================================== @@ -86,27 +118,31 @@ Image Symbol Table Symbol Name Value Ov Type Size Object(Section) - ../clib/microlib/init/entry.s 0x00000000 Number 0 entry12a.o ABSOLUTE - ../clib/microlib/init/entry.s 0x00000000 Number 0 entry12b.o ABSOLUTE - ../clib/microlib/init/entry.s 0x00000000 Number 0 entry5.o ABSOLUTE - ../clib/microlib/init/entry.s 0x00000000 Number 0 entry7a.o ABSOLUTE - ../clib/microlib/init/entry.s 0x00000000 Number 0 entry8a.o ABSOLUTE ../clib/microlib/init/entry.s 0x00000000 Number 0 entry8b.o ABSOLUTE - ../clib/microlib/init/entry.s 0x00000000 Number 0 entry9a.o ABSOLUTE + ../clib/microlib/init/entry.s 0x00000000 Number 0 entry7a.o ABSOLUTE ../clib/microlib/init/entry.s 0x00000000 Number 0 entry7b.o ABSOLUTE - ../clib/microlib/init/entry.s 0x00000000 Number 0 entry9b.o ABSOLUTE - ../clib/microlib/init/entry.s 0x00000000 Number 0 entry2.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 entry8a.o ABSOLUTE ../clib/microlib/init/entry.s 0x00000000 Number 0 entry11a.o ABSOLUTE - ../clib/microlib/init/entry.s 0x00000000 Number 0 entry.o ABSOLUTE + ../clib/microlib/init/entry.s 0x00000000 Number 0 entry10b.o ABSOLUTE + ../clib/microlib/init/entry.s 0x00000000 Number 0 entry10a.o ABSOLUTE + ../clib/microlib/init/entry.s 0x00000000 Number 0 entry9b.o ABSOLUTE + ../clib/microlib/init/entry.s 0x00000000 Number 0 entry9a.o ABSOLUTE ../clib/microlib/init/entry.s 0x00000000 Number 0 entry11b.o ABSOLUTE + ../clib/microlib/init/entry.s 0x00000000 Number 0 entry5.o ABSOLUTE + ../clib/microlib/init/entry.s 0x00000000 Number 0 entry2.o ABSOLUTE + ../clib/microlib/init/entry.s 0x00000000 Number 0 entry.o ABSOLUTE ..\\driver\\Driver_ADC.c 0x00000000 Number 0 driver_adc.o ABSOLUTE ..\\driver\\Driver_GPIO.c 0x00000000 Number 0 driver_gpio.o ABSOLUTE ..\\driver\\Driver_Timer.c 0x00000000 Number 0 driver_timer.o ABSOLUTE + ..\\driver\\IMU.c 0x00000000 Number 0 imu.o ABSOLUTE ..\driver\Driver_ADC.c 0x00000000 Number 0 driver_adc.o ABSOLUTE ..\driver\Driver_GPIO.c 0x00000000 Number 0 driver_gpio.o ABSOLUTE ..\driver\Driver_Timer.c 0x00000000 Number 0 driver_timer.o ABSOLUTE + ..\driver\IMU.c 0x00000000 Number 0 imu.o ABSOLUTE + MyDrivers\MySPI.c 0x00000000 Number 0 myspi.o ABSOLUTE + MyDrivers\\MySPI.c 0x00000000 Number 0 myspi.o ABSOLUTE RTE\Device\STM32F103RB\startup_stm32f10x_md.s 0x00000000 Number 0 startup_stm32f10x_md.o ABSOLUTE RTE\Device\STM32F103RB\system_stm32f10x.c 0x00000000 Number 0 system_stm32f10x.o ABSOLUTE RTE\\Device\\STM32F103RB\\system_stm32f10x.c 0x00000000 Number 0 system_stm32f10x.o ABSOLUTE @@ -129,23 +165,33 @@ Image Symbol Table __lit__00000000 0x08000100 Data 4 entry2.o(.ARM.Collect$$$$00002712) .text 0x08000104 Section 36 startup_stm32f10x_md.o(.text) .text 0x08000128 Section 36 init.o(.text) - i.Bug 0x0800014c Section 0 driver_timer.o(i.Bug) - i.MyGPIO_Init 0x08000150 Section 0 driver_gpio.o(i.MyGPIO_Init) - i.MyGPIO_Set 0x08000258 Section 0 driver_gpio.o(i.MyGPIO_Set) - i.SetSysClock 0x08000264 Section 0 system_stm32f10x.o(i.SetSysClock) - SetSysClock 0x08000265 Thumb Code 8 system_stm32f10x.o(i.SetSysClock) - i.SetSysClockTo72 0x0800026c Section 0 system_stm32f10x.o(i.SetSysClockTo72) - SetSysClockTo72 0x0800026d Thumb Code 214 system_stm32f10x.o(i.SetSysClockTo72) - i.SystemInit 0x0800034c Section 0 system_stm32f10x.o(i.SystemInit) - i.TIM2_IRQHandler 0x080003ac Section 0 driver_timer.o(i.TIM2_IRQHandler) - i.TIM3_IRQHandler 0x080003cc Section 0 driver_timer.o(i.TIM3_IRQHandler) - i.TIM4_IRQHandler 0x080003ec Section 0 driver_timer.o(i.TIM4_IRQHandler) - i.__scatterload_copy 0x0800040c Section 14 handlers.o(i.__scatterload_copy) - i.__scatterload_null 0x0800041a Section 2 handlers.o(i.__scatterload_null) - i.__scatterload_zeroinit 0x0800041c Section 14 handlers.o(i.__scatterload_zeroinit) - i.main 0x0800042c Section 0 main.o(i.main) + i.ADC1_2_IRQHandler 0x0800014c Section 0 driver_adc.o(i.ADC1_2_IRQHandler) + i.Bug 0x0800016c Section 0 driver_timer.o(i.Bug) + i.MySPI_Clear_NSS 0x08000170 Section 0 myspi.o(i.MySPI_Clear_NSS) + i.MySPI_Init 0x080001a0 Section 0 myspi.o(i.MySPI_Init) + i.MySPI_Read 0x08000394 Section 0 myspi.o(i.MySPI_Read) + i.MySPI_Send 0x080003e8 Section 0 myspi.o(i.MySPI_Send) + i.MySPI_Set_NSS 0x08000438 Section 0 myspi.o(i.MySPI_Set_NSS) + i.SetSysClock 0x08000464 Section 0 system_stm32f10x.o(i.SetSysClock) + SetSysClock 0x08000465 Thumb Code 8 system_stm32f10x.o(i.SetSysClock) + i.SetSysClockTo72 0x0800046c Section 0 system_stm32f10x.o(i.SetSysClockTo72) + SetSysClockTo72 0x0800046d Thumb Code 214 system_stm32f10x.o(i.SetSysClockTo72) + i.SystemInit 0x0800054c Section 0 system_stm32f10x.o(i.SystemInit) + i.TIM2_IRQHandler 0x080005ac Section 0 driver_timer.o(i.TIM2_IRQHandler) + i.TIM3_IRQHandler 0x080005cc Section 0 driver_timer.o(i.TIM3_IRQHandler) + i.TIM4_IRQHandler 0x080005ec Section 0 driver_timer.o(i.TIM4_IRQHandler) + i.__scatterload_copy 0x0800060c Section 14 handlers.o(i.__scatterload_copy) + i.__scatterload_null 0x0800061a Section 2 handlers.o(i.__scatterload_null) + i.__scatterload_zeroinit 0x0800061c Section 14 handlers.o(i.__scatterload_zeroinit) + i.erreur 0x0800062a Section 0 driver_adc.o(i.erreur) + i.main 0x0800062e Section 0 main.o(i.main) + i.source_IMU_init 0x08000644 Section 0 imu.o(i.source_IMU_init) + i.source_IMU_read 0x0800066c Section 0 imu.o(i.source_IMU_read) + i.source_IMU_write_register 0x080006a0 Section 0 imu.o(i.source_IMU_write_register) .data 0x20000000 Section 12 driver_timer.o(.data) - STACK 0x20000010 Section 1024 startup_stm32f10x_md.o(STACK) + .data 0x2000000c Section 4 driver_adc.o(.data) + .data 0x20000010 Section 4 myspi.o(.data) + STACK 0x20000018 Section 1024 startup_stm32f10x_md.o(STACK) Global Symbols @@ -182,7 +228,6 @@ Image Symbol Table DebugMon_Handler 0x08000119 Thumb Code 2 startup_stm32f10x_md.o(.text) PendSV_Handler 0x0800011b Thumb Code 2 startup_stm32f10x_md.o(.text) SysTick_Handler 0x0800011d Thumb Code 2 startup_stm32f10x_md.o(.text) - ADC1_2_IRQHandler 0x0800011f Thumb Code 0 startup_stm32f10x_md.o(.text) CAN1_RX1_IRQHandler 0x0800011f Thumb Code 0 startup_stm32f10x_md.o(.text) CAN1_SCE_IRQHandler 0x0800011f Thumb Code 0 startup_stm32f10x_md.o(.text) DMA1_Channel1_IRQHandler 0x0800011f Thumb Code 0 startup_stm32f10x_md.o(.text) @@ -224,23 +269,33 @@ Image Symbol Table WWDG_IRQHandler 0x0800011f Thumb Code 0 startup_stm32f10x_md.o(.text) __scatterload 0x08000129 Thumb Code 28 init.o(.text) __scatterload_rt2 0x08000129 Thumb Code 0 init.o(.text) - Bug 0x0800014d Thumb Code 4 driver_timer.o(i.Bug) - MyGPIO_Init 0x08000151 Thumb Code 242 driver_gpio.o(i.MyGPIO_Init) - MyGPIO_Set 0x08000259 Thumb Code 12 driver_gpio.o(i.MyGPIO_Set) - SystemInit 0x0800034d Thumb Code 78 system_stm32f10x.o(i.SystemInit) - TIM2_IRQHandler 0x080003ad Thumb Code 26 driver_timer.o(i.TIM2_IRQHandler) - TIM3_IRQHandler 0x080003cd Thumb Code 22 driver_timer.o(i.TIM3_IRQHandler) - TIM4_IRQHandler 0x080003ed Thumb Code 22 driver_timer.o(i.TIM4_IRQHandler) - __scatterload_copy 0x0800040d Thumb Code 14 handlers.o(i.__scatterload_copy) - __scatterload_null 0x0800041b Thumb Code 2 handlers.o(i.__scatterload_null) - __scatterload_zeroinit 0x0800041d Thumb Code 14 handlers.o(i.__scatterload_zeroinit) - main 0x0800042d Thumb Code 38 main.o(i.main) - Region$$Table$$Base 0x08000458 Number 0 anon$$obj.o(Region$$Table) - Region$$Table$$Limit 0x08000478 Number 0 anon$$obj.o(Region$$Table) + ADC1_2_IRQHandler 0x0800014d Thumb Code 22 driver_adc.o(i.ADC1_2_IRQHandler) + Bug 0x0800016d Thumb Code 4 driver_timer.o(i.Bug) + MySPI_Clear_NSS 0x08000171 Thumb Code 30 myspi.o(i.MySPI_Clear_NSS) + MySPI_Init 0x080001a1 Thumb Code 480 myspi.o(i.MySPI_Init) + MySPI_Read 0x08000395 Thumb Code 70 myspi.o(i.MySPI_Read) + MySPI_Send 0x080003e9 Thumb Code 68 myspi.o(i.MySPI_Send) + MySPI_Set_NSS 0x08000439 Thumb Code 28 myspi.o(i.MySPI_Set_NSS) + SystemInit 0x0800054d Thumb Code 78 system_stm32f10x.o(i.SystemInit) + TIM2_IRQHandler 0x080005ad Thumb Code 26 driver_timer.o(i.TIM2_IRQHandler) + TIM3_IRQHandler 0x080005cd Thumb Code 22 driver_timer.o(i.TIM3_IRQHandler) + TIM4_IRQHandler 0x080005ed Thumb Code 22 driver_timer.o(i.TIM4_IRQHandler) + __scatterload_copy 0x0800060d Thumb Code 14 handlers.o(i.__scatterload_copy) + __scatterload_null 0x0800061b Thumb Code 2 handlers.o(i.__scatterload_null) + __scatterload_zeroinit 0x0800061d Thumb Code 14 handlers.o(i.__scatterload_zeroinit) + erreur 0x0800062b Thumb Code 4 driver_adc.o(i.erreur) + main 0x0800062f Thumb Code 22 main.o(i.main) + source_IMU_init 0x08000645 Thumb Code 34 imu.o(i.source_IMU_init) + source_IMU_read 0x0800066d Thumb Code 52 imu.o(i.source_IMU_read) + source_IMU_write_register 0x080006a1 Thumb Code 28 imu.o(i.source_IMU_write_register) + Region$$Table$$Base 0x080006bc Number 0 anon$$obj.o(Region$$Table) + Region$$Table$$Limit 0x080006dc Number 0 anon$$obj.o(Region$$Table) TIM2_fx 0x20000000 Data 4 driver_timer.o(.data) TIM3_fx 0x20000004 Data 4 driver_timer.o(.data) TIM4_fx 0x20000008 Data 4 driver_timer.o(.data) - __initial_sp 0x20000410 Data 0 startup_stm32f10x_md.o(STACK) + ADC1_2_fx 0x2000000c Data 4 driver_adc.o(.data) + ActiveSPI 0x20000010 Data 4 myspi.o(.data) + __initial_sp 0x20000418 Data 0 startup_stm32f10x_md.o(STACK) @@ -250,55 +305,64 @@ Memory Map of the image Image Entry point : 0x08000105 - Load Region LR_1 (Base: 0x08000000, Size: 0x00000484, Max: 0xffffffff, ABSOLUTE) + Load Region LR_1 (Base: 0x08000000, Size: 0x000006f0, Max: 0xffffffff, ABSOLUTE) - Execution Region ER_RO (Exec base: 0x08000000, Load base: 0x08000000, Size: 0x00000478, Max: 0xffffffff, ABSOLUTE) + Execution Region ER_RO (Exec base: 0x08000000, Load base: 0x08000000, Size: 0x000006dc, Max: 0xffffffff, ABSOLUTE) Exec Addr Load Addr Size Type Attr Idx E Section Name Object - 0x08000000 0x08000000 0x000000ec Data RO 236 RESET startup_stm32f10x_md.o - 0x080000ec 0x080000ec 0x00000000 Code RO 287 * .ARM.Collect$$$$00000000 mc_w.l(entry.o) - 0x080000ec 0x080000ec 0x00000004 Code RO 290 .ARM.Collect$$$$00000001 mc_w.l(entry2.o) - 0x080000f0 0x080000f0 0x00000004 Code RO 293 .ARM.Collect$$$$00000004 mc_w.l(entry5.o) - 0x080000f4 0x080000f4 0x00000000 Code RO 295 .ARM.Collect$$$$00000008 mc_w.l(entry7b.o) - 0x080000f4 0x080000f4 0x00000000 Code RO 297 .ARM.Collect$$$$0000000A mc_w.l(entry8b.o) - 0x080000f4 0x080000f4 0x00000008 Code RO 298 .ARM.Collect$$$$0000000B mc_w.l(entry9a.o) - 0x080000fc 0x080000fc 0x00000004 Code RO 305 .ARM.Collect$$$$0000000E mc_w.l(entry12b.o) - 0x08000100 0x08000100 0x00000000 Code RO 300 .ARM.Collect$$$$0000000F mc_w.l(entry10a.o) - 0x08000100 0x08000100 0x00000000 Code RO 302 .ARM.Collect$$$$00000011 mc_w.l(entry11a.o) - 0x08000100 0x08000100 0x00000004 Code RO 291 .ARM.Collect$$$$00002712 mc_w.l(entry2.o) - 0x08000104 0x08000104 0x00000024 Code RO 237 * .text startup_stm32f10x_md.o - 0x08000128 0x08000128 0x00000024 Code RO 306 .text mc_w.l(init.o) - 0x0800014c 0x0800014c 0x00000004 Code RO 118 i.Bug driver_timer.o - 0x08000150 0x08000150 0x00000108 Code RO 66 i.MyGPIO_Init driver_gpio.o - 0x08000258 0x08000258 0x0000000c Code RO 69 i.MyGPIO_Set driver_gpio.o - 0x08000264 0x08000264 0x00000008 Code RO 244 i.SetSysClock system_stm32f10x.o - 0x0800026c 0x0800026c 0x000000e0 Code RO 245 i.SetSysClockTo72 system_stm32f10x.o - 0x0800034c 0x0800034c 0x00000060 Code RO 247 i.SystemInit system_stm32f10x.o - 0x080003ac 0x080003ac 0x00000020 Code RO 123 i.TIM2_IRQHandler driver_timer.o - 0x080003cc 0x080003cc 0x00000020 Code RO 124 i.TIM3_IRQHandler driver_timer.o - 0x080003ec 0x080003ec 0x00000020 Code RO 125 i.TIM4_IRQHandler driver_timer.o - 0x0800040c 0x0800040c 0x0000000e Code RO 310 i.__scatterload_copy mc_w.l(handlers.o) - 0x0800041a 0x0800041a 0x00000002 Code RO 311 i.__scatterload_null mc_w.l(handlers.o) - 0x0800041c 0x0800041c 0x0000000e Code RO 312 i.__scatterload_zeroinit mc_w.l(handlers.o) - 0x0800042a 0x0800042a 0x00000002 PAD - 0x0800042c 0x0800042c 0x0000002c Code RO 4 i.main main.o - 0x08000458 0x08000458 0x00000020 Data RO 308 Region$$Table anon$$obj.o + 0x08000000 0x08000000 0x000000ec Data RO 310 RESET startup_stm32f10x_md.o + 0x080000ec 0x080000ec 0x00000000 Code RO 378 * .ARM.Collect$$$$00000000 mc_w.l(entry.o) + 0x080000ec 0x080000ec 0x00000004 Code RO 381 .ARM.Collect$$$$00000001 mc_w.l(entry2.o) + 0x080000f0 0x080000f0 0x00000004 Code RO 384 .ARM.Collect$$$$00000004 mc_w.l(entry5.o) + 0x080000f4 0x080000f4 0x00000000 Code RO 386 .ARM.Collect$$$$00000008 mc_w.l(entry7b.o) + 0x080000f4 0x080000f4 0x00000000 Code RO 388 .ARM.Collect$$$$0000000A mc_w.l(entry8b.o) + 0x080000f4 0x080000f4 0x00000008 Code RO 389 .ARM.Collect$$$$0000000B mc_w.l(entry9a.o) + 0x080000fc 0x080000fc 0x00000004 Code RO 396 .ARM.Collect$$$$0000000E mc_w.l(entry12b.o) + 0x08000100 0x08000100 0x00000000 Code RO 391 .ARM.Collect$$$$0000000F mc_w.l(entry10a.o) + 0x08000100 0x08000100 0x00000000 Code RO 393 .ARM.Collect$$$$00000011 mc_w.l(entry11a.o) + 0x08000100 0x08000100 0x00000004 Code RO 382 .ARM.Collect$$$$00002712 mc_w.l(entry2.o) + 0x08000104 0x08000104 0x00000024 Code RO 311 * .text startup_stm32f10x_md.o + 0x08000128 0x08000128 0x00000024 Code RO 397 .text mc_w.l(init.o) + 0x0800014c 0x0800014c 0x00000020 Code RO 214 i.ADC1_2_IRQHandler driver_adc.o + 0x0800016c 0x0800016c 0x00000004 Code RO 131 i.Bug driver_timer.o + 0x08000170 0x08000170 0x00000030 Code RO 364 i.MySPI_Clear_NSS Lib_Com_Periph_2022.lib(myspi.o) + 0x080001a0 0x080001a0 0x000001f4 Code RO 365 i.MySPI_Init Lib_Com_Periph_2022.lib(myspi.o) + 0x08000394 0x08000394 0x00000054 Code RO 366 i.MySPI_Read Lib_Com_Periph_2022.lib(myspi.o) + 0x080003e8 0x080003e8 0x00000050 Code RO 367 i.MySPI_Send Lib_Com_Periph_2022.lib(myspi.o) + 0x08000438 0x08000438 0x0000002c Code RO 368 i.MySPI_Set_NSS Lib_Com_Periph_2022.lib(myspi.o) + 0x08000464 0x08000464 0x00000008 Code RO 318 i.SetSysClock system_stm32f10x.o + 0x0800046c 0x0800046c 0x000000e0 Code RO 319 i.SetSysClockTo72 system_stm32f10x.o + 0x0800054c 0x0800054c 0x00000060 Code RO 321 i.SystemInit system_stm32f10x.o + 0x080005ac 0x080005ac 0x00000020 Code RO 136 i.TIM2_IRQHandler driver_timer.o + 0x080005cc 0x080005cc 0x00000020 Code RO 137 i.TIM3_IRQHandler driver_timer.o + 0x080005ec 0x080005ec 0x00000020 Code RO 138 i.TIM4_IRQHandler driver_timer.o + 0x0800060c 0x0800060c 0x0000000e Code RO 401 i.__scatterload_copy mc_w.l(handlers.o) + 0x0800061a 0x0800061a 0x00000002 Code RO 402 i.__scatterload_null mc_w.l(handlers.o) + 0x0800061c 0x0800061c 0x0000000e Code RO 403 i.__scatterload_zeroinit mc_w.l(handlers.o) + 0x0800062a 0x0800062a 0x00000004 Code RO 218 i.erreur driver_adc.o + 0x0800062e 0x0800062e 0x00000016 Code RO 4 i.main main.o + 0x08000644 0x08000644 0x00000028 Code RO 269 i.source_IMU_init imu.o + 0x0800066c 0x0800066c 0x00000034 Code RO 270 i.source_IMU_read imu.o + 0x080006a0 0x080006a0 0x0000001c Code RO 271 i.source_IMU_write_register imu.o + 0x080006bc 0x080006bc 0x00000020 Data RO 399 Region$$Table anon$$obj.o - Execution Region ER_RW (Exec base: 0x20000000, Load base: 0x08000478, Size: 0x0000000c, Max: 0xffffffff, ABSOLUTE) + Execution Region ER_RW (Exec base: 0x20000000, Load base: 0x080006dc, Size: 0x00000014, Max: 0xffffffff, ABSOLUTE) Exec Addr Load Addr Size Type Attr Idx E Section Name Object - 0x20000000 0x08000478 0x0000000c Data RW 128 .data driver_timer.o + 0x20000000 0x080006dc 0x0000000c Data RW 141 .data driver_timer.o + 0x2000000c 0x080006e8 0x00000004 Data RW 219 .data driver_adc.o + 0x20000010 0x080006ec 0x00000004 Data RW 369 .data Lib_Com_Periph_2022.lib(myspi.o) - Execution Region ER_ZI (Exec base: 0x2000000c, Load base: 0x08000484, Size: 0x00000404, Max: 0xffffffff, ABSOLUTE) + Execution Region ER_ZI (Exec base: 0x20000014, Load base: 0x080006f0, Size: 0x00000404, Max: 0xffffffff, ABSOLUTE) Exec Addr Load Addr Size Type Attr Idx E Section Name Object - 0x2000000c 0x08000484 0x00000004 PAD - 0x20000010 - 0x00000400 Zero RW 234 STACK startup_stm32f10x_md.o + 0x20000014 0x080006f0 0x00000004 PAD + 0x20000018 - 0x00000400 Zero RW 308 STACK startup_stm32f10x_md.o ============================================================================== @@ -308,21 +372,23 @@ Image component sizes Code (inc. data) RO Data RW Data ZI Data Debug Object Name - 276 22 0 0 0 1507 driver_gpio.o + 36 10 0 4 0 1529 driver_adc.o 100 26 0 12 0 2554 driver_timer.o - 44 6 0 0 0 207855 main.o + 120 6 0 0 0 1748 imu.o + 22 0 0 0 0 207315 main.o 36 8 236 0 1024 824 startup_stm32f10x_md.o 328 28 0 0 0 2029 system_stm32f10x.o ---------------------------------------------------------------------- - 784 90 268 12 1028 214769 Object Totals + 642 78 268 16 1024 215999 Object Totals 0 0 32 0 0 0 (incl. Generated) - 0 0 0 0 4 0 (incl. Padding) + 0 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 @@ -336,17 +402,18 @@ Image component sizes 36 8 0 0 0 68 init.o ---------------------------------------------------------------------- - 92 16 0 0 0 68 Library Totals - 2 0 0 0 0 0 (incl. Padding) + 846 96 0 4 4 416 Library Totals + 0 0 0 0 4 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 90 16 0 0 0 68 mc_w.l ---------------------------------------------------------------------- - 92 16 0 0 0 68 Library Totals + 846 96 0 4 4 416 Library Totals ---------------------------------------------------------------------- @@ -355,15 +422,15 @@ Image component sizes Code (inc. data) RO Data RW Data ZI Data Debug - 876 106 268 12 1028 214573 Grand Totals - 876 106 268 12 1028 214573 ELF Image Totals - 876 106 268 12 0 0 ROM Totals + 1488 174 268 20 1028 215839 Grand Totals + 1488 174 268 20 1028 215839 ELF Image Totals + 1488 174 268 20 0 0 ROM Totals ============================================================================== - Total RO Size (Code + RO Data) 1144 ( 1.12kB) - Total RW Size (RW Data + ZI Data) 1040 ( 1.02kB) - Total ROM Size (Code + RO Data + RW Data) 1156 ( 1.13kB) + Total RO Size (Code + RO Data) 1756 ( 1.71kB) + Total RW Size (RW Data + ZI Data) 1048 ( 1.02kB) + Total ROM Size (Code + RO Data + RW Data) 1776 ( 1.73kB) ============================================================================== diff --git a/projet-voilier/Objects/driver_gpio.crf b/projet-voilier/Objects/driver_gpio.crf index 901a1ac3e2e07af929e00a61afe7c4d81b6043ca..c0739e59bff369afdb412a0a44ce853ad0ca0ceb 100644 GIT binary patch delta 241 zcmaFxhVQ`}z6qNAKb}5Zz{UUsp*Q0gn1UwDGRaMz$)q{4o}25=)@cV>K~j+urzmkX zE_wq|_+jFKK(40Kd%l3>94AXN8u2e$v@foYW$q^rCIO5Y63_C743^;i?baOl4q-gu2KY;T-qL_m~X%;8s4mslvcG fQ9zt0nc?<#sAtle9hlo4m>GeXX}be6v%+Qoucl4* delta 241 zcmaFxhVQ`}z6qNAFHSyOz{UUsjW^>Mn1UwDGRaMz$)q{4o}25;%xMQ%K~k*~rzmlK zY<&Y!ICtWKK(0^g_Iv@$y_+n}Xv9CMZ5M<)^JXjqQy|b3cgeEUqT z9qyvZ`MCv|IjKcJ=}EJCA)2>OmS76uhpW!NnaaQv33ZV*!a2p0?=czj!L8)GslvcG fQ9zt0nc?(psAncMJ21C9Ff#%%({=}DW`)fFGsR8z diff --git a/projet-voilier/Objects/driver_gpio.o b/projet-voilier/Objects/driver_gpio.o index 1fff219b6cf6e6066276aaf1f2e577ee02985367..ac4850a30742c09b270a144cc9bf8583def80a78 100644 GIT binary patch delta 82 zcmcc9AaJKaV1t{WqGLgkf`W;Hk%5u15(6Vce0+$fuWNj~f|8-Bm7%4TiAi(1V0*eC lBM>ufPZwk^SjA?PY-FKpJbm9TX4}d4S$Mar?_oA|0RY4{7tjCz delta 82 zcmcc9AaJKaV1t{WqHki6f{~Gek%5u15(6Vce0+$fuWNj~f|8+`m64^DiE(qfV0*eC lBM>ufPZwk^SjA>+YG$HqJbm9TX4}d4S$Mar?_oA|0RY5e7qI{U diff --git a/projet-voilier/Objects/driver_timer.crf b/projet-voilier/Objects/driver_timer.crf index 0be7435f32b41814b241e67728cad2a532e4515e..3055fa8fcf0c75856835e3c3976d546af38b0661 100644 GIT binary patch delta 241 zcmbRJmT&f3z6o0V9V=%oWMcq=;+t^{OhJ?7nB*qUV$z)0z|D1M>$HQcAgRcSQr#_~EJ#-ArX*iiEnz8sQxG$@iHI`QTPQx~a;* eI8i`?Cz%26naXA-=5{A$Mj&R|?!?R-xfuXrY)lpa delta 241 zcmbRJmT&f3z6o0V4gJp-urUCE=gl|a4Y$4sxmN6 f6p-LaW;omj^$c&b6LY&0Gb0c)ZFgd3j@%3Y?Ws%_ diff --git a/projet-voilier/Objects/driver_timer.o b/projet-voilier/Objects/driver_timer.o index a01ae9c9fb61338c95403eb0d4b57d6c60960def..98367be62ae8693f7777d856573363d82002ca8a 100644 GIT binary patch delta 80 zcmZ3mQ((bPfejVXijD~VJCV$|voE*<2u-)Pqb4C~dx3d?> delta 80 zcmZ3mQ((bPfejVXioS_O3Pwf>Mg~U4N(_t)@$n&^zOM1{3QC4%Rz{XqCdSP(rQ2sp jGXgQw_Ll2+ z>=i#iCrZ~q%`!JAiyy&6e~4ENQ9)32GAHn3yIWL9OfZ=Nk{SGA)N^ke8wpL`^f~8w z`aI{nZ_>eWb!1XirbGaSpq}F(W%puzruj~3_Q?KYWk8>8nV!0e=ks$1yiRp_dMmJp zG7D-mN1LRb<45ORO)xXRTFU1?D^xvMj*phe&&hI&l>c~7fgQ+R!AOZco_&}-UP@b^ zwb&Br&tK0M;x=c0Vzuer?+qPv)05Nnz$%-XI^v10?M9-b)&0_gtu0NRFmSl2Iy_wq zY+*^&z9YOTM1o(Ad^+UXESb?&PDSu2?0?NrmtfME|)!P)4;l&e0 zYT$)7VON`gR-3?{d_7l_VawAs5U4FffQ5yj^k_V$uhP4EyHXIaZz+=1|0BDj{k^eH zJz+%Su+F}|flJ?~_{1rzOd07hbz}=-R?ctb{}zuTW>Ee`lu@Hd}$SR^>ZvLvYDWa6!VWK27wRC@!M2m`){~DieRVc3xyrk6(tf zG9DB)U-{|huA~tw2NLNG~uEF(*EEgwZX&* yx`;`xmTSM!gZ{`>NmFHZikfG*s%qz{d6ugcn%aP4gwJs`K-e=n<)J@JsQVXM!E`SG delta 690 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 Yo&GrLT>b&ARsWFc{A07bManz*f9&pG(f|Me diff --git a/projet-voilier/Objects/projet-voilier.axf b/projet-voilier/Objects/projet-voilier.axf index ae91b16cec6860097cb8aa08731459f52bc44acf..a190c9f9996a34a865872df5dc4c45b94daba125 100644 GIT binary patch delta 9972 zcmb`NeS8(wna9tWbMNFPB;h7O2oT^B5CI`15Cl>JH!s8_B4P+O#Xu60OL7%L%nJl1 z+(1!DrCV{jj#O-pSGJ z{?qv|%=tdgbDr~@=e*3^nVi3p^!{tf_h*b<{6oR2acUa#=CT0eY&!F^k*ssy{CmC2 zH0C?F?~W-6Kh~M=b(|mS`~JK^Z`T?7zHY4HE3`MhF#d_>U9}9lPZ{%dG8X96acVe? z&-v|{iS}kkZ1h;ceZzQt;54#O!w^KM5TLNJ?_m!}w;Kg9JRf3c` zvTVB)7-*@rWdq%I39_Ig%SI{dY^C%c@v#atP-!<%@po%r2|Thrfr~8ojk5SAUw0mO z0XpVCy};58EM)V`;v-PalY$@wIns3G**Q^@SyFPXZIR8UOTNZt&ZbJ9Vlzfn@+7PN zMOK?3dA!8~-7H=57|Z@5Yl)1Kf;3yu-Qt%#(qg1PQSu0zgUlzH4TJ{St29ek4};t8 z>4T?OKaDr@Ye7GaJ;vRGaZiDLO8LG*]p`B55kn!QS1<9qmk7U9~A!P9KAuROJB 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 delta 5638 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 diff --git a/projet-voilier/Objects/projet-voilier.build_log.htm b/projet-voilier/Objects/projet-voilier.build_log.htm index b666b0e..1b3fa1f 100644 --- a/projet-voilier/Objects/projet-voilier.build_log.htm +++ b/projet-voilier/Objects/projet-voilier.build_log.htm @@ -22,19 +22,27 @@ Dialog DLL: TARMSTM.DLL V1.66.0.0

Project:

U:\Documents\microcontroleur\Projet-Voilier-3\projet-voilier\projet-voilier.uvprojx -Project File Date: 03/22/2023 +Project File Date: 04/04/2023

Output:

*** Using Compiler 'V5.06 update 7 (build 960)', folder: 'C:\Keil_v5\ARM\ARMCC\Bin' Rebuild target 'sim' assembling startup_stm32f10x_md.s... -compiling main.c... +compiling Driver_ADC.c... compiling system_stm32f10x.c... +compiling main.c... +src\main.c(10): warning: #550-D: variable "val" was set but never used + static uint16_t val; +src\main.c: 1 warning, 0 errors +compiling IMU.c... +..\driver\IMU.c(21): warning: #177-D: variable "i" was declared but never referenced + int i; +..\driver\IMU.c: 1 warning, 0 errors compiling Driver_Timer.c... compiling Driver_GPIO.c... linking... -Program Size: Code=776 RO-data=268 RW-data=12 ZI-data=1636 -".\Objects\projet-voilier.axf" - 0 Error(s), 0 Warning(s). +Program Size: Code=1704 RO-data=268 RW-data=20 ZI-data=1636 +".\Objects\projet-voilier.axf" - 0 Error(s), 2 Warning(s).

Software Packages used:

@@ -62,10 +70,10 @@ Package Vendor: Keil * Component: Keil::Device:Startup:1.0.0 Source file: Device\Source\ARM\startup_stm32f10x_md.s - Source file: Device\Source\ARM\STM32F1xx_OPT.s Include file: RTE_Driver\Config\RTE_Device.h + Source file: Device\Source\ARM\STM32F1xx_OPT.s Source file: Device\Source\system_stm32f10x.c -Build Time Elapsed: 00:00:01 +Build Time Elapsed: 00:00:02 diff --git a/projet-voilier/Objects/projet-voilier.htm b/projet-voilier/Objects/projet-voilier.htm index b32c765..1a50198 100644 --- a/projet-voilier/Objects/projet-voilier.htm +++ b/projet-voilier/Objects/projet-voilier.htm @@ -3,16 +3,16 @@ Static Call Graph - [.\Objects\projet-voilier.axf]

Static Call Graph for image .\Objects\projet-voilier.axf


-

#<CALLGRAPH># ARM Linker, 5060960: Last Updated: Wed Mar 22 14:32:43 2023 +

#<CALLGRAPH># ARM Linker, 5060960: Last Updated: Tue Apr 04 15:13:02 2023

-

Maximum Stack Usage = 28 bytes + Unknown(Functions without stacksize, Cycles, Untraceable Function Pointers)

+

Maximum Stack Usage = 40 bytes + Unknown(Functions without stacksize, Cycles, Untraceable Function Pointers)

Call chain for Maximum Stack Depth:

-SystemInit ⇒ SetSysClock ⇒ SetSysClockTo72 +__rt_entry_main ⇒ main ⇒ source_IMU_read

Functions with no stack information

@@ -27,13 +27,13 @@ Mutually Recursive functions

  • DebugMon_Handler   ⇒   DebugMon_Handler
  • PendSV_Handler   ⇒   PendSV_Handler
  • SysTick_Handler   ⇒   SysTick_Handler
    -
  • ADC1_2_IRQHandler   ⇒   ADC1_2_IRQHandler
    +
  • CAN1_RX1_IRQHandler   ⇒   CAN1_RX1_IRQHandler

    Function Pointers

      -
    • ADC1_2_IRQHandler from startup_stm32f10x_md.o(.text) referenced from startup_stm32f10x_md.o(RESET) +
    • ADC1_2_IRQHandler from driver_adc.o(i.ADC1_2_IRQHandler) referenced from startup_stm32f10x_md.o(RESET)
    • Bug from driver_timer.o(i.Bug) referenced 3 times from driver_timer.o(.data)
    • BusFault_Handler from startup_stm32f10x_md.o(.text) referenced from startup_stm32f10x_md.o(RESET)
    • CAN1_RX1_IRQHandler from startup_stm32f10x_md.o(.text) referenced from startup_stm32f10x_md.o(RESET) @@ -66,7 +66,7 @@ Function Pointers
    • RCC_IRQHandler from startup_stm32f10x_md.o(.text) referenced from startup_stm32f10x_md.o(RESET)
    • RTCAlarm_IRQHandler from startup_stm32f10x_md.o(.text) referenced from startup_stm32f10x_md.o(RESET)
    • RTC_IRQHandler from startup_stm32f10x_md.o(.text) referenced from startup_stm32f10x_md.o(RESET) -
    • Reset_Handler from startup_stm32f10x_md.o(.text) referenced from startup_stm32f10x_md.o(RESET) +
    • Reset_Handler from startup_stm32f10x_md.o(.text) referenced from startup_stm32f10x_md.o(RESET)
    • SPI1_IRQHandler from startup_stm32f10x_md.o(.text) referenced from startup_stm32f10x_md.o(RESET)
    • SPI2_IRQHandler from startup_stm32f10x_md.o(.text) referenced from startup_stm32f10x_md.o(RESET)
    • SVC_Handler from startup_stm32f10x_md.o(.text) referenced from startup_stm32f10x_md.o(RESET) @@ -88,148 +88,149 @@ Function Pointers
    • USB_LP_CAN1_RX0_IRQHandler from startup_stm32f10x_md.o(.text) referenced from startup_stm32f10x_md.o(RESET)
    • UsageFault_Handler from startup_stm32f10x_md.o(.text) referenced from startup_stm32f10x_md.o(RESET)
    • WWDG_IRQHandler from startup_stm32f10x_md.o(.text) referenced from startup_stm32f10x_md.o(RESET) -
    • __main from __main.o(!!!main) referenced from startup_stm32f10x_md.o(.text) +
    • __main from __main.o(!!!main) referenced from startup_stm32f10x_md.o(.text) +
    • erreur from driver_adc.o(i.erreur) referenced from driver_adc.o(.data)

    Global Symbols

    -

    __main (Thumb, 8 bytes, Stack size 0 bytes, __main.o(!!!main)) -

    [Calls]

    • >>   __scatterload -
    • >>   __rt_entry +

      __main (Thumb, 8 bytes, Stack size 0 bytes, __main.o(!!!main)) +

      [Calls]

      • >>   __rt_entry +
      • >>   __scatterload
      -

      __scatterload (Thumb, 0 bytes, Stack size unknown bytes, __scatter.o(!!!scatter)) -

      [Called By]

      • >>   __main +

        __scatterload (Thumb, 0 bytes, Stack size unknown bytes, __scatter.o(!!!scatter)) +

        [Called By]

        • >>   __main
        -

        __scatterload_rt2 (Thumb, 44 bytes, Stack size unknown bytes, __scatter.o(!!!scatter), UNUSED) -

        [Calls]

        • >>   __rt_entry +

          __scatterload_rt2 (Thumb, 44 bytes, Stack size unknown bytes, __scatter.o(!!!scatter), UNUSED) +

          [Calls]

          • >>   __rt_entry
          -

          __scatterload_rt2_thumb_only (Thumb, 0 bytes, Stack size unknown bytes, __scatter.o(!!!scatter), UNUSED) +

          __scatterload_rt2_thumb_only (Thumb, 0 bytes, Stack size unknown bytes, __scatter.o(!!!scatter), UNUSED) -

          __scatterload_null (Thumb, 0 bytes, Stack size unknown bytes, __scatter.o(!!!scatter), UNUSED) +

          __scatterload_null (Thumb, 0 bytes, Stack size unknown bytes, __scatter.o(!!!scatter), UNUSED) -

          __scatterload_copy (Thumb, 26 bytes, Stack size unknown bytes, __scatter_copy.o(!!handler_copy), UNUSED) -

          [Calls]

          • >>   __scatterload_copy +

            __scatterload_copy (Thumb, 26 bytes, Stack size unknown bytes, __scatter_copy.o(!!handler_copy), UNUSED) +

            [Calls]

            • >>   __scatterload_copy
            -
            [Called By]
            • >>   __scatterload_copy +
              [Called By]
              • >>   __scatterload_copy
              -

              __scatterload_zeroinit (Thumb, 28 bytes, Stack size unknown bytes, __scatter_zi.o(!!handler_zi), UNUSED) +

              __scatterload_zeroinit (Thumb, 28 bytes, Stack size unknown bytes, __scatter_zi.o(!!handler_zi), UNUSED) -

              __rt_lib_init (Thumb, 0 bytes, Stack size unknown bytes, libinit.o(.ARM.Collect$$libinit$$00000000)) -

              [Called By]

              • >>   __rt_entry_li +

                __rt_lib_init (Thumb, 0 bytes, Stack size unknown bytes, libinit.o(.ARM.Collect$$libinit$$00000000)) +

                [Called By]

                • >>   __rt_entry_li
                -

                __rt_lib_init_alloca_1 (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$0000002E)) +

                __rt_lib_init_alloca_1 (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$0000002E)) -

                __rt_lib_init_argv_1 (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$0000002C)) +

                __rt_lib_init_argv_1 (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$0000002C)) -

                __rt_lib_init_atexit_1 (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$0000001B)) +

                __rt_lib_init_atexit_1 (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$0000001B)) -

                __rt_lib_init_clock_1 (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$00000021)) +

                __rt_lib_init_clock_1 (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$00000021)) -

                __rt_lib_init_cpp_1 (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$00000032)) +

                __rt_lib_init_cpp_1 (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$00000032)) -

                __rt_lib_init_exceptions_1 (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$00000030)) +

                __rt_lib_init_exceptions_1 (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$00000030)) -

                __rt_lib_init_fp_1 (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$00000002)) +

                __rt_lib_init_fp_1 (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$00000002)) -

                __rt_lib_init_fp_trap_1 (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$0000001F)) +

                __rt_lib_init_fp_trap_1 (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$0000001F)) -

                __rt_lib_init_getenv_1 (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$00000023)) +

                __rt_lib_init_getenv_1 (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$00000023)) -

                __rt_lib_init_heap_1 (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$0000000A)) +

                __rt_lib_init_heap_1 (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$0000000A)) -

                __rt_lib_init_lc_collate_1 (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$00000011)) +

                __rt_lib_init_lc_collate_1 (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$00000011)) -

                __rt_lib_init_lc_ctype_1 (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$00000013)) +

                __rt_lib_init_lc_ctype_1 (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$00000013)) -

                __rt_lib_init_lc_monetary_1 (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$00000015)) +

                __rt_lib_init_lc_monetary_1 (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$00000015)) -

                __rt_lib_init_lc_numeric_1 (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$00000017)) +

                __rt_lib_init_lc_numeric_1 (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$00000017)) -

                __rt_lib_init_lc_time_1 (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$00000019)) +

                __rt_lib_init_lc_time_1 (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$00000019)) -

                __rt_lib_init_preinit_1 (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$00000004)) +

                __rt_lib_init_preinit_1 (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$00000004)) -

                __rt_lib_init_rand_1 (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$0000000E)) +

                __rt_lib_init_rand_1 (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$0000000E)) -

                __rt_lib_init_return (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$00000033)) +

                __rt_lib_init_return (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$00000033)) -

                __rt_lib_init_signal_1 (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$0000001D)) +

                __rt_lib_init_signal_1 (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$0000001D)) -

                __rt_lib_init_stdio_1 (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$00000025)) +

                __rt_lib_init_stdio_1 (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$00000025)) -

                __rt_lib_init_user_alloc_1 (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$0000000C)) +

                __rt_lib_init_user_alloc_1 (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$0000000C)) -

                __rt_lib_shutdown (Thumb, 0 bytes, Stack size unknown bytes, libshutdown.o(.ARM.Collect$$libshutdown$$00000000)) -

                [Called By]

                • >>   __rt_exit_ls +

                  __rt_lib_shutdown (Thumb, 0 bytes, Stack size unknown bytes, libshutdown.o(.ARM.Collect$$libshutdown$$00000000)) +

                  [Called By]

                  • >>   __rt_exit_ls
                  -

                  __rt_lib_shutdown_cpp_1 (Thumb, 0 bytes, Stack size unknown bytes, libshutdown2.o(.ARM.Collect$$libshutdown$$00000004)) +

                  __rt_lib_shutdown_cpp_1 (Thumb, 0 bytes, Stack size unknown bytes, libshutdown2.o(.ARM.Collect$$libshutdown$$00000004)) -

                  __rt_lib_shutdown_fini_1 (Thumb, 0 bytes, Stack size unknown bytes, libshutdown2.o(.ARM.Collect$$libshutdown$$00000002)) +

                  __rt_lib_shutdown_fini_1 (Thumb, 0 bytes, Stack size unknown bytes, libshutdown2.o(.ARM.Collect$$libshutdown$$00000002)) -

                  __rt_lib_shutdown_fp_trap_1 (Thumb, 0 bytes, Stack size unknown bytes, libshutdown2.o(.ARM.Collect$$libshutdown$$00000009)) +

                  __rt_lib_shutdown_fp_trap_1 (Thumb, 0 bytes, Stack size unknown bytes, libshutdown2.o(.ARM.Collect$$libshutdown$$00000009)) -

                  __rt_lib_shutdown_heap_1 (Thumb, 0 bytes, Stack size unknown bytes, libshutdown2.o(.ARM.Collect$$libshutdown$$00000011)) +

                  __rt_lib_shutdown_heap_1 (Thumb, 0 bytes, Stack size unknown bytes, libshutdown2.o(.ARM.Collect$$libshutdown$$00000011)) -

                  __rt_lib_shutdown_return (Thumb, 0 bytes, Stack size unknown bytes, libshutdown2.o(.ARM.Collect$$libshutdown$$00000012)) +

                  __rt_lib_shutdown_return (Thumb, 0 bytes, Stack size unknown bytes, libshutdown2.o(.ARM.Collect$$libshutdown$$00000012)) -

                  __rt_lib_shutdown_signal_1 (Thumb, 0 bytes, Stack size unknown bytes, libshutdown2.o(.ARM.Collect$$libshutdown$$0000000C)) +

                  __rt_lib_shutdown_signal_1 (Thumb, 0 bytes, Stack size unknown bytes, libshutdown2.o(.ARM.Collect$$libshutdown$$0000000C)) -

                  __rt_lib_shutdown_stdio_1 (Thumb, 0 bytes, Stack size unknown bytes, libshutdown2.o(.ARM.Collect$$libshutdown$$00000006)) +

                  __rt_lib_shutdown_stdio_1 (Thumb, 0 bytes, Stack size unknown bytes, libshutdown2.o(.ARM.Collect$$libshutdown$$00000006)) -

                  __rt_lib_shutdown_user_alloc_1 (Thumb, 0 bytes, Stack size unknown bytes, libshutdown2.o(.ARM.Collect$$libshutdown$$0000000E)) +

                  __rt_lib_shutdown_user_alloc_1 (Thumb, 0 bytes, Stack size unknown bytes, libshutdown2.o(.ARM.Collect$$libshutdown$$0000000E)) -

                  __rt_entry (Thumb, 0 bytes, Stack size unknown bytes, __rtentry.o(.ARM.Collect$$rtentry$$00000000)) -

                  [Called By]

                  • >>   __scatterload_rt2 -
                  • >>   __main +

                    __rt_entry (Thumb, 0 bytes, Stack size unknown bytes, __rtentry.o(.ARM.Collect$$rtentry$$00000000)) +

                    [Called By]

                    • >>   __main +
                    • >>   __scatterload_rt2
                    -

                    __rt_entry_presh_1 (Thumb, 0 bytes, Stack size unknown bytes, __rtentry2.o(.ARM.Collect$$rtentry$$00000002)) +

                    __rt_entry_presh_1 (Thumb, 0 bytes, Stack size unknown bytes, __rtentry2.o(.ARM.Collect$$rtentry$$00000002)) -

                    __rt_entry_sh (Thumb, 0 bytes, Stack size unknown bytes, __rtentry4.o(.ARM.Collect$$rtentry$$00000004)) +

                    __rt_entry_sh (Thumb, 0 bytes, Stack size unknown bytes, __rtentry4.o(.ARM.Collect$$rtentry$$00000004))

                    [Stack]

                    • Max Depth = 8 + Unknown Stack Size
                    • Call Chain = __rt_entry_sh ⇒ __user_setup_stackheap
                    -
                    [Calls]
                    • >>   __user_setup_stackheap +
                      [Calls]
                      • >>   __user_setup_stackheap
                      -

                      __rt_entry_li (Thumb, 0 bytes, Stack size unknown bytes, __rtentry2.o(.ARM.Collect$$rtentry$$0000000A)) -

                      [Calls]

                      • >>   __rt_lib_init +

                        __rt_entry_li (Thumb, 0 bytes, Stack size unknown bytes, __rtentry2.o(.ARM.Collect$$rtentry$$0000000A)) +

                        [Calls]

                        • >>   __rt_lib_init
                        -

                        __rt_entry_postsh_1 (Thumb, 0 bytes, Stack size unknown bytes, __rtentry2.o(.ARM.Collect$$rtentry$$00000009)) +

                        __rt_entry_postsh_1 (Thumb, 0 bytes, Stack size unknown bytes, __rtentry2.o(.ARM.Collect$$rtentry$$00000009)) -

                        __rt_entry_main (Thumb, 0 bytes, Stack size unknown bytes, __rtentry2.o(.ARM.Collect$$rtentry$$0000000D)) -

                        [Stack]

                        • Max Depth = 8 + Unknown Stack Size -
                        • Call Chain = __rt_entry_main ⇒ exit +

                          __rt_entry_main (Thumb, 0 bytes, Stack size unknown bytes, __rtentry2.o(.ARM.Collect$$rtentry$$0000000D)) +

                          [Stack]

                          • Max Depth = 40 + Unknown Stack Size +
                          • Call Chain = __rt_entry_main ⇒ main ⇒ source_IMU_read
                          -
                          [Calls]
                          • >>   exit -
                          • >>   main +
                            [Calls]
                            • >>   exit +
                            • >>   main
                            -

                            __rt_entry_postli_1 (Thumb, 0 bytes, Stack size unknown bytes, __rtentry2.o(.ARM.Collect$$rtentry$$0000000C)) +

                            __rt_entry_postli_1 (Thumb, 0 bytes, Stack size unknown bytes, __rtentry2.o(.ARM.Collect$$rtentry$$0000000C)) -

                            __rt_exit (Thumb, 0 bytes, Stack size unknown bytes, rtexit.o(.ARM.Collect$$rtexit$$00000000)) -

                            [Called By]

                            • >>   exit +

                              __rt_exit (Thumb, 0 bytes, Stack size unknown bytes, rtexit.o(.ARM.Collect$$rtexit$$00000000)) +

                              [Called By]

                              • >>   exit
                              -

                              __rt_exit_ls (Thumb, 0 bytes, Stack size unknown bytes, rtexit2.o(.ARM.Collect$$rtexit$$00000003)) -

                              [Calls]

                              • >>   __rt_lib_shutdown +

                                __rt_exit_ls (Thumb, 0 bytes, Stack size unknown bytes, rtexit2.o(.ARM.Collect$$rtexit$$00000003)) +

                                [Calls]

                                • >>   __rt_lib_shutdown
                                -

                                __rt_exit_prels_1 (Thumb, 0 bytes, Stack size unknown bytes, rtexit2.o(.ARM.Collect$$rtexit$$00000002)) +

                                __rt_exit_prels_1 (Thumb, 0 bytes, Stack size unknown bytes, rtexit2.o(.ARM.Collect$$rtexit$$00000002)) -

                                __rt_exit_exit (Thumb, 0 bytes, Stack size unknown bytes, rtexit2.o(.ARM.Collect$$rtexit$$00000004)) -

                                [Calls]

                                • >>   _sys_exit +

                                  __rt_exit_exit (Thumb, 0 bytes, Stack size unknown bytes, rtexit2.o(.ARM.Collect$$rtexit$$00000004)) +

                                  [Calls]

                                  • >>   _sys_exit
                                  -

                                  Reset_Handler (Thumb, 8 bytes, Stack size 0 bytes, startup_stm32f10x_md.o(.text)) +

                                  Reset_Handler (Thumb, 8 bytes, Stack size 0 bytes, startup_stm32f10x_md.o(.text))

                                  NMI_Handler (Thumb, 2 bytes, Stack size 0 bytes, startup_stm32f10x_md.o(.text))

                                  [Calls]

                                  • >>   NMI_Handler @@ -294,14 +295,11 @@ Global Symbols

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

                                  ADC1_2_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_stm32f10x_md.o(.text)) -

                                  [Calls]

                                  • >>   ADC1_2_IRQHandler -
                                  -
                                  [Called By]
                                  • >>   ADC1_2_IRQHandler -
                                  -
                                  [Address Reference Count : 1]
                                  • startup_stm32f10x_md.o(RESET) -

                                  CAN1_RX1_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_stm32f10x_md.o(.text)) +

                                  [Calls]

                                  • >>   CAN1_RX1_IRQHandler +
                                  +
                                  [Called By]
                                  • >>   CAN1_RX1_IRQHandler +

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

                                  CAN1_SCE_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_stm32f10x_md.o(.text)) @@ -418,60 +416,93 @@ 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)
                                  -

                                  __user_initial_stackheap (Thumb, 0 bytes, Stack size unknown bytes, startup_stm32f10x_md.o(.text)) -

                                  [Called By]

                                  • >>   __user_setup_stackheap +

                                    __user_initial_stackheap (Thumb, 0 bytes, Stack size unknown bytes, startup_stm32f10x_md.o(.text)) +

                                    [Called By]

                                    • >>   __user_setup_stackheap
                                    -

                                    __use_two_region_memory (Thumb, 2 bytes, Stack size 0 bytes, heapauxi.o(.text), UNUSED) +

                                    __use_two_region_memory (Thumb, 2 bytes, Stack size 0 bytes, heapauxi.o(.text), UNUSED) -

                                    __rt_heap_escrow$2region (Thumb, 2 bytes, Stack size 0 bytes, heapauxi.o(.text), UNUSED) +

                                    __rt_heap_escrow$2region (Thumb, 2 bytes, Stack size 0 bytes, heapauxi.o(.text), UNUSED) -

                                    __rt_heap_expand$2region (Thumb, 2 bytes, Stack size 0 bytes, heapauxi.o(.text), UNUSED) +

                                    __rt_heap_expand$2region (Thumb, 2 bytes, Stack size 0 bytes, heapauxi.o(.text), UNUSED) -

                                    __user_setup_stackheap (Thumb, 74 bytes, Stack size 8 bytes, sys_stackheap_outer.o(.text)) +

                                    __user_setup_stackheap (Thumb, 74 bytes, Stack size 8 bytes, sys_stackheap_outer.o(.text))

                                    [Stack]

                                    • Max Depth = 8 + Unknown Stack Size
                                    • Call Chain = __user_setup_stackheap
                                    -
                                    [Calls]
                                    • >>   __user_perproc_libspace -
                                    • >>   __user_initial_stackheap +
                                      [Calls]
                                      • >>   __user_perproc_libspace +
                                      • >>   __user_initial_stackheap
                                      -
                                      [Called By]
                                      • >>   __rt_entry_sh +
                                        [Called By]
                                        • >>   __rt_entry_sh
                                        -

                                        exit (Thumb, 18 bytes, Stack size 8 bytes, exit.o(.text)) +

                                        exit (Thumb, 18 bytes, Stack size 8 bytes, exit.o(.text))

                                        [Stack]

                                        • Max Depth = 8 + Unknown Stack Size
                                        • Call Chain = exit
                                        -
                                        [Calls]
                                        • >>   __rt_exit +
                                          [Calls]
                                          • >>   __rt_exit
                                          -
                                          [Called By]
                                          • >>   __rt_entry_main +
                                            [Called By]
                                            • >>   __rt_entry_main
                                            -

                                            __user_libspace (Thumb, 8 bytes, Stack size 0 bytes, libspace.o(.text), UNUSED) +

                                            __user_libspace (Thumb, 8 bytes, Stack size 0 bytes, libspace.o(.text), UNUSED) -

                                            __user_perproc_libspace (Thumb, 0 bytes, Stack size 0 bytes, libspace.o(.text)) -

                                            [Called By]

                                            • >>   __user_setup_stackheap +

                                              __user_perproc_libspace (Thumb, 0 bytes, Stack size 0 bytes, libspace.o(.text)) +

                                              [Called By]

                                              • >>   __user_setup_stackheap
                                              -

                                              __user_perthread_libspace (Thumb, 0 bytes, Stack size 0 bytes, libspace.o(.text), UNUSED) +

                                              __user_perthread_libspace (Thumb, 0 bytes, Stack size 0 bytes, libspace.o(.text), UNUSED) -

                                              _sys_exit (Thumb, 8 bytes, Stack size 0 bytes, sys_exit.o(.text)) -

                                              [Called By]

                                              • >>   __rt_exit_exit +

                                                _sys_exit (Thumb, 8 bytes, Stack size 0 bytes, sys_exit.o(.text)) +

                                                [Called By]

                                                • >>   __rt_exit_exit
                                                -

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

                                                __I$use$semihosting (Thumb, 0 bytes, Stack size 0 bytes, use_no_semi.o(.text), UNUSED) -

                                                __use_no_semihosting_swi (Thumb, 2 bytes, Stack size 0 bytes, use_no_semi.o(.text), UNUSED) +

                                                __use_no_semihosting_swi (Thumb, 2 bytes, Stack size 0 bytes, use_no_semi.o(.text), UNUSED) +

                                                __semihosting_library_function (Thumb, 0 bytes, Stack size unknown bytes, indicate_semi.o(.text), UNUSED) + +

                                                ADC1_2_IRQHandler (Thumb, 22 bytes, Stack size 8 bytes, driver_adc.o(i.ADC1_2_IRQHandler)) +

                                                [Stack]

                                                • Max Depth = 8
                                                • Call Chain = ADC1_2_IRQHandler +
                                                +
                                                [Address Reference Count : 1]
                                                • startup_stm32f10x_md.o(RESET) +

                                                Bug (Thumb, 4 bytes, Stack size 0 bytes, driver_timer.o(i.Bug))
                                                [Address Reference Count : 1]

                                                • driver_timer.o(.data)
                                                -

                                                __semihosting_library_function (Thumb, 0 bytes, Stack size 0 bytes, indicate_semi.o(.text), UNUSED) +

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

                                                [Called By]

                                                • >>   source_IMU_write_register +
                                                • >>   source_IMU_read +
                                                + +

                                                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]
                                                • >>   source_IMU_init +
                                                + +

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

                                                [Called By]

                                                • >>   source_IMU_read +
                                                + +

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

                                                [Called By]

                                                • >>   source_IMU_write_register +
                                                • >>   source_IMU_read +
                                                + +

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

                                                [Called By]

                                                • >>   MySPI_Init +
                                                • >>   source_IMU_write_register +
                                                • >>   source_IMU_read +

                                                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)
                                                  @@ -490,25 +521,63 @@ Global Symbols

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

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

                                                [Called By]

                                                • >>   __rt_entry_main +

                                                  erreur (Thumb, 4 bytes, Stack size 0 bytes, driver_adc.o(i.erreur)) +
                                                  [Address Reference Count : 1]

                                                  • driver_adc.o(.data) +
                                                  +

                                                  main (Thumb, 22 bytes, Stack size 16 bytes, main.o(i.main)) +

                                                  [Stack]

                                                  • Max Depth = 40
                                                  • Call Chain = main ⇒ source_IMU_read +
                                                  +
                                                  [Calls]
                                                  • >>   source_IMU_read +
                                                  • >>   source_IMU_init +
                                                  +
                                                  [Called By]
                                                  • >>   __rt_entry_main +
                                                  + +

                                                  source_IMU_init (Thumb, 34 bytes, Stack size 8 bytes, imu.o(i.source_IMU_init)) +

                                                  [Stack]

                                                  • Max Depth = 24
                                                  • Call Chain = source_IMU_init ⇒ source_IMU_write_register +
                                                  +
                                                  [Calls]
                                                  • >>   MySPI_Init +
                                                  • >>   source_IMU_write_register +
                                                  +
                                                  [Called By]
                                                  • >>   main +
                                                  + +

                                                  source_IMU_read (Thumb, 48 bytes, Stack size 24 bytes, imu.o(i.source_IMU_read)) +

                                                  [Stack]

                                                  • Max Depth = 24
                                                  • Call Chain = source_IMU_read +
                                                  +
                                                  [Calls]
                                                  • >>   MySPI_Set_NSS +
                                                  • >>   MySPI_Send +
                                                  • >>   MySPI_Read +
                                                  • >>   MySPI_Clear_NSS +
                                                  +
                                                  [Called By]
                                                  • >>   main +
                                                  + +

                                                  source_IMU_write_register (Thumb, 28 bytes, Stack size 16 bytes, imu.o(i.source_IMU_write_register)) +

                                                  [Stack]

                                                  • Max Depth = 16
                                                  • Call Chain = source_IMU_write_register +
                                                  +
                                                  [Calls]
                                                  • >>   MySPI_Set_NSS +
                                                  • >>   MySPI_Send +
                                                  • >>   MySPI_Clear_NSS +
                                                  +
                                                  [Called By]
                                                  • >>   source_IMU_init

                                                  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/projet-voilier/Objects/projet-voilier.lnp b/projet-voilier/Objects/projet-voilier.lnp index a9fce1e..b3d5cf3 100644 --- a/projet-voilier/Objects/projet-voilier.lnp +++ b/projet-voilier/Objects/projet-voilier.lnp @@ -2,6 +2,9 @@ ".\objects\main.o" ".\objects\driver_gpio.o" ".\objects\driver_timer.o" +".\objects\driver_adc.o" +"..\driver\Lib_Com_Periph_2022.lib" +".\objects\imu.o" ".\objects\startup_stm32f10x_md.o" ".\objects\system_stm32f10x.o" --ro-base 0x08000000 --entry 0x08000000 --rw-base 0x20000000 --entry Reset_Handler --first __Vectors --strict --summary_stderr --info summarysizes --map --load_addr_map_info --xref --callgraph --symbols diff --git a/projet-voilier/Objects/projet-voilier_reel.axf b/projet-voilier/Objects/projet-voilier_reel.axf index cae373032d9a49e96d1724771107bc6787bd15fb..778362dd30eccf82a7f69b932d9437a1f2555173 100644 GIT binary patch delta 7797 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 H?>hetWcQc2 delta 5149 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 diff --git a/projet-voilier/Objects/projet-voilier_reel.build_log.htm b/projet-voilier/Objects/projet-voilier_reel.build_log.htm index 61c9650..dba438f 100644 --- a/projet-voilier/Objects/projet-voilier_reel.build_log.htm +++ b/projet-voilier/Objects/projet-voilier_reel.build_log.htm @@ -22,20 +22,27 @@ Dialog DLL: TARMSTM.DLL V1.66.0.0

                                                      Project:

                                                      U:\Documents\microcontroleur\Projet-Voilier-3\projet-voilier\projet-voilier.uvprojx -Project File Date: 03/22/2023 +Project File Date: 04/04/2023

                                                      Output:

                                                      *** Using Compiler 'V5.06 update 7 (build 960)', folder: 'C:\Keil_v5\ARM\ARMCC\Bin' Rebuild target 'reel' assembling startup_stm32f10x_md.s... +compiling Driver_GPIO.c... compiling Driver_ADC.c... compiling system_stm32f10x.c... -compiling Driver_GPIO.c... compiling main.c... +src\main.c(10): warning: #550-D: variable "val" was set but never used + static uint16_t val; +src\main.c: 1 warning, 0 errors compiling Driver_Timer.c... +compiling IMU.c... +..\driver\IMU.c(21): warning: #177-D: variable "i" was declared but never referenced + int i; +..\driver\IMU.c: 1 warning, 0 errors linking... -Program Size: Code=876 RO-data=268 RW-data=12 ZI-data=1028 -".\Objects\projet-voilier_reel.axf" - 0 Error(s), 0 Warning(s). +Program Size: Code=1488 RO-data=268 RW-data=20 ZI-data=1028 +".\Objects\projet-voilier_reel.axf" - 0 Error(s), 2 Warning(s).

                                                      Software Packages used:

                                                      @@ -62,11 +69,11 @@ Package Vendor: Keil * Component: ARM::CMSIS:CORE:5.4.0 * Component: Keil::Device:Startup:1.0.0 - Include file: RTE_Driver\Config\RTE_Device.h - Source file: Device\Source\system_stm32f10x.c Source file: Device\Source\ARM\startup_stm32f10x_md.s + Include file: RTE_Driver\Config\RTE_Device.h Source file: Device\Source\ARM\STM32F1xx_OPT.s -Build Time Elapsed: 00:00:01 + Source file: Device\Source\system_stm32f10x.c +Build Time Elapsed: 00:00:02 diff --git a/projet-voilier/Objects/projet-voilier_reel.dep b/projet-voilier/Objects/projet-voilier_reel.dep index e1a6e3c..bc63ecb 100644 --- a/projet-voilier/Objects/projet-voilier_reel.dep +++ b/projet-voilier/Objects/projet-voilier_reel.dep @@ -1,6 +1,6 @@ Dependencies for Project 'projet-voilier', Target 'reel': (DO NOT MODIFY !) CompilerVersion: 5060960::V5.06 update 7 (build 960)::.\ARMCC -F (.\src\main.c)(0x641B1ED7)(-c --cpu Cortex-M3 -D__EVAL -D__MICROLIB -g -O0 --apcs=interwork --split_sections -I .\src -I ..\driver -I.\RTE\Device\STM32F103RB -I.\RTE\_reel -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 (.\src\main.c)(0x642C2204)(-c --cpu Cortex-M3 -D__EVAL -D__MICROLIB -g -O0 --apcs=interwork --split_sections -I .\src -I ..\driver -I.\RTE\Device\STM32F103RB -I.\RTE\_reel -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\_reel\RTE_Components.h)(0x641B02F1) I (C:\Programdata\Keil\Arm\Packs\ARM\CMSIS\5.7.0\CMSIS\Core\Include\core_cm3.h)(0x5E8F2582) @@ -10,8 +10,10 @@ I (C:\Programdata\Keil\Arm\Packs\ARM\CMSIS\5.7.0\CMSIS\Core\Include\cmsis_compil I (C:\Programdata\Keil\Arm\Packs\ARM\CMSIS\5.7.0\CMSIS\Core\Include\cmsis_armcc.h)(0x5E8F2582) I (C:\Programdata\Keil\Arm\Packs\Keil\STM32F1xx_DFP\2.3.0\Device\Include\system_stm32f10x.h)(0x58258CCC) I (..\driver\Driver_GPIO.h)(0x641864E8) -I (..\driver\Driver_Timer.h)(0x6419C780) -I (..\driver\Driver_ADC.h)(0x641B1EE6) +I (..\driver\Driver_Timer.h)(0x64269488) +I (..\driver\Driver_ADC.h)(0x6426958B) +I (..\driver\MySPI.h)(0x634E5AE0) +I (..\driver\IMU.h)(0x642C0AF7) F (..\driver\Driver_GPIO.c)(0x64186DCB)(-c --cpu Cortex-M3 -D__EVAL -D__MICROLIB -g -O0 --apcs=interwork --split_sections -I .\src -I ..\driver -I.\RTE\Device\STM32F103RB -I.\RTE\_reel -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\driver_gpio.o --omf_browse .\objects\driver_gpio.crf --depend .\objects\driver_gpio.d) I (..\driver\Driver_GPIO.h)(0x641864E8) I (C:\Programdata\Keil\Arm\Packs\Keil\STM32F1xx_DFP\2.3.0\Device\Include\stm32f10x.h)(0x58258CCC) @@ -24,8 +26,8 @@ I (C:\Programdata\Keil\Arm\Packs\ARM\CMSIS\5.7.0\CMSIS\Core\Include\cmsis_armcc. I (C:\Programdata\Keil\Arm\Packs\Keil\STM32F1xx_DFP\2.3.0\Device\Include\system_stm32f10x.h)(0x58258CCC) I (C:\Keil_v5\ARM\ARMCC\include\stdio.h)(0x5E8E9122) F (..\driver\Driver_GPIO.h)(0x641864E8)() -F (..\driver\Driver_Timer.c)(0x6419C743)(-c --cpu Cortex-M3 -D__EVAL -D__MICROLIB -g -O0 --apcs=interwork --split_sections -I .\src -I ..\driver -I.\RTE\Device\STM32F103RB -I.\RTE\_reel -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\driver_timer.o --omf_browse .\objects\driver_timer.crf --depend .\objects\driver_timer.d) -I (..\driver\Driver_Timer.h)(0x6419C780) +F (..\driver\Driver_Timer.c)(0x64269488)(-c --cpu Cortex-M3 -D__EVAL -D__MICROLIB -g -O0 --apcs=interwork --split_sections -I .\src -I ..\driver -I.\RTE\Device\STM32F103RB -I.\RTE\_reel -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\driver_timer.o --omf_browse .\objects\driver_timer.crf --depend .\objects\driver_timer.d) +I (..\driver\Driver_Timer.h)(0x64269488) I (C:\Programdata\Keil\Arm\Packs\Keil\STM32F1xx_DFP\2.3.0\Device\Include\stm32f10x.h)(0x58258CCC) I (.\RTE\_reel\RTE_Components.h)(0x641B02F1) I (C:\Programdata\Keil\Arm\Packs\ARM\CMSIS\5.7.0\CMSIS\Core\Include\core_cm3.h)(0x5E8F2582) @@ -35,9 +37,8 @@ I (C:\Programdata\Keil\Arm\Packs\ARM\CMSIS\5.7.0\CMSIS\Core\Include\cmsis_compil I (C:\Programdata\Keil\Arm\Packs\ARM\CMSIS\5.7.0\CMSIS\Core\Include\cmsis_armcc.h)(0x5E8F2582) I (C:\Programdata\Keil\Arm\Packs\Keil\STM32F1xx_DFP\2.3.0\Device\Include\system_stm32f10x.h)(0x58258CCC) I (C:\Keil_v5\ARM\ARMCC\include\stdio.h)(0x5E8E9122) -F (..\driver\Driver_Timer.h)(0x6419C780)() -F (..\driver\Driver_ADC.c)(0x641B1EBA)(-c --cpu Cortex-M3 -D__EVAL -D__MICROLIB -g -O0 --apcs=interwork --split_sections -I .\src -I ..\driver -I.\RTE\Device\STM32F103RB -I.\RTE\_reel -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\driver_adc.o --omf_browse .\objects\driver_adc.crf --depend .\objects\driver_adc.d) -I (..\driver\Driver_ADC.h)(0x641B1EE6) +F (..\driver\Driver_Timer.h)(0x64269488)() +F (..\driver\Driver_ADC.c)(0x6426958B)(-c --cpu Cortex-M3 -D__EVAL -D__MICROLIB -g -O0 --apcs=interwork --split_sections -I .\src -I ..\driver -I.\RTE\Device\STM32F103RB -I.\RTE\_reel -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\driver_adc.o --omf_browse .\objects\driver_adc.crf --depend .\objects\driver_adc.d) I (C:\Programdata\Keil\Arm\Packs\Keil\STM32F1xx_DFP\2.3.0\Device\Include\stm32f10x.h)(0x58258CCC) I (.\RTE\_reel\RTE_Components.h)(0x641B02F1) I (C:\Programdata\Keil\Arm\Packs\ARM\CMSIS\5.7.0\CMSIS\Core\Include\core_cm3.h)(0x5E8F2582) @@ -47,7 +48,21 @@ I (C:\Programdata\Keil\Arm\Packs\ARM\CMSIS\5.7.0\CMSIS\Core\Include\cmsis_compil I (C:\Programdata\Keil\Arm\Packs\ARM\CMSIS\5.7.0\CMSIS\Core\Include\cmsis_armcc.h)(0x5E8F2582) I (C:\Programdata\Keil\Arm\Packs\Keil\STM32F1xx_DFP\2.3.0\Device\Include\system_stm32f10x.h)(0x58258CCC) I (C:\Keil_v5\ARM\ARMCC\include\stdio.h)(0x5E8E9122) -F (..\driver\Driver_ADC.h)(0x641B1EE6)() +I (..\driver\Driver_ADC.h)(0x6426958B) +F (..\driver\Driver_ADC.h)(0x6426958B)() +F (..\driver\Lib_Com_Periph_2022.lib)(0x634E68C6)() +F (..\driver\MySPI.h)(0x634E5AE0)() +F (..\driver\IMU.c)(0x642C23EC)(-c --cpu Cortex-M3 -D__EVAL -D__MICROLIB -g -O0 --apcs=interwork --split_sections -I .\src -I ..\driver -I.\RTE\Device\STM32F103RB -I.\RTE\_reel -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\imu.o --omf_browse .\objects\imu.crf --depend .\objects\imu.d) +I (..\driver\MySpi.h)(0x634E5AE0) +I (C:\Programdata\Keil\Arm\Packs\Keil\STM32F1xx_DFP\2.3.0\Device\Include\stm32f10x.h)(0x58258CCC) +I (.\RTE\_reel\RTE_Components.h)(0x641B02F1) +I (C:\Programdata\Keil\Arm\Packs\ARM\CMSIS\5.7.0\CMSIS\Core\Include\core_cm3.h)(0x5E8F2582) +I (C:\Keil_v5\ARM\ARMCC\include\stdint.h)(0x5E8E9122) +I (C:\Programdata\Keil\Arm\Packs\ARM\CMSIS\5.7.0\CMSIS\Core\Include\cmsis_version.h)(0x5E8F2582) +I (C:\Programdata\Keil\Arm\Packs\ARM\CMSIS\5.7.0\CMSIS\Core\Include\cmsis_compiler.h)(0x5E835B22) +I (C:\Programdata\Keil\Arm\Packs\ARM\CMSIS\5.7.0\CMSIS\Core\Include\cmsis_armcc.h)(0x5E8F2582) +I (C:\Programdata\Keil\Arm\Packs\Keil\STM32F1xx_DFP\2.3.0\Device\Include\system_stm32f10x.h)(0x58258CCC) +F (..\driver\IMU.h)(0x642C0AF7)() F (RTE\Device\STM32F103RB\RTE_Device.h)(0x59283406)() F (RTE\Device\STM32F103RB\startup_stm32f10x_md.s)(0x58258CCC)(--cpu Cortex-M3 --pd "__EVAL SETA 1" -g --apcs=interwork --pd "__MICROLIB SETA 1" -I.\RTE\Device\STM32F103RB -I.\RTE\_reel -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)(0x58258CCC)(-c --cpu Cortex-M3 -D__EVAL -D__MICROLIB -g -O0 --apcs=interwork --split_sections -I .\src -I ..\driver -I.\RTE\Device\STM32F103RB -I.\RTE\_reel -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/projet-voilier/Objects/projet-voilier_reel.htm b/projet-voilier/Objects/projet-voilier_reel.htm index 4db081e..cdd4dc4 100644 --- a/projet-voilier/Objects/projet-voilier_reel.htm +++ b/projet-voilier/Objects/projet-voilier_reel.htm @@ -3,11 +3,11 @@ Static Call Graph - [.\Objects\projet-voilier_reel.axf]

                                                      Static Call Graph for image .\Objects\projet-voilier_reel.axf


                                                      -

                                                      #<CALLGRAPH># ARM Linker, 5060960: Last Updated: Wed Mar 22 16:29:44 2023 +

                                                      #<CALLGRAPH># ARM Linker, 5060960: Last Updated: Tue Apr 04 15:19:46 2023

                                                      -

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

                                                      +

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

                                                      Call chain for Maximum Stack Depth:

                                                      -SystemInit ⇒ SetSysClock ⇒ SetSysClockTo72 +main ⇒ source_IMU_read

                                                      Mutually Recursive functions @@ -20,13 +20,13 @@ Mutually Recursive functions
                                                    • DebugMon_Handler   ⇒   DebugMon_Handler
                                                    • PendSV_Handler   ⇒   PendSV_Handler
                                                    • SysTick_Handler   ⇒   SysTick_Handler
                                                      -
                                                    • ADC1_2_IRQHandler   ⇒   ADC1_2_IRQHandler
                                                      +
                                                    • CAN1_RX1_IRQHandler   ⇒   CAN1_RX1_IRQHandler

                                                    Function Pointers

                                                      -
                                                    • ADC1_2_IRQHandler from startup_stm32f10x_md.o(.text) referenced from startup_stm32f10x_md.o(RESET) +
                                                    • ADC1_2_IRQHandler from driver_adc.o(i.ADC1_2_IRQHandler) referenced from startup_stm32f10x_md.o(RESET)
                                                    • Bug from driver_timer.o(i.Bug) referenced 3 times from driver_timer.o(.data)
                                                    • BusFault_Handler from startup_stm32f10x_md.o(.text) referenced from startup_stm32f10x_md.o(RESET)
                                                    • CAN1_RX1_IRQHandler from startup_stm32f10x_md.o(.text) referenced from startup_stm32f10x_md.o(RESET) @@ -59,7 +59,7 @@ Function Pointers
                                                    • RCC_IRQHandler from startup_stm32f10x_md.o(.text) referenced from startup_stm32f10x_md.o(RESET)
                                                    • RTCAlarm_IRQHandler from startup_stm32f10x_md.o(.text) referenced from startup_stm32f10x_md.o(RESET)
                                                    • RTC_IRQHandler from startup_stm32f10x_md.o(.text) referenced from startup_stm32f10x_md.o(RESET) -
                                                    • Reset_Handler from startup_stm32f10x_md.o(.text) referenced from startup_stm32f10x_md.o(RESET) +
                                                    • Reset_Handler from startup_stm32f10x_md.o(.text) referenced from startup_stm32f10x_md.o(RESET)
                                                    • SPI1_IRQHandler from startup_stm32f10x_md.o(.text) referenced from startup_stm32f10x_md.o(RESET)
                                                    • SPI2_IRQHandler from startup_stm32f10x_md.o(.text) referenced from startup_stm32f10x_md.o(RESET)
                                                    • SVC_Handler from startup_stm32f10x_md.o(.text) referenced from startup_stm32f10x_md.o(RESET) @@ -82,6 +82,7 @@ Function Pointers
                                                    • UsageFault_Handler from startup_stm32f10x_md.o(.text) referenced from startup_stm32f10x_md.o(RESET)
                                                    • WWDG_IRQHandler from startup_stm32f10x_md.o(.text) referenced from startup_stm32f10x_md.o(RESET)
                                                    • __main from entry.o(.ARM.Collect$$$$00000000) referenced from startup_stm32f10x_md.o(.text) +
                                                    • erreur from driver_adc.o(i.erreur) referenced from driver_adc.o(.data)
                                                    • main from main.o(i.main) referenced from entry9a.o(.ARM.Collect$$$$0000000B)

                                                    @@ -91,29 +92,29 @@ 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 +

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

                                                      [Calls]

                                                      • >>   __scatterload
                                                      -

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

                                                      [Called By]

                                                      • >>   __scatterload +

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

                                                        [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)) +

                                                        Reset_Handler (Thumb, 8 bytes, Stack size 0 bytes, startup_stm32f10x_md.o(.text))

                                                        NMI_Handler (Thumb, 2 bytes, Stack size 0 bytes, startup_stm32f10x_md.o(.text))

                                                        [Calls]

                                                        • >>   NMI_Handler @@ -178,14 +179,11 @@ Global Symbols

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

                                                        ADC1_2_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_stm32f10x_md.o(.text)) -

                                                        [Calls]

                                                        • >>   ADC1_2_IRQHandler -
                                                        -
                                                        [Called By]
                                                        • >>   ADC1_2_IRQHandler -
                                                        -
                                                        [Address Reference Count : 1]
                                                        • startup_stm32f10x_md.o(RESET) -

                                                        CAN1_RX1_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_stm32f10x_md.o(.text)) +

                                                        [Calls]

                                                        • >>   CAN1_RX1_IRQHandler +
                                                        +
                                                        [Called By]
                                                        • >>   CAN1_RX1_IRQHandler +

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

                                                        CAN1_SCE_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_stm32f10x_md.o(.text)) @@ -302,29 +300,54 @@ 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)
                                                        -

                                                        __scatterload (Thumb, 28 bytes, Stack size 0 bytes, init.o(.text)) -

                                                        [Calls]

                                                        • >>   __main_after_scatterload +

                                                          __scatterload (Thumb, 28 bytes, Stack size 0 bytes, init.o(.text)) +

                                                          [Calls]

                                                          • >>   __main_after_scatterload
                                                          -
                                                          [Called By]
                                                          • >>   _main_scatterload +
                                                            [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) +

                                                            ADC1_2_IRQHandler (Thumb, 22 bytes, Stack size 8 bytes, driver_adc.o(i.ADC1_2_IRQHandler)) +

                                                            [Stack]

                                                            • Max Depth = 8
                                                            • Call Chain = ADC1_2_IRQHandler +
                                                            +
                                                            [Address Reference Count : 1]
                                                            • startup_stm32f10x_md.o(RESET) +

                                                            Bug (Thumb, 4 bytes, Stack size 0 bytes, driver_timer.o(i.Bug))
                                                            [Address Reference Count : 1]

                                                            • driver_timer.o(.data)
                                                            -

                                                            MyGPIO_Init (Thumb, 242 bytes, Stack size 0 bytes, driver_gpio.o(i.MyGPIO_Init)) -

                                                            [Called By]

                                                            • >>   main +

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

                                                              [Called By]

                                                              • >>   source_IMU_write_register +
                                                              • >>   source_IMU_read
                                                              -

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

                                                              [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]
                                                                • >>   source_IMU_init +
                                                                + +

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

                                                                [Called By]

                                                                • >>   source_IMU_read +
                                                                + +

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

                                                                [Called By]

                                                                • >>   source_IMU_write_register +
                                                                • >>   source_IMU_read +
                                                                + +

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

                                                                [Called By]

                                                                • >>   MySPI_Init +
                                                                • >>   source_IMU_write_register +
                                                                • >>   source_IMU_read

                                                                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)
                                                                  @@ -343,35 +366,68 @@ 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) -

                                                                main (Thumb, 38 bytes, Stack size 16 bytes, main.o(i.main)) -

                                                                [Stack]

                                                                • Max Depth = 16
                                                                • Call Chain = main +

                                                                  erreur (Thumb, 4 bytes, Stack size 0 bytes, driver_adc.o(i.erreur)) +
                                                                  [Address Reference Count : 1]

                                                                  • driver_adc.o(.data)
                                                                  -
                                                                  [Calls]
                                                                  • >>   MyGPIO_Set -
                                                                  • >>   MyGPIO_Init +

                                                                    main (Thumb, 22 bytes, Stack size 16 bytes, main.o(i.main)) +

                                                                    [Stack]

                                                                    • Max Depth = 40
                                                                    • Call Chain = main ⇒ source_IMU_read +
                                                                    +
                                                                    [Calls]
                                                                    • >>   source_IMU_read +
                                                                    • >>   source_IMU_init

                                                                    [Address Reference Count : 1]
                                                                    • entry9a.o(.ARM.Collect$$$$0000000B) -

                                                                    +

                                                                  +

                                                                  source_IMU_init (Thumb, 34 bytes, Stack size 8 bytes, imu.o(i.source_IMU_init)) +

                                                                  [Stack]

                                                                  • Max Depth = 24
                                                                  • Call Chain = source_IMU_init ⇒ source_IMU_write_register +
                                                                  +
                                                                  [Calls]
                                                                  • >>   MySPI_Init +
                                                                  • >>   source_IMU_write_register +
                                                                  +
                                                                  [Called By]
                                                                  • >>   main +
                                                                  + +

                                                                  source_IMU_read (Thumb, 52 bytes, Stack size 24 bytes, imu.o(i.source_IMU_read)) +

                                                                  [Stack]

                                                                  • Max Depth = 24
                                                                  • Call Chain = source_IMU_read +
                                                                  +
                                                                  [Calls]
                                                                  • >>   MySPI_Set_NSS +
                                                                  • >>   MySPI_Send +
                                                                  • >>   MySPI_Read +
                                                                  • >>   MySPI_Clear_NSS +
                                                                  +
                                                                  [Called By]
                                                                  • >>   main +
                                                                  + +

                                                                  source_IMU_write_register (Thumb, 28 bytes, Stack size 16 bytes, imu.o(i.source_IMU_write_register)) +

                                                                  [Stack]

                                                                  • Max Depth = 16
                                                                  • Call Chain = source_IMU_write_register +
                                                                  +
                                                                  [Calls]
                                                                  • >>   MySPI_Set_NSS +
                                                                  • >>   MySPI_Send +
                                                                  • >>   MySPI_Clear_NSS +
                                                                  +
                                                                  [Called By]
                                                                  • >>   source_IMU_init +
                                                                  +

                                                                  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/projet-voilier/Objects/projet-voilier_reel.lnp b/projet-voilier/Objects/projet-voilier_reel.lnp index ce4053c..43722f6 100644 --- a/projet-voilier/Objects/projet-voilier_reel.lnp +++ b/projet-voilier/Objects/projet-voilier_reel.lnp @@ -3,6 +3,8 @@ ".\objects\driver_gpio.o" ".\objects\driver_timer.o" ".\objects\driver_adc.o" +"..\driver\Lib_Com_Periph_2022.lib" +".\objects\imu.o" ".\objects\startup_stm32f10x_md.o" ".\objects\system_stm32f10x.o" --library_type=microlib --ro-base 0x08000000 --entry 0x08000000 --rw-base 0x20000000 --entry Reset_Handler --first __Vectors --strict --summary_stderr --info summarysizes --map --load_addr_map_info --xref --callgraph --symbols diff --git a/projet-voilier/Objects/projet-voilier_sim.dep b/projet-voilier/Objects/projet-voilier_sim.dep index ee91ab0..a7605ff 100644 --- a/projet-voilier/Objects/projet-voilier_sim.dep +++ b/projet-voilier/Objects/projet-voilier_sim.dep @@ -1,6 +1,6 @@ Dependencies for Project 'projet-voilier', Target 'sim': (DO NOT MODIFY !) CompilerVersion: 5060960::V5.06 update 7 (build 960)::.\ARMCC -F (.\src\main.c)(0x641B0376)(-c --cpu Cortex-M3 -D__EVAL -g -O0 --apcs=interwork --split_sections -I ..\driver -I .\src -I.\RTE\Device\STM32F103RB -I.\RTE\_sim -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 (.\src\main.c)(0x642C2204)(-c --cpu Cortex-M3 -D__EVAL -g -O0 --apcs=interwork --split_sections -I ..\driver -I .\src -I.\RTE\Device\STM32F103RB -I.\RTE\_sim -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\_sim\RTE_Components.h)(0x641B00B4) I (C:\Programdata\Keil\Arm\Packs\ARM\CMSIS\5.7.0\CMSIS\Core\Include\core_cm3.h)(0x5E8F2582) @@ -10,7 +10,10 @@ I (C:\Programdata\Keil\Arm\Packs\ARM\CMSIS\5.7.0\CMSIS\Core\Include\cmsis_compil I (C:\Programdata\Keil\Arm\Packs\ARM\CMSIS\5.7.0\CMSIS\Core\Include\cmsis_armcc.h)(0x5E8F2582) I (C:\Programdata\Keil\Arm\Packs\Keil\STM32F1xx_DFP\2.3.0\Device\Include\system_stm32f10x.h)(0x58258CCC) I (..\driver\Driver_GPIO.h)(0x641864E8) -I (..\driver\Driver_Timer.h)(0x6419C780) +I (..\driver\Driver_Timer.h)(0x64269488) +I (..\driver\Driver_ADC.h)(0x6426958B) +I (..\driver\MySPI.h)(0x634E5AE0) +I (..\driver\IMU.h)(0x642C0AF7) F (..\driver\Driver_GPIO.c)(0x64186DCB)(-c --cpu Cortex-M3 -D__EVAL -g -O0 --apcs=interwork --split_sections -I ..\driver -I .\src -I.\RTE\Device\STM32F103RB -I.\RTE\_sim -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\driver_gpio.o --omf_browse .\objects\driver_gpio.crf --depend .\objects\driver_gpio.d) I (..\driver\Driver_GPIO.h)(0x641864E8) I (C:\Programdata\Keil\Arm\Packs\Keil\STM32F1xx_DFP\2.3.0\Device\Include\stm32f10x.h)(0x58258CCC) @@ -23,8 +26,8 @@ I (C:\Programdata\Keil\Arm\Packs\ARM\CMSIS\5.7.0\CMSIS\Core\Include\cmsis_armcc. I (C:\Programdata\Keil\Arm\Packs\Keil\STM32F1xx_DFP\2.3.0\Device\Include\system_stm32f10x.h)(0x58258CCC) I (C:\Keil_v5\ARM\ARMCC\include\stdio.h)(0x5E8E9122) F (..\driver\Driver_GPIO.h)(0x641864E8)() -F (..\driver\Driver_Timer.c)(0x6419C743)(-c --cpu Cortex-M3 -D__EVAL -g -O0 --apcs=interwork --split_sections -I ..\driver -I .\src -I.\RTE\Device\STM32F103RB -I.\RTE\_sim -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\driver_timer.o --omf_browse .\objects\driver_timer.crf --depend .\objects\driver_timer.d) -I (..\driver\Driver_Timer.h)(0x6419C780) +F (..\driver\Driver_Timer.c)(0x64269488)(-c --cpu Cortex-M3 -D__EVAL -g -O0 --apcs=interwork --split_sections -I ..\driver -I .\src -I.\RTE\Device\STM32F103RB -I.\RTE\_sim -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\driver_timer.o --omf_browse .\objects\driver_timer.crf --depend .\objects\driver_timer.d) +I (..\driver\Driver_Timer.h)(0x64269488) I (C:\Programdata\Keil\Arm\Packs\Keil\STM32F1xx_DFP\2.3.0\Device\Include\stm32f10x.h)(0x58258CCC) I (.\RTE\_sim\RTE_Components.h)(0x641B00B4) I (C:\Programdata\Keil\Arm\Packs\ARM\CMSIS\5.7.0\CMSIS\Core\Include\core_cm3.h)(0x5E8F2582) @@ -34,7 +37,32 @@ I (C:\Programdata\Keil\Arm\Packs\ARM\CMSIS\5.7.0\CMSIS\Core\Include\cmsis_compil I (C:\Programdata\Keil\Arm\Packs\ARM\CMSIS\5.7.0\CMSIS\Core\Include\cmsis_armcc.h)(0x5E8F2582) I (C:\Programdata\Keil\Arm\Packs\Keil\STM32F1xx_DFP\2.3.0\Device\Include\system_stm32f10x.h)(0x58258CCC) I (C:\Keil_v5\ARM\ARMCC\include\stdio.h)(0x5E8E9122) -F (..\driver\Driver_Timer.h)(0x6419C780)() +F (..\driver\Driver_Timer.h)(0x64269488)() +F (..\driver\Driver_ADC.c)(0x6426958B)(-c --cpu Cortex-M3 -D__EVAL -g -O0 --apcs=interwork --split_sections -I ..\driver -I .\src -I.\RTE\Device\STM32F103RB -I.\RTE\_sim -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\driver_adc.o --omf_browse .\objects\driver_adc.crf --depend .\objects\driver_adc.d) +I (C:\Programdata\Keil\Arm\Packs\Keil\STM32F1xx_DFP\2.3.0\Device\Include\stm32f10x.h)(0x58258CCC) +I (.\RTE\_sim\RTE_Components.h)(0x641B00B4) +I (C:\Programdata\Keil\Arm\Packs\ARM\CMSIS\5.7.0\CMSIS\Core\Include\core_cm3.h)(0x5E8F2582) +I (C:\Keil_v5\ARM\ARMCC\include\stdint.h)(0x5E8E9122) +I (C:\Programdata\Keil\Arm\Packs\ARM\CMSIS\5.7.0\CMSIS\Core\Include\cmsis_version.h)(0x5E8F2582) +I (C:\Programdata\Keil\Arm\Packs\ARM\CMSIS\5.7.0\CMSIS\Core\Include\cmsis_compiler.h)(0x5E835B22) +I (C:\Programdata\Keil\Arm\Packs\ARM\CMSIS\5.7.0\CMSIS\Core\Include\cmsis_armcc.h)(0x5E8F2582) +I (C:\Programdata\Keil\Arm\Packs\Keil\STM32F1xx_DFP\2.3.0\Device\Include\system_stm32f10x.h)(0x58258CCC) +I (C:\Keil_v5\ARM\ARMCC\include\stdio.h)(0x5E8E9122) +I (..\driver\Driver_ADC.h)(0x6426958B) +F (..\driver\Driver_ADC.h)(0x6426958B)() +F (..\driver\Lib_Com_Periph_2022.lib)(0x634E68C6)() +F (..\driver\MySPI.h)(0x634E5AE0)() +F (..\driver\IMU.c)(0x642C21C5)(-c --cpu Cortex-M3 -D__EVAL -g -O0 --apcs=interwork --split_sections -I ..\driver -I .\src -I.\RTE\Device\STM32F103RB -I.\RTE\_sim -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\imu.o --omf_browse .\objects\imu.crf --depend .\objects\imu.d) +I (..\driver\MySpi.h)(0x634E5AE0) +I (C:\Programdata\Keil\Arm\Packs\Keil\STM32F1xx_DFP\2.3.0\Device\Include\stm32f10x.h)(0x58258CCC) +I (.\RTE\_sim\RTE_Components.h)(0x641B00B4) +I (C:\Programdata\Keil\Arm\Packs\ARM\CMSIS\5.7.0\CMSIS\Core\Include\core_cm3.h)(0x5E8F2582) +I (C:\Keil_v5\ARM\ARMCC\include\stdint.h)(0x5E8E9122) +I (C:\Programdata\Keil\Arm\Packs\ARM\CMSIS\5.7.0\CMSIS\Core\Include\cmsis_version.h)(0x5E8F2582) +I (C:\Programdata\Keil\Arm\Packs\ARM\CMSIS\5.7.0\CMSIS\Core\Include\cmsis_compiler.h)(0x5E835B22) +I (C:\Programdata\Keil\Arm\Packs\ARM\CMSIS\5.7.0\CMSIS\Core\Include\cmsis_armcc.h)(0x5E8F2582) +I (C:\Programdata\Keil\Arm\Packs\Keil\STM32F1xx_DFP\2.3.0\Device\Include\system_stm32f10x.h)(0x58258CCC) +F (..\driver\IMU.h)(0x642C0AF7)() F (RTE\Device\STM32F103RB\RTE_Device.h)(0x59283406)() F (RTE\Device\STM32F103RB\startup_stm32f10x_md.s)(0x58258CCC)(--cpu Cortex-M3 --pd "__EVAL SETA 1" -g --apcs=interwork -I.\RTE\Device\STM32F103RB -I.\RTE\_sim -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)(0x58258CCC)(-c --cpu Cortex-M3 -D__EVAL -g -O0 --apcs=interwork --split_sections -I ..\driver -I .\src -I.\RTE\Device\STM32F103RB -I.\RTE\_sim -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/projet-voilier/Objects/system_stm32f10x.crf b/projet-voilier/Objects/system_stm32f10x.crf index 0a31406c7362681ee30603646e8b893c20a78d22..c7894a47e95476d7e42e1bc66932f2a8f2dbc97b 100644 GIT binary patch delta 161 zcmdmemT&i2z6r@(ceYMD$jSf&krQ*3_!}3!S-=M3eYhFHz~nPgP;TNLJ+7wHd%l3x zI8OXx#Ih($ delta 161 zcmdmemT&i2z6r@(XJ$@2$jSf&trK&V_&>J3S-=M3&Al1Hz~nPgP;TNLJ+4pd_Iv@W zc{lNk5!a-)T@c>P$p(yJ2+8cp6Bxs}Ce7-F$Zntfkud}zn?Ko~DGp&<@#O7H`Uq}P U^9QE(4@`_e%(VRj6Z7fC0EKTkl>h($ diff --git a/projet-voilier/Objects/system_stm32f10x.o b/projet-voilier/Objects/system_stm32f10x.o index 9a0669a4f4406fb894fc0c2cafc5d66a05933e06..caa5b0dae9f75730475ddb4de0adc91b0e262a07 100644 GIT binary patch delta 77 zcmeBp%HQ#ne}jjRqGLgkf`W;Hk%5u15(6Vce0+$fuWNj~f|8-Bm7%4TiD`4DPuf&lF<5yoklvG&y;@{Z?ih=Iu2*n0c%KVo(-g delta 76 zcmeBp%HQ#ne}jjRqHki6f{~Gek%5u15(6Vce0+$fuWNj~f|8+`m64^DiE(qLPuf&lF<5yolMv%wW62R%RRK?bSP&d946U9~IgF diff --git a/projet-voilier/projet-voilier.uvguix.sanch b/projet-voilier/projet-voilier.uvguix.sanch index 6693679..5ad4760 100644 --- a/projet-voilier/projet-voilier.uvguix.sanch +++ b/projet-voilier/projet-voilier.uvguix.sanch @@ -6,7 +6,7 @@
                                                                      ### uVision Project, (C) Keil Software
                                                                      - U:\Documents\microcontroleur\Projet-Voilier-3\driver + U:\Documents\microcontroleur\Projet-Voilier-3\projet-voilier @@ -15,17 +15,17 @@ 38003 Registers - 185 186 + 185 100 346 Code Coverage - 1010 160 + 1010 673 204 Performance Analyzer - 1170 + 1170 175 175 163 @@ -63,8 +63,8 @@ 2506 Trace Data - - 75 135 130 95 70 230 200 150 + FiltIdx=0;DescrEn=0;DescrHeight=4;FuncTrc=1;FindType=8;ColWidths=004B00870082005F004600E600C80096 + 75 135 95 70 230 200 150 466 @@ -93,25 +93,25 @@ 2 3 - -1 - -1 + -32000 + -32000 -1 -1 - 495 - 289 - 1729 - 1341 + 378 + 190 + 1630 + 1224 0 - 1231 - 0100000004000000010000000100000001000000010000000000000002000000000000000100000001000000000000002800000028000000010000000A000000090000000100000047553A5C446F63756D656E74735C6D6963726F636F6E74726F6C6575725C50726F6A65742D566F696C6965722D335C70726F6A65742D766F696C6965725C7372635C6D61696E2E6300000000066D61696E2E6300000000C5D4F200FFFFFFFF42553A5C446F63756D656E74735C6D6963726F636F6E74726F6C6575725C50726F6A65742D566F696C6965722D335C6472697665725C4472697665725F4750494F2E63000000000D4472697665725F4750494F2E6300000000FFDC7800FFFFFFFF42553A5C446F63756D656E74735C6D6963726F636F6E74726F6C6575725C50726F6A65742D566F696C6965722D335C6472697665725C4472697665725F4750494F2E68000000000D4472697665725F4750494F2E6800000000BECEA100FFFFFFFF43553A5C446F63756D656E74735C6D6963726F636F6E74726F6C6575725C50726F6A65742D566F696C6965722D335C6472697665725C4472697665725F54696D65722E63000000000E4472697665725F54696D65722E6300000000F0A0A100FFFFFFFF43553A5C446F63756D656E74735C6D6963726F636F6E74726F6C6575725C50726F6A65742D566F696C6965722D335C6472697665725C4472697665725F54696D65722E68000000000E4472697665725F54696D65722E6800000000BCA8E100FFFFFFFF6A553A5C446F63756D656E74735C6D6963726F636F6E74726F6C6575725C50726F6A65742D566F696C6965722D335C70726F6A65742D766F696C6965725C5254455C4465766963655C53544D33324631303352425C737461727475705F73746D3332663130785F6D642E730000000016737461727475705F73746D3332663130785F6D642E73000000009CC1B600FFFFFFFF60553A5C446F63756D656E74735C6D6963726F636F6E74726F6C6575725C50726F6A65742D566F696C6965722D335C70726F6A65742D766F696C6965725C5254455C4465766963655C53544D33324631303352425C5254455F4465766963652E68000000000C5254455F4465766963652E6800000000F7B88600FFFFFFFF51433A5C50726F6772616D646174615C4B65696C5C41726D5C5061636B735C4B65696C5C53544D3332463178785F4446505C322E332E305C4465766963655C496E636C7564655C73746D3332663130782E68000000000B73746D3332663130782E6800000000D9ADC200FFFFFFFF41553A5C446F63756D656E74735C6D6963726F636F6E74726F6C6575725C50726F6A65742D566F696C6965722D335C6472697665725C4472697665725F4144432E63000000000C4472697665725F4144432E6300000000A5C2D700FFFFFFFF41553A5C446F63756D656E74735C6D6963726F636F6E74726F6C6575725C50726F6A65742D566F696C6965722D335C6472697665725C4472697665725F4144432E68000000000C4472697665725F4144432E6800000000B3A6BE00FFFFFFFF0100000010000000C5D4F200FFDC7800BECEA100F0A0A100BCA8E1009CC1B600F7B88600D9ADC200A5C2D700B3A6BE00EAD6A300F6FA7D00B5E99D005FC3CF00C1838300CACAD50001000000000000000200000081010000660000008007000094030000 + 1150 + 0100000004000000010000000100000001000000010000000000000002000000000000000100000001000000000000002800000028000000010000000A000000000000000100000047553A5C446F63756D656E74735C6D6963726F636F6E74726F6C6575725C50726F6A65742D566F696C6965722D335C70726F6A65742D766F696C6965725C7372635C6D61696E2E6300000000066D61696E2E6300000000C5D4F200FFFFFFFF6A553A5C446F63756D656E74735C6D6963726F636F6E74726F6C6575725C50726F6A65742D566F696C6965722D335C70726F6A65742D766F696C6965725C5254455C4465766963655C53544D33324631303352425C737461727475705F73746D3332663130785F6D642E730000000016737461727475705F73746D3332663130785F6D642E7300000000FFDC7800FFFFFFFF41553A5C446F63756D656E74735C6D6963726F636F6E74726F6C6575725C50726F6A65742D566F696C6965722D335C6472697665725C4472697665725F5350492E63000000000C4472697665725F5350492E6300000000BECEA100FFFFFFFF41553A5C446F63756D656E74735C6D6963726F636F6E74726F6C6575725C50726F6A65742D566F696C6965722D335C6472697665725C4472697665725F5350492E68000000000C4472697665725F5350492E6800000000F0A0A100FFFFFFFF41553A5C446F63756D656E74735C6D6963726F636F6E74726F6C6575725C50726F6A65742D566F696C6965722D335C6472697665725C4472697665725F4144432E68000000000C4472697665725F4144432E6800000000BCA8E100FFFFFFFF51433A5C50726F6772616D646174615C4B65696C5C41726D5C5061636B735C4B65696C5C53544D3332463178785F4446505C322E332E305C4465766963655C496E636C7564655C73746D3332663130782E68000000000B73746D3332663130782E68000000009CC1B600FFFFFFFF3A553A5C446F63756D656E74735C6D6963726F636F6E74726F6C6575725C50726F6A65742D566F696C6965722D335C6472697665725C494D552E680000000005494D552E6800000000F7B88600FFFFFFFF3A553A5C446F63756D656E74735C6D6963726F636F6E74726F6C6575725C50726F6A65742D566F696C6965722D335C6472697665725C494D552E630000000005494D552E6300000000D9ADC200FFFFFFFF41553A5C446F63756D656E74735C6D6963726F636F6E74726F6C6575725C50726F6A65742D566F696C6965722D335C6472697665725C4472697665725F4144432E63000000000C4472697665725F4144432E6300000000A5C2D700FFFFFFFF3C553A5C446F63756D656E74735C6D6963726F636F6E74726F6C6575725C50726F6A65742D566F696C6965722D335C6472697665725C4D795350492E6800000000074D795350492E6800000000B3A6BE00FFFFFFFF0100000010000000C5D4F200FFDC7800BECEA100F0A0A100BCA8E1009CC1B600F7B88600D9ADC200A5C2D700B3A6BE00EAD6A300F6FA7D00B5E99D005FC3CF00C1838300CACAD50001000000000000000200000081010000660000008007000094030000 @@ -1805,8 +1805,8 @@ 59392 File - 2585 - 00200000010000002800FFFF01001100434D4643546F6F6C426172427574746F6E00E100000000000000000000000000000000000000000000000100000001000000018001E100000000000001000000000000000000000000000000000100000001000000018003E1000000000000020000000000000000000000000000000001000000010000000180CD7F0000000000000300000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018023E100000000040004000000000000000000000000000000000100000001000000018022E100000000040005000000000000000000000000000000000100000001000000018025E10000000000000600000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001802BE10000000000000700000000000000000000000000000000010000000100000001802CE10000000004000800000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001807A8A0000000000000900000000000000000000000000000000010000000100000001807B8A0000000004000A00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180D3B00000000000000B000000000000000000000000000000000100000001000000018015B10000000004000C0000000000000000000000000000000001000000010000000180F4B00000000004000D000000000000000000000000000000000100000001000000018036B10000000004000E00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FF88000000000400460000000000000000000000000000000001000000010000000180FE880000000004004500000000000000000000000000000000010000000100000001800B810000000004001300000000000000000000000000000000010000000100000001800C810000000004001400000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180F0880000020000000F000000000000000000000000000000000100000001000000FFFF0100120043555646696E64436F6D626F427574746F6EE8030000000000000000000000000000000000000000000000010000000100000096000000020020500000000005454F4349459600000000000000030005454F434945106C61756E63685F726561645F616463310753575354415254000000000000000000000000018024E10000000000001100000000000000000000000000000000010000000100000001800A810000000000001200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6E2280000002000000150000002153746172742F53746F70202644656275672053657373696F6E094374726C2B46350000000000000000000000000100000001000000000000000000000001000000020021802280000000000000150000002153746172742F53746F70202644656275672053657373696F6E094374726C2B4635000000000000000000000000010000000100000000000000000000000100000000002180E0010000000000007500000021456E65726779204D6561737572656D656E742026776974686F75742044656275670000000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180C488000000000000160000000000000000000000000000000001000000010000000180C988000000000400180000000000000000000000000000000001000000010000000180C788000000000000190000000000000000000000000000000001000000010000002180C8880000000000001700000027264B696C6C20416C6C20427265616B706F696E747320696E2043757272656E7420546172676574000000000000000000000000010000000100000000000000000000000100000003002180C8880000000000001700000027264B696C6C20416C6C20427265616B706F696E747320696E2043757272656E7420546172676574000000000000000000000000010000000100000000000000000000000100000000002180E50100000000000078000000264B696C6C20416C6C20427265616B706F696E747320696E204163746976652050726F6A656374000000000000000000000000010000000100000000000000000000000100000000002180E601000000000000790000002F4B696C6C20416C6C20427265616B706F696E747320696E204D756C74692D50726F6A65637420576F726B73706163650000000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000021804C010000020001001A0000000F2650726F6A6563742057696E646F77000000000000000000000000010000000100000000000000000000000100000008002180DD880000000000001A0000000750726F6A656374000000000000000000000000010000000100000000000000000000000100000000002180DC8B0000000000003A00000005426F6F6B73000000000000000000000000010000000100000000000000000000000100000000002180E18B0000000000003B0000000946756E6374696F6E73000000000000000000000000010000000100000000000000000000000100000000002180E28B000000000000400000000954656D706C6174657300000000000000000000000001000000010000000000000000000000010000000000218018890000000000003D0000000E536F757263652042726F777365720000000000000000000000000100000001000000000000000000000001000000000021800000000000000400FFFFFFFF00000000000000000001000000000000000100000000000000000000000100000000002180D988000000000000390000000C4275696C64204F7574707574000000000000000000000000010000000100000000000000000000000100000000002180E38B000000000000410000000B46696E64204F75747075740000000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FB7F0000000000001B000000000000000000000000000000000100000001000000000000000446696C65C6030000 + 2581 + 00200000010000002800FFFF01001100434D4643546F6F6C426172427574746F6E00E100000000000000000000000000000000000000000000000100000001000000018001E100000000000001000000000000000000000000000000000100000001000000018003E1000000000000020000000000000000000000000000000001000000010000000180CD7F0000000000000300000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018023E100000000040004000000000000000000000000000000000100000001000000018022E100000000040005000000000000000000000000000000000100000001000000018025E10000000000000600000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001802BE10000000000000700000000000000000000000000000000010000000100000001802CE10000000004000800000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001807A8A0000000000000900000000000000000000000000000000010000000100000001807B8A0000000004000A00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180D3B00000000000000B000000000000000000000000000000000100000001000000018015B10000000004000C0000000000000000000000000000000001000000010000000180F4B00000000004000D000000000000000000000000000000000100000001000000018036B10000000004000E00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FF88000000000400460000000000000000000000000000000001000000010000000180FE880000000004004500000000000000000000000000000000010000000100000001800B810000000004001300000000000000000000000000000000010000000100000001800C810000000004001400000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180F0880000020000000F000000000000000000000000000000000100000001000000FFFF0100120043555646696E64436F6D626F427574746F6EE803000000000000000000000000000000000000000000000001000000010000009600000002002050000000000B5350495F54797065446566960000000000000003000B5350495F54797065446566045350493103535049000000000000000000000000018024E10000000000001100000000000000000000000000000000010000000100000001800A810000000000001200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6E2280000002000000150000002153746172742F53746F70202644656275672053657373696F6E094374726C2B46350000000000000000000000000100000001000000000000000000000001000000020021802280000000000000150000002153746172742F53746F70202644656275672053657373696F6E094374726C2B4635000000000000000000000000010000000100000000000000000000000100000000002180E0010000000000007500000021456E65726779204D6561737572656D656E742026776974686F75742044656275670000000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180C488000000000000160000000000000000000000000000000001000000010000000180C988000000000400180000000000000000000000000000000001000000010000000180C788000000000000190000000000000000000000000000000001000000010000002180C8880000000000001700000027264B696C6C20416C6C20427265616B706F696E747320696E2043757272656E7420546172676574000000000000000000000000010000000100000000000000000000000100000003002180C8880000000000001700000027264B696C6C20416C6C20427265616B706F696E747320696E2043757272656E7420546172676574000000000000000000000000010000000100000000000000000000000100000000002180E50100000000000078000000264B696C6C20416C6C20427265616B706F696E747320696E204163746976652050726F6A656374000000000000000000000000010000000100000000000000000000000100000000002180E601000000000000790000002F4B696C6C20416C6C20427265616B706F696E747320696E204D756C74692D50726F6A65637420576F726B73706163650000000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000021804C010000020000001A0000000F2650726F6A6563742057696E646F77000000000000000000000000010000000100000000000000000000000100000008002180DD880000000000001A0000000750726F6A656374000000000000000000000000010000000100000000000000000000000100000000002180DC8B0000000000003A00000005426F6F6B73000000000000000000000000010000000100000000000000000000000100000000002180E18B0000000000003B0000000946756E6374696F6E73000000000000000000000000010000000100000000000000000000000100000000002180E28B000000000000400000000954656D706C6174657300000000000000000000000001000000010000000000000000000000010000000000218018890000000000003D0000000E536F757263652042726F777365720000000000000000000000000100000001000000000000000000000001000000000021800000000000000400FFFFFFFF00000000000000000001000000000000000100000000000000000000000100000000002180D988000000000000390000000C4275696C64204F7574707574000000000000000000000000010000000100000000000000000000000100000000002180E38B000000000000410000000B46696E64204F75747075740000000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FB7F0000000000001B000000000000000000000000000000000100000001000000000000000446696C65C6030000 1423 @@ -1822,7 +1822,7 @@ Build 976 - 00200000010000001000FFFF01001100434D4643546F6F6C426172427574746F6ECF7F0000000004001C0000000000000000000000000000000001000000010000000180D07F0000000000001D000000000000000000000000000000000100000001000000018030800000000002001E000000000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6EC7040000000000006A0000000C4261746368204275696C2664000000000000000000000000010000000100000000000000000000000100000004000580C7040000000000006A0000000C4261746368204275696C266400000000000000000000000001000000010000000000000000000000010000000000058046070000000000006B0000000D42617463682052656275696C640000000000000000000000000100000001000000000000000000000001000000000005804707000000000000FFFFFFFF0B426174636820436C65616E0100000000000000000000000100000001000000000000000000000001000000000005809E8A0000000000001F0000000F4261746326682053657475702E2E2E000000000000000000000000010000000100000000000000000000000100000000000180D17F0000000004002000000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001804C8A0000000000002100000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000FFFF01001900434D4643546F6F6C426172436F6D626F426F78427574746F6EBA0000000000000000000000000000000000000000000000000100000001000000960000000300205001000000047265656C960000000000000002000373696D047265656C00000000000000000180EB880000000000002200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180C07F000000000000230000000000000000000000000000000001000000010000000180B08A000000000400240000000000000000000000000000000001000000010000000180A8010000000000004E00000000000000000000000000000000010000000100000001807202000000000000530000000000000000000000000000000001000000010000000180BE010000000000005000000000000000000000000000000000010000000100000000000000054275696C64DC010000 + 00200000010000001000FFFF01001100434D4643546F6F6C426172427574746F6ECF7F0000000000001C0000000000000000000000000000000001000000010000000180D07F0000000000001D000000000000000000000000000000000100000001000000018030800000000000001E000000000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6EC7040000000000006A0000000C4261746368204275696C2664000000000000000000000000010000000100000000000000000000000100000004000580C7040000000000006A0000000C4261746368204275696C266400000000000000000000000001000000010000000000000000000000010000000000058046070000000000006B0000000D42617463682052656275696C640000000000000000000000000100000001000000000000000000000001000000000005804707000000000000FFFFFFFF0B426174636820436C65616E0000000000000000010000000000000001000000000000000000000001000000000005809E8A0000000000001F0000000F4261746326682053657475702E2E2E000000000000000000000000010000000100000000000000000000000100000000000180D17F0000000004002000000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001804C8A0000000000002100000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000FFFF01001900434D4643546F6F6C426172436F6D626F426F78427574746F6EBA0000000000000000000000000000000000000000000000000100000001000000960000000300205001000000047265656C960000000000000002000373696D047265656C00000000000000000180EB880000000000002200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180C07F000000000000230000000000000000000000000000000001000000010000000180B08A000000000400240000000000000000000000000000000001000000010000000180A8010000000000004E00000000000000000000000000000000010000000100000001807202000000000000530000000000000000000000000000000001000000010000000180BE010000000000005000000000000000000000000000000000010000000100000000000000054275696C64DC010000 583 @@ -1871,11 +1871,11 @@ 0 16 - 810100004F00000080070000F1000000 + E30000004F00000080070000F1000000 16 - 81010000660000008007000008010000 + E3000000660000008007000008010000 @@ -1891,7 +1891,7 @@ 0 16 - 03000000660000007A0100004A030000 + 0300000066000000DC0000004A030000 16 @@ -1911,7 +1911,7 @@ 0 16 - 03000000660000007A0100004A030000 + 0300000066000000DC0000004A030000 16 @@ -1927,7 +1927,7 @@ 0 32767 0 - 4096 + 32768 0 16 @@ -1947,7 +1947,7 @@ 0 32767 0 - 4096 + 32768 0 16 @@ -1967,7 +1967,7 @@ 0 32767 0 - 4096 + 32768 0 16 @@ -1987,7 +1987,7 @@ 0 32767 0 - 4096 + 32768 0 16 @@ -2027,11 +2027,11 @@ 0 32767 0 - 4096 + 8192 0 16 - 84010000660000007D070000D8000000 + E6000000660000007D070000D8000000 16 @@ -2061,13 +2061,13 @@ 1936 1936 - 0 + 1 0 0 0 32767 0 - 4096 + 32768 0 16 @@ -2087,7 +2087,7 @@ 0 32767 0 - 4096 + 32768 0 16 @@ -2107,7 +2107,7 @@ 0 32767 0 - 4096 + 32768 0 16 @@ -2127,7 +2127,7 @@ 0 32767 0 - 4096 + 32768 0 16 @@ -2147,7 +2147,7 @@ 0 32767 0 - 4096 + 32768 0 16 @@ -2167,7 +2167,7 @@ 0 32767 0 - 4096 + 32768 0 16 @@ -2191,7 +2191,7 @@ 0 16 - 03000000660000007A0100004A030000 + 0300000066000000DC0000004A030000 16 @@ -2211,7 +2211,7 @@ 0 16 - 03000000660000007A0100004A030000 + 0300000066000000DC0000004A030000 16 @@ -2291,7 +2291,7 @@ 0 16 - 810100006300000080070000F1000000 + E30000006300000080070000F1000000 16 @@ -2307,11 +2307,11 @@ 0 32767 0 - 4096 + 8192 0 16 - 84010000660000007D070000D8000000 + E6000000660000007D070000D8000000 16 @@ -2367,7 +2367,7 @@ 0 32767 0 - 4096 + 32768 0 16 @@ -2387,11 +2387,11 @@ 0 32767 0 - 4096 + 8192 0 16 - 84010000660000007D070000D8000000 + E6000000660000007D070000D8000000 16 @@ -2407,11 +2407,11 @@ 0 32767 0 - 4096 + 8192 0 16 - 84010000660000007D070000D8000000 + E6000000660000007D070000D8000000 16 @@ -2427,11 +2427,11 @@ 0 32767 0 - 4096 + 8192 0 16 - 84010000660000007D070000D8000000 + E6000000660000007D070000D8000000 16 @@ -2447,11 +2447,11 @@ 0 32767 0 - 4096 + 8192 0 16 - 84010000660000007D070000D8000000 + E6000000660000007D070000D8000000 16 @@ -2891,7 +2891,7 @@ 0 16 - 03000000660000007A0100004A030000 + 0300000066000000DC0000004A030000 16 @@ -2941,13 +2941,13 @@ 437 437 - 1 + 0 0 0 0 32767 0 - 4096 + 32768 0 16 @@ -2961,13 +2961,13 @@ 440 440 - 1 + 0 0 0 0 32767 0 - 4096 + 32768 0 16 @@ -3027,11 +3027,11 @@ 0 32767 0 - 4096 + 8192 0 16 - 84010000660000007D070000D8000000 + E6000000660000007D070000D8000000 16 @@ -3527,7 +3527,7 @@ 0 32767 0 - 4096 + 32768 0 16 @@ -3540,14 +3540,14 @@ 3312 - 000000000B000000000000000020000001000000FFFFFFFFFFFFFFFF81010000F100000080070000F5000000010000000100001004000000010000000000000000000000FFFFFFFF08000000CB00000057010000CC000000F08B00005A01000079070000D601000045890000FFFF02000B004354616262656450616E65002000000100000081010000660000008007000008010000810100004F00000080070000F10000000000000040280056080000000B446973617373656D626C7901000000CB00000001000000FFFFFFFFFFFFFFFF14506572666F726D616E636520416E616C797A6572000000005701000001000000FFFFFFFFFFFFFFFF14506572666F726D616E636520416E616C797A657200000000CC00000001000000FFFFFFFFFFFFFFFF0E4C6F67696320416E616C797A657200000000F08B000001000000FFFFFFFFFFFFFFFF0D436F646520436F766572616765000000005A01000001000000FFFFFFFFFFFFFFFF11496E737472756374696F6E205472616365000000007907000001000000FFFFFFFFFFFFFFFF0F53797374656D20416E616C797A657200000000D601000001000000FFFFFFFFFFFFFFFF104576656E742053746174697374696373000000004589000001000000FFFFFFFFFFFFFFFF00000000000000000000000000000000000000000000000001000000FFFFFFFFCB00000001000000FFFFFFFFCB000000000000000040000000000000FFFFFFFFFFFFFFFF9C0400004F000000A004000071020000000000000200000004000000010000000000000000000000FFFFFFFF2B000000E2050000CA0900002D8C00002E8C00002F8C0000308C0000318C0000328C0000338C0000348C0000358C0000368C0000378C0000388C0000398C00003A8C00003B8C00003C8C00003D8C00003E8C00003F8C0000408C0000418C000050C3000051C3000052C3000053C3000054C3000055C3000056C3000057C3000058C3000059C300005AC300005BC300005CC300005DC300005EC300005FC3000060C3000061C3000062C3000063C3000001800040000000000000A0040000660000009005000088020000A00400004F000000900500007102000000000000404100462B0000000753796D626F6C7300000000E205000001000000FFFFFFFFFFFFFFFF0A5472616365204461746100000000CA09000001000000FFFFFFFFFFFFFFFF00000000002D8C000001000000FFFFFFFFFFFFFFFF00000000002E8C000001000000FFFFFFFFFFFFFFFF00000000002F8C000001000000FFFFFFFFFFFFFFFF0000000000308C000001000000FFFFFFFFFFFFFFFF0000000000318C000001000000FFFFFFFFFFFFFFFF0000000000328C000001000000FFFFFFFFFFFFFFFF0000000000338C000001000000FFFFFFFFFFFFFFFF0000000000348C000001000000FFFFFFFFFFFFFFFF0000000000358C000001000000FFFFFFFFFFFFFFFF0000000000368C000001000000FFFFFFFFFFFFFFFF0000000000378C000001000000FFFFFFFFFFFFFFFF0000000000388C000001000000FFFFFFFFFFFFFFFF0000000000398C000001000000FFFFFFFFFFFFFFFF00000000003A8C000001000000FFFFFFFFFFFFFFFF00000000003B8C000001000000FFFFFFFFFFFFFFFF00000000003C8C000001000000FFFFFFFFFFFFFFFF00000000003D8C000001000000FFFFFFFFFFFFFFFF00000000003E8C000001000000FFFFFFFFFFFFFFFF00000000003F8C000001000000FFFFFFFFFFFFFFFF0000000000408C000001000000FFFFFFFFFFFFFFFF0000000000418C000001000000FFFFFFFFFFFFFFFF000000000050C3000001000000FFFFFFFFFFFFFFFF000000000051C3000001000000FFFFFFFFFFFFFFFF000000000052C3000001000000FFFFFFFFFFFFFFFF000000000053C3000001000000FFFFFFFFFFFFFFFF000000000054C3000001000000FFFFFFFFFFFFFFFF000000000055C3000001000000FFFFFFFFFFFFFFFF000000000056C3000001000000FFFFFFFFFFFFFFFF000000000057C3000001000000FFFFFFFFFFFFFFFF000000000058C3000001000000FFFFFFFFFFFFFFFF000000000059C3000001000000FFFFFFFFFFFFFFFF00000000005AC3000001000000FFFFFFFFFFFFFFFF00000000005BC3000001000000FFFFFFFFFFFFFFFF00000000005CC3000001000000FFFFFFFFFFFFFFFF00000000005DC3000001000000FFFFFFFFFFFFFFFF00000000005EC3000001000000FFFFFFFFFFFFFFFF00000000005FC3000001000000FFFFFFFFFFFFFFFF000000000060C3000001000000FFFFFFFFFFFFFFFF000000000061C3000001000000FFFFFFFFFFFFFFFF000000000062C3000001000000FFFFFFFFFFFFFFFF000000000063C3000001000000FFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000000000000000000001000000FFFFFFFFE205000001000000FFFFFFFFE2050000000000000010000001000000FFFFFFFFFFFFFFFF7D0100004F00000081010000630300000100000002000010040000000100000012FFFFFF97040000FFFFFFFF05000000ED0300006D000000C3000000C4000000739400000180001000000100000000000000660000007D0100007A030000000000004F0000007D010000630300000000000040410056050000000750726F6A65637401000000ED03000001000000FFFFFFFFFFFFFFFF05426F6F6B73000000006D00000001000000FFFFFFFFFFFFFFFF0946756E6374696F6E7300000000C300000001000000FFFFFFFFFFFFFFFF0954656D706C6174657300000000C400000001000000FFFFFFFFFFFFFFFF09526567697374657273010000007394000001000000FFFFFFFFFFFFFFFF04000000000000000000000000000000000000000000000001000000FFFFFFFFED03000001000000FFFFFFFFED030000000000000080000001000000FFFFFFFFFFFFFFFF0000000063030000800700006703000001000000010000100400000001000000000000000000000000000000000000000000000001000000C6000000FFFFFFFF0F0000008F070000930700009407000095070000960700009007000091070000B5010000B801000038030000B9050000BA050000BB050000BC050000CB09000001800080000001000000C40300007E0300008007000075040000C403000067030000800700005E04000000000000404100560F0000001343616C6C20537461636B202B204C6F63616C73010000008F07000001000000FFFFFFFFFFFFFFFF0755415254202331000000009307000001000000FFFFFFFFFFFFFFFF0755415254202332000000009407000001000000FFFFFFFFFFFFFFFF0755415254202333000000009507000001000000FFFFFFFFFFFFFFFF15446562756720287072696E74662920566965776572000000009607000001000000FFFFFFFFFFFFFFFF0757617463682031000000009007000001000000FFFFFFFFFFFFFFFF0757617463682032000000009107000001000000FFFFFFFFFFFFFFFF10547261636520457863657074696F6E7301000000B501000001000000FFFFFFFFFFFFFFFF0E4576656E7420436F756E7465727301000000B801000001000000FFFFFFFFFFFFFFFF09554C494E4B706C7573000000003803000001000000FFFFFFFFFFFFFFFF084D656D6F7279203101000000B905000001000000FFFFFFFFFFFFFFFF084D656D6F7279203200000000BA05000001000000FFFFFFFFFFFFFFFF084D656D6F7279203300000000BB05000001000000FFFFFFFFFFFFFFFF084D656D6F7279203400000000BC05000001000000FFFFFFFFFFFFFFFF105472616365204E617669676174696F6E00000000CB09000001000000FFFFFFFFFFFFFFFF000000000000000001000000000000000100000001000000FFFFFFFFC003000067030000C40300005E04000001000000020000100400000000000000000000000000000000000000000000000000000002000000C6000000FFFFFFFF8F07000001000000FFFFFFFF8F07000001000000C6000000000000000080000000000000FFFFFFFFFFFFFFFF000000007D03000080070000810300000000000001000000040000000100000077FDFFFF7B010000FFFFFFFF06000000C5000000C7000000B4010000D2010000CF0100007794000001800080000000000000000000009803000080070000750400000000000081030000800700005E0400000000000040820046060000000C4275696C64204F757470757400000000C500000001000000FFFFFFFFFFFFFFFF0D46696E6420496E2046696C657300000000C700000001000000FFFFFFFFFFFFFFFF0A4572726F72204C69737400000000B401000001000000FFFFFFFFFFFFFFFF0E536F757263652042726F7773657200000000D201000001000000FFFFFFFFFFFFFFFF0E416C6C205265666572656E63657300000000CF01000001000000FFFFFFFFFFFFFFFF0742726F77736572000000007794000001000000FFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000000000000000000001000000FFFFFFFFC500000001000000FFFFFFFFC5000000000000000000000000000000 + 000000000B000000000000000020000001000000FFFFFFFFFFFFFFFFE3000000F100000080070000F5000000010000000100001004000000010000000000000000000000FFFFFFFF08000000CB00000057010000CC000000F08B00005A01000079070000D601000045890000FFFF02000B004354616262656450616E650020000001000000E3000000660000008007000008010000E30000004F00000080070000F10000000000000040280056080000000B446973617373656D626C7901000000CB00000001000000FFFFFFFFFFFFFFFF14506572666F726D616E636520416E616C797A6572000000005701000001000000FFFFFFFFFFFFFFFF14506572666F726D616E636520416E616C797A657200000000CC00000001000000FFFFFFFFFFFFFFFF0E4C6F67696320416E616C797A657200000000F08B000001000000FFFFFFFFFFFFFFFF0D436F646520436F766572616765000000005A01000001000000FFFFFFFFFFFFFFFF11496E737472756374696F6E205472616365000000007907000001000000FFFFFFFFFFFFFFFF0F53797374656D20416E616C797A657200000000D601000001000000FFFFFFFFFFFFFFFF104576656E742053746174697374696373000000004589000001000000FFFFFFFFFFFFFFFF00000000000000000000000000000000000000000000000001000000FFFFFFFFCB00000001000000FFFFFFFFCB000000000000000040000000000000FFFFFFFFFFFFFFFF9C0400004F000000A004000071020000000000000200000004000000010000000000000000000000FFFFFFFF2B000000E2050000CA0900002D8C00002E8C00002F8C0000308C0000318C0000328C0000338C0000348C0000358C0000368C0000378C0000388C0000398C00003A8C00003B8C00003C8C00003D8C00003E8C00003F8C0000408C0000418C000050C3000051C3000052C3000053C3000054C3000055C3000056C3000057C3000058C3000059C300005AC300005BC300005CC300005DC300005EC300005FC3000060C3000061C3000062C3000063C3000001800040000000000000A0040000660000009005000088020000A00400004F000000900500007102000000000000404100462B0000000753796D626F6C7300000000E205000001000000FFFFFFFFFFFFFFFF0A5472616365204461746100000000CA09000001000000FFFFFFFFFFFFFFFF00000000002D8C000001000000FFFFFFFFFFFFFFFF00000000002E8C000001000000FFFFFFFFFFFFFFFF00000000002F8C000001000000FFFFFFFFFFFFFFFF0000000000308C000001000000FFFFFFFFFFFFFFFF0000000000318C000001000000FFFFFFFFFFFFFFFF0000000000328C000001000000FFFFFFFFFFFFFFFF0000000000338C000001000000FFFFFFFFFFFFFFFF0000000000348C000001000000FFFFFFFFFFFFFFFF0000000000358C000001000000FFFFFFFFFFFFFFFF0000000000368C000001000000FFFFFFFFFFFFFFFF0000000000378C000001000000FFFFFFFFFFFFFFFF0000000000388C000001000000FFFFFFFFFFFFFFFF0000000000398C000001000000FFFFFFFFFFFFFFFF00000000003A8C000001000000FFFFFFFFFFFFFFFF00000000003B8C000001000000FFFFFFFFFFFFFFFF00000000003C8C000001000000FFFFFFFFFFFFFFFF00000000003D8C000001000000FFFFFFFFFFFFFFFF00000000003E8C000001000000FFFFFFFFFFFFFFFF00000000003F8C000001000000FFFFFFFFFFFFFFFF0000000000408C000001000000FFFFFFFFFFFFFFFF0000000000418C000001000000FFFFFFFFFFFFFFFF000000000050C3000001000000FFFFFFFFFFFFFFFF000000000051C3000001000000FFFFFFFFFFFFFFFF000000000052C3000001000000FFFFFFFFFFFFFFFF000000000053C3000001000000FFFFFFFFFFFFFFFF000000000054C3000001000000FFFFFFFFFFFFFFFF000000000055C3000001000000FFFFFFFFFFFFFFFF000000000056C3000001000000FFFFFFFFFFFFFFFF000000000057C3000001000000FFFFFFFFFFFFFFFF000000000058C3000001000000FFFFFFFFFFFFFFFF000000000059C3000001000000FFFFFFFFFFFFFFFF00000000005AC3000001000000FFFFFFFFFFFFFFFF00000000005BC3000001000000FFFFFFFFFFFFFFFF00000000005CC3000001000000FFFFFFFFFFFFFFFF00000000005DC3000001000000FFFFFFFFFFFFFFFF00000000005EC3000001000000FFFFFFFFFFFFFFFF00000000005FC3000001000000FFFFFFFFFFFFFFFF000000000060C3000001000000FFFFFFFFFFFFFFFF000000000061C3000001000000FFFFFFFFFFFFFFFF000000000062C3000001000000FFFFFFFFFFFFFFFF000000000063C3000001000000FFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000000000000000000001000000FFFFFFFFE205000001000000FFFFFFFFE2050000000000000010000001000000FFFFFFFFFFFFFFFFDF0000004F000000E3000000630300000100000002000010040000000100000085FEFFFF38020000FFFFFFFF05000000ED0300006D000000C3000000C400000073940000018000100000010000000000000066000000DF0000007A030000000000004F000000DF000000630300000000000040410056050000000750726F6A65637401000000ED03000001000000FFFFFFFFFFFFFFFF05426F6F6B73000000006D00000001000000FFFFFFFFFFFFFFFF0946756E6374696F6E7300000000C300000001000000FFFFFFFFFFFFFFFF0954656D706C6174657300000000C400000001000000FFFFFFFFFFFFFFFF09526567697374657273010000007394000001000000FFFFFFFFFFFFFFFF00000000000000000000000000000000000000000000000001000000FFFFFFFFED03000001000000FFFFFFFFED030000000000000080000001000000FFFFFFFFFFFFFFFF0000000063030000800700006703000001000000010000100400000001000000000000000000000000000000000000000000000001000000C6000000FFFFFFFF0F0000008F070000930700009407000095070000960700009007000091070000B5010000B801000038030000B9050000BA050000BB050000BC050000CB09000001800080000001000000C40300007E0300008007000075040000C403000067030000800700005E04000000000000404100560F0000001343616C6C20537461636B202B204C6F63616C73010000008F07000001000000FFFFFFFFFFFFFFFF0755415254202331000000009307000001000000FFFFFFFFFFFFFFFF0755415254202332000000009407000001000000FFFFFFFFFFFFFFFF0755415254202333000000009507000001000000FFFFFFFFFFFFFFFF15446562756720287072696E74662920566965776572000000009607000001000000FFFFFFFFFFFFFFFF0757617463682031010000009007000001000000FFFFFFFFFFFFFFFF0757617463682032000000009107000001000000FFFFFFFFFFFFFFFF10547261636520457863657074696F6E7300000000B501000001000000FFFFFFFFFFFFFFFF0E4576656E7420436F756E7465727300000000B801000001000000FFFFFFFFFFFFFFFF09554C494E4B706C7573000000003803000001000000FFFFFFFFFFFFFFFF084D656D6F7279203101000000B905000001000000FFFFFFFFFFFFFFFF084D656D6F7279203200000000BA05000001000000FFFFFFFFFFFFFFFF084D656D6F7279203300000000BB05000001000000FFFFFFFFFFFFFFFF084D656D6F7279203400000000BC05000001000000FFFFFFFFFFFFFFFF105472616365204E617669676174696F6E00000000CB09000001000000FFFFFFFFFFFFFFFF0A0000000000000001000000000000000100000001000000FFFFFFFFC003000067030000C40300005E04000001000000020000100400000000000000000000000000000000000000000000000000000002000000C6000000FFFFFFFF8F07000001000000FFFFFFFF8F07000001000000C6000000000000000080000000000000FFFFFFFFFFFFFFFF000000007D03000080070000810300000000000001000000040000000100000077FDFFFF7B010000FFFFFFFF06000000C5000000C7000000B4010000D2010000CF0100007794000001800080000000000000000000009803000080070000750400000000000081030000800700005E0400000000000040820046060000000C4275696C64204F757470757400000000C500000001000000FFFFFFFFFFFFFFFF0D46696E6420496E2046696C657300000000C700000001000000FFFFFFFFFFFFFFFF0A4572726F72204C69737400000000B401000001000000FFFFFFFFFFFFFFFF0E536F757263652042726F7773657200000000D201000001000000FFFFFFFFFFFFFFFF0E416C6C205265666572656E63657300000000CF01000001000000FFFFFFFFFFFFFFFF0742726F77736572000000007794000001000000FFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000000000000000000001000000FFFFFFFFC500000001000000FFFFFFFFC5000000000000000000000000000000 59392 File - 2561 - 00200000010000002800FFFF01001100434D4643546F6F6C426172427574746F6E00E100000000000000000000000000000000000000000000000100000001000000018001E100000000000001000000000000000000000000000000000100000001000000018003E1000000000000020000000000000000000000000000000001000000010000000180CD7F0000000000000300000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018023E100000000040004000000000000000000000000000000000100000001000000018022E100000000040005000000000000000000000000000000000100000001000000018025E10000000000000600000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001802BE10000000000000700000000000000000000000000000000010000000100000001802CE10000000004000800000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001807A8A0000000000000900000000000000000000000000000000010000000100000001807B8A0000000004000A00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180D3B00000000000000B000000000000000000000000000000000100000001000000018015B10000000004000C0000000000000000000000000000000001000000010000000180F4B00000000004000D000000000000000000000000000000000100000001000000018036B10000000004000E00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FF88000000000400460000000000000000000000000000000001000000010000000180FE880000000004004500000000000000000000000000000000010000000100000001800B810000000004001300000000000000000000000000000000010000000100000001800C810000000004001400000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180F0880000020000000F000000000000000000000000000000000100000001000000FFFF0100120043555646696E64436F6D626F427574746F6EE8030000000000000000000000000000000000000000000000010000000100000096000000020020500000000006434B5F494E549600000000000000020006434B5F494E5402434B0000000000000000018024E10000000000001100000000000000000000000000000000010000000100000001800A810000000000001200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6E2280000002000100150000002153746172742F53746F70202644656275672053657373696F6E094374726C2B46350000000000000000000000000100000001000000000000000000000001000000020021802280000000000000150000002153746172742F53746F70202644656275672053657373696F6E094374726C2B4635000000000000000000000000010000000100000000000000000000000100000000002180E0010000000000007500000021456E65726779204D6561737572656D656E742026776974686F75742044656275670000000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180C488000000000000160000000000000000000000000000000001000000010000000180C988000000000400180000000000000000000000000000000001000000010000000180C788000000000000190000000000000000000000000000000001000000010000002180C8880000000000001700000027264B696C6C20416C6C20427265616B706F696E747320696E2043757272656E7420546172676574000000000000000000000000010000000100000000000000000000000100000003002180C8880000000000001700000027264B696C6C20416C6C20427265616B706F696E747320696E2043757272656E7420546172676574000000000000000000000000010000000100000000000000000000000100000000002180E50100000000000078000000264B696C6C20416C6C20427265616B706F696E747320696E204163746976652050726F6A656374000000000000000000000000010000000100000000000000000000000100000000002180E601000000000000790000002F4B696C6C20416C6C20427265616B706F696E747320696E204D756C74692D50726F6A65637420576F726B73706163650000000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000021804C010000020001001A0000000F2650726F6A6563742057696E646F77000000000000000000000000010000000100000000000000000000000100000008002180DD880000000000001A0000000750726F6A656374000000000000000000000000010000000100000000000000000000000100000000002180DC8B0000000000003A00000005426F6F6B73000000000000000000000000010000000100000000000000000000000100000000002180E18B0000000000003B0000000946756E6374696F6E73000000000000000000000000010000000100000000000000000000000100000000002180E28B000000000000400000000954656D706C6174657300000000000000000000000001000000010000000000000000000000010000000000218018890000000000003D0000000E536F757263652042726F777365720000000000000000000000000100000001000000000000000000000001000000000021800000000000000400FFFFFFFF00000000000000000001000000000000000100000000000000000000000100000000002180D988000000000000390000000C4275696C64204F7574707574000000000000000000000000010000000100000000000000000000000100000000002180E38B000000000000410000000B46696E64204F75747075740000000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FB7F0000000000001B000000000000000000000000000000000100000001000000000000000446696C65C6030000 + 2581 + 00200000010000002800FFFF01001100434D4643546F6F6C426172427574746F6E00E100000000000000000000000000000000000000000000000100000001000000018001E100000000000001000000000000000000000000000000000100000001000000018003E1000000000000020000000000000000000000000000000001000000010000000180CD7F0000000000000300000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018023E100000000040004000000000000000000000000000000000100000001000000018022E100000000040005000000000000000000000000000000000100000001000000018025E10000000004000600000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001802BE10000000004000700000000000000000000000000000000010000000100000001802CE10000000004000800000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001807A8A0000000004000900000000000000000000000000000000010000000100000001807B8A0000000004000A00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180D3B00000000004000B000000000000000000000000000000000100000001000000018015B10000000004000C0000000000000000000000000000000001000000010000000180F4B00000000004000D000000000000000000000000000000000100000001000000018036B10000000004000E00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FF88000000000400460000000000000000000000000000000001000000010000000180FE880000000004004500000000000000000000000000000000010000000100000001800B810000000004001300000000000000000000000000000000010000000100000001800C810000000004001400000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180F0880000020000000F000000000000000000000000000000000100000001000000FFFF0100120043555646696E64436F6D626F427574746F6EE803000000000000000000000000000000000000000000000001000000010000009600000002002050000000000B5350495F54797065446566960000000000000003000B5350495F54797065446566045350493103535049000000000000000000000000018024E10000000000001100000000000000000000000000000000010000000100000001800A810000000004001200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6E2280000002000100150000002153746172742F53746F70202644656275672053657373696F6E094374726C2B46350000000000000000000000000100000001000000000000000000000001000000020021802280000000000000150000002153746172742F53746F70202644656275672053657373696F6E094374726C2B4635000000000000000000000000010000000100000000000000000000000100000000002180E0010000000000007500000021456E65726779204D6561737572656D656E742026776974686F75742044656275670000000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180C488000000000000160000000000000000000000000000000001000000010000000180C988000000000400180000000000000000000000000000000001000000010000000180C788000000000000190000000000000000000000000000000001000000010000002180C8880000000000001700000027264B696C6C20416C6C20427265616B706F696E747320696E2043757272656E7420546172676574000000000000000000000000010000000100000000000000000000000100000003002180C8880000000000001700000027264B696C6C20416C6C20427265616B706F696E747320696E2043757272656E7420546172676574000000000000000000000000010000000100000000000000000000000100000000002180E50100000000000078000000264B696C6C20416C6C20427265616B706F696E747320696E204163746976652050726F6A656374000000000000000000000000010000000100000000000000000000000100000000002180E601000000000000790000002F4B696C6C20416C6C20427265616B706F696E747320696E204D756C74692D50726F6A65637420576F726B73706163650000000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000021804C010000020001001A0000000F2650726F6A6563742057696E646F77000000000000000000000000010000000100000000000000000000000100000008002180DD880000000000001A0000000750726F6A656374000000000000000000000000010000000100000000000000000000000100000000002180DC8B0000000000003A00000005426F6F6B73000000000000000000000000010000000100000000000000000000000100000000002180E18B0000000000003B0000000946756E6374696F6E73000000000000000000000000010000000100000000000000000000000100000000002180E28B000000000000400000000954656D706C6174657300000000000000000000000001000000010000000000000000000000010000000000218018890000000000003D0000000E536F757263652042726F777365720000000000000000000000000100000001000000000000000000000001000000000021800000000000000400FFFFFFFF00000000000000000001000000000000000100000000000000000000000100000000002180D988000000000000390000000C4275696C64204F7574707574000000000000000000000000010000000100000000000000000000000100000000002180E38B000000000000410000000B46696E64204F75747075740000000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FB7F0000000000001B000000000000000000000000000000000100000001000000000000000446696C65C6030000 1423 @@ -3563,7 +3563,7 @@ Build 976 - 00200000000000001000FFFF01001100434D4643546F6F6C426172427574746F6ECF7F0000000004001C0000000000000000000000000000000001000000010000000180D07F0000000004001D000000000000000000000000000000000100000001000000018030800000000004001E000000000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6EC7040000000004006A0000000C4261746368204275696C2664000000000000000000000000010000000100000000000000000000000100000004000580C7040000000000006A0000000C4261746368204275696C266400000000000000000000000001000000010000000000000000000000010000000000058046070000000000006B0000000D42617463682052656275696C640000000000000000000000000100000001000000000000000000000001000000000005804707000000000000FFFFFFFF0B426174636820436C65616E0000000000000000010000000000000001000000000000000000000001000000000005809E8A0000000000001F0000000F4261746326682053657475702E2E2E000000000000000000000000010000000100000000000000000000000100000000000180D17F0000000004002000000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001804C8A0000000004002100000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000FFFF01001900434D4643546F6F6C426172436F6D626F426F78427574746F6EBA0000000000040000000000000000000000000000000000000100000001000000960000000300205001000000047265656C960000000000000002000373696D047265656C00000000000000000180EB880000000004002200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180C07F000000000400230000000000000000000000000000000001000000010000000180B08A000000000400240000000000000000000000000000000001000000010000000180A8010000000004004E00000000000000000000000000000000010000000100000001807202000000000400530000000000000000000000000000000001000000010000000180BE010000000004005000000000000000000000000000000000010000000100000000000000054275696C64DC010000 + 00200000000000001000FFFF01001100434D4643546F6F6C426172427574746F6ECF7F0000000004001C0000000000000000000000000000000001000000010000000180D07F0000000004001D000000000000000000000000000000000100000001000000018030800000000004001E000000000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6EC7040000000004006A0000000C4261746368204275696C2664000000000000000000000000010000000100000000000000000000000100000004000580C7040000000000006A0000000C4261746368204275696C266400000000000000000000000001000000010000000000000000000000010000000000058046070000000000006B0000000D42617463682052656275696C640000000000000000000000000100000001000000000000000000000001000000000005804707000000000000FFFFFFFF0B426174636820436C65616E0100000000000000010000000000000001000000000000000000000001000000000005809E8A0000000000001F0000000F4261746326682053657475702E2E2E000000000000000000000000010000000100000000000000000000000100000000000180D17F0000000004002000000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001804C8A0000000004002100000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000FFFF01001900434D4643546F6F6C426172436F6D626F426F78427574746F6EBA0000000000040000000000000000000000000000000000000100000001000000960000000300205001000000047265656C960000000000000002000373696D047265656C00000000000000000180EB880000000004002200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180C07F000000000400230000000000000000000000000000000001000000010000000180B08A000000000400240000000000000000000000000000000001000000010000000180A8010000000004004E00000000000000000000000000000000010000000100000001807202000000000400530000000000000000000000000000000001000000010000000180BE010000000004005000000000000000000000000000000000010000000100000000000000054275696C64DC010000 583 @@ -3579,7 +3579,7 @@ Debug 2362 - 00200000010000001900FFFF01001100434D4643546F6F6C426172427574746F6ECC880000000000002500000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018017800000000000002600000000000000000000000000000000010000000100000001801D800000000004002700000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001801A800000000000002800000000000000000000000000000000010000000100000001801B80000000000000290000000000000000000000000000000001000000010000000180E57F0000000000002A00000000000000000000000000000000010000000100000001801C800000000000002B00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018000890000000000002C00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180E48B0000020001002D0000000000000000000000000000000001000000010000000180F07F0000020001002E0000000000000000000000000000000001000000010000000180E8880000020000003700000000000000000000000000000000010000000100000001803B010000020001002F0000000000000000000000000000000001000000010000000180BB8A00000200010030000000000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6E0E01000002000000310000000D57617463682057696E646F7773000000000000000000000000010000000100000000000000000000000100000003001380D88B00000000000031000000085761746368202631000000000000000000000000010000000100000000000000000000000100000000001380D98B00000000000031000000085761746368202632000000000000000000000000010000000100000000000000000000000100000000001380CE01000000000000FFFFFFFF0C576174636820416E63686F720100000000000000010000000000000001000000000000000000000001000000000013800F0100000200010032000000094D656D6F7279202631000000000000000000000000010000000100000000000000000000000100000004001380D28B00000000000032000000094D656D6F7279202631000000000000000000000000010000000100000000000000000000000100000000001380D38B00000000000032000000094D656D6F7279202632000000000000000000000000010000000100000000000000000000000100000000001380D48B00000000000032000000094D656D6F7279202633000000000000000000000000010000000100000000000000000000000100000000001380D58B00000000000032000000094D656D6F72792026340000000000000000000000000100000001000000000000000000000001000000000013801001000002000000330000000855415254202326310000000000000000000000000100000001000000000000000000000001000000040013809307000000000000330000000855415254202326310000000000000000000000000100000001000000000000000000000001000000000013809407000000000000330000000855415254202326320000000000000000000000000100000001000000000000000000000001000000000013809507000000000000330000000855415254202326330000000000000000000000000100000001000000000000000000000001000000000013809607000000000000330000001626446562756720287072696E746629205669657765720000000000000000000000000100000001000000000000000000000001000000000013803C010000000000007200000010416E616C797369732057696E646F7773000000000000000000000000010000000100000000000000000000000100000004001380658A000000000000340000000F264C6F67696320416E616C797A6572000000000000000000000000010000000100000000000000000000000100000000001380DC7F0000000000003E0000001526506572666F726D616E636520416E616C797A6572000000000000000000000000010000000100000000000000000000000100000000001380E788000000000000380000000E26436F646520436F766572616765000000000000000000000000010000000100000000000000000000000100000000001380CD01000000000000FFFFFFFF0F416E616C7973697320416E63686F7201000000000000000100000000000000010000000000000000000000010000000000138053010000000000003F0000000D54726163652057696E646F77730000000000000000000000000100000001000000000000000000000001000000010013805401000000000000FFFFFFFF115472616365204D656E7520416E63686F720100000000000000010000000000000001000000000000000000000001000000000013802901000000000000350000001553797374656D205669657765722057696E646F77730000000000000000000000000100000001000000000000000000000001000000010013804B01000000000000FFFFFFFF1453797374656D2056696577657220416E63686F720100000000000000010000000000000001000000000000000000000001000000000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000013800189000002000000360000000F26546F6F6C626F782057696E646F7700000000000000000000000001000000010000000000000000000000010000000300138044C5000000000000FFFFFFFF0E5570646174652057696E646F77730100000000000000010000000000000001000000000000000000000001000000000013800000000000000400FFFFFFFF000000000000000000010000000000000001000000000000000000000001000000000013805B01000000000000FFFFFFFF12546F6F6C626F78204D656E75416E63686F72010000000000000001000000000000000100000000000000000000000100000000000000000005446562756764020000 + 00200000010000001900FFFF01001100434D4643546F6F6C426172427574746F6ECC880000000000002500000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018017800000000000002600000000000000000000000000000000010000000100000001801D800000000004002700000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001801A800000000000002800000000000000000000000000000000010000000100000001801B80000000000000290000000000000000000000000000000001000000010000000180E57F0000000000002A00000000000000000000000000000000010000000100000001801C800000000000002B00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018000890000000000002C00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180E48B0000020001002D0000000000000000000000000000000001000000010000000180F07F0000020001002E0000000000000000000000000000000001000000010000000180E8880000020000003700000000000000000000000000000000010000000100000001803B010000020001002F0000000000000000000000000000000001000000010000000180BB8A00000200010030000000000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6E0E01000002000100310000000D57617463682057696E646F7773000000000000000000000000010000000100000000000000000000000100000003001380D88B00000000000031000000085761746368202631000000000000000000000000010000000100000000000000000000000100000000001380D98B00000000000031000000085761746368202632000000000000000000000000010000000100000000000000000000000100000000001380CE01000000000000FFFFFFFF0C576174636820416E63686F720000000000000000010000000000000001000000000000000000000001000000000013800F0100000200010032000000094D656D6F7279202631000000000000000000000000010000000100000000000000000000000100000004001380D28B00000000000032000000094D656D6F7279202631000000000000000000000000010000000100000000000000000000000100000000001380D38B00000000000032000000094D656D6F7279202632000000000000000000000000010000000100000000000000000000000100000000001380D48B00000000000032000000094D656D6F7279202633000000000000000000000000010000000100000000000000000000000100000000001380D58B00000000000032000000094D656D6F72792026340000000000000000000000000100000001000000000000000000000001000000000013801001000002000000330000000855415254202326310000000000000000000000000100000001000000000000000000000001000000040013809307000000000000330000000855415254202326310000000000000000000000000100000001000000000000000000000001000000000013809407000000000000330000000855415254202326320000000000000000000000000100000001000000000000000000000001000000000013809507000000000000330000000855415254202326330000000000000000000000000100000001000000000000000000000001000000000013809607000000000000330000001626446562756720287072696E746629205669657765720000000000000000000000000100000001000000000000000000000001000000000013803C010000000000007200000010416E616C797369732057696E646F7773000000000000000000000000010000000100000000000000000000000100000004001380658A000000000000340000000F264C6F67696320416E616C797A6572000000000000000000000000010000000100000000000000000000000100000000001380DC7F0000000000003E0000001526506572666F726D616E636520416E616C797A6572000000000000000000000000010000000100000000000000000000000100000000001380E788000000000000380000000E26436F646520436F766572616765000000000000000000000000010000000100000000000000000000000100000000001380CD01000000000000FFFFFFFF0F416E616C7973697320416E63686F7200000000000000000100000000000000010000000000000000000000010000000000138053010000000000003F0000000D54726163652057696E646F77730000000000000000000000000100000001000000000000000000000001000000010013805401000000000000FFFFFFFF115472616365204D656E7520416E63686F720000000000000000010000000000000001000000000000000000000001000000000013802901000000000000350000001553797374656D205669657765722057696E646F77730000000000000000000000000100000001000000000000000000000001000000010013804B01000000000000FFFFFFFF1453797374656D2056696577657220416E63686F720000000000000000010000000000000001000000000000000000000001000000000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000013800189000002000000360000000F26546F6F6C626F782057696E646F7700000000000000000000000001000000010000000000000000000000010000000300138044C5000000000000FFFFFFFF0E5570646174652057696E646F77730000000000000000010000000000000001000000000000000000000001000000000013800000000000000400FFFFFFFF000000000000000000010000000000000001000000000000000000000001000000000013805B01000000000000FFFFFFFF12546F6F6C626F78204D656E75416E63686F72000000000000000001000000000000000100000000000000000000000100000000000000000005446562756764020000 898 @@ -3603,28 +3603,37 @@ 0 100 - 9 + 0 .\src\main.c - 23 + 12 1 - 4 + 14 1 0 - ..\driver\Driver_GPIO.c - 7 - 1 - 11 - 1 - - 0 - - - ..\driver\Driver_GPIO.h + RTE\Device\STM32F103RB\startup_stm32f10x_md.s 0 + 122 + 133 + 0 + + 0 + + + U:\Documents\microcontroleur\Projet-Voilier-3\driver\Driver_SPI.c + 8 + 1 + 38 + 1 + + 0 + + + U:\Documents\microcontroleur\Projet-Voilier-3\driver\Driver_SPI.h + 18 1 1 1 @@ -3632,34 +3641,7 @@ 0 - ..\driver\Driver_Timer.c - 14 - 30 - 46 - 1 - - 0 - - - ..\driver\Driver_Timer.h - 0 - 4 - 49 - 1 - - 0 - - - RTE\Device\STM32F103RB\startup_stm32f10x_md.s - 35 - 134 - 135 - 1 - - 0 - - - RTE\Device\STM32F103RB\RTE_Device.h + ..\driver\Driver_ADC.h 0 1 1 @@ -3670,26 +3652,44 @@ C:\Programdata\Keil\Arm\Packs\Keil\STM32F1xx_DFP\2.3.0\Device\Include\stm32f10x.h 12 - 1412 - 1420 + 1407 + 1423 + 1 + + 0 + + + ..\driver\IMU.h + 0 + 1 + 10 + 1 + + 0 + + + ..\driver\IMU.c + 21 + 11 + 46 1 0 ..\driver\Driver_ADC.c - 1 - 1 - 34 + 0 + 4 + 64 1 0 - ..\driver\Driver_ADC.h - 0 - 1 - 10 + ..\driver\MySPI.h + 15 + 82 + 70 1 0 diff --git a/projet-voilier/projet-voilier.uvoptx b/projet-voilier/projet-voilier.uvoptx index 69fe4d7..7fe4ad5 100644 --- a/projet-voilier/projet-voilier.uvoptx +++ b/projet-voilier/projet-voilier.uvoptx @@ -125,7 +125,7 @@ 0 DLGDARM - (1010=-1,-1,-1,-1,0)(1007=-1,-1,-1,-1,0)(1008=-1,-1,-1,-1,0)(1009=-1,-1,-1,-1,0)(100=-1,-1,-1,-1,0)(110=-1,-1,-1,-1,0)(111=-1,-1,-1,-1,0)(1011=-1,-1,-1,-1,0)(180=-1,-1,-1,-1,0)(120=75,104,496,531,0)(121=-1,-1,-1,-1,0)(122=75,104,496,531,0)(123=-1,-1,-1,-1,0)(140=-1,-1,-1,-1,0)(240=-1,-1,-1,-1,0)(190=-1,-1,-1,-1,0)(200=-1,-1,-1,-1,0)(170=-1,-1,-1,-1,0)(130=-1,-1,-1,-1,0)(131=-1,-1,-1,-1,0)(132=-1,-1,-1,-1,0)(133=-1,-1,-1,-1,0)(160=-1,-1,-1,-1,0)(161=-1,-1,-1,-1,0)(162=-1,-1,-1,-1,0)(210=-1,-1,-1,-1,0)(211=-1,-1,-1,-1,0)(220=-1,-1,-1,-1,0)(221=-1,-1,-1,-1,0)(230=-1,-1,-1,-1,0)(234=-1,-1,-1,-1,0)(231=-1,-1,-1,-1,0)(232=-1,-1,-1,-1,0)(233=-1,-1,-1,-1,0)(150=1125,344,1728,1095,1)(151=-1,-1,-1,-1,0) + (1010=-1,-1,-1,-1,0)(1007=-1,-1,-1,-1,0)(1008=-1,-1,-1,-1,0)(1009=-1,-1,-1,-1,0)(100=-1,-1,-1,-1,0)(110=-1,-1,-1,-1,0)(111=-1,-1,-1,-1,0)(1011=-1,-1,-1,-1,0)(180=-1,-1,-1,-1,0)(120=75,104,496,531,0)(121=-1,-1,-1,-1,0)(122=75,104,496,531,0)(123=-1,-1,-1,-1,0)(140=-1,-1,-1,-1,0)(240=-1,-1,-1,-1,0)(190=-1,-1,-1,-1,0)(200=-1,-1,-1,-1,0)(170=-1,-1,-1,-1,0)(130=-1,-1,-1,-1,0)(131=-1,-1,-1,-1,0)(132=-1,-1,-1,-1,0)(133=-1,-1,-1,-1,0)(160=-1,-1,-1,-1,0)(161=-1,-1,-1,-1,0)(162=-1,-1,-1,-1,0)(210=41,406,368,764,1)(211=-1,-1,-1,-1,0)(220=-1,-1,-1,-1,0)(221=-1,-1,-1,-1,0)(230=-1,-1,-1,-1,0)(234=-1,-1,-1,-1,0)(231=-1,-1,-1,-1,0)(232=-1,-1,-1,-1,0)(233=-1,-1,-1,-1,0)(150=1222,193,1825,944,1)(151=-1,-1,-1,-1,0) 0 @@ -142,9 +142,9 @@ 0 0 - 23 + 41 1 -
                                                                      134219356
                                                                      +
                                                                      134219538
                                                                      0 0 0 @@ -153,39 +153,7 @@ 1 .\src\main.c - \\projet_voilier\src/main.c\23 -
                                                                      - - 1 - 0 - 9 - 1 -
                                                                      134219402
                                                                      - 0 - 0 - 0 - 0 - 0 - 1 - .\src\main.c - - \\projet_voilier\src/main.c\9 -
                                                                      - - 2 - 0 - 62 - 1 -
                                                                      134218310
                                                                      - 0 - 0 - 0 - 0 - 0 - 1 - ..\driver\Driver_ADC.c - - \\projet_voilier\../driver/Driver_ADC.c\62 + \\projet_voilier\src/main.c\41
                                                                      @@ -194,7 +162,20 @@ 1 val + + 1 + 1 + values + + + + 1 + 0 + values + 0 + + 0 @@ -351,7 +332,7 @@ 0 DLGTARM - (1010=-1,-1,-1,-1,0)(1007=-1,-1,-1,-1,0)(1008=-1,-1,-1,-1,0)(1009=-1,-1,-1,-1,0)(100=-1,-1,-1,-1,0)(110=-1,-1,-1,-1,0)(111=-1,-1,-1,-1,0)(1011=-1,-1,-1,-1,0)(180=-1,-1,-1,-1,0)(120=75,104,496,509,0)(121=-1,-1,-1,-1,0)(122=-1,-1,-1,-1,0)(123=-1,-1,-1,-1,0)(140=-1,-1,-1,-1,0)(240=-1,-1,-1,-1,0)(190=-1,-1,-1,-1,0)(200=-1,-1,-1,-1,0)(170=120,153,405,449,0)(130=-1,-1,-1,-1,0)(131=-1,-1,-1,-1,0)(132=-1,-1,-1,-1,0)(133=-1,-1,-1,-1,0)(160=-1,-1,-1,-1,0)(161=-1,-1,-1,-1,0)(162=-1,-1,-1,-1,0)(210=-1,-1,-1,-1,0)(211=-1,-1,-1,-1,0)(220=-1,-1,-1,-1,0)(221=-1,-1,-1,-1,0)(230=-1,-1,-1,-1,0)(231=-1,-1,-1,-1,0)(232=-1,-1,-1,-1,0)(233=-1,-1,-1,-1,0)(150=1048,459,1651,1093,1)(151=-1,-1,-1,-1,0) + (1010=-1,-1,-1,-1,0)(1007=-1,-1,-1,-1,0)(1008=-1,-1,-1,-1,0)(1009=-1,-1,-1,-1,0)(100=-1,-1,-1,-1,0)(110=-1,-1,-1,-1,0)(111=-1,-1,-1,-1,0)(1011=-1,-1,-1,-1,0)(180=-1,-1,-1,-1,0)(120=75,104,496,509,0)(121=-1,-1,-1,-1,0)(122=-1,-1,-1,-1,0)(123=-1,-1,-1,-1,0)(140=-1,-1,-1,-1,0)(240=-1,-1,-1,-1,0)(190=-1,-1,-1,-1,0)(200=-1,-1,-1,-1,0)(170=120,153,405,449,0)(130=-1,-1,-1,-1,0)(131=-1,-1,-1,-1,0)(132=-1,-1,-1,-1,0)(133=-1,-1,-1,-1,0)(160=-1,-1,-1,-1,0)(161=-1,-1,-1,-1,0)(162=-1,-1,-1,-1,0)(210=-1,-1,-1,-1,0)(211=-1,-1,-1,-1,0)(220=-1,-1,-1,-1,0)(221=-1,-1,-1,-1,0)(230=-1,-1,-1,-1,0)(231=-1,-1,-1,-1,0)(232=-1,-1,-1,-1,0)(233=-1,-1,-1,-1,0)(150=252,566,855,1200,0)(151=-1,-1,-1,-1,0) 0 @@ -374,63 +355,27 @@ UL2CM3(-S0 -C0 -P0 -FD20000000 -FC1000 -FN1 -FF0STM32F10x_128 -FS08000000 -FL020000 -FP0($$Device:STM32F103RB$Flash\STM32F10x_128.FLM)) - - - 0 - 0 - 62 - 1 -
                                                                      134218062
                                                                      - 0 - 0 - 0 - 0 - 0 - 1 - ..\driver\Driver_ADC.c - - \\projet_voilier_reel\../driver/Driver_ADC.c\62 -
                                                                      - - 1 - 0 - 27 - 1 -
                                                                      134219156
                                                                      - 0 - 0 - 0 - 0 - 0 - 1 - .\src\main.c - - \\projet_voilier_reel\src/main.c\27 -
                                                                      - - 2 - 0 - 64 - 1 -
                                                                      0
                                                                      - 0 - 0 - 0 - 0 - 0 - 0 - ..\driver\Driver_ADC.c - - -
                                                                      -
                                                                      + 0 1 val + + 1 + 1 + values + + + + 1 + 0 + 0x20000408 + 0 + + 0 @@ -581,6 +526,54 @@ 0 0 + + 2 + 8 + 4 + 0 + 0 + 0 + ..\driver\Lib_Com_Periph_2022.lib + Lib_Com_Periph_2022.lib + 0 + 0 + + + 2 + 9 + 5 + 0 + 0 + 0 + ..\driver\MySPI.h + MySPI.h + 0 + 0 + + + 2 + 10 + 1 + 0 + 0 + 0 + ..\driver\IMU.c + IMU.c + 0 + 0 + + + 2 + 11 + 5 + 0 + 0 + 0 + ..\driver\IMU.h + IMU.h + 0 + 0 + diff --git a/projet-voilier/projet-voilier.uvprojx b/projet-voilier/projet-voilier.uvprojx index 9468547..f14c199 100644 --- a/projet-voilier/projet-voilier.uvprojx +++ b/projet-voilier/projet-voilier.uvprojx @@ -423,6 +423,26 @@ 5 ..\driver\Driver_ADC.h + + Lib_Com_Periph_2022.lib + 4 + ..\driver\Lib_Com_Periph_2022.lib + + + MySPI.h + 5 + ..\driver\MySPI.h + + + IMU.c + 1 + ..\driver\IMU.c + + + IMU.h + 5 + ..\driver\IMU.h + @@ -850,6 +870,26 @@ 5 ..\driver\Driver_ADC.h + + Lib_Com_Periph_2022.lib + 4 + ..\driver\Lib_Com_Periph_2022.lib + + + MySPI.h + 5 + ..\driver\MySPI.h + + + IMU.c + 1 + ..\driver\IMU.c + + + IMU.h + 5 + ..\driver\IMU.h + diff --git a/projet-voilier/src/main.c b/projet-voilier/src/main.c index 3e66617..e81014d 100644 --- a/projet-voilier/src/main.c +++ b/projet-voilier/src/main.c @@ -2,6 +2,8 @@ #include "Driver_GPIO.h" #include "Driver_Timer.h" #include "Driver_ADC.h" +#include "MySPI.h" +#include "IMU.h" void toto (void) { @@ -10,6 +12,10 @@ void toto (void) } int main() { + char DATAX0 = 0x32; + unsigned char values[6]; + + /* MyGPIO_Struct_TypeDef LED; MyGPIO_Struct_TypeDef GPIO_ADC1; @@ -26,5 +32,12 @@ int main() { driver_adc_1_init(0x01,&toto); driver_adc_1_launch_read(); - while(1); + */ + source_IMU_init(); + + + while(1) + { + source_IMU_read(DATAX0, 6, values); + } } From 12752ff03be06151a3177df82d85aaa0f71cecfb Mon Sep 17 00:00:00 2001 From: Sanchez Manon Date: Fri, 7 Apr 2023 13:11:21 +0200 Subject: [PATCH 2/2] =?UTF-8?q?Ajout=20de=20commentaire=20pour=20la=20fonc?= =?UTF-8?q?tion=20driver=5FIMU=5Fread.=20Modification=20des=20noms=20des?= =?UTF-8?q?=20fonctions=20et=20modification=20du=20main.c=20pour=20plus=20?= =?UTF-8?q?de=20clart=C3=A9.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- driver/Driver_IMU.c | 24 +++++++++++++++--------- driver/Driver_IMU.h | 4 ++-- projet-voilier/src/main.c | 33 ++++----------------------------- 3 files changed, 21 insertions(+), 40 deletions(-) diff --git a/driver/Driver_IMU.c b/driver/Driver_IMU.c index ce4bf7c..a08a75d 100644 --- a/driver/Driver_IMU.c +++ b/driver/Driver_IMU.c @@ -5,7 +5,7 @@ const char BW_RATE = 0x2C; const char DATA_FORMAT = 0x31; /*fonction écriture registre IMU*/ -void source_IMU_write_register(char registerAddress, char value) +void driver_IMU_write_register(char registerAddress, char value) { // On s'assure que le Chip Select est bien au niveau bas MySPI_Clear_NSS(); @@ -18,9 +18,8 @@ void source_IMU_write_register(char registerAddress, char value) } /* Fonction d'initialisation*/ -void source_IMU_init(void) +void driver_IMU_init(void) { - int i; /* FSCK = 281kHz, Repos SCK = '1', Front actif = up Gestion /CS logicielle à part, configure les 4 IO - SCK, MOSI : Out Alt push pull @@ -28,22 +27,29 @@ void source_IMU_init(void) - /NSS (/CS) : Out push pull */ MySPI_Init(SPI1); //Paramètrage du registre POWER_CTL - source_IMU_write_register(POWER_CTL, 0x08); + driver_IMU_write_register(POWER_CTL, 0x08); //Paramètrage du registe BW_RATE - source_IMU_write_register(BW_RATE, 0x0A); + driver_IMU_write_register(BW_RATE, 0x0A); //Paramètrage du registre DATA_FORMAT - source_IMU_write_register(BW_RATE, 0x08); //Full resolution, et alignement à droite + driver_IMU_write_register(BW_RATE, 0x08); //Full resolution, et alignement à droite } /* Fonction de lecture des données*/ -void source_IMU_read(char registerAddress, int numBytes, unsigned char * values) +/* +@param *values : Les valeurs x, y, z sont chacune stockée sur 2 octets dans le tableau values + x = values[1]<<8 & value[0]; + y = values[3]<<8 & value[2]; + z = values[5]<<8 & value[4]; +@param numBytes : Le nombre de registre à lire à partir de registerAddress +@param registerAddress : Adresse du premier registre à lire*/ +void driver_IMU_read(char registerAddress, int numBytes, unsigned char * values) { int i; // Pour effectuer une lecture des registre, on doit mettre les bits R/W et MB à 1 char trame = registerAddress | 0x80; trame = trame | 0x40; - // On active le chip select + // On active le chip select (niveau bas) MySPI_Clear_NSS(); // Envoie de la config MySPI_Send(trame); @@ -52,6 +58,6 @@ void source_IMU_read(char registerAddress, int numBytes, unsigned char * values) { values[i] = MySPI_Read(); } - // On met le Chip Select au niveau bas + // On met le Chip Select au niveau haut MySPI_Set_NSS(); } diff --git a/driver/Driver_IMU.h b/driver/Driver_IMU.h index ad7296a..97d5e66 100644 --- a/driver/Driver_IMU.h +++ b/driver/Driver_IMU.h @@ -10,7 +10,7 @@ * @Note -> Fonction a appelé avant l'utilisation du périphérique ************************************************************************************************* */ -void source_IMU_init(void); +void driver_IMU_init(void); /** ************************************************************************************************* @@ -21,6 +21,6 @@ void source_IMU_init(void); * @Note -> ************************************************************************************************* */ -void source_IMU_read(char registerAddress, int numBytes, unsigned char * values); +void driver_IMU_read(char registerAddress, int numBytes, unsigned char * values); #endif diff --git a/projet-voilier/src/main.c b/projet-voilier/src/main.c index e81014d..c3b1e75 100644 --- a/projet-voilier/src/main.c +++ b/projet-voilier/src/main.c @@ -3,41 +3,16 @@ #include "Driver_Timer.h" #include "Driver_ADC.h" #include "MySPI.h" -#include "IMU.h" - -void toto (void) -{ - static uint16_t val; - val = driver_adc_1_read(); -} +#include "Driver_IMU.h" int main() { char DATAX0 = 0x32; unsigned char values[6]; - - /* - MyGPIO_Struct_TypeDef LED; - MyGPIO_Struct_TypeDef GPIO_ADC1; - - LED.GPIO_Pin = 5; - LED.GPIO_Conf = Out_Ppull; - LED.GPIO = GPIOA; - MyGPIO_Init(&LED); - MyGPIO_Set(LED.GPIO, LED.GPIO_Pin); - - GPIO_ADC1.GPIO_Pin = 1; - GPIO_ADC1.GPIO_Conf = In_Analog; - GPIO_ADC1.GPIO = GPIOC; - MyGPIO_Init(&GPIO_ADC1); - - driver_adc_1_init(0x01,&toto); - driver_adc_1_launch_read(); - */ - source_IMU_init(); - + + driver_IMU_init(); while(1) { - source_IMU_read(DATAX0, 6, values); + driver_IMU_read(DATAX0, 6, values); } }