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 0000000..ce805ab Binary files /dev/null and b/driver/Lib_Com_Periph_2022.lib differ 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 901a1ac..c0739e5 100644 Binary files a/projet-voilier/Objects/driver_gpio.crf and b/projet-voilier/Objects/driver_gpio.crf differ diff --git a/projet-voilier/Objects/driver_gpio.o b/projet-voilier/Objects/driver_gpio.o index 1fff219..ac4850a 100644 Binary files a/projet-voilier/Objects/driver_gpio.o and b/projet-voilier/Objects/driver_gpio.o differ diff --git a/projet-voilier/Objects/driver_timer.crf b/projet-voilier/Objects/driver_timer.crf index 0be7435..3055fa8 100644 Binary files a/projet-voilier/Objects/driver_timer.crf and b/projet-voilier/Objects/driver_timer.crf differ diff --git a/projet-voilier/Objects/driver_timer.o b/projet-voilier/Objects/driver_timer.o index a01ae9c..98367be 100644 Binary files a/projet-voilier/Objects/driver_timer.o and b/projet-voilier/Objects/driver_timer.o differ diff --git a/projet-voilier/Objects/main.crf b/projet-voilier/Objects/main.crf index d0ee215..66cb142 100644 Binary files a/projet-voilier/Objects/main.crf and b/projet-voilier/Objects/main.crf differ diff --git a/projet-voilier/Objects/main.d b/projet-voilier/Objects/main.d index d47aea8..ea60df2 100644 --- a/projet-voilier/Objects/main.d +++ b/projet-voilier/Objects/main.d @@ -10,3 +10,5 @@ .\objects\main.o: ..\driver\Driver_GPIO.h .\objects\main.o: ..\driver\Driver_Timer.h .\objects\main.o: ..\driver\Driver_ADC.h +.\objects\main.o: ..\driver\MySPI.h +.\objects\main.o: ..\driver\IMU.h diff --git a/projet-voilier/Objects/main.o b/projet-voilier/Objects/main.o index 51e1e0a..87f392c 100644 Binary files a/projet-voilier/Objects/main.o and b/projet-voilier/Objects/main.o differ diff --git a/projet-voilier/Objects/projet-voilier.axf b/projet-voilier/Objects/projet-voilier.axf index ae91b16..a190c9f 100644 Binary files a/projet-voilier/Objects/projet-voilier.axf and b/projet-voilier/Objects/projet-voilier.axf differ 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 cae3730..778362d 100644 Binary files a/projet-voilier/Objects/projet-voilier_reel.axf and b/projet-voilier/Objects/projet-voilier_reel.axf differ 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 0a31406..c7894a4 100644 Binary files a/projet-voilier/Objects/system_stm32f10x.crf and b/projet-voilier/Objects/system_stm32f10x.crf differ diff --git a/projet-voilier/Objects/system_stm32f10x.o b/projet-voilier/Objects/system_stm32f10x.o index 9a0669a..caa5b0d 100644 Binary files a/projet-voilier/Objects/system_stm32f10x.o and b/projet-voilier/Objects/system_stm32f10x.o differ 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); + } }