Compare commits

..

No commits in common. "master" and "uart" have entirely different histories.
master ... uart

53 changed files with 763 additions and 4251 deletions

29
.gitignore vendored
View file

@ -1,29 +0,0 @@
*.obj
*.o
*.bin
*.list
*.map
*.mk
*.makefile
*.o
*.su
*.d
*.elf
*.scvd
*.crf
*.map
*.sct
*.dbgconf
*.axf
*.htm
*.lnp
*.dep
*.uvguix.*
*.lst
*.iex
**/Objects/
**/Listings/
**/Debug/

View file

@ -1,11 +1,5 @@
{
"files.associations": {
"driver_uart.h": "c",
<<<<<<< HEAD
"driver_imu.h": "c",
"myspi.h": "c"
=======
"app_girouette.h": "c"
>>>>>>> encoder
"driver_uart.h": "c"
}
}

View file

@ -1 +1,2 @@
# Projet-Voilier-3

View file

@ -1,70 +0,0 @@
#include "stm32f10x.h"
#include "stdio.h"
#include "Driver_ADC.h"
void erreur (void)
{
while(1);
}
void (*ADC1_2_fx) (void) = &erreur;
/**
*************************************************************************************************
* @brief Activation et configuration de l'ADC1.
* @param -> Priorité de l'intérruption.
* @Note -> Fonction à lancer systématiquement avant daller plus en détail dans les conf plus fines (PWM, codeur inc...)
*************************************************************************************************
*/
void driver_adc_1_init (char Prio, void (*IT_function)(void))
{
//On règle la fréquence à 12Mhz
RCC->CFGR |= RCC_CFGR_ADCPRE_DIV6;
//Validation de l'horloge ACD1
RCC->APB2ENR |= RCC_APB2ENR_ADC1EN;
//Activation de l'external trig
ADC1->CR2 |= ADC_CR2_EXTTRIG;
//Activation SWSTART
ADC1->CR2 |= ADC_CR2_EXTSEL;
//Validation de l'horloge ACD1
RCC->APB2ENR |= RCC_APB2ENR_ADC1EN;
//Activation de l'ADC1
ADC1->CR2 |= ADC_CR2_ADON;
//Fixe le nb de conversion, ici 1
ADC1->SQR1 &= ADC_SQR1_L;
//Numéro de voie à convertir
ADC1->SQR3 |= 1;
//Lancement de la calibration
ADC1->CR2 |= ADC_CR2_CAL;
//Attente de la fin de la calibration
while((ADC1->CR2 & ADC_CR2_CAL));
//Activation de l'intéruption sur le flag EOC
ADC1->CR1 |= ADC_CR1_EOCIE;
//Activation de l'intéruption et configuration du niveau de priorité
NVIC_EnableIRQ(ADC1_2_IRQn);
NVIC_SetPriority(ADC1_2_IRQn, Prio);
//Fonction à appeler à l'intéruption
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
ADC1->SR &= ~ADC_SR_EOC;
//On lance la fonction de l'utilisateur
(*ADC1_2_fx)();
}

View file

@ -1,34 +0,0 @@
#ifndef DRIVER_ADC_H
#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 daller 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

View file

@ -1,7 +1,6 @@
#include "Driver_GPIO.h"
#include "stm32f10x.h"
#include "stdio.h"
/* GPIO init function */
void MyGPIO_Init ( MyGPIO_Struct_TypeDef * GPIOStructPtr )
{
@ -28,12 +27,12 @@ void MyGPIO_Init ( MyGPIO_Struct_TypeDef * GPIOStructPtr )
/* Reset, and then configuration writing of the selected GPIO Pin */
if(GPIOStructPtr->GPIO_Pin <= 8)
{
GPIOStructPtr->GPIO->CRL &= ~(0xF<<(4*(GPIOStructPtr->GPIO_Pin)));
GPIOStructPtr->GPIO->CRL &= ~0xF<<(4*(GPIOStructPtr->GPIO_Pin));
GPIOStructPtr->GPIO->CRL |= (GPIOStructPtr->GPIO_Conf)<<(4*(GPIOStructPtr->GPIO_Pin));
}
else
{
GPIOStructPtr->GPIO->CRH &= ~(0xF<<(4*((GPIOStructPtr->GPIO_Pin)%8)));
GPIOStructPtr->GPIO->CRH &= ~0xF<<(4*((GPIOStructPtr->GPIO_Pin)%8));
GPIOStructPtr->GPIO->CRH |= (GPIOStructPtr->GPIO_Conf)<<(4*((GPIOStructPtr->GPIO_Pin)%8));
}
@ -46,29 +45,23 @@ 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))>>GPIO_Pin);
}
/* Set the state of the GPIO */
void MyGPIO_Set (GPIO_TypeDef * GPIO , char GPIO_Pin)
{
GPIO->ODR |= 0x1<<GPIO_Pin;
}
/* Reset the state of the GPIO */
void MyGPIO_Reset (GPIO_TypeDef * GPIO , char GPIO_Pin)
{
GPIO->ODR &= ~(0x1<<GPIO_Pin);
}
/* Toogle the state of the GPIO */
void MyGPIO_Toggle ( GPIO_TypeDef * GPIO , char GPIO_Pin )
{
GPIO->ODR ^= 0x1<<GPIO_Pin;
}

View file

@ -17,48 +17,9 @@ typedef struct
#define AltOut_Ppull 0xA
#define AltOut_OD 0xE
/**
*************************************************************************************************
* @brief Fonction d'initialisation pour les GPIO
* @param -> Param<EFBFBD>tre sous forme d<EFBFBD>une structure (son adresse) qui d<EFBFBD>fini le pin, le port et la conf du GPIO
* @Note ->
*************************************************************************************************
*/
void MyGPIO_Init ( MyGPIO_Struct_TypeDef * GPIOStructPtr );
/**
*************************************************************************************************
* @brief Fonction pour lire l'<EFBFBD>tat de la GPIO
* @param : Param<EFBFBD>tre sous forme d<EFBFBD>une structure (son adresse) qui d<EFBFBD>fini le pin et le port
* @return : Renvoie 0 ou autre chose diff<EFBFBD>rent de 0
*************************************************************************************************
*/
int MyGPIO_Read ( GPIO_TypeDef * GPIO , char GPIO_Pin );
/**
*************************************************************************************************
* @brief Fonction pour set le pin voulu
* @param -> Param<EFBFBD>tre sous forme d<EFBFBD>une structure (son adresse) qui d<EFBFBD>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<EFBFBD>tre sous forme d<EFBFBD>une structure (son adresse) qui d<EFBFBD>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<EFBFBD>tre sous forme d<EFBFBD>une structure (son adresse) qui d<EFBFBD>fini le pin et le port
* @Note ->
*************************************************************************************************
*/
void MyGPIO_Init ( MyGPIO_Struct_TypeDef * GPIOStructPtr ) ;
int MyGPIO_Read ( GPIO_TypeDef * GPIO , char GPIO_Pin ) ; // renvoie 0 ou autre chose different de 0
void MyGPIO_Set ( GPIO_TypeDef * GPIO , char GPIO_Pin ) ;
void MyGPIO_Reset ( GPIO_TypeDef * GPIO , char GPIO_Pin ) ;
void MyGPIO_Toggle ( GPIO_TypeDef * GPIO , char GPIO_Pin ) ;
#endif

View file

@ -1,63 +0,0 @@
#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 driver_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 driver_IMU_init(void)
{
/* 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
driver_IMU_write_register(POWER_CTL, 0x08);
//Paramètrage du registe BW_RATE
driver_IMU_write_register(BW_RATE, 0x0A);
//Paramètrage du registre DATA_FORMAT
driver_IMU_write_register(BW_RATE, 0x08); //Full resolution, et alignement à droite
}
/* Fonction de lecture des données*/
/*
@param *values : Les valeurs x, y, z sont chacune stockée sur 2 octets dans le tableau values
x = values[1]<<8 & value[0];
y = values[3]<<8 & value[2];
z = values[5]<<8 & value[4];
@param numBytes : Le nombre de registre à lire à partir de registerAddress
@param registerAddress : Adresse du premier registre à lire*/
void driver_IMU_read(char registerAddress, int numBytes, unsigned char * values)
{
int i;
// Pour effectuer une lecture des registre, on doit mettre les bits R/W et MB à 1
char trame = registerAddress | 0x80;
trame = trame | 0x40;
// On active le chip select (niveau bas)
MySPI_Clear_NSS();
// Envoie de la config
MySPI_Send(trame);
// On effectue la lecture
for(i=0; i<numBytes; i++)
{
values[i] = MySPI_Read();
}
// On met le Chip Select au niveau haut
MySPI_Set_NSS();
}

View file

@ -1,26 +0,0 @@
#ifndef IMU_H_
#define IMU_H_
#include "stm32f10x.h"
/**
*************************************************************************************************
* @brief Fonction d'initialisation de l'IMU
* @param -> none
* @Note -> Fonction a appelé avant l'utilisation du périphérique
*************************************************************************************************
*/
void driver_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 les valeurs seront stockés
* @Note ->
*************************************************************************************************
*/
void driver_IMU_read(char registerAddress, int numBytes, unsigned char * values);
#endif

View file

@ -1,44 +0,0 @@
#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;
}

View file

@ -1,5 +0,0 @@
#ifndef DRIVER_SPI_H
#define DRIVER_SPI_H
#include "stm32f10x.h"
#endif

View file

@ -1,7 +1,6 @@
#include "Driver_Timer.h"
#include "stm32f10x.h"
#include "stdio.h"
/* Timer init function */
void MyTimer_Base_Init(MyTimer_Struct_TypeDef * Timer)
{
@ -27,91 +26,63 @@ void MyTimer_Base_Init(MyTimer_Struct_TypeDef * Timer)
Timer->Timer->ARR = Timer->ARR;
}
/* Start function */
void MyTimer_Start(MyTimer_Struct_TypeDef * Timer)
{
Timer->Timer->CR1 |= TIM_CR1_CEN;
}
/* Stop function*/
void MyTimer_Stop(MyTimer_Struct_TypeDef * Timer)
{
Timer->Timer->CR1 &= ~TIM_CR1_CEN;
}
// Note : PWM Tested on PA0
/*Configuration PWM*/
void MyTimer_ConfigurePWM(MyTimer_Struct_TypeDef *Timer, uint8_t channel, uint16_t duty_cycle) {
uint16_t CCR_Value = (duty_cycle * TIM2->ARR) / 100;
// Configurer le Timer en mode PWM
// Configurer le Channel
if (Timer->channel == 1) {
if (channel == 1) {
Timer->Timer->CCMR1 = TIM_CCMR1_OC1M_2 | TIM_CCMR1_OC1M_1;
Timer->Timer->CCMR1 |= TIM_CCMR1_OC1PE; // activer la pr<EFBFBD>charge du registre de comparaison
Timer->Timer->CCMR1 |= TIM_CCMR1_OC1PE; // activer la précharge du registre de comparaison
Timer->Timer->CCER |= TIM_CCER_CC1E;
Timer->Timer->CCR1 = CCR_Value;
} else if (Timer->channel == 2) {
} else if (channel == 2) {
Timer->Timer->CCMR1 = TIM_CCMR1_OC2M_2 | TIM_CCMR1_OC2M_1;
Timer->Timer->CCMR1 |= TIM_CCMR1_OC2PE; // activer la pr<EFBFBD>charge du registre de comparaison
Timer->Timer->CCMR1 |= TIM_CCMR1_OC2PE; // activer la précharge du registre de comparaison
Timer->Timer->CCER |= TIM_CCER_CC2E;
Timer->Timer->CCR2 = CCR_Value;
} else if (Timer->channel == 3) {
} else if (channel == 3) {
Timer->Timer->CCMR2 = TIM_CCMR2_OC3M_2 | TIM_CCMR2_OC3M_1;
Timer->Timer->CCMR2 |= TIM_CCMR2_OC3PE; // activer la pr<EFBFBD>charge du registre de comparaison
Timer->Timer->CCMR2 |= TIM_CCMR2_OC3PE; // activer la précharge du registre de comparaison
Timer->Timer->CCER |= TIM_CCER_CC3E;
Timer->Timer->CCER &= ~TIM_CCER_CC3P;
Timer->Timer->CCR3 = CCR_Value;
} else if (Timer->channel == 4) {
} else if (channel == 4) {
Timer->Timer->CCMR2 = TIM_CCMR2_OC4M_2 | TIM_CCMR2_OC4M_1;
Timer->Timer->CCMR2 |= TIM_CCMR2_OC4PE; // activer la pr<EFBFBD>charge du registre de comparaison
Timer->Timer->CCMR2 |= TIM_CCMR2_OC4PE; // activer la précharge du registre de comparaison
Timer->Timer->CCER |= TIM_CCER_CC4E;
Timer->Timer->CCR4 = CCR_Value;
}
}
// Utiliser le TIM4
void MyTimer_ConfigureEncoder(MyTimer_Struct_TypeDef *Timer) {
Timer->Timer->PSC = 0; // Configurer le prescaler à 0 (pour diviser l'horloge de base de 72 MHz par 1)
Timer->Timer->ARR = 1440; // Configurer la valeur maximale du compteur (pour éviter les problèmes de débordement)
Timer->Timer->CCMR1 |= TIM_CCMR1_CC1S_0;
Timer->Timer->CCMR1 |= TIM_CCMR1_CC2S_0;
Timer->Timer->CCER &= ~TIM_CCER_CC1P;
Timer->Timer->CCMR1 &= ~(TIM_CCMR1_IC1F_0 | TIM_CCMR1_IC1F_1 | TIM_CCMR1_IC1F_2 | TIM_CCMR1_IC1F_3);
Timer->Timer->CCER &= ~TIM_CCER_CC2P;
Timer->Timer->CCMR1 &= ~(TIM_CCMR1_IC2F_0 | TIM_CCMR1_IC2F_1 | TIM_CCMR1_IC2F_2 | TIM_CCMR1_IC2F_3);
Timer->Timer->SMCR |= TIM_SMCR_SMS_0 | TIM_SMCR_SMS_1;
// activer la clock pour le port GPIOC
RCC->APB2ENR |= RCC_APB2ENR_IOPCEN;
// configurer PC3 en mode entrée avec une pull-up
GPIOC->CRL &= ~(GPIO_CRL_MODE3 | GPIO_CRL_CNF3);
GPIOC->CRL |= GPIO_CRL_CNF3_1 | GPIO_CRL_MODE3_0;
// configurer l'interruption pour PC3 en mode bord montant
EXTI->IMR |= EXTI_IMR_MR3;
EXTI->RTSR |= EXTI_RTSR_TR3;
// configurer la priorité de l'interruption
NVIC_SetPriority(EXTI3_IRQn, 1);
// activer l'interruption
NVIC_EnableIRQ(EXTI3_IRQn);
}
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;
@ -138,12 +109,6 @@ void MyTimer_ActiveIT (TIM_TypeDef * Timer, char Prio, void (*IT_function)(void)
}
}
uint16_t TIM_GetCounter(TIM_TypeDef * Timer)
{
// Lit la valeur actuelle du compteur CNT du timer TIMx
return Timer->CNT;
}
void TIM2_IRQHandler (void)
{
TIM2->SR &= ~TIM_SR_UIF;
@ -162,11 +127,3 @@ void TIM4_IRQHandler (void)
(*TIM4_fx)();
}
int seed(int a) {
return a = 2;
}
void EXTI3_IRQHandler(void) {
int a = seed(a);
}

View file

@ -8,63 +8,44 @@ typedef struct
TIM_TypeDef * Timer;
unsigned short ARR;
unsigned short PSC;
uint8_t channel; // 1 2 3 or 4
} MyTimer_Struct_TypeDef;
/**
*************************************************************************************************
* @brief Initialisation du timer
* @param -> Param<EFBFBD>tre sous forme d<EFBFBD>une structure (son adresse) contenant les informations du timer
* @Note -> Fonction <EFBFBD> lancer syst<EFBFBD>matiquement avant d<EFBFBD>aller plus en d<EFBFBD>tail dans les conf plus fines (PWM, codeur inc...)*************************************************************************************************
* @brief
* @param -> Param<EFBFBD>tre sous forme d<EFBFBD>une structure (son adresse) contenant les informations de base
* @Note -> Fonction <EFBFBD> lancer syst<EFBFBD>matiquement avant d<EFBFBD>aller plus en d<EFBFBD>tail dans les conf plus fines (PWM, codeur inc...)
*************************************************************************************************
*/
void MyTimer_Base_Init(MyTimer_Struct_TypeDef * Timer);
/**
*************************************************************************************************
* @brief Fonction pour lancer le timer voulu
* @param -> Param<EFBFBD>tre sous forme d<EFBFBD>une structure (son adresse) qui d<EFBFBD>fini le num<EFBFBD>ro du timer
* @Note ->
*************************************************************************************************
/*#define MyTimer_Base_Start(Timer) ...
#define MyTimer_Base_Stop(Timer) ...
*/
void MyTimer_Start(MyTimer_Struct_TypeDef * Timer);
/**
*************************************************************************************************
* @brief Fonction pour arr<EFBFBD>ter le timer voulu
* @param -> Param<EFBFBD>tre sous forme d<EFBFBD>une structure (son adresse) qui d<EFBFBD>fini le num<EFBFBD>ro du timer
* @Note
*************************************************************************************************
*/
void MyTimer_Stop(MyTimer_Struct_TypeDef * Timer);
void MyTimer_Start(MyTimer_Struct_TypeDef * Timer) ;
void MyTimer_Stop(MyTimer_Struct_TypeDef * Timer) ;
/**
**************************************************************************************************
* @brief Active une interruption utilisant un timer
* @param : -TIM_TypeDef * Timer : Timer concern<EFBFBD>
* - char Prio: de 0 a 15
* @Note : La fonction MyTimer_Base_Init doit avoir <EFBFBD>t<EFBFBD> lanc<EFBFBD>e au prealable
* @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
**************************************************************************************************
*/
void MyTimer_ActiveIT (TIM_TypeDef * Timer, char Prio, void (*IT_function)(void));
/**
*************************************************************************************************
* @brief Fonction pour le timer du PWM
* @param : -TIM_TypeDef * Timer : Timer concern<EFBFBD>
* - char Channel : channel du PWM concern<EFBFBD>
*************************************************************************************************
* @brief
* @param
* @Note Active le channel sp<EFBFBD>cifi<EFBFBD> sur Timer le timer sp<EFBFBD>cifi<EFBFBD>
* la gestion de la configuration I/O n<EFBFBD>est pas faite dans cette fonction
* ni le r<EFBFBD>glage de la p<EFBFBD>riode de la PWM (ARR, PSC)
*/
void MyTimer_PWM(TIM_TypeDef * Timer, char Channel);
/**
*************************************************************************************************
* @brief Fonction pour configurer le PWM
* @param : -TIM_TypeDef * Timer : Timer concern<EFBFBD>
* - uint8_t pwm_channel : choix du channel du PWM utilis<EFBFBD>
* - uint16_t duty_cycle : choix du temps <EFBFBD> la l'<EFBFBD>tat haut
*************************************************************************************************
*/
void MyTimer_ConfigurePWM(MyTimer_Struct_TypeDef *Timer, uint8_t pwm_channel, uint16_t duty_cycle);
void MyTimer_ConfigureEncoder(MyTimer_Struct_TypeDef *Timer);
#endif

View file

@ -2,14 +2,7 @@
void MyUART_Init(MyUART_Struct_TypeDef *UART) {
// Active l'horloge du périphérique UART
if (UART->UART == USART1) {
RCC->APB2ENR |= RCC_APB2ENR_USART1EN;
} else if (UART->UART == USART2) {
RCC->APB1ENR |= RCC_APB1ENR_USART2EN;
} else if (UART->UART == USART3) {
RCC->APB1ENR |= RCC_APB1ENR_USART3EN;
}
RCC->APB1ENR |= RCC_APB1ENR_USART3EN;
// Active l'UART pour permettre la transmission/réception de données
UART->UART->CR1 |= USART_CR1_UE;
@ -24,27 +17,19 @@ void MyUART_Init(MyUART_Struct_TypeDef *UART) {
UART->UART->CR1 |= USART_CR1_TE | USART_CR1_RE;
UART->UART->CR2 &= ~(0x11 << 12);
USART3->CR1 |= USART_CR1_RXNEIE | USART_CR1_TXEIE; // Active les interruptions de l'UART
__enable_irq();// Active les interruptions globales
}
void MyUART_SendByte(MyUART_Struct_TypeDef *UART, uint8_t data) {
// Attendre que le registre de données soit prêt à être envoyé
while (!(UART->UART->SR & USART_SR_TXE));
// Envoyer la donnée
UART->UART->DR = data;
// Attendre que la transmission soit terminée
while ((UART->UART->SR & USART_SR_TC) == 0);
}
void MyUART_SendString(MyUART_Struct_TypeDef *UART, const char *str) {
// Envoyer chaque caractère de la chaîne
while (*str != '\0') {
MyUART_SendByte(UART, *str);
str++;
}
// Attendre que la donnée soit envoyée
while (!(UART->UART->SR & USART_SR_TC));
}
uint8_t MyUART_ReceiveByte(MyUART_Struct_TypeDef *UART) {
@ -59,15 +44,4 @@ uint8_t MyUART_ReceiveByte(MyUART_Struct_TypeDef *UART) {
// Renvoyer la donnée lue
return data;
}
void USART3_IRQHandler(void) {
if (USART3->SR & USART_SR_RXNE) {
}
if (USART3->SR & USART_SR_TXE) {
}
}
}

View file

@ -11,6 +11,5 @@ typedef struct {
void MyUART_Init(MyUART_Struct_TypeDef *UART);
void MyUART_SendByte(MyUART_Struct_TypeDef *UART, uint8_t data);
uint8_t MyUART_ReceiveByte(MyUART_Struct_TypeDef *UART);
void MyUART_SendString(MyUART_Struct_TypeDef *UART, const char *str);
#endif

Binary file not shown.

View file

@ -1,229 +0,0 @@
#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

View file

@ -1,129 +0,0 @@
#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

View file

@ -1,40 +0,0 @@
#include "Driver_ADC.h"
#include "stm32f10x.h"
#include "stdio.h"
void init_adc1 (void)
{
//Activation de l'external trig
ADC1->CR2 |= ADC_CR2_EXTTRIG;
//Activation SWSTART
ADC1->CR2 |= ADC_CR2_EXTSEL;
//On règle la fréquence à 12Mhz
RCC->CFGR |= RCC_CFGR_ADCPRE_DIV6;
//Activation de l'ADC
ADC1->CR2 |= ADC_CR2_ADON;
//Fixe le nb de conversion, ici 1
ADC1->SQR1 &= ADC_SQR1_L;
//Numéro de voie à convertir
ADC1->SQR3 |= 1;
//Lancement de la calibration
ADC1->CR2 |= ADC_CR2_CAL;
//Attente de la fin de la calibration
while((ADC1->CR2 & ADC_CR2_CAL));
//Activation de l'intéruption sur le flag EOC
ADC1->CR1 |= ADC_CR1_EOCIE;
}
void launch_read_adc1 (void)
{
//Lancement de la conversion
ADC1->CR2 |= ADC_CR2_SWSTART;
}
int read_adc1 (void)
{
//On abaisse le flag pour la prochaine lecture
ADC1->SR &= ~ADC_SR_EOC;
//Retour de la conversion
return ADC1->DR &~ ((0x0F) << 12);
}

View file

@ -4,31 +4,15 @@ Component: Arm Compiler for Embedded 6.19 Tool: armlink [5e73cb00]
Section Cross References
<<<<<<< HEAD
main.o(.text.main) refers to driver_adc.o(.text.driver_adc_1_launch_read) for driver_adc_1_launch_read
main.o(.text.main) refers to driver_imu.o(.text.driver_IMU_init) for driver_IMU_init
main.o(.text.main) refers to driver_imu.o(.text.driver_IMU_read) for driver_IMU_read
=======
main.o(.text.main) refers to driver_gpio.o(.text.MyGPIO_Init) for MyGPIO_Init
main.o(.text.main) refers to driver_uart.o(.text.MyUART_Init) for MyUART_Init
<<<<<<< HEAD
main.o(.text.main) refers to driver_gpio.o(.text.MyGPIO_Set) for MyGPIO_Set
main.o(.text.main) refers to driver_timer.o(.text.MyTimer_Base_Init) for MyTimer_Base_Init
main.o(.text.main) refers to driver_timer.o(.text.MyTimer_ConfigureEncoder) for MyTimer_ConfigureEncoder
main.o(.text.main) refers to driver_timer.o(.text.MyTimer_ConfigurePWM) for MyTimer_ConfigurePWM
main.o(.text.main) refers to driver_timer.o(.text.MyTimer_Start) for MyTimer_Start
>>>>>>> encoder
=======
main.o(.text.main) refers to app_girouette.o(.text.App_Girouette_Init) for App_Girouette_Init
main.o(.text.main) refers to app_girouette.o(.text.App_Girouette_GetDirection) for App_Girouette_GetDirection
main.o(.text.main) refers to driver_uart.o(.text.MyUART_Init) for MyUART_Init
main.o(.text.main) refers to driver_uart.o(.text.MyUART_SendByte) for MyUART_SendByte
>>>>>>> encoder
main.o(.text.main) refers to driver_uart.o(.text.MyUART_ReceiveByte) for MyUART_ReceiveByte
main.o(.ARM.exidx.text.main) refers to main.o(.text.main) for [Anonymous Symbol]
app_girouette.o(.text.App_Girouette_Init) refers to driver_timer.o(.text.MyTimer_Base_Init) for MyTimer_Base_Init
app_girouette.o(.text.App_Girouette_Init) refers to driver_timer.o(.text.MyTimer_ConfigureEncoder) for MyTimer_ConfigureEncoder
app_girouette.o(.text.App_Girouette_Init) refers to driver_timer.o(.text.MyTimer_Start) for MyTimer_Start
app_girouette.o(.text.App_Girouette_Init) refers to driver_gpio.o(.text.MyGPIO_Init) for MyGPIO_Init
app_girouette.o(.ARM.exidx.text.App_Girouette_Init) refers to app_girouette.o(.text.App_Girouette_Init) for [Anonymous Symbol]
app_girouette.o(.text.App_Girouette_GetDirection) refers to driver_timer.o(.text.TIM_GetCounter) for TIM_GetCounter
app_girouette.o(.ARM.exidx.text.App_Girouette_GetDirection) refers to app_girouette.o(.text.App_Girouette_GetDirection) for [Anonymous Symbol]
driver_gpio.o(.ARM.exidx.text.MyGPIO_Init) refers to driver_gpio.o(.text.MyGPIO_Init) for [Anonymous Symbol]
driver_gpio.o(.ARM.exidx.text.MyGPIO_Read) refers to driver_gpio.o(.text.MyGPIO_Read) for [Anonymous Symbol]
driver_gpio.o(.ARM.exidx.text.MyGPIO_Set) refers to driver_gpio.o(.text.MyGPIO_Set) for [Anonymous Symbol]
@ -38,67 +22,31 @@ Section Cross References
driver_timer.o(.ARM.exidx.text.MyTimer_Start) refers to driver_timer.o(.text.MyTimer_Start) for [Anonymous Symbol]
driver_timer.o(.ARM.exidx.text.MyTimer_Stop) refers to driver_timer.o(.text.MyTimer_Stop) for [Anonymous Symbol]
driver_timer.o(.ARM.exidx.text.MyTimer_ConfigurePWM) refers to driver_timer.o(.text.MyTimer_ConfigurePWM) for [Anonymous Symbol]
driver_timer.o(.ARM.exidx.text.MyTimer_ConfigureEncoder) refers to driver_timer.o(.text.MyTimer_ConfigureEncoder) for [Anonymous Symbol]
driver_timer.o(.ARM.exidx.text.Bug) refers to driver_timer.o(.text.Bug) for [Anonymous Symbol]
driver_timer.o(.text.MyTimer_ActiveIT) refers to driver_timer.o(.data.TIM2_fx) for TIM2_fx
driver_timer.o(.text.MyTimer_ActiveIT) refers to driver_timer.o(.data.TIM4_fx) for TIM4_fx
driver_timer.o(.text.MyTimer_ActiveIT) refers to driver_timer.o(.data.TIM3_fx) for TIM3_fx
driver_timer.o(.ARM.exidx.text.MyTimer_ActiveIT) refers to driver_timer.o(.text.MyTimer_ActiveIT) for [Anonymous Symbol]
driver_timer.o(.ARM.exidx.text.TIM_GetCounter) refers to driver_timer.o(.text.TIM_GetCounter) for [Anonymous Symbol]
driver_timer.o(.text.TIM2_IRQHandler) refers to driver_timer.o(.data.TIM2_fx) for TIM2_fx
driver_timer.o(.ARM.exidx.text.TIM2_IRQHandler) refers to driver_timer.o(.text.TIM2_IRQHandler) for [Anonymous Symbol]
driver_timer.o(.text.TIM3_IRQHandler) refers to driver_timer.o(.data.TIM3_fx) for TIM3_fx
driver_timer.o(.ARM.exidx.text.TIM3_IRQHandler) refers to driver_timer.o(.text.TIM3_IRQHandler) for [Anonymous Symbol]
driver_timer.o(.text.TIM4_IRQHandler) refers to driver_timer.o(.data.TIM4_fx) for TIM4_fx
driver_timer.o(.ARM.exidx.text.TIM4_IRQHandler) refers to driver_timer.o(.text.TIM4_IRQHandler) for [Anonymous Symbol]
driver_timer.o(.ARM.exidx.text.seed) refers to driver_timer.o(.text.seed) for [Anonymous Symbol]
driver_timer.o(.ARM.exidx.text.EXTI3_IRQHandler) refers to driver_timer.o(.text.EXTI3_IRQHandler) for [Anonymous Symbol]
driver_timer.o(.data.TIM2_fx) refers to driver_timer.o(.text.Bug) for Bug
driver_timer.o(.data.TIM3_fx) refers to driver_timer.o(.text.Bug) for Bug
driver_timer.o(.data.TIM4_fx) refers to driver_timer.o(.text.Bug) for Bug
driver_uart.o(.ARM.exidx.text.MyUART_Init) refers to driver_uart.o(.text.MyUART_Init) for [Anonymous Symbol]
driver_uart.o(.ARM.exidx.text.MyUART_SendByte) refers to driver_uart.o(.text.MyUART_SendByte) for [Anonymous Symbol]
driver_uart.o(.ARM.exidx.text.MyUART_ReceiveByte) refers to driver_uart.o(.text.MyUART_ReceiveByte) for [Anonymous Symbol]
driver_uart.o(.ARM.exidx.text.USART3_IRQHandler) refers to driver_uart.o(.text.USART3_IRQHandler) for [Anonymous Symbol]
driver_adc.o(.ARM.exidx.text.erreur) refers to driver_adc.o(.text.erreur) for [Anonymous Symbol]
driver_adc.o(.text.driver_adc_1_init) refers to driver_adc.o(.data.ADC1_2_fx) for ADC1_2_fx
driver_adc.o(.ARM.exidx.text.driver_adc_1_init) refers to driver_adc.o(.text.driver_adc_1_init) for [Anonymous Symbol]
driver_adc.o(.ARM.exidx.text.driver_adc_1_launch_read) refers to driver_adc.o(.text.driver_adc_1_launch_read) for [Anonymous Symbol]
driver_adc.o(.ARM.exidx.text.driver_adc_1_read) refers to driver_adc.o(.text.driver_adc_1_read) for [Anonymous Symbol]
driver_adc.o(.text.ADC1_2_IRQHandler) refers to driver_adc.o(.data.ADC1_2_fx) for ADC1_2_fx
driver_adc.o(.ARM.exidx.text.ADC1_2_IRQHandler) refers to driver_adc.o(.text.ADC1_2_IRQHandler) for [Anonymous Symbol]
driver_adc.o(.data.ADC1_2_fx) refers to driver_adc.o(.text.erreur) for erreur
<<<<<<< HEAD
driver_imu.o(.text.driver_IMU_write_register) refers to myspi.o(i.MySPI_Clear_NSS) for MySPI_Clear_NSS
driver_imu.o(.text.driver_IMU_write_register) refers to myspi.o(i.MySPI_Send) for MySPI_Send
driver_imu.o(.text.driver_IMU_write_register) refers to myspi.o(i.MySPI_Set_NSS) for MySPI_Set_NSS
driver_imu.o(.ARM.exidx.text.driver_IMU_write_register) refers to driver_imu.o(.text.driver_IMU_write_register) for [Anonymous Symbol]
driver_imu.o(.text.driver_IMU_init) refers to myspi.o(i.MySPI_Init) for MySPI_Init
driver_imu.o(.text.driver_IMU_init) refers to myspi.o(i.MySPI_Clear_NSS) for MySPI_Clear_NSS
driver_imu.o(.text.driver_IMU_init) refers to myspi.o(i.MySPI_Send) for MySPI_Send
driver_imu.o(.text.driver_IMU_init) refers to myspi.o(i.MySPI_Set_NSS) for MySPI_Set_NSS
driver_imu.o(.ARM.exidx.text.driver_IMU_init) refers to driver_imu.o(.text.driver_IMU_init) for [Anonymous Symbol]
driver_imu.o(.text.driver_IMU_read) refers to myspi.o(i.MySPI_Clear_NSS) for MySPI_Clear_NSS
driver_imu.o(.text.driver_IMU_read) refers to myspi.o(i.MySPI_Send) for MySPI_Send
driver_imu.o(.text.driver_IMU_read) refers to myspi.o(i.MySPI_Read) for MySPI_Read
driver_imu.o(.text.driver_IMU_read) refers to myspi.o(i.MySPI_Set_NSS) for MySPI_Set_NSS
driver_imu.o(.ARM.exidx.text.driver_IMU_read) refers to driver_imu.o(.text.driver_IMU_read) for [Anonymous Symbol]
=======
>>>>>>> encoder
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
<<<<<<< HEAD
=======
startup_stm32f10x_md.o(RESET) refers to driver_timer.o(.text.EXTI3_IRQHandler) for EXTI3_IRQHandler
>>>>>>> encoder
startup_stm32f10x_md.o(RESET) refers to driver_adc.o(.text.ADC1_2_IRQHandler) for ADC1_2_IRQHandler
startup_stm32f10x_md.o(RESET) refers to driver_timer.o(.text.TIM2_IRQHandler) for TIM2_IRQHandler
startup_stm32f10x_md.o(RESET) refers to driver_timer.o(.text.TIM3_IRQHandler) for TIM3_IRQHandler
startup_stm32f10x_md.o(RESET) refers to driver_timer.o(.text.TIM4_IRQHandler) for TIM4_IRQHandler
startup_stm32f10x_md.o(RESET) refers to driver_uart.o(.text.USART3_IRQHandler) for USART3_IRQHandler
startup_stm32f10x_md.o(.text) refers (Special) to heapauxi.o(.text) for __use_two_region_memory
startup_stm32f10x_md.o(.text) refers to system_stm32f10x.o(.text.SystemInit) for SystemInit
startup_stm32f10x_md.o(.text) refers to __main.o(!!!main) for __main
@ -108,12 +56,6 @@ Section Cross References
system_stm32f10x.o(.text.SystemCoreClockUpdate) refers to system_stm32f10x.o(.data.SystemCoreClock) for SystemCoreClock
system_stm32f10x.o(.text.SystemCoreClockUpdate) refers to system_stm32f10x.o(.rodata.AHBPrescTable) for AHBPrescTable
system_stm32f10x.o(.ARM.exidx.text.SystemCoreClockUpdate) refers to system_stm32f10x.o(.text.SystemCoreClockUpdate) for [Anonymous Symbol]
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
@ -228,89 +170,39 @@ Removing Unused input sections from the image.
Removing main.o(.text), (0 bytes).
Removing main.o(.ARM.exidx.text.main), (8 bytes).
Removing main.o(.ARM.use_no_argv), (4 bytes).
Removing app_girouette.o(.text), (0 bytes).
Removing app_girouette.o(.ARM.exidx.text.App_Girouette_Init), (8 bytes).
Removing app_girouette.o(.ARM.exidx.text.App_Girouette_GetDirection), (8 bytes).
Removing driver_gpio.o(.text), (0 bytes).
Removing driver_gpio.o(.text.MyGPIO_Init), (156 bytes).
Removing driver_gpio.o(.ARM.exidx.text.MyGPIO_Init), (8 bytes).
Removing driver_gpio.o(.text.MyGPIO_Read), (12 bytes).
Removing driver_gpio.o(.ARM.exidx.text.MyGPIO_Read), (8 bytes).
Removing driver_gpio.o(.text.MyGPIO_Set), (14 bytes).
Removing driver_gpio.o(.ARM.exidx.text.MyGPIO_Set), (8 bytes).
Removing driver_gpio.o(.text.MyGPIO_Reset), (16 bytes).
Removing driver_gpio.o(.ARM.exidx.text.MyGPIO_Reset), (8 bytes).
Removing driver_gpio.o(.text.MyGPIO_Toggle), (14 bytes).
Removing driver_gpio.o(.ARM.exidx.text.MyGPIO_Toggle), (8 bytes).
Removing driver_timer.o(.text), (0 bytes).
Removing driver_timer.o(.text.MyTimer_Base_Init), (140 bytes).
Removing driver_timer.o(.ARM.exidx.text.MyTimer_Base_Init), (8 bytes).
Removing driver_timer.o(.text.MyTimer_Start), (12 bytes).
Removing driver_timer.o(.ARM.exidx.text.MyTimer_Start), (8 bytes).
Removing driver_timer.o(.text.MyTimer_Stop), (12 bytes).
Removing driver_timer.o(.ARM.exidx.text.MyTimer_Stop), (8 bytes).
Removing driver_timer.o(.text.MyTimer_ConfigurePWM), (166 bytes).
Removing driver_timer.o(.ARM.exidx.text.MyTimer_ConfigurePWM), (8 bytes).
Removing driver_timer.o(.text.MyTimer_ConfigureEncoder), (70 bytes).
Removing driver_timer.o(.ARM.exidx.text.MyTimer_ConfigureEncoder), (8 bytes).
Removing driver_timer.o(.ARM.exidx.text.Bug), (8 bytes).
Removing driver_timer.o(.text.MyTimer_ActiveIT), (150 bytes).
Removing driver_timer.o(.ARM.exidx.text.MyTimer_ActiveIT), (8 bytes).
Removing driver_timer.o(.ARM.exidx.text.TIM_GetCounter), (8 bytes).
Removing driver_timer.o(.ARM.exidx.text.TIM2_IRQHandler), (8 bytes).
Removing driver_timer.o(.ARM.exidx.text.TIM3_IRQHandler), (8 bytes).
Removing driver_timer.o(.ARM.exidx.text.TIM4_IRQHandler), (8 bytes).
Removing driver_timer.o(.text.seed), (4 bytes).
Removing driver_timer.o(.ARM.exidx.text.seed), (8 bytes).
Removing driver_timer.o(.ARM.exidx.text.EXTI3_IRQHandler), (8 bytes).
Removing driver_uart.o(.text), (0 bytes).
Removing driver_uart.o(.ARM.exidx.text.MyUART_Init), (8 bytes).
Removing driver_uart.o(.ARM.exidx.text.MyUART_SendByte), (8 bytes).
Removing driver_uart.o(.text.MyUART_ReceiveByte), (24 bytes).
Removing driver_uart.o(.ARM.exidx.text.MyUART_ReceiveByte), (8 bytes).
Removing driver_uart.o(.ARM.exidx.text.USART3_IRQHandler), (8 bytes).
Removing driver_adc.o(.text), (0 bytes).
Removing driver_adc.o(.ARM.exidx.text.erreur), (8 bytes).
Removing driver_adc.o(.text.driver_adc_1_init), (160 bytes).
Removing driver_adc.o(.ARM.exidx.text.driver_adc_1_init), (8 bytes).
<<<<<<< HEAD
=======
Removing driver_adc.o(.text.driver_adc_1_launch_read), (18 bytes).
>>>>>>> encoder
Removing driver_adc.o(.ARM.exidx.text.driver_adc_1_launch_read), (8 bytes).
Removing driver_adc.o(.text.driver_adc_1_read), (16 bytes).
Removing driver_adc.o(.ARM.exidx.text.driver_adc_1_read), (8 bytes).
Removing driver_adc.o(.ARM.exidx.text.ADC1_2_IRQHandler), (8 bytes).
<<<<<<< HEAD
Removing driver_imu.o(.text), (0 bytes).
Removing driver_imu.o(.text.driver_IMU_write_register), (30 bytes).
Removing driver_imu.o(.ARM.exidx.text.driver_IMU_write_register), (8 bytes).
Removing driver_imu.o(.ARM.exidx.text.driver_IMU_init), (8 bytes).
Removing driver_imu.o(.ARM.exidx.text.driver_IMU_read), (8 bytes).
Removing driver_imu.o(.rodata.POWER_CTL), (1 bytes).
Removing driver_imu.o(.rodata.BW_RATE), (1 bytes).
Removing driver_imu.o(.rodata.DATA_FORMAT), (1 bytes).
=======
>>>>>>> encoder
Removing system_stm32f10x.o(.text), (0 bytes).
Removing system_stm32f10x.o(.ARM.exidx.text.SystemInit), (8 bytes).
Removing system_stm32f10x.o(.text.SystemCoreClockUpdate), (110 bytes).
Removing system_stm32f10x.o(.ARM.exidx.text.SystemCoreClockUpdate), (8 bytes).
Removing system_stm32f10x.o(.data.SystemCoreClock), (4 bytes).
Removing system_stm32f10x.o(.rodata.AHBPrescTable), (16 bytes).
Removing myspi.o(.rev16_text), (4 bytes).
Removing myspi.o(.revsh_text), (4 bytes).
Removing myspi.o(.rrx_text), (6 bytes).
<<<<<<< HEAD
<<<<<<< HEAD
64 unused section(s) (total 1481 bytes) removed from the image.
=======
54 unused section(s) (total 1084 bytes) removed from the image.
>>>>>>> encoder
=======
57 unused section(s) (total 1086 bytes) removed from the image.
>>>>>>> encoder
34 unused section(s) (total 498 bytes) removed from the image.
==============================================================================
@ -372,14 +264,9 @@ Image Symbol Table
../clib/stdlib.c 0x00000000 Number 0 exit.o ABSOLUTE
../fplib/fpinit.s 0x00000000 Number 0 fpinit.o ABSOLUTE
../fplib/fpinit_empty.s 0x00000000 Number 0 fpinit_empty.o ABSOLUTE
App_girouette.c 0x00000000 Number 0 app_girouette.o ABSOLUTE
Driver_ADC.c 0x00000000 Number 0 driver_adc.o ABSOLUTE
Driver_GPIO.c 0x00000000 Number 0 driver_gpio.o ABSOLUTE
Driver_IMU.c 0x00000000 Number 0 driver_imu.o ABSOLUTE
Driver_Timer.c 0x00000000 Number 0 driver_timer.o ABSOLUTE
Driver_UART.c 0x00000000 Number 0 driver_uart.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
dc.s 0x00000000 Number 0 dc.o ABSOLUTE
main.c 0x00000000 Number 0 main.o ABSOLUTE
@ -439,73 +326,26 @@ 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)
[Anonymous Symbol] 0x08000244 Section 0 driver_adc.o(.text.ADC1_2_IRQHandler)
<<<<<<< HEAD
[Anonymous Symbol] 0x08000260 Section 0 driver_timer.o(.text.Bug)
<<<<<<< HEAD
[Anonymous Symbol] 0x08000264 Section 0 system_stm32f10x.o(.text.SystemInit)
[Anonymous Symbol] 0x08000374 Section 0 driver_timer.o(.text.TIM2_IRQHandler)
[Anonymous Symbol] 0x08000390 Section 0 driver_timer.o(.text.TIM3_IRQHandler)
[Anonymous Symbol] 0x080003ac Section 0 driver_timer.o(.text.TIM4_IRQHandler)
[Anonymous Symbol] 0x080003c8 Section 0 driver_uart.o(.text.USART3_IRQHandler)
[Anonymous Symbol] 0x080003d8 Section 0 driver_imu.o(.text.driver_IMU_init)
[Anonymous Symbol] 0x08000428 Section 0 driver_imu.o(.text.driver_IMU_read)
[Anonymous Symbol] 0x08000458 Section 0 driver_adc.o(.text.driver_adc_1_launch_read)
[Anonymous Symbol] 0x0800046c Section 0 driver_adc.o(.text.erreur)
[Anonymous Symbol] 0x08000470 Section 0 main.o(.text.main)
i.MySPI_Clear_NSS 0x0800048c Section 0 myspi.o(i.MySPI_Clear_NSS)
i.MySPI_Init 0x080004bc Section 0 myspi.o(i.MySPI_Init)
i.MySPI_Read 0x080006b0 Section 0 myspi.o(i.MySPI_Read)
i.MySPI_Send 0x08000704 Section 0 myspi.o(i.MySPI_Send)
i.MySPI_Set_NSS 0x08000754 Section 0 myspi.o(i.MySPI_Set_NSS)
.data 0x20000000 Section 4 myspi.o(.data)
.bss 0x20000018 Section 96 libspace.o(.bss)
Heap_Mem 0x20000078 Data 512 startup_stm32f10x_md.o(HEAP)
HEAP 0x20000078 Section 512 startup_stm32f10x_md.o(HEAP)
Stack_Mem 0x20000278 Data 1024 startup_stm32f10x_md.o(STACK)
STACK 0x20000278 Section 1024 startup_stm32f10x_md.o(STACK)
__initial_sp 0x20000678 Data 0 startup_stm32f10x_md.o(STACK)
=======
[Anonymous Symbol] 0x08000264 Section 0 driver_timer.o(.text.EXTI3_IRQHandler)
[Anonymous Symbol] 0x08000268 Section 0 driver_gpio.o(.text.MyGPIO_Init)
[Anonymous Symbol] 0x08000304 Section 0 driver_timer.o(.text.MyTimer_Base_Init)
[Anonymous Symbol] 0x08000390 Section 0 driver_timer.o(.text.MyTimer_ConfigureEncoder)
[Anonymous Symbol] 0x08000438 Section 0 driver_timer.o(.text.MyTimer_Start)
[Anonymous Symbol] 0x08000444 Section 0 driver_uart.o(.text.MyUART_Init)
[Anonymous Symbol] 0x08000490 Section 0 system_stm32f10x.o(.text.SystemInit)
[Anonymous Symbol] 0x080005a0 Section 0 driver_timer.o(.text.TIM2_IRQHandler)
[Anonymous Symbol] 0x080005bc Section 0 driver_timer.o(.text.TIM3_IRQHandler)
[Anonymous Symbol] 0x080005d8 Section 0 driver_timer.o(.text.TIM4_IRQHandler)
[Anonymous Symbol] 0x080005f4 Section 0 driver_uart.o(.text.USART3_IRQHandler)
[Anonymous Symbol] 0x08000604 Section 0 driver_adc.o(.text.erreur)
[Anonymous Symbol] 0x08000608 Section 0 main.o(.text.main)
=======
[Anonymous Symbol] 0x08000260 Section 0 app_girouette.o(.text.App_Girouette_GetDirection)
[Anonymous Symbol] 0x0800027c Section 0 app_girouette.o(.text.App_Girouette_Init)
[Anonymous Symbol] 0x080002cc Section 0 driver_timer.o(.text.Bug)
[Anonymous Symbol] 0x080002d0 Section 0 driver_timer.o(.text.EXTI3_IRQHandler)
[Anonymous Symbol] 0x080002d4 Section 0 driver_gpio.o(.text.MyGPIO_Init)
[Anonymous Symbol] 0x08000370 Section 0 driver_timer.o(.text.MyTimer_Base_Init)
[Anonymous Symbol] 0x080003fc Section 0 driver_timer.o(.text.MyTimer_ConfigureEncoder)
[Anonymous Symbol] 0x080004a4 Section 0 driver_timer.o(.text.MyTimer_Start)
[Anonymous Symbol] 0x080004b0 Section 0 driver_uart.o(.text.MyUART_Init)
[Anonymous Symbol] 0x080004fc Section 0 driver_uart.o(.text.MyUART_SendByte)
[Anonymous Symbol] 0x08000514 Section 0 system_stm32f10x.o(.text.SystemInit)
[Anonymous Symbol] 0x08000624 Section 0 driver_timer.o(.text.TIM2_IRQHandler)
[Anonymous Symbol] 0x08000640 Section 0 driver_timer.o(.text.TIM3_IRQHandler)
[Anonymous Symbol] 0x0800065c Section 0 driver_timer.o(.text.TIM4_IRQHandler)
[Anonymous Symbol] 0x08000678 Section 0 driver_timer.o(.text.TIM_GetCounter)
[Anonymous Symbol] 0x0800067c Section 0 driver_uart.o(.text.USART3_IRQHandler)
[Anonymous Symbol] 0x0800068c Section 0 driver_adc.o(.text.erreur)
[Anonymous Symbol] 0x08000690 Section 0 main.o(.text.main)
>>>>>>> encoder
[Anonymous Symbol] 0x08000244 Section 0 driver_timer.o(.text.Bug)
[Anonymous Symbol] 0x08000248 Section 0 driver_gpio.o(.text.MyGPIO_Init)
[Anonymous Symbol] 0x080002e4 Section 0 driver_gpio.o(.text.MyGPIO_Set)
[Anonymous Symbol] 0x080002f4 Section 0 driver_timer.o(.text.MyTimer_Base_Init)
[Anonymous Symbol] 0x08000380 Section 0 driver_timer.o(.text.MyTimer_ConfigurePWM)
[Anonymous Symbol] 0x08000428 Section 0 driver_timer.o(.text.MyTimer_Start)
[Anonymous Symbol] 0x08000434 Section 0 driver_uart.o(.text.MyUART_Init)
[Anonymous Symbol] 0x08000470 Section 0 driver_uart.o(.text.MyUART_ReceiveByte)
[Anonymous Symbol] 0x08000488 Section 0 driver_uart.o(.text.MyUART_SendByte)
[Anonymous Symbol] 0x0800049c Section 0 system_stm32f10x.o(.text.SystemInit)
[Anonymous Symbol] 0x080005ac Section 0 driver_timer.o(.text.TIM2_IRQHandler)
[Anonymous Symbol] 0x080005c8 Section 0 driver_timer.o(.text.TIM3_IRQHandler)
[Anonymous Symbol] 0x080005e4 Section 0 driver_timer.o(.text.TIM4_IRQHandler)
[Anonymous Symbol] 0x08000600 Section 0 main.o(.text.main)
.bss 0x20000010 Section 96 libspace.o(.bss)
Heap_Mem 0x20000070 Data 512 startup_stm32f10x_md.o(HEAP)
HEAP 0x20000070 Section 512 startup_stm32f10x_md.o(HEAP)
Stack_Mem 0x20000270 Data 1024 startup_stm32f10x_md.o(STACK)
STACK 0x20000270 Section 1024 startup_stm32f10x_md.o(STACK)
__initial_sp 0x20000670 Data 0 startup_stm32f10x_md.o(STACK)
>>>>>>> encoder
Global Symbols
@ -604,6 +444,7 @@ 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)
@ -617,6 +458,7 @@ Image Symbol Table
EXTI15_10_IRQHandler 0x080001a3 Thumb Code 0 startup_stm32f10x_md.o(.text)
EXTI1_IRQHandler 0x080001a3 Thumb Code 0 startup_stm32f10x_md.o(.text)
EXTI2_IRQHandler 0x080001a3 Thumb Code 0 startup_stm32f10x_md.o(.text)
EXTI3_IRQHandler 0x080001a3 Thumb Code 0 startup_stm32f10x_md.o(.text)
EXTI4_IRQHandler 0x080001a3 Thumb Code 0 startup_stm32f10x_md.o(.text)
EXTI9_5_IRQHandler 0x080001a3 Thumb Code 0 startup_stm32f10x_md.o(.text)
FLASH_IRQHandler 0x080001a3 Thumb Code 0 startup_stm32f10x_md.o(.text)
@ -637,6 +479,7 @@ Image Symbol Table
TIM1_UP_IRQHandler 0x080001a3 Thumb Code 0 startup_stm32f10x_md.o(.text)
USART1_IRQHandler 0x080001a3 Thumb Code 0 startup_stm32f10x_md.o(.text)
USART2_IRQHandler 0x080001a3 Thumb Code 0 startup_stm32f10x_md.o(.text)
USART3_IRQHandler 0x080001a3 Thumb Code 0 startup_stm32f10x_md.o(.text)
USBWakeUp_IRQHandler 0x080001a3 Thumb Code 0 startup_stm32f10x_md.o(.text)
USB_HP_CAN1_TX_IRQHandler 0x080001a3 Thumb Code 0 startup_stm32f10x_md.o(.text)
USB_LP_CAN1_RX0_IRQHandler 0x080001a3 Thumb Code 0 startup_stm32f10x_md.o(.text)
@ -654,79 +497,27 @@ Image Symbol Table
__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)
__semihosting_library_function 0x08000243 Thumb Code 0 indicate_semi.o(.text)
ADC1_2_IRQHandler 0x08000245 Thumb Code 28 driver_adc.o(.text.ADC1_2_IRQHandler)
<<<<<<< HEAD
Bug 0x08000261 Thumb Code 2 driver_timer.o(.text.Bug)
<<<<<<< HEAD
SystemInit 0x08000265 Thumb Code 272 system_stm32f10x.o(.text.SystemInit)
TIM2_IRQHandler 0x08000375 Thumb Code 26 driver_timer.o(.text.TIM2_IRQHandler)
TIM3_IRQHandler 0x08000391 Thumb Code 28 driver_timer.o(.text.TIM3_IRQHandler)
TIM4_IRQHandler 0x080003ad Thumb Code 28 driver_timer.o(.text.TIM4_IRQHandler)
USART3_IRQHandler 0x080003c9 Thumb Code 14 driver_uart.o(.text.USART3_IRQHandler)
driver_IMU_init 0x080003d9 Thumb Code 78 driver_imu.o(.text.driver_IMU_init)
driver_IMU_read 0x08000429 Thumb Code 48 driver_imu.o(.text.driver_IMU_read)
driver_adc_1_launch_read 0x08000459 Thumb Code 18 driver_adc.o(.text.driver_adc_1_launch_read)
erreur 0x0800046d Thumb Code 2 driver_adc.o(.text.erreur)
main 0x08000471 Thumb Code 28 main.o(.text.main)
MySPI_Clear_NSS 0x0800048d Thumb Code 30 myspi.o(i.MySPI_Clear_NSS)
MySPI_Init 0x080004bd Thumb Code 480 myspi.o(i.MySPI_Init)
MySPI_Read 0x080006b1 Thumb Code 70 myspi.o(i.MySPI_Read)
MySPI_Send 0x08000705 Thumb Code 68 myspi.o(i.MySPI_Send)
MySPI_Set_NSS 0x08000755 Thumb Code 28 myspi.o(i.MySPI_Set_NSS)
Region$$Table$$Base 0x08000780 Number 0 anon$$obj.o(Region$$Table)
Region$$Table$$Limit 0x080007a0 Number 0 anon$$obj.o(Region$$Table)
ActiveSPI 0x20000000 Data 4 myspi.o(.data)
ADC1_2_fx 0x20000004 Data 4 driver_adc.o(.data.ADC1_2_fx)
TIM2_fx 0x20000008 Data 4 driver_timer.o(.data.TIM2_fx)
TIM3_fx 0x2000000c Data 4 driver_timer.o(.data.TIM3_fx)
TIM4_fx 0x20000010 Data 4 driver_timer.o(.data.TIM4_fx)
__libspace_start 0x20000018 Data 96 libspace.o(.bss)
__temporary_stack_top$libspace 0x20000078 Data 0 libspace.o(.bss)
=======
EXTI3_IRQHandler 0x08000265 Thumb Code 2 driver_timer.o(.text.EXTI3_IRQHandler)
MyGPIO_Init 0x08000269 Thumb Code 140 driver_gpio.o(.text.MyGPIO_Init)
MyTimer_Base_Init 0x08000305 Thumb Code 140 driver_timer.o(.text.MyTimer_Base_Init)
MyTimer_ConfigureEncoder 0x08000391 Thumb Code 168 driver_timer.o(.text.MyTimer_ConfigureEncoder)
MyTimer_Start 0x08000439 Thumb Code 12 driver_timer.o(.text.MyTimer_Start)
MyUART_Init 0x08000445 Thumb Code 76 driver_uart.o(.text.MyUART_Init)
SystemInit 0x08000491 Thumb Code 272 system_stm32f10x.o(.text.SystemInit)
TIM2_IRQHandler 0x080005a1 Thumb Code 26 driver_timer.o(.text.TIM2_IRQHandler)
TIM3_IRQHandler 0x080005bd Thumb Code 28 driver_timer.o(.text.TIM3_IRQHandler)
TIM4_IRQHandler 0x080005d9 Thumb Code 28 driver_timer.o(.text.TIM4_IRQHandler)
USART3_IRQHandler 0x080005f5 Thumb Code 14 driver_uart.o(.text.USART3_IRQHandler)
erreur 0x08000605 Thumb Code 2 driver_adc.o(.text.erreur)
main 0x08000609 Thumb Code 126 main.o(.text.main)
Region$$Table$$Base 0x08000688 Number 0 anon$$obj.o(Region$$Table)
Region$$Table$$Limit 0x080006a8 Number 0 anon$$obj.o(Region$$Table)
=======
App_Girouette_GetDirection 0x08000261 Thumb Code 26 app_girouette.o(.text.App_Girouette_GetDirection)
App_Girouette_Init 0x0800027d Thumb Code 80 app_girouette.o(.text.App_Girouette_Init)
Bug 0x080002cd Thumb Code 2 driver_timer.o(.text.Bug)
EXTI3_IRQHandler 0x080002d1 Thumb Code 2 driver_timer.o(.text.EXTI3_IRQHandler)
MyGPIO_Init 0x080002d5 Thumb Code 140 driver_gpio.o(.text.MyGPIO_Init)
MyTimer_Base_Init 0x08000371 Thumb Code 140 driver_timer.o(.text.MyTimer_Base_Init)
MyTimer_ConfigureEncoder 0x080003fd Thumb Code 168 driver_timer.o(.text.MyTimer_ConfigureEncoder)
MyTimer_Start 0x080004a5 Thumb Code 12 driver_timer.o(.text.MyTimer_Start)
MyUART_Init 0x080004b1 Thumb Code 76 driver_uart.o(.text.MyUART_Init)
MyUART_SendByte 0x080004fd Thumb Code 22 driver_uart.o(.text.MyUART_SendByte)
SystemInit 0x08000515 Thumb Code 272 system_stm32f10x.o(.text.SystemInit)
TIM2_IRQHandler 0x08000625 Thumb Code 26 driver_timer.o(.text.TIM2_IRQHandler)
TIM3_IRQHandler 0x08000641 Thumb Code 28 driver_timer.o(.text.TIM3_IRQHandler)
TIM4_IRQHandler 0x0800065d Thumb Code 28 driver_timer.o(.text.TIM4_IRQHandler)
TIM_GetCounter 0x08000679 Thumb Code 4 driver_timer.o(.text.TIM_GetCounter)
USART3_IRQHandler 0x0800067d Thumb Code 14 driver_uart.o(.text.USART3_IRQHandler)
erreur 0x0800068d Thumb Code 2 driver_adc.o(.text.erreur)
main 0x08000691 Thumb Code 82 main.o(.text.main)
Region$$Table$$Base 0x080006e4 Number 0 anon$$obj.o(Region$$Table)
Region$$Table$$Limit 0x08000704 Number 0 anon$$obj.o(Region$$Table)
>>>>>>> encoder
ADC1_2_fx 0x20000000 Data 4 driver_adc.o(.data.ADC1_2_fx)
TIM2_fx 0x20000004 Data 4 driver_timer.o(.data.TIM2_fx)
TIM3_fx 0x20000008 Data 4 driver_timer.o(.data.TIM3_fx)
TIM4_fx 0x2000000c Data 4 driver_timer.o(.data.TIM4_fx)
Bug 0x08000245 Thumb Code 2 driver_timer.o(.text.Bug)
MyGPIO_Init 0x08000249 Thumb Code 140 driver_gpio.o(.text.MyGPIO_Init)
MyGPIO_Set 0x080002e5 Thumb Code 14 driver_gpio.o(.text.MyGPIO_Set)
MyTimer_Base_Init 0x080002f5 Thumb Code 140 driver_timer.o(.text.MyTimer_Base_Init)
MyTimer_ConfigurePWM 0x08000381 Thumb Code 168 driver_timer.o(.text.MyTimer_ConfigurePWM)
MyTimer_Start 0x08000429 Thumb Code 12 driver_timer.o(.text.MyTimer_Start)
MyUART_Init 0x08000435 Thumb Code 58 driver_uart.o(.text.MyUART_Init)
MyUART_ReceiveByte 0x08000471 Thumb Code 24 driver_uart.o(.text.MyUART_ReceiveByte)
MyUART_SendByte 0x08000489 Thumb Code 20 driver_uart.o(.text.MyUART_SendByte)
SystemInit 0x0800049d Thumb Code 272 system_stm32f10x.o(.text.SystemInit)
TIM2_IRQHandler 0x080005ad Thumb Code 26 driver_timer.o(.text.TIM2_IRQHandler)
TIM3_IRQHandler 0x080005c9 Thumb Code 28 driver_timer.o(.text.TIM3_IRQHandler)
TIM4_IRQHandler 0x080005e5 Thumb Code 28 driver_timer.o(.text.TIM4_IRQHandler)
main 0x08000601 Thumb Code 168 main.o(.text.main)
Region$$Table$$Base 0x080006a8 Number 0 anon$$obj.o(Region$$Table)
Region$$Table$$Limit 0x080006c8 Number 0 anon$$obj.o(Region$$Table)
TIM2_fx 0x20000000 Data 4 driver_timer.o(.data.TIM2_fx)
TIM3_fx 0x20000004 Data 4 driver_timer.o(.data.TIM3_fx)
TIM4_fx 0x20000008 Data 4 driver_timer.o(.data.TIM4_fx)
__libspace_start 0x20000010 Data 96 libspace.o(.bss)
__temporary_stack_top$libspace 0x20000070 Data 0 libspace.o(.bss)
>>>>>>> encoder
@ -736,240 +527,108 @@ Memory Map of the image
Image Entry point : 0x08000189
<<<<<<< HEAD
<<<<<<< HEAD
Load Region LR_1 (Base: 0x08000000, Size: 0x000007b4, Max: 0xffffffff, ABSOLUTE)
Load Region LR_1 (Base: 0x08000000, Size: 0x000006d4, Max: 0xffffffff, ABSOLUTE)
Execution Region ER_RO (Exec base: 0x08000000, Load base: 0x08000000, Size: 0x000007a0, Max: 0xffffffff, ABSOLUTE)
Execution Region ER_RO (Exec base: 0x08000000, Load base: 0x08000000, Size: 0x000006c8, Max: 0xffffffff, ABSOLUTE)
Exec Addr Load Addr Size Type Attr Idx E Section Name Object
0x08000000 0x08000000 0x000000ec Data RO 113 RESET startup_stm32f10x_md.o
0x080000ec 0x080000ec 0x00000008 Code RO 155 * !!!main c_w.l(__main.o)
0x080000f4 0x080000f4 0x00000034 Code RO 320 !!!scatter c_w.l(__scatter.o)
0x08000128 0x08000128 0x0000001a Code RO 322 !!handler_copy c_w.l(__scatter_copy.o)
0x08000000 0x08000000 0x000000ec Data RO 73 RESET startup_stm32f10x_md.o
0x080000ec 0x080000ec 0x00000008 Code RO 98 * !!!main c_w.l(__main.o)
0x080000f4 0x080000f4 0x00000034 Code RO 263 !!!scatter c_w.l(__scatter.o)
0x08000128 0x08000128 0x0000001a Code RO 265 !!handler_copy c_w.l(__scatter_copy.o)
0x08000142 0x08000142 0x00000002 PAD
0x08000144 0x08000144 0x0000001c Code RO 324 !!handler_zi c_w.l(__scatter_zi.o)
0x08000160 0x08000160 0x00000002 Code RO 182 .ARM.Collect$$libinit$$00000000 c_w.l(libinit.o)
0x08000162 0x08000162 0x00000000 Code RO 189 .ARM.Collect$$libinit$$00000002 c_w.l(libinit2.o)
0x08000162 0x08000162 0x00000000 Code RO 191 .ARM.Collect$$libinit$$00000004 c_w.l(libinit2.o)
0x08000162 0x08000162 0x00000000 Code RO 193 .ARM.Collect$$libinit$$00000006 c_w.l(libinit2.o)
0x08000162 0x08000162 0x00000000 Code RO 196 .ARM.Collect$$libinit$$0000000C c_w.l(libinit2.o)
0x08000162 0x08000162 0x00000000 Code RO 198 .ARM.Collect$$libinit$$0000000E c_w.l(libinit2.o)
0x08000162 0x08000162 0x00000000 Code RO 200 .ARM.Collect$$libinit$$00000010 c_w.l(libinit2.o)
0x08000162 0x08000162 0x00000000 Code RO 203 .ARM.Collect$$libinit$$00000013 c_w.l(libinit2.o)
0x08000162 0x08000162 0x00000000 Code RO 205 .ARM.Collect$$libinit$$00000015 c_w.l(libinit2.o)
0x08000162 0x08000162 0x00000000 Code RO 207 .ARM.Collect$$libinit$$00000017 c_w.l(libinit2.o)
0x08000162 0x08000162 0x00000000 Code RO 209 .ARM.Collect$$libinit$$00000019 c_w.l(libinit2.o)
0x08000162 0x08000162 0x00000000 Code RO 211 .ARM.Collect$$libinit$$0000001B c_w.l(libinit2.o)
0x08000162 0x08000162 0x00000000 Code RO 213 .ARM.Collect$$libinit$$0000001D c_w.l(libinit2.o)
0x08000162 0x08000162 0x00000000 Code RO 215 .ARM.Collect$$libinit$$0000001F c_w.l(libinit2.o)
0x08000162 0x08000162 0x00000000 Code RO 217 .ARM.Collect$$libinit$$00000021 c_w.l(libinit2.o)
0x08000162 0x08000162 0x00000000 Code RO 219 .ARM.Collect$$libinit$$00000023 c_w.l(libinit2.o)
0x08000162 0x08000162 0x00000000 Code RO 221 .ARM.Collect$$libinit$$00000025 c_w.l(libinit2.o)
0x08000162 0x08000162 0x00000000 Code RO 223 .ARM.Collect$$libinit$$00000027 c_w.l(libinit2.o)
0x08000162 0x08000162 0x00000000 Code RO 227 .ARM.Collect$$libinit$$0000002E c_w.l(libinit2.o)
0x08000162 0x08000162 0x00000000 Code RO 229 .ARM.Collect$$libinit$$00000030 c_w.l(libinit2.o)
0x08000162 0x08000162 0x00000000 Code RO 231 .ARM.Collect$$libinit$$00000032 c_w.l(libinit2.o)
0x08000162 0x08000162 0x00000000 Code RO 233 .ARM.Collect$$libinit$$00000034 c_w.l(libinit2.o)
0x08000162 0x08000162 0x00000002 Code RO 234 .ARM.Collect$$libinit$$00000035 c_w.l(libinit2.o)
0x08000164 0x08000164 0x00000002 Code RO 256 .ARM.Collect$$libshutdown$$00000000 c_w.l(libshutdown.o)
0x08000166 0x08000166 0x00000000 Code RO 271 .ARM.Collect$$libshutdown$$00000002 c_w.l(libshutdown2.o)
0x08000166 0x08000166 0x00000000 Code RO 273 .ARM.Collect$$libshutdown$$00000004 c_w.l(libshutdown2.o)
0x08000166 0x08000166 0x00000000 Code RO 276 .ARM.Collect$$libshutdown$$00000007 c_w.l(libshutdown2.o)
0x08000166 0x08000166 0x00000000 Code RO 279 .ARM.Collect$$libshutdown$$0000000A c_w.l(libshutdown2.o)
0x08000166 0x08000166 0x00000000 Code RO 281 .ARM.Collect$$libshutdown$$0000000C c_w.l(libshutdown2.o)
0x08000166 0x08000166 0x00000000 Code RO 284 .ARM.Collect$$libshutdown$$0000000F c_w.l(libshutdown2.o)
0x08000166 0x08000166 0x00000002 Code RO 285 .ARM.Collect$$libshutdown$$00000010 c_w.l(libshutdown2.o)
0x08000168 0x08000168 0x00000000 Code RO 157 .ARM.Collect$$rtentry$$00000000 c_w.l(__rtentry.o)
0x08000168 0x08000168 0x00000000 Code RO 159 .ARM.Collect$$rtentry$$00000002 c_w.l(__rtentry2.o)
0x08000168 0x08000168 0x00000006 Code RO 171 .ARM.Collect$$rtentry$$00000004 c_w.l(__rtentry4.o)
0x0800016e 0x0800016e 0x00000000 Code RO 161 .ARM.Collect$$rtentry$$00000009 c_w.l(__rtentry2.o)
0x0800016e 0x0800016e 0x00000004 Code RO 162 .ARM.Collect$$rtentry$$0000000A c_w.l(__rtentry2.o)
0x08000172 0x08000172 0x00000000 Code RO 164 .ARM.Collect$$rtentry$$0000000C c_w.l(__rtentry2.o)
0x08000172 0x08000172 0x00000008 Code RO 165 .ARM.Collect$$rtentry$$0000000D c_w.l(__rtentry2.o)
0x0800017a 0x0800017a 0x00000002 Code RO 186 .ARM.Collect$$rtexit$$00000000 c_w.l(rtexit.o)
0x0800017c 0x0800017c 0x00000000 Code RO 236 .ARM.Collect$$rtexit$$00000002 c_w.l(rtexit2.o)
0x0800017c 0x0800017c 0x00000004 Code RO 237 .ARM.Collect$$rtexit$$00000003 c_w.l(rtexit2.o)
0x08000180 0x08000180 0x00000006 Code RO 238 .ARM.Collect$$rtexit$$00000004 c_w.l(rtexit2.o)
0x08000144 0x08000144 0x0000001c Code RO 267 !!handler_zi c_w.l(__scatter_zi.o)
0x08000160 0x08000160 0x00000002 Code RO 125 .ARM.Collect$$libinit$$00000000 c_w.l(libinit.o)
0x08000162 0x08000162 0x00000000 Code RO 132 .ARM.Collect$$libinit$$00000002 c_w.l(libinit2.o)
0x08000162 0x08000162 0x00000000 Code RO 134 .ARM.Collect$$libinit$$00000004 c_w.l(libinit2.o)
0x08000162 0x08000162 0x00000000 Code RO 136 .ARM.Collect$$libinit$$00000006 c_w.l(libinit2.o)
0x08000162 0x08000162 0x00000000 Code RO 139 .ARM.Collect$$libinit$$0000000C c_w.l(libinit2.o)
0x08000162 0x08000162 0x00000000 Code RO 141 .ARM.Collect$$libinit$$0000000E c_w.l(libinit2.o)
0x08000162 0x08000162 0x00000000 Code RO 143 .ARM.Collect$$libinit$$00000010 c_w.l(libinit2.o)
0x08000162 0x08000162 0x00000000 Code RO 146 .ARM.Collect$$libinit$$00000013 c_w.l(libinit2.o)
0x08000162 0x08000162 0x00000000 Code RO 148 .ARM.Collect$$libinit$$00000015 c_w.l(libinit2.o)
0x08000162 0x08000162 0x00000000 Code RO 150 .ARM.Collect$$libinit$$00000017 c_w.l(libinit2.o)
0x08000162 0x08000162 0x00000000 Code RO 152 .ARM.Collect$$libinit$$00000019 c_w.l(libinit2.o)
0x08000162 0x08000162 0x00000000 Code RO 154 .ARM.Collect$$libinit$$0000001B c_w.l(libinit2.o)
0x08000162 0x08000162 0x00000000 Code RO 156 .ARM.Collect$$libinit$$0000001D c_w.l(libinit2.o)
0x08000162 0x08000162 0x00000000 Code RO 158 .ARM.Collect$$libinit$$0000001F c_w.l(libinit2.o)
0x08000162 0x08000162 0x00000000 Code RO 160 .ARM.Collect$$libinit$$00000021 c_w.l(libinit2.o)
0x08000162 0x08000162 0x00000000 Code RO 162 .ARM.Collect$$libinit$$00000023 c_w.l(libinit2.o)
0x08000162 0x08000162 0x00000000 Code RO 164 .ARM.Collect$$libinit$$00000025 c_w.l(libinit2.o)
0x08000162 0x08000162 0x00000000 Code RO 166 .ARM.Collect$$libinit$$00000027 c_w.l(libinit2.o)
0x08000162 0x08000162 0x00000000 Code RO 170 .ARM.Collect$$libinit$$0000002E c_w.l(libinit2.o)
0x08000162 0x08000162 0x00000000 Code RO 172 .ARM.Collect$$libinit$$00000030 c_w.l(libinit2.o)
0x08000162 0x08000162 0x00000000 Code RO 174 .ARM.Collect$$libinit$$00000032 c_w.l(libinit2.o)
0x08000162 0x08000162 0x00000000 Code RO 176 .ARM.Collect$$libinit$$00000034 c_w.l(libinit2.o)
0x08000162 0x08000162 0x00000002 Code RO 177 .ARM.Collect$$libinit$$00000035 c_w.l(libinit2.o)
0x08000164 0x08000164 0x00000002 Code RO 199 .ARM.Collect$$libshutdown$$00000000 c_w.l(libshutdown.o)
0x08000166 0x08000166 0x00000000 Code RO 214 .ARM.Collect$$libshutdown$$00000002 c_w.l(libshutdown2.o)
0x08000166 0x08000166 0x00000000 Code RO 216 .ARM.Collect$$libshutdown$$00000004 c_w.l(libshutdown2.o)
0x08000166 0x08000166 0x00000000 Code RO 219 .ARM.Collect$$libshutdown$$00000007 c_w.l(libshutdown2.o)
0x08000166 0x08000166 0x00000000 Code RO 222 .ARM.Collect$$libshutdown$$0000000A c_w.l(libshutdown2.o)
0x08000166 0x08000166 0x00000000 Code RO 224 .ARM.Collect$$libshutdown$$0000000C c_w.l(libshutdown2.o)
0x08000166 0x08000166 0x00000000 Code RO 227 .ARM.Collect$$libshutdown$$0000000F c_w.l(libshutdown2.o)
0x08000166 0x08000166 0x00000002 Code RO 228 .ARM.Collect$$libshutdown$$00000010 c_w.l(libshutdown2.o)
0x08000168 0x08000168 0x00000000 Code RO 100 .ARM.Collect$$rtentry$$00000000 c_w.l(__rtentry.o)
0x08000168 0x08000168 0x00000000 Code RO 102 .ARM.Collect$$rtentry$$00000002 c_w.l(__rtentry2.o)
0x08000168 0x08000168 0x00000006 Code RO 114 .ARM.Collect$$rtentry$$00000004 c_w.l(__rtentry4.o)
0x0800016e 0x0800016e 0x00000000 Code RO 104 .ARM.Collect$$rtentry$$00000009 c_w.l(__rtentry2.o)
0x0800016e 0x0800016e 0x00000004 Code RO 105 .ARM.Collect$$rtentry$$0000000A c_w.l(__rtentry2.o)
0x08000172 0x08000172 0x00000000 Code RO 107 .ARM.Collect$$rtentry$$0000000C c_w.l(__rtentry2.o)
0x08000172 0x08000172 0x00000008 Code RO 108 .ARM.Collect$$rtentry$$0000000D c_w.l(__rtentry2.o)
0x0800017a 0x0800017a 0x00000002 Code RO 129 .ARM.Collect$$rtexit$$00000000 c_w.l(rtexit.o)
0x0800017c 0x0800017c 0x00000000 Code RO 179 .ARM.Collect$$rtexit$$00000002 c_w.l(rtexit2.o)
0x0800017c 0x0800017c 0x00000004 Code RO 180 .ARM.Collect$$rtexit$$00000003 c_w.l(rtexit2.o)
0x08000180 0x08000180 0x00000006 Code RO 181 .ARM.Collect$$rtexit$$00000004 c_w.l(rtexit2.o)
0x08000186 0x08000186 0x00000002 PAD
0x08000188 0x08000188 0x00000040 Code RO 114 * .text startup_stm32f10x_md.o
0x080001c8 0x080001c8 0x00000006 Code RO 153 .text c_w.l(heapauxi.o)
0x080001ce 0x080001ce 0x0000004a Code RO 173 .text c_w.l(sys_stackheap_outer.o)
0x08000218 0x08000218 0x00000012 Code RO 175 .text c_w.l(exit.o)
0x08000188 0x08000188 0x00000040 Code RO 74 * .text startup_stm32f10x_md.o
0x080001c8 0x080001c8 0x00000006 Code RO 96 .text c_w.l(heapauxi.o)
0x080001ce 0x080001ce 0x0000004a Code RO 116 .text c_w.l(sys_stackheap_outer.o)
0x08000218 0x08000218 0x00000012 Code RO 118 .text c_w.l(exit.o)
0x0800022a 0x0800022a 0x00000002 PAD
0x0800022c 0x0800022c 0x00000008 Code RO 183 .text c_w.l(libspace.o)
0x08000234 0x08000234 0x0000000c Code RO 246 .text c_w.l(sys_exit.o)
0x08000240 0x08000240 0x00000002 Code RO 261 .text c_w.l(use_no_semi.o)
0x08000242 0x08000242 0x00000000 Code RO 263 .text c_w.l(indicate_semi.o)
0x0800022c 0x0800022c 0x00000008 Code RO 126 .text c_w.l(libspace.o)
0x08000234 0x08000234 0x0000000c Code RO 189 .text c_w.l(sys_exit.o)
0x08000240 0x08000240 0x00000002 Code RO 204 .text c_w.l(use_no_semi.o)
0x08000242 0x08000242 0x00000000 Code RO 206 .text c_w.l(indicate_semi.o)
0x08000242 0x08000242 0x00000002 PAD
0x08000244 0x08000244 0x0000001c Code RO 84 .text.ADC1_2_IRQHandler driver_adc.o
0x08000260 0x08000260 0x00000002 Code RO 39 .text.Bug driver_timer.o
0x08000262 0x08000262 0x00000002 PAD
0x08000264 0x08000264 0x00000110 Code RO 121 .text.SystemInit system_stm32f10x.o
0x08000374 0x08000374 0x0000001a Code RO 43 .text.TIM2_IRQHandler driver_timer.o
0x0800038e 0x0800038e 0x00000002 PAD
0x08000390 0x08000390 0x0000001c Code RO 45 .text.TIM3_IRQHandler driver_timer.o
0x080003ac 0x080003ac 0x0000001c Code RO 47 .text.TIM4_IRQHandler driver_timer.o
0x080003c8 0x080003c8 0x0000000e Code RO 66 .text.USART3_IRQHandler driver_uart.o
0x080003d6 0x080003d6 0x00000002 PAD
0x080003d8 0x080003d8 0x0000004e Code RO 97 .text.driver_IMU_init driver_imu.o
0x08000426 0x08000426 0x00000002 PAD
0x08000428 0x08000428 0x00000030 Code RO 99 .text.driver_IMU_read driver_imu.o
0x08000458 0x08000458 0x00000012 Code RO 80 .text.driver_adc_1_launch_read driver_adc.o
0x0800046a 0x0800046a 0x00000002 PAD
0x0800046c 0x0800046c 0x00000002 Code RO 76 .text.erreur driver_adc.o
0x08000244 0x08000244 0x00000002 Code RO 37 .text.Bug driver_timer.o
0x08000246 0x08000246 0x00000002 PAD
0x08000248 0x08000248 0x0000009c Code RO 11 .text.MyGPIO_Init driver_gpio.o
0x080002e4 0x080002e4 0x0000000e Code RO 15 .text.MyGPIO_Set driver_gpio.o
0x080002f2 0x080002f2 0x00000002 PAD
0x080002f4 0x080002f4 0x0000008c Code RO 29 .text.MyTimer_Base_Init driver_timer.o
0x08000380 0x08000380 0x000000a8 Code RO 35 .text.MyTimer_ConfigurePWM driver_timer.o
0x08000428 0x08000428 0x0000000c Code RO 31 .text.MyTimer_Start driver_timer.o
0x08000434 0x08000434 0x0000003a Code RO 58 .text.MyUART_Init driver_uart.o
0x0800046e 0x0800046e 0x00000002 PAD
0x08000470 0x08000470 0x0000001c Code RO 2 .text.main main.o
0x0800048c 0x0800048c 0x00000030 Code RO 137 i.MySPI_Clear_NSS Lib_Com_Periph_2022.lib(myspi.o)
0x080004bc 0x080004bc 0x000001f4 Code RO 138 i.MySPI_Init Lib_Com_Periph_2022.lib(myspi.o)
0x080006b0 0x080006b0 0x00000054 Code RO 139 i.MySPI_Read Lib_Com_Periph_2022.lib(myspi.o)
0x08000704 0x08000704 0x00000050 Code RO 140 i.MySPI_Send Lib_Com_Periph_2022.lib(myspi.o)
0x08000754 0x08000754 0x0000002c Code RO 141 i.MySPI_Set_NSS Lib_Com_Periph_2022.lib(myspi.o)
0x08000780 0x08000780 0x00000020 Data RO 319 Region$$Table anon$$obj.o
0x08000470 0x08000470 0x00000018 Code RO 62 .text.MyUART_ReceiveByte driver_uart.o
0x08000488 0x08000488 0x00000014 Code RO 60 .text.MyUART_SendByte driver_uart.o
0x0800049c 0x0800049c 0x00000110 Code RO 81 .text.SystemInit system_stm32f10x.o
0x080005ac 0x080005ac 0x0000001a Code RO 41 .text.TIM2_IRQHandler driver_timer.o
0x080005c6 0x080005c6 0x00000002 PAD
0x080005c8 0x080005c8 0x0000001c Code RO 43 .text.TIM3_IRQHandler driver_timer.o
0x080005e4 0x080005e4 0x0000001c Code RO 45 .text.TIM4_IRQHandler driver_timer.o
0x08000600 0x08000600 0x000000a8 Code RO 2 .text.main main.o
0x080006a8 0x080006a8 0x00000020 Data RO 262 Region$$Table anon$$obj.o
Execution Region ER_RW (Exec base: 0x20000000, Load base: 0x080007a0, Size: 0x00000014, Max: 0xffffffff, ABSOLUTE)
Execution Region ER_RW (Exec base: 0x20000000, Load base: 0x080006c8, Size: 0x0000000c, Max: 0xffffffff, ABSOLUTE)
Exec Addr Load Addr Size Type Attr Idx E Section Name Object
0x20000000 0x080007a0 0x00000004 Data RW 142 .data Lib_Com_Periph_2022.lib(myspi.o)
0x20000004 0x080007a4 0x00000004 Data RW 86 .data.ADC1_2_fx driver_adc.o
0x20000008 0x080007a8 0x00000004 Data RW 49 .data.TIM2_fx driver_timer.o
0x2000000c 0x080007ac 0x00000004 Data RW 50 .data.TIM3_fx driver_timer.o
0x20000010 0x080007b0 0x00000004 Data RW 51 .data.TIM4_fx driver_timer.o
0x20000000 0x080006c8 0x00000004 Data RW 47 .data.TIM2_fx driver_timer.o
0x20000004 0x080006cc 0x00000004 Data RW 48 .data.TIM3_fx driver_timer.o
0x20000008 0x080006d0 0x00000004 Data RW 49 .data.TIM4_fx driver_timer.o
Execution Region ER_ZI (Exec base: 0x20000018, Load base: 0x080007b4, Size: 0x00000660, Max: 0xffffffff, ABSOLUTE)
Execution Region ER_ZI (Exec base: 0x20000010, Load base: 0x080006d4, Size: 0x00000660, Max: 0xffffffff, ABSOLUTE)
Exec Addr Load Addr Size Type Attr Idx E Section Name Object
0x20000018 - 0x00000060 Zero RW 184 .bss c_w.l(libspace.o)
0x20000078 - 0x00000200 Zero RW 112 HEAP startup_stm32f10x_md.o
0x20000278 - 0x00000400 Zero RW 111 STACK startup_stm32f10x_md.o
=======
Load Region LR_1 (Base: 0x08000000, Size: 0x000006b8, Max: 0xffffffff, ABSOLUTE)
=======
Load Region LR_1 (Base: 0x08000000, Size: 0x00000714, Max: 0xffffffff, ABSOLUTE)
>>>>>>> encoder
Execution Region ER_RO (Exec base: 0x08000000, Load base: 0x08000000, Size: 0x00000704, Max: 0xffffffff, ABSOLUTE)
Exec Addr Load Addr Size Type Attr Idx E Section Name Object
0x08000000 0x08000000 0x000000ec Data RO 116 RESET startup_stm32f10x_md.o
0x080000ec 0x080000ec 0x00000008 Code RO 141 * !!!main c_w.l(__main.o)
0x080000f4 0x080000f4 0x00000034 Code RO 306 !!!scatter c_w.l(__scatter.o)
0x08000128 0x08000128 0x0000001a Code RO 308 !!handler_copy c_w.l(__scatter_copy.o)
0x08000142 0x08000142 0x00000002 PAD
0x08000144 0x08000144 0x0000001c Code RO 310 !!handler_zi c_w.l(__scatter_zi.o)
0x08000160 0x08000160 0x00000002 Code RO 168 .ARM.Collect$$libinit$$00000000 c_w.l(libinit.o)
0x08000162 0x08000162 0x00000000 Code RO 175 .ARM.Collect$$libinit$$00000002 c_w.l(libinit2.o)
0x08000162 0x08000162 0x00000000 Code RO 177 .ARM.Collect$$libinit$$00000004 c_w.l(libinit2.o)
0x08000162 0x08000162 0x00000000 Code RO 179 .ARM.Collect$$libinit$$00000006 c_w.l(libinit2.o)
0x08000162 0x08000162 0x00000000 Code RO 182 .ARM.Collect$$libinit$$0000000C c_w.l(libinit2.o)
0x08000162 0x08000162 0x00000000 Code RO 184 .ARM.Collect$$libinit$$0000000E c_w.l(libinit2.o)
0x08000162 0x08000162 0x00000000 Code RO 186 .ARM.Collect$$libinit$$00000010 c_w.l(libinit2.o)
0x08000162 0x08000162 0x00000000 Code RO 189 .ARM.Collect$$libinit$$00000013 c_w.l(libinit2.o)
0x08000162 0x08000162 0x00000000 Code RO 191 .ARM.Collect$$libinit$$00000015 c_w.l(libinit2.o)
0x08000162 0x08000162 0x00000000 Code RO 193 .ARM.Collect$$libinit$$00000017 c_w.l(libinit2.o)
0x08000162 0x08000162 0x00000000 Code RO 195 .ARM.Collect$$libinit$$00000019 c_w.l(libinit2.o)
0x08000162 0x08000162 0x00000000 Code RO 197 .ARM.Collect$$libinit$$0000001B c_w.l(libinit2.o)
0x08000162 0x08000162 0x00000000 Code RO 199 .ARM.Collect$$libinit$$0000001D c_w.l(libinit2.o)
0x08000162 0x08000162 0x00000000 Code RO 201 .ARM.Collect$$libinit$$0000001F c_w.l(libinit2.o)
0x08000162 0x08000162 0x00000000 Code RO 203 .ARM.Collect$$libinit$$00000021 c_w.l(libinit2.o)
0x08000162 0x08000162 0x00000000 Code RO 205 .ARM.Collect$$libinit$$00000023 c_w.l(libinit2.o)
0x08000162 0x08000162 0x00000000 Code RO 207 .ARM.Collect$$libinit$$00000025 c_w.l(libinit2.o)
0x08000162 0x08000162 0x00000000 Code RO 209 .ARM.Collect$$libinit$$00000027 c_w.l(libinit2.o)
0x08000162 0x08000162 0x00000000 Code RO 213 .ARM.Collect$$libinit$$0000002E c_w.l(libinit2.o)
0x08000162 0x08000162 0x00000000 Code RO 215 .ARM.Collect$$libinit$$00000030 c_w.l(libinit2.o)
0x08000162 0x08000162 0x00000000 Code RO 217 .ARM.Collect$$libinit$$00000032 c_w.l(libinit2.o)
0x08000162 0x08000162 0x00000000 Code RO 219 .ARM.Collect$$libinit$$00000034 c_w.l(libinit2.o)
0x08000162 0x08000162 0x00000002 Code RO 220 .ARM.Collect$$libinit$$00000035 c_w.l(libinit2.o)
0x08000164 0x08000164 0x00000002 Code RO 242 .ARM.Collect$$libshutdown$$00000000 c_w.l(libshutdown.o)
0x08000166 0x08000166 0x00000000 Code RO 257 .ARM.Collect$$libshutdown$$00000002 c_w.l(libshutdown2.o)
0x08000166 0x08000166 0x00000000 Code RO 259 .ARM.Collect$$libshutdown$$00000004 c_w.l(libshutdown2.o)
0x08000166 0x08000166 0x00000000 Code RO 262 .ARM.Collect$$libshutdown$$00000007 c_w.l(libshutdown2.o)
0x08000166 0x08000166 0x00000000 Code RO 265 .ARM.Collect$$libshutdown$$0000000A c_w.l(libshutdown2.o)
0x08000166 0x08000166 0x00000000 Code RO 267 .ARM.Collect$$libshutdown$$0000000C c_w.l(libshutdown2.o)
0x08000166 0x08000166 0x00000000 Code RO 270 .ARM.Collect$$libshutdown$$0000000F c_w.l(libshutdown2.o)
0x08000166 0x08000166 0x00000002 Code RO 271 .ARM.Collect$$libshutdown$$00000010 c_w.l(libshutdown2.o)
0x08000168 0x08000168 0x00000000 Code RO 143 .ARM.Collect$$rtentry$$00000000 c_w.l(__rtentry.o)
0x08000168 0x08000168 0x00000000 Code RO 145 .ARM.Collect$$rtentry$$00000002 c_w.l(__rtentry2.o)
0x08000168 0x08000168 0x00000006 Code RO 157 .ARM.Collect$$rtentry$$00000004 c_w.l(__rtentry4.o)
0x0800016e 0x0800016e 0x00000000 Code RO 147 .ARM.Collect$$rtentry$$00000009 c_w.l(__rtentry2.o)
0x0800016e 0x0800016e 0x00000004 Code RO 148 .ARM.Collect$$rtentry$$0000000A c_w.l(__rtentry2.o)
0x08000172 0x08000172 0x00000000 Code RO 150 .ARM.Collect$$rtentry$$0000000C c_w.l(__rtentry2.o)
0x08000172 0x08000172 0x00000008 Code RO 151 .ARM.Collect$$rtentry$$0000000D c_w.l(__rtentry2.o)
0x0800017a 0x0800017a 0x00000002 Code RO 172 .ARM.Collect$$rtexit$$00000000 c_w.l(rtexit.o)
0x0800017c 0x0800017c 0x00000000 Code RO 222 .ARM.Collect$$rtexit$$00000002 c_w.l(rtexit2.o)
0x0800017c 0x0800017c 0x00000004 Code RO 223 .ARM.Collect$$rtexit$$00000003 c_w.l(rtexit2.o)
0x08000180 0x08000180 0x00000006 Code RO 224 .ARM.Collect$$rtexit$$00000004 c_w.l(rtexit2.o)
0x08000186 0x08000186 0x00000002 PAD
0x08000188 0x08000188 0x00000040 Code RO 117 * .text startup_stm32f10x_md.o
0x080001c8 0x080001c8 0x00000006 Code RO 139 .text c_w.l(heapauxi.o)
0x080001ce 0x080001ce 0x0000004a Code RO 159 .text c_w.l(sys_stackheap_outer.o)
0x08000218 0x08000218 0x00000012 Code RO 161 .text c_w.l(exit.o)
0x0800022a 0x0800022a 0x00000002 PAD
0x0800022c 0x0800022c 0x00000008 Code RO 169 .text c_w.l(libspace.o)
0x08000234 0x08000234 0x0000000c Code RO 232 .text c_w.l(sys_exit.o)
0x08000240 0x08000240 0x00000002 Code RO 247 .text c_w.l(use_no_semi.o)
0x08000242 0x08000242 0x00000000 Code RO 249 .text c_w.l(indicate_semi.o)
0x08000242 0x08000242 0x00000002 PAD
0x08000244 0x08000244 0x0000001c Code RO 104 .text.ADC1_2_IRQHandler driver_adc.o
0x08000260 0x08000260 0x0000001a Code RO 13 .text.App_Girouette_GetDirection app_girouette.o
0x0800027a 0x0800027a 0x00000002 PAD
0x0800027c 0x0800027c 0x00000050 Code RO 11 .text.App_Girouette_Init app_girouette.o
0x080002cc 0x080002cc 0x00000002 Code RO 53 .text.Bug driver_timer.o
0x080002ce 0x080002ce 0x00000002 PAD
0x080002d0 0x080002d0 0x00000002 Code RO 67 .text.EXTI3_IRQHandler driver_timer.o
0x080002d2 0x080002d2 0x00000002 PAD
0x080002d4 0x080002d4 0x0000009c Code RO 23 .text.MyGPIO_Init driver_gpio.o
0x08000370 0x08000370 0x0000008c Code RO 41 .text.MyTimer_Base_Init driver_timer.o
0x080003fc 0x080003fc 0x000000a8 Code RO 51 .text.MyTimer_ConfigureEncoder driver_timer.o
0x080004a4 0x080004a4 0x0000000c Code RO 43 .text.MyTimer_Start driver_timer.o
0x080004b0 0x080004b0 0x0000004c Code RO 80 .text.MyUART_Init driver_uart.o
0x080004fc 0x080004fc 0x00000016 Code RO 82 .text.MyUART_SendByte driver_uart.o
0x08000512 0x08000512 0x00000002 PAD
0x08000514 0x08000514 0x00000110 Code RO 124 .text.SystemInit system_stm32f10x.o
0x08000624 0x08000624 0x0000001a Code RO 59 .text.TIM2_IRQHandler driver_timer.o
0x0800063e 0x0800063e 0x00000002 PAD
0x08000640 0x08000640 0x0000001c Code RO 61 .text.TIM3_IRQHandler driver_timer.o
0x0800065c 0x0800065c 0x0000001c Code RO 63 .text.TIM4_IRQHandler driver_timer.o
0x08000678 0x08000678 0x00000004 Code RO 57 .text.TIM_GetCounter driver_timer.o
0x0800067c 0x0800067c 0x0000000e Code RO 86 .text.USART3_IRQHandler driver_uart.o
0x0800068a 0x0800068a 0x00000002 PAD
0x0800068c 0x0800068c 0x00000002 Code RO 96 .text.erreur driver_adc.o
0x0800068e 0x0800068e 0x00000002 PAD
0x08000690 0x08000690 0x00000052 Code RO 2 .text.main main.o
0x080006e2 0x080006e2 0x00000002 PAD
0x080006e4 0x080006e4 0x00000020 Data RO 305 Region$$Table anon$$obj.o
Execution Region ER_RW (Exec base: 0x20000000, Load base: 0x08000704, Size: 0x00000010, Max: 0xffffffff, ABSOLUTE)
Exec Addr Load Addr Size Type Attr Idx E Section Name Object
0x20000000 0x08000704 0x00000004 Data RW 106 .data.ADC1_2_fx driver_adc.o
0x20000004 0x08000708 0x00000004 Data RW 69 .data.TIM2_fx driver_timer.o
0x20000008 0x0800070c 0x00000004 Data RW 70 .data.TIM3_fx driver_timer.o
0x2000000c 0x08000710 0x00000004 Data RW 71 .data.TIM4_fx driver_timer.o
Execution Region ER_ZI (Exec base: 0x20000010, Load base: 0x08000714, Size: 0x00000660, Max: 0xffffffff, ABSOLUTE)
Exec Addr Load Addr Size Type Attr Idx E Section Name Object
<<<<<<< HEAD
0x20000010 - 0x00000060 Zero RW 156 .bss c_w.l(libspace.o)
0x20000070 - 0x00000200 Zero RW 101 HEAP startup_stm32f10x_md.o
0x20000270 - 0x00000400 Zero RW 100 STACK startup_stm32f10x_md.o
>>>>>>> encoder
=======
0x20000010 - 0x00000060 Zero RW 170 .bss c_w.l(libspace.o)
0x20000070 - 0x00000200 Zero RW 115 HEAP startup_stm32f10x_md.o
0x20000270 - 0x00000400 Zero RW 114 STACK startup_stm32f10x_md.o
>>>>>>> encoder
0x20000010 - 0x00000060 Zero RW 127 .bss c_w.l(libspace.o)
0x20000070 - 0x00000200 Zero RW 72 HEAP startup_stm32f10x_md.o
0x20000270 - 0x00000400 Zero RW 71 STACK startup_stm32f10x_md.o
==============================================================================
@ -979,49 +638,22 @@ Image component sizes
Code (inc. data) RO Data RW Data ZI Data Debug Object Name
<<<<<<< HEAD
<<<<<<< HEAD
48 0 0 4 0 4525 driver_adc.o
126 0 0 0 0 2309 driver_imu.o
84 0 0 12 0 6988 driver_timer.o
14 0 0 0 0 2250 driver_uart.o
28 0 0 0 0 1165 main.o
=======
30 0 0 4 0 4524 driver_adc.o
156 16 0 0 0 2108 driver_gpio.o
406 0 0 12 0 8028 driver_timer.o
90 0 0 0 0 2250 driver_uart.o
126 0 0 0 0 2548 main.o
>>>>>>> encoder
=======
106 0 0 0 0 2427 app_girouette.o
30 0 0 4 0 4524 driver_adc.o
156 16 0 0 0 2108 driver_gpio.o
410 0 0 12 0 8169 driver_timer.o
112 0 0 0 0 2250 driver_uart.o
82 0 0 0 0 1572 main.o
>>>>>>> encoder
170 16 0 0 0 2108 driver_gpio.o
404 4 0 12 0 6789 driver_timer.o
102 0 0 0 0 1970 driver_uart.o
168 0 0 0 0 2559 main.o
64 26 236 0 1536 864 startup_stm32f10x_md.o
272 0 0 0 0 2813 system_stm32f10x.o
----------------------------------------------------------------------
<<<<<<< HEAD
<<<<<<< HEAD
648 26 268 16 1536 20914 Object Totals
=======
1156 42 268 16 1536 23135 Object Totals
>>>>>>> encoder
=======
1248 42 268 16 1536 24727 Object Totals
>>>>>>> encoder
1188 46 268 12 1536 17103 Object Totals
0 0 32 0 0 0 (incl. Generated)
16 0 0 0 0 0 (incl. Padding)
8 0 0 0 0 0 (incl. Padding)
----------------------------------------------------------------------
Code (inc. data) RO Data RW Data ZI Data Debug Library Member Name
756 80 0 4 0 348 myspi.o
8 0 0 0 0 68 __main.o
0 0 0 0 0 0 __rtentry.o
12 0 0 0 0 0 __rtentry2.o
@ -1044,18 +676,17 @@ Image component sizes
2 0 0 0 0 68 use_no_semi.o
----------------------------------------------------------------------
1036 96 0 4 96 932 Library Totals
280 16 0 0 96 584 Library Totals
8 0 0 0 0 0 (incl. Padding)
----------------------------------------------------------------------
Code (inc. data) RO Data RW Data ZI Data Debug Library Name
756 80 0 4 0 348 Lib_Com_Periph_2022.lib
272 16 0 0 96 584 c_w.l
----------------------------------------------------------------------
1036 96 0 4 96 932 Library Totals
280 16 0 0 96 584 Library Totals
----------------------------------------------------------------------
@ -1064,37 +695,15 @@ Image component sizes
Code (inc. data) RO Data RW Data ZI Data Debug
<<<<<<< HEAD
<<<<<<< HEAD
1684 122 268 20 1632 21482 Grand Totals
1684 122 268 20 1632 21482 ELF Image Totals
1684 122 268 20 0 0 ROM Totals
1468 62 268 12 1632 17499 Grand Totals
1468 62 268 12 1632 17499 ELF Image Totals
1468 62 268 12 0 0 ROM Totals
==============================================================================
Total RO Size (Code + RO Data) 1952 ( 1.91kB)
Total RW Size (RW Data + ZI Data) 1652 ( 1.61kB)
Total ROM Size (Code + RO Data + RW Data) 1972 ( 1.93kB)
=======
1436 58 268 16 1632 23511 Grand Totals
1436 58 268 16 1632 23511 ELF Image Totals
1436 58 268 16 0 0 ROM Totals
=======
1528 58 268 16 1632 25083 Grand Totals
1528 58 268 16 1632 25083 ELF Image Totals
1528 58 268 16 0 0 ROM Totals
>>>>>>> encoder
==============================================================================
Total RO Size (Code + RO Data) 1796 ( 1.75kB)
Total RW Size (RW Data + ZI Data) 1648 ( 1.61kB)
<<<<<<< HEAD
Total ROM Size (Code + RO Data + RW Data) 1720 ( 1.68kB)
>>>>>>> encoder
=======
Total ROM Size (Code + RO Data + RW Data) 1812 ( 1.77kB)
>>>>>>> encoder
Total RO Size (Code + RO Data) 1736 ( 1.70kB)
Total RW Size (RW Data + ZI Data) 1644 ( 1.61kB)
Total ROM Size (Code + RO Data + RW Data) 1748 ( 1.71kB)
==============================================================================

File diff suppressed because it is too large Load diff

View file

@ -1,6 +1,6 @@
./objects/driver_gpio.o: ..\driver\Driver_GPIO.c ..\driver\Driver_GPIO.h \
C:\Users\robin\AppData\Local\Arm\Packs\Keil\STM32F1xx_DFP\2.4.0\Device\Include\stm32f10x.h \
RTE\_reel\RTE_Components.h \
RTE\_sim\RTE_Components.h \
C:\Users\robin\AppData\Local\Arm\Packs\ARM\CMSIS\5.9.0\CMSIS\Core\Include\core_cm3.h \
C:\Keil_v5\ARM\ARMCLANG\Bin\..\include\stdint.h \
C:\Users\robin\AppData\Local\Arm\Packs\ARM\CMSIS\5.9.0\CMSIS\Core\Include\cmsis_version.h \

Binary file not shown.

View file

@ -1,7 +1,7 @@
./objects/driver_timer.o: ..\driver\Driver_Timer.c \
..\driver\Driver_Timer.h \
C:\Users\robin\AppData\Local\Arm\Packs\Keil\STM32F1xx_DFP\2.4.0\Device\Include\stm32f10x.h \
RTE\_reel\RTE_Components.h \
RTE\_sim\RTE_Components.h \
C:\Users\robin\AppData\Local\Arm\Packs\ARM\CMSIS\5.9.0\CMSIS\Core\Include\core_cm3.h \
C:\Keil_v5\ARM\ARMCLANG\Bin\..\include\stdint.h \
C:\Users\robin\AppData\Local\Arm\Packs\ARM\CMSIS\5.9.0\CMSIS\Core\Include\cmsis_version.h \

View file

@ -1,6 +1,6 @@
./objects/driver_uart.o: ..\driver\Driver_UART.c ..\driver\Driver_UART.h \
C:\Users\robin\AppData\Local\Arm\Packs\Keil\STM32F1xx_DFP\2.4.0\Device\Include\stm32f10x.h \
RTE\_reel\RTE_Components.h \
RTE\_sim\RTE_Components.h \
C:\Users\robin\AppData\Local\Arm\Packs\ARM\CMSIS\5.9.0\CMSIS\Core\Include\core_cm3.h \
C:\Keil_v5\ARM\ARMCLANG\Bin\..\include\stdint.h \
C:\Users\robin\AppData\Local\Arm\Packs\ARM\CMSIS\5.9.0\CMSIS\Core\Include\cmsis_version.h \

Binary file not shown.

Binary file not shown.

View file

@ -1,6 +1,6 @@
./objects/main.o: src\main.c \
C:\Users\robin\AppData\Local\Arm\Packs\Keil\STM32F1xx_DFP\2.4.0\Device\Include\stm32f10x.h \
RTE\_reel\RTE_Components.h \
RTE\_sim\RTE_Components.h \
C:\Users\robin\AppData\Local\Arm\Packs\ARM\CMSIS\5.9.0\CMSIS\Core\Include\core_cm3.h \
C:\Keil_v5\ARM\ARMCLANG\Bin\..\include\stdint.h \
C:\Users\robin\AppData\Local\Arm\Packs\ARM\CMSIS\5.9.0\CMSIS\Core\Include\cmsis_version.h \
@ -8,5 +8,4 @@
C:\Users\robin\AppData\Local\Arm\Packs\ARM\CMSIS\5.9.0\CMSIS\Core\Include\cmsis_armclang.h \
C:\Users\robin\AppData\Local\Arm\Packs\Keil\STM32F1xx_DFP\2.4.0\Device\Include\system_stm32f10x.h \
..\driver\Driver_GPIO.h ..\driver\Driver_Timer.h \
..\driver\Driver_UART.h ..\driver\Driver_ADC.h ..\driver\MySPI.h \
..\driver\Driver_IMU.h src\App_girouette.h
..\driver\Driver_UART.h

Binary file not shown.

View file

@ -22,103 +22,24 @@ Dialog DLL: TARMSTM.DLL V1.67.1.0
<h2>Project:</h2>
C:\Users\robin\OneDrive\Documents\Dev\Projet-Voilier-3\projet-voilier\projet-voilier.uvprojx
Project File Date: 04/11/2023
Project File Date: 03/27/2023
<h2>Output:</h2>
*** Using Compiler 'V6.19', folder: 'C:\Keil_v5\ARM\ARMCLANG\Bin'
Rebuild target 'sim'
assembling startup_stm32f10x_md.s...
<<<<<<< HEAD
src/main.c(16): error: unknown type name 'Encoder'
Encoder->Timer = TIM4;
^
src/main.c(16): error: expected identifier or '('
Encoder->Timer = TIM4;
^
src/main.c(17): error: expected parameter declarator
MyTimer_Base_Init(&Encoder);
^
src/main.c(17): error: expected ')'
src/main.c(17): note: to match this '('
MyTimer_Base_Init(&Encoder);
^
src/main.c(17): warning: a function declaration without a prototype is deprecated in all versions of C and is treated as a zero-parameter prototype in C2x, conflicting with a previous declaration [-Wdeprecated-non-prototype]
MyTimer_Base_Init(&Encoder);
^
../driver\Driver_Timer.h(20): note: conflicting prototype is here
void MyTimer_Base_Init(MyTimer_Struct_TypeDef * Timer);
^
src/main.c(17): error: conflicting types for 'MyTimer_Base_Init'
MyTimer_Base_Init(&Encoder);
^
../driver\Driver_Timer.h(20): note: previous declaration is here
void MyTimer_Base_Init(MyTimer_Struct_TypeDef * Timer);
^
src/main.c(18): error: expected parameter declarator
MyTimer_ConfigureEncoder(&Encoder);
^
src/main.c(18): error: expected ')'
src/main.c(18): note: to match this '('
MyTimer_ConfigureEncoder(&Encoder);
^
src/main.c(18): warning: a function declaration without a prototype is deprecated in all versions of C and is treated as a zero-parameter prototype in C2x, conflicting with a previous declaration [-Wdeprecated-non-prototype]
MyTimer_ConfigureEncoder(&Encoder);
^
../driver\Driver_Timer.h(68): note: conflicting prototype is here
void MyTimer_ConfigureEncoder(MyTimer_Struct_TypeDef *Timer);
^
src/main.c(18): error: conflicting types for 'MyTimer_ConfigureEncoder'
MyTimer_ConfigureEncoder(&Encoder);
^
../driver\Driver_Timer.h(68): note: previous declaration is here
void MyTimer_ConfigureEncoder(MyTimer_Struct_TypeDef *Timer);
^
src/main.c(19): error: expected parameter declarator
MyTimer_Start(&Encoder);
^
src/main.c(19): error: expected ')'
src/main.c(19): note: to match this '('
MyTimer_Start(&Encoder);
^
src/main.c(19): warning: a function declaration without a prototype is deprecated in all versions of C and is treated as a zero-parameter prototype in C2x, conflicting with a previous declaration [-Wdeprecated-non-prototype]
MyTimer_Start(&Encoder);
^
../driver\Driver_Timer.h(29): note: conflicting prototype is here
void MyTimer_Start(MyTimer_Struct_TypeDef * Timer);
^
src/main.c(19): error: conflicting types for 'MyTimer_Start'
MyTimer_Start(&Encoder);
^
../driver\Driver_Timer.h(29): note: previous declaration is here
void MyTimer_Start(MyTimer_Struct_TypeDef * Timer);
^
3 warnings and 11 errors generated.
=======
compiling App_girouette.c...
compiling Driver_UART.c...
compiling Driver_ADC.c...
>>>>>>> encoder
compiling main.c...
<<<<<<< HEAD
compiling Driver_ADC.c...
compiling Driver_UART.c...
compiling Driver_IMU.c...
=======
>>>>>>> encoder
compiling Driver_GPIO.c...
src/main.c(51): warning: GCC does not allow variable declarations in for loop initializers before C99 [-Wgcc-compat]
for (int i = 0; i < 100000000; i++);
^
1 warning generated.
compiling main.c...
compiling system_stm32f10x.c...
compiling Driver_Timer.c...
<<<<<<< HEAD
<<<<<<< HEAD
compiling system_stm32f10x.c...
".\Objects\projet-voilier.axf" - 11 Error(s), 3 Warning(s).
=======
=======
compiling system_stm32f10x.c...
>>>>>>> encoder
linking...
Program Size: Code=1528 RO-data=268 RW-data=16 ZI-data=1632
".\Objects\projet-voilier.axf" - 0 Error(s), 0 Warning(s).
>>>>>>> encoder
Program Size: Code=1468 RO-data=268 RW-data=12 ZI-data=1632
".\Objects\projet-voilier.axf" - 0 Error(s), 1 Warning(s).
<h2>Software Packages used:</h2>
@ -146,13 +67,9 @@ Package Vendor: Keil
* Component: Keil::Device:Startup:1.0.0
Source file: Device/Source/ARM/startup_stm32f10x_md.s
<<<<<<< HEAD
Target not created.
=======
Source file: Device/Source/system_stm32f10x.c
Include file: RTE_Driver/Config/RTE_Device.h
Source file: Device/Source/system_stm32f10x.c
Source file: Device/Source/ARM/STM32F1xx_OPT.s
>>>>>>> encoder
Build Time Elapsed: 00:00:01
</pre>
</body>

View file

@ -3,30 +3,16 @@
<title>Static Call Graph - [.\Objects\projet-voilier.axf]</title></head>
<body><HR>
<H1>Static Call Graph for image .\Objects\projet-voilier.axf</H1><HR>
<<<<<<< HEAD
<<<<<<< HEAD
<BR><P>#&#060CALLGRAPH&#062# ARM Linker, 6190004: Last Updated: Fri Apr 7 14:37:03 2023
<BR><P>#&#060CALLGRAPH&#062# ARM Linker, 6190004: Last Updated: Fri Mar 31 11:59:13 2023
<BR><P>
<H3>Maximum Stack Usage = 24 bytes + Unknown(Functions without stacksize, Cycles, Untraceable Function Pointers)</H3><H3>
=======
<BR><P>#&#060CALLGRAPH&#062# ARM Linker, 6190004: Last Updated: Tue Apr 11 09:10:04 2023
<BR><P>
<H3>Maximum Stack Usage = 56 bytes + Unknown(Functions without stacksize, Cycles, Untraceable Function Pointers)</H3><H3>
>>>>>>> encoder
<H3>Maximum Stack Usage = 48 bytes + Unknown(Functions without stacksize, Cycles, Untraceable Function Pointers)</H3><H3>
Call chain for Maximum Stack Depth:</H3>
__rt_entry_main &rArr; main &rArr; driver_IMU_read
=======
<BR><P>#&#060CALLGRAPH&#062# ARM Linker, 6190004: Last Updated: Tue Apr 11 10:57:51 2023
<BR><P>
<H3>Maximum Stack Usage = 72 bytes + Unknown(Functions without stacksize, Cycles, Untraceable Function Pointers)</H3><H3>
Call chain for Maximum Stack Depth:</H3>
__rt_entry_main &rArr; main &rArr; App_Girouette_Init &rArr; MyGPIO_Init
>>>>>>> encoder
__rt_entry_main &rArr; main &rArr; MyGPIO_Init
<P>
<H3>
Functions with no stack information
</H3><UL>
<LI><a href="#[39]">__user_initial_stackheap</a>
<LI><a href="#[38]">__user_initial_stackheap</a>
</UL>
</UL>
<P>
@ -41,18 +27,17 @@ Mutually Recursive functions
<LI><a href="#[7]">DebugMon_Handler</a>&nbsp;&nbsp;&nbsp;&rArr;&nbsp;&nbsp;&nbsp;<a href="#[7]">DebugMon_Handler</a><BR>
<LI><a href="#[8]">PendSV_Handler</a>&nbsp;&nbsp;&nbsp;&rArr;&nbsp;&nbsp;&nbsp;<a href="#[8]">PendSV_Handler</a><BR>
<LI><a href="#[9]">SysTick_Handler</a>&nbsp;&nbsp;&nbsp;&rArr;&nbsp;&nbsp;&nbsp;<a href="#[9]">SysTick_Handler</a><BR>
<LI><a href="#[1f]">CAN1_RX1_IRQHandler</a>&nbsp;&nbsp;&nbsp;&rArr;&nbsp;&nbsp;&nbsp;<a href="#[1f]">CAN1_RX1_IRQHandler</a><BR>
<LI><a href="#[38]">Bug</a>&nbsp;&nbsp;&nbsp;&rArr;&nbsp;&nbsp;&nbsp;<a href="#[38]">Bug</a><BR>
<LI><a href="#[37]">erreur</a>&nbsp;&nbsp;&nbsp;&rArr;&nbsp;&nbsp;&nbsp;<a href="#[37]">erreur</a><BR>
<LI><a href="#[1c]">ADC1_2_IRQHandler</a>&nbsp;&nbsp;&nbsp;&rArr;&nbsp;&nbsp;&nbsp;<a href="#[1c]">ADC1_2_IRQHandler</a><BR>
<LI><a href="#[37]">Bug</a>&nbsp;&nbsp;&nbsp;&rArr;&nbsp;&nbsp;&nbsp;<a href="#[37]">Bug</a><BR>
</UL>
<P>
<H3>
Function Pointers
</H3><UL>
<LI><a href="#[1c]">ADC1_2_IRQHandler</a> from driver_adc.o(.text.ADC1_2_IRQHandler) referenced from startup_stm32f10x_md.o(RESET)
<LI><a href="#[38]">Bug</a> from driver_timer.o(.text.Bug) referenced from driver_timer.o(.data.TIM2_fx)
<LI><a href="#[38]">Bug</a> from driver_timer.o(.text.Bug) referenced from driver_timer.o(.data.TIM3_fx)
<LI><a href="#[38]">Bug</a> from driver_timer.o(.text.Bug) referenced from driver_timer.o(.data.TIM4_fx)
<LI><a href="#[1c]">ADC1_2_IRQHandler</a> from startup_stm32f10x_md.o(.text) referenced from startup_stm32f10x_md.o(RESET)
<LI><a href="#[37]">Bug</a> from driver_timer.o(.text.Bug) referenced from driver_timer.o(.data.TIM2_fx)
<LI><a href="#[37]">Bug</a> from driver_timer.o(.text.Bug) referenced from driver_timer.o(.data.TIM3_fx)
<LI><a href="#[37]">Bug</a> from driver_timer.o(.text.Bug) referenced from driver_timer.o(.data.TIM4_fx)
<LI><a href="#[4]">BusFault_Handler</a> from startup_stm32f10x_md.o(.text) referenced from startup_stm32f10x_md.o(RESET)
<LI><a href="#[1f]">CAN1_RX1_IRQHandler</a> from startup_stm32f10x_md.o(.text) referenced from startup_stm32f10x_md.o(RESET)
<LI><a href="#[20]">CAN1_SCE_IRQHandler</a> from startup_stm32f10x_md.o(.text) referenced from startup_stm32f10x_md.o(RESET)
@ -68,7 +53,7 @@ Function Pointers
<LI><a href="#[32]">EXTI15_10_IRQHandler</a> from startup_stm32f10x_md.o(.text) referenced from startup_stm32f10x_md.o(RESET)
<LI><a href="#[11]">EXTI1_IRQHandler</a> from startup_stm32f10x_md.o(.text) referenced from startup_stm32f10x_md.o(RESET)
<LI><a href="#[12]">EXTI2_IRQHandler</a> from startup_stm32f10x_md.o(.text) referenced from startup_stm32f10x_md.o(RESET)
<LI><a href="#[13]">EXTI3_IRQHandler</a> from driver_timer.o(.text.EXTI3_IRQHandler) referenced from startup_stm32f10x_md.o(RESET)
<LI><a href="#[13]">EXTI3_IRQHandler</a> from startup_stm32f10x_md.o(.text) referenced from startup_stm32f10x_md.o(RESET)
<LI><a href="#[14]">EXTI4_IRQHandler</a> from startup_stm32f10x_md.o(.text) referenced from startup_stm32f10x_md.o(RESET)
<LI><a href="#[21]">EXTI9_5_IRQHandler</a> from startup_stm32f10x_md.o(.text) referenced from startup_stm32f10x_md.o(RESET)
<LI><a href="#[e]">FLASH_IRQHandler</a> from startup_stm32f10x_md.o(.text) referenced from startup_stm32f10x_md.o(RESET)
@ -100,291 +85,152 @@ Function Pointers
<LI><a href="#[28]">TIM4_IRQHandler</a> from driver_timer.o(.text.TIM4_IRQHandler) referenced from startup_stm32f10x_md.o(RESET)
<LI><a href="#[2f]">USART1_IRQHandler</a> from startup_stm32f10x_md.o(.text) referenced from startup_stm32f10x_md.o(RESET)
<LI><a href="#[30]">USART2_IRQHandler</a> from startup_stm32f10x_md.o(.text) referenced from startup_stm32f10x_md.o(RESET)
<LI><a href="#[31]">USART3_IRQHandler</a> from driver_uart.o(.text.USART3_IRQHandler) referenced from startup_stm32f10x_md.o(RESET)
<LI><a href="#[31]">USART3_IRQHandler</a> from startup_stm32f10x_md.o(.text) referenced from startup_stm32f10x_md.o(RESET)
<LI><a href="#[34]">USBWakeUp_IRQHandler</a> from startup_stm32f10x_md.o(.text) referenced from startup_stm32f10x_md.o(RESET)
<LI><a href="#[1d]">USB_HP_CAN1_TX_IRQHandler</a> from startup_stm32f10x_md.o(.text) referenced from startup_stm32f10x_md.o(RESET)
<LI><a href="#[1e]">USB_LP_CAN1_RX0_IRQHandler</a> from startup_stm32f10x_md.o(.text) referenced from startup_stm32f10x_md.o(RESET)
<LI><a href="#[5]">UsageFault_Handler</a> from startup_stm32f10x_md.o(.text) referenced from startup_stm32f10x_md.o(RESET)
<LI><a href="#[a]">WWDG_IRQHandler</a> from startup_stm32f10x_md.o(.text) referenced from startup_stm32f10x_md.o(RESET)
<LI><a href="#[36]">__main</a> from __main.o(!!!main) referenced from startup_stm32f10x_md.o(.text)
<LI><a href="#[37]">erreur</a> from driver_adc.o(.text.erreur) referenced from driver_adc.o(.data.ADC1_2_fx)
</UL>
<P>
<H3>
Global Symbols
</H3>
<P><STRONG><a name="[36]"></a>__main</STRONG> (Thumb, 8 bytes, Stack size 0 bytes, __main.o(!!!main))
<BR><BR>[Calls]<UL><LI><a href="#[3a]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__scatterload
<LI><a href="#[3b]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__rt_entry
<BR><BR>[Calls]<UL><LI><a href="#[39]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__scatterload
<LI><a href="#[3a]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__rt_entry
</UL>
<BR>[Address Reference Count : 1]<UL><LI> startup_stm32f10x_md.o(.text)
</UL>
<P><STRONG><a name="[3a]"></a>__scatterload</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, __scatter.o(!!!scatter))
<P><STRONG><a name="[39]"></a>__scatterload</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, __scatter.o(!!!scatter))
<BR><BR>[Called By]<UL><LI><a href="#[36]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__main
</UL>
<P><STRONG><a name="[3c]"></a>__scatterload_rt2</STRONG> (Thumb, 44 bytes, Stack size unknown bytes, __scatter.o(!!!scatter), UNUSED)
<BR><BR>[Calls]<UL><LI><a href="#[3b]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__rt_entry
<P><STRONG><a name="[3b]"></a>__scatterload_rt2</STRONG> (Thumb, 44 bytes, Stack size unknown bytes, __scatter.o(!!!scatter), UNUSED)
<BR><BR>[Calls]<UL><LI><a href="#[3a]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__rt_entry
</UL>
<<<<<<< HEAD
<<<<<<< HEAD
<P><STRONG><a name="[53]"></a>__scatterload_rt2_thumb_only</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, __scatter.o(!!!scatter), UNUSED)
<P><STRONG><a name="[52]"></a>__scatterload_rt2_thumb_only</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, __scatter.o(!!!scatter), UNUSED)
<P><STRONG><a name="[54]"></a>__scatterload_null</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, __scatter.o(!!!scatter), UNUSED)
=======
<P><STRONG><a name="[50]"></a>__scatterload_rt2_thumb_only</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, __scatter.o(!!!scatter), UNUSED)
<P><STRONG><a name="[53]"></a>__scatterload_null</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, __scatter.o(!!!scatter), UNUSED)
<P><STRONG><a name="[51]"></a>__scatterload_null</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, __scatter.o(!!!scatter), UNUSED)
>>>>>>> encoder
=======
<P><STRONG><a name="[54]"></a>__scatterload_rt2_thumb_only</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, __scatter.o(!!!scatter), UNUSED)
<P><STRONG><a name="[55]"></a>__scatterload_null</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, __scatter.o(!!!scatter), UNUSED)
>>>>>>> encoder
<P><STRONG><a name="[3d]"></a>__scatterload_copy</STRONG> (Thumb, 26 bytes, Stack size unknown bytes, __scatter_copy.o(!!handler_copy), UNUSED)
<BR><BR>[Calls]<UL><LI><a href="#[3d]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__scatterload_copy
<P><STRONG><a name="[3c]"></a>__scatterload_copy</STRONG> (Thumb, 26 bytes, Stack size unknown bytes, __scatter_copy.o(!!handler_copy), UNUSED)
<BR><BR>[Calls]<UL><LI><a href="#[3c]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__scatterload_copy
</UL>
<BR>[Called By]<UL><LI><a href="#[3d]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__scatterload_copy
<BR>[Called By]<UL><LI><a href="#[3c]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__scatterload_copy
</UL>
<<<<<<< HEAD
<<<<<<< HEAD
<P><STRONG><a name="[55]"></a>__scatterload_zeroinit</STRONG> (Thumb, 28 bytes, Stack size unknown bytes, __scatter_zi.o(!!handler_zi), UNUSED)
=======
<P><STRONG><a name="[52]"></a>__scatterload_zeroinit</STRONG> (Thumb, 28 bytes, Stack size unknown bytes, __scatter_zi.o(!!handler_zi), UNUSED)
>>>>>>> encoder
=======
<P><STRONG><a name="[56]"></a>__scatterload_zeroinit</STRONG> (Thumb, 28 bytes, Stack size unknown bytes, __scatter_zi.o(!!handler_zi), UNUSED)
>>>>>>> encoder
<P><STRONG><a name="[54]"></a>__scatterload_zeroinit</STRONG> (Thumb, 28 bytes, Stack size unknown bytes, __scatter_zi.o(!!handler_zi), UNUSED)
<P><STRONG><a name="[41]"></a>__rt_lib_init</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, libinit.o(.ARM.Collect$$libinit$$00000000))
<BR><BR>[Called By]<UL><LI><a href="#[40]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__rt_entry_li
<P><STRONG><a name="[40]"></a>__rt_lib_init</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, libinit.o(.ARM.Collect$$libinit$$00000000))
<BR><BR>[Called By]<UL><LI><a href="#[3f]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__rt_entry_li
</UL>
<<<<<<< HEAD
<<<<<<< HEAD
<P><STRONG><a name="[56]"></a>__rt_lib_init_alloca_1</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$00000030))
<P><STRONG><a name="[55]"></a>__rt_lib_init_alloca_1</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$00000030))
<P><STRONG><a name="[57]"></a>__rt_lib_init_argv_1</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$0000002E))
<P><STRONG><a name="[56]"></a>__rt_lib_init_argv_1</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$0000002E))
<P><STRONG><a name="[58]"></a>__rt_lib_init_atexit_1</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$0000001D))
<P><STRONG><a name="[57]"></a>__rt_lib_init_atexit_1</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$0000001D))
<P><STRONG><a name="[59]"></a>__rt_lib_init_clock_1</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$00000023))
<P><STRONG><a name="[58]"></a>__rt_lib_init_clock_1</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$00000023))
<P><STRONG><a name="[5a]"></a>__rt_lib_init_cpp_1</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$00000034))
<P><STRONG><a name="[59]"></a>__rt_lib_init_cpp_1</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$00000034))
<P><STRONG><a name="[5b]"></a>__rt_lib_init_exceptions_1</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$00000032))
<P><STRONG><a name="[5a]"></a>__rt_lib_init_exceptions_1</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$00000032))
<P><STRONG><a name="[5c]"></a>__rt_lib_init_fp_1</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$00000002))
<P><STRONG><a name="[5b]"></a>__rt_lib_init_fp_1</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$00000002))
<P><STRONG><a name="[5d]"></a>__rt_lib_init_fp_trap_1</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$00000021))
<P><STRONG><a name="[5c]"></a>__rt_lib_init_fp_trap_1</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$00000021))
<P><STRONG><a name="[5e]"></a>__rt_lib_init_getenv_1</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$00000025))
<P><STRONG><a name="[5d]"></a>__rt_lib_init_getenv_1</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$00000025))
<P><STRONG><a name="[5f]"></a>__rt_lib_init_heap_1</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$0000000C))
<P><STRONG><a name="[5e]"></a>__rt_lib_init_heap_1</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$0000000C))
<P><STRONG><a name="[60]"></a>__rt_lib_init_lc_collate_1</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$00000013))
<P><STRONG><a name="[5f]"></a>__rt_lib_init_lc_collate_1</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$00000013))
<P><STRONG><a name="[61]"></a>__rt_lib_init_lc_ctype_1</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$00000015))
<P><STRONG><a name="[60]"></a>__rt_lib_init_lc_ctype_1</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$00000015))
<P><STRONG><a name="[62]"></a>__rt_lib_init_lc_monetary_1</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$00000017))
<P><STRONG><a name="[61]"></a>__rt_lib_init_lc_monetary_1</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$00000017))
<P><STRONG><a name="[63]"></a>__rt_lib_init_lc_numeric_1</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$00000019))
<P><STRONG><a name="[62]"></a>__rt_lib_init_lc_numeric_1</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$00000019))
<P><STRONG><a name="[64]"></a>__rt_lib_init_lc_time_1</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$0000001B))
<P><STRONG><a name="[63]"></a>__rt_lib_init_lc_time_1</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$0000001B))
<P><STRONG><a name="[65]"></a>__rt_lib_init_preinit_1</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$00000006))
<P><STRONG><a name="[64]"></a>__rt_lib_init_preinit_1</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$00000006))
<P><STRONG><a name="[66]"></a>__rt_lib_init_rand_1</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$00000010))
<P><STRONG><a name="[65]"></a>__rt_lib_init_rand_1</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$00000010))
<P><STRONG><a name="[67]"></a>__rt_lib_init_relocate_pie_1</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$00000004))
<P><STRONG><a name="[66]"></a>__rt_lib_init_relocate_pie_1</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$00000004))
<P><STRONG><a name="[68]"></a>__rt_lib_init_return</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$00000035))
<P><STRONG><a name="[67]"></a>__rt_lib_init_return</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$00000035))
<P><STRONG><a name="[69]"></a>__rt_lib_init_signal_1</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$0000001F))
<P><STRONG><a name="[68]"></a>__rt_lib_init_signal_1</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$0000001F))
<P><STRONG><a name="[6a]"></a>__rt_lib_init_stdio_1</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$00000027))
<P><STRONG><a name="[69]"></a>__rt_lib_init_stdio_1</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$00000027))
<P><STRONG><a name="[6b]"></a>__rt_lib_init_user_alloc_1</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$0000000E))
=======
<P><STRONG><a name="[53]"></a>__rt_lib_init_alloca_1</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$00000030))
=======
<P><STRONG><a name="[57]"></a>__rt_lib_init_alloca_1</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$00000030))
>>>>>>> encoder
<P><STRONG><a name="[6a]"></a>__rt_lib_init_user_alloc_1</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$0000000E))
<P><STRONG><a name="[58]"></a>__rt_lib_init_argv_1</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$0000002E))
<P><STRONG><a name="[59]"></a>__rt_lib_init_atexit_1</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$0000001D))
<P><STRONG><a name="[5a]"></a>__rt_lib_init_clock_1</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$00000023))
<P><STRONG><a name="[5b]"></a>__rt_lib_init_cpp_1</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$00000034))
<P><STRONG><a name="[5c]"></a>__rt_lib_init_exceptions_1</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$00000032))
<P><STRONG><a name="[5d]"></a>__rt_lib_init_fp_1</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$00000002))
<P><STRONG><a name="[5e]"></a>__rt_lib_init_fp_trap_1</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$00000021))
<P><STRONG><a name="[5f]"></a>__rt_lib_init_getenv_1</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$00000025))
<P><STRONG><a name="[60]"></a>__rt_lib_init_heap_1</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$0000000C))
<P><STRONG><a name="[61]"></a>__rt_lib_init_lc_collate_1</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$00000013))
<P><STRONG><a name="[62]"></a>__rt_lib_init_lc_ctype_1</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$00000015))
<P><STRONG><a name="[63]"></a>__rt_lib_init_lc_monetary_1</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$00000017))
<P><STRONG><a name="[64]"></a>__rt_lib_init_lc_numeric_1</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$00000019))
<P><STRONG><a name="[65]"></a>__rt_lib_init_lc_time_1</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$0000001B))
<P><STRONG><a name="[66]"></a>__rt_lib_init_preinit_1</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$00000006))
<P><STRONG><a name="[67]"></a>__rt_lib_init_rand_1</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$00000010))
<P><STRONG><a name="[68]"></a>__rt_lib_init_relocate_pie_1</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$00000004))
<P><STRONG><a name="[69]"></a>__rt_lib_init_return</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$00000035))
<P><STRONG><a name="[6a]"></a>__rt_lib_init_signal_1</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$0000001F))
<P><STRONG><a name="[6b]"></a>__rt_lib_init_stdio_1</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$00000027))
<<<<<<< HEAD
<P><STRONG><a name="[68]"></a>__rt_lib_init_user_alloc_1</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$0000000E))
>>>>>>> encoder
=======
<P><STRONG><a name="[6c]"></a>__rt_lib_init_user_alloc_1</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$0000000E))
>>>>>>> encoder
<P><STRONG><a name="[46]"></a>__rt_lib_shutdown</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, libshutdown.o(.ARM.Collect$$libshutdown$$00000000))
<BR><BR>[Called By]<UL><LI><a href="#[45]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__rt_exit_ls
<P><STRONG><a name="[45]"></a>__rt_lib_shutdown</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, libshutdown.o(.ARM.Collect$$libshutdown$$00000000))
<BR><BR>[Called By]<UL><LI><a href="#[44]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__rt_exit_ls
</UL>
<<<<<<< HEAD
<<<<<<< HEAD
<P><STRONG><a name="[6c]"></a>__rt_lib_shutdown_cpp_1</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, libshutdown2.o(.ARM.Collect$$libshutdown$$00000002))
<P><STRONG><a name="[6b]"></a>__rt_lib_shutdown_cpp_1</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, libshutdown2.o(.ARM.Collect$$libshutdown$$00000002))
<P><STRONG><a name="[6d]"></a>__rt_lib_shutdown_fp_trap_1</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, libshutdown2.o(.ARM.Collect$$libshutdown$$00000007))
<P><STRONG><a name="[6c]"></a>__rt_lib_shutdown_fp_trap_1</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, libshutdown2.o(.ARM.Collect$$libshutdown$$00000007))
<P><STRONG><a name="[6e]"></a>__rt_lib_shutdown_heap_1</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, libshutdown2.o(.ARM.Collect$$libshutdown$$0000000F))
<P><STRONG><a name="[6d]"></a>__rt_lib_shutdown_heap_1</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, libshutdown2.o(.ARM.Collect$$libshutdown$$0000000F))
<P><STRONG><a name="[6f]"></a>__rt_lib_shutdown_return</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, libshutdown2.o(.ARM.Collect$$libshutdown$$00000010))
<P><STRONG><a name="[6e]"></a>__rt_lib_shutdown_return</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, libshutdown2.o(.ARM.Collect$$libshutdown$$00000010))
<P><STRONG><a name="[70]"></a>__rt_lib_shutdown_signal_1</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, libshutdown2.o(.ARM.Collect$$libshutdown$$0000000A))
<P><STRONG><a name="[6f]"></a>__rt_lib_shutdown_signal_1</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, libshutdown2.o(.ARM.Collect$$libshutdown$$0000000A))
<P><STRONG><a name="[71]"></a>__rt_lib_shutdown_stdio_1</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, libshutdown2.o(.ARM.Collect$$libshutdown$$00000004))
<P><STRONG><a name="[70]"></a>__rt_lib_shutdown_stdio_1</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, libshutdown2.o(.ARM.Collect$$libshutdown$$00000004))
<P><STRONG><a name="[72]"></a>__rt_lib_shutdown_user_alloc_1</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, libshutdown2.o(.ARM.Collect$$libshutdown$$0000000C))
=======
<P><STRONG><a name="[69]"></a>__rt_lib_shutdown_cpp_1</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, libshutdown2.o(.ARM.Collect$$libshutdown$$00000002))
=======
<P><STRONG><a name="[6d]"></a>__rt_lib_shutdown_cpp_1</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, libshutdown2.o(.ARM.Collect$$libshutdown$$00000002))
>>>>>>> encoder
<P><STRONG><a name="[71]"></a>__rt_lib_shutdown_user_alloc_1</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, libshutdown2.o(.ARM.Collect$$libshutdown$$0000000C))
<P><STRONG><a name="[6e]"></a>__rt_lib_shutdown_fp_trap_1</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, libshutdown2.o(.ARM.Collect$$libshutdown$$00000007))
<P><STRONG><a name="[6f]"></a>__rt_lib_shutdown_heap_1</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, libshutdown2.o(.ARM.Collect$$libshutdown$$0000000F))
<P><STRONG><a name="[70]"></a>__rt_lib_shutdown_return</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, libshutdown2.o(.ARM.Collect$$libshutdown$$00000010))
<P><STRONG><a name="[71]"></a>__rt_lib_shutdown_signal_1</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, libshutdown2.o(.ARM.Collect$$libshutdown$$0000000A))
<P><STRONG><a name="[72]"></a>__rt_lib_shutdown_stdio_1</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, libshutdown2.o(.ARM.Collect$$libshutdown$$00000004))
<<<<<<< HEAD
<P><STRONG><a name="[6f]"></a>__rt_lib_shutdown_user_alloc_1</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, libshutdown2.o(.ARM.Collect$$libshutdown$$0000000C))
>>>>>>> encoder
=======
<P><STRONG><a name="[73]"></a>__rt_lib_shutdown_user_alloc_1</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, libshutdown2.o(.ARM.Collect$$libshutdown$$0000000C))
>>>>>>> encoder
<P><STRONG><a name="[3b]"></a>__rt_entry</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, __rtentry.o(.ARM.Collect$$rtentry$$00000000))
<BR><BR>[Called By]<UL><LI><a href="#[3c]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__scatterload_rt2
<P><STRONG><a name="[3a]"></a>__rt_entry</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, __rtentry.o(.ARM.Collect$$rtentry$$00000000))
<BR><BR>[Called By]<UL><LI><a href="#[3b]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__scatterload_rt2
<LI><a href="#[36]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__main
</UL>
<<<<<<< HEAD
<<<<<<< HEAD
<P><STRONG><a name="[73]"></a>__rt_entry_presh_1</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, __rtentry2.o(.ARM.Collect$$rtentry$$00000002))
=======
<P><STRONG><a name="[70]"></a>__rt_entry_presh_1</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, __rtentry2.o(.ARM.Collect$$rtentry$$00000002))
>>>>>>> encoder
=======
<P><STRONG><a name="[74]"></a>__rt_entry_presh_1</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, __rtentry2.o(.ARM.Collect$$rtentry$$00000002))
>>>>>>> encoder
<P><STRONG><a name="[72]"></a>__rt_entry_presh_1</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, __rtentry2.o(.ARM.Collect$$rtentry$$00000002))
<P><STRONG><a name="[3e]"></a>__rt_entry_sh</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, __rtentry4.o(.ARM.Collect$$rtentry$$00000004))
<P><STRONG><a name="[3d]"></a>__rt_entry_sh</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, __rtentry4.o(.ARM.Collect$$rtentry$$00000004))
<BR><BR>[Stack]<UL><LI>Max Depth = 8 + Unknown Stack Size
<LI>Call Chain = __rt_entry_sh &rArr; __user_setup_stackheap
</UL>
<BR>[Calls]<UL><LI><a href="#[3f]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__user_setup_stackheap
<BR>[Calls]<UL><LI><a href="#[3e]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__user_setup_stackheap
</UL>
<P><STRONG><a name="[40]"></a>__rt_entry_li</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, __rtentry2.o(.ARM.Collect$$rtentry$$0000000A))
<BR><BR>[Calls]<UL><LI><a href="#[41]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__rt_lib_init
<P><STRONG><a name="[3f]"></a>__rt_entry_li</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, __rtentry2.o(.ARM.Collect$$rtentry$$0000000A))
<BR><BR>[Calls]<UL><LI><a href="#[40]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__rt_lib_init
</UL>
<<<<<<< HEAD
<<<<<<< HEAD
<P><STRONG><a name="[74]"></a>__rt_entry_postsh_1</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, __rtentry2.o(.ARM.Collect$$rtentry$$00000009))
<P><STRONG><a name="[73]"></a>__rt_entry_postsh_1</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, __rtentry2.o(.ARM.Collect$$rtentry$$00000009))
<P><STRONG><a name="[42]"></a>__rt_entry_main</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, __rtentry2.o(.ARM.Collect$$rtentry$$0000000D))
<BR><BR>[Stack]<UL><LI>Max Depth = 24 + Unknown Stack Size
<LI>Call Chain = __rt_entry_main &rArr; main &rArr; driver_IMU_read
=======
<P><STRONG><a name="[71]"></a>__rt_entry_postsh_1</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, __rtentry2.o(.ARM.Collect$$rtentry$$00000009))
<P><STRONG><a name="[42]"></a>__rt_entry_main</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, __rtentry2.o(.ARM.Collect$$rtentry$$0000000D))
<BR><BR>[Stack]<UL><LI>Max Depth = 56 + Unknown Stack Size
<P><STRONG><a name="[41]"></a>__rt_entry_main</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, __rtentry2.o(.ARM.Collect$$rtentry$$0000000D))
<BR><BR>[Stack]<UL><LI>Max Depth = 48 + Unknown Stack Size
<LI>Call Chain = __rt_entry_main &rArr; main &rArr; MyGPIO_Init
>>>>>>> encoder
=======
<P><STRONG><a name="[75]"></a>__rt_entry_postsh_1</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, __rtentry2.o(.ARM.Collect$$rtentry$$00000009))
<P><STRONG><a name="[42]"></a>__rt_entry_main</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, __rtentry2.o(.ARM.Collect$$rtentry$$0000000D))
<BR><BR>[Stack]<UL><LI>Max Depth = 72 + Unknown Stack Size
<LI>Call Chain = __rt_entry_main &rArr; main &rArr; App_Girouette_Init &rArr; MyGPIO_Init
>>>>>>> encoder
</UL>
<BR>[Calls]<UL><LI><a href="#[44]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;exit
<LI><a href="#[43]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;main
<BR>[Calls]<UL><LI><a href="#[43]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;exit
<LI><a href="#[42]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;main
</UL>
<<<<<<< HEAD
<<<<<<< HEAD
<P><STRONG><a name="[75]"></a>__rt_entry_postli_1</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, __rtentry2.o(.ARM.Collect$$rtentry$$0000000C))
=======
<P><STRONG><a name="[72]"></a>__rt_entry_postli_1</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, __rtentry2.o(.ARM.Collect$$rtentry$$0000000C))
>>>>>>> encoder
=======
<P><STRONG><a name="[76]"></a>__rt_entry_postli_1</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, __rtentry2.o(.ARM.Collect$$rtentry$$0000000C))
>>>>>>> encoder
<P><STRONG><a name="[74]"></a>__rt_entry_postli_1</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, __rtentry2.o(.ARM.Collect$$rtentry$$0000000C))
<P><STRONG><a name="[4a]"></a>__rt_exit</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, rtexit.o(.ARM.Collect$$rtexit$$00000000))
<BR><BR>[Called By]<UL><LI><a href="#[44]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;exit
<P><STRONG><a name="[49]"></a>__rt_exit</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, rtexit.o(.ARM.Collect$$rtexit$$00000000))
<BR><BR>[Called By]<UL><LI><a href="#[43]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;exit
</UL>
<P><STRONG><a name="[45]"></a>__rt_exit_ls</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, rtexit2.o(.ARM.Collect$$rtexit$$00000003))
<BR><BR>[Calls]<UL><LI><a href="#[46]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__rt_lib_shutdown
<P><STRONG><a name="[44]"></a>__rt_exit_ls</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, rtexit2.o(.ARM.Collect$$rtexit$$00000003))
<BR><BR>[Calls]<UL><LI><a href="#[45]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__rt_lib_shutdown
</UL>
<<<<<<< HEAD
<<<<<<< HEAD
<P><STRONG><a name="[76]"></a>__rt_exit_prels_1</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, rtexit2.o(.ARM.Collect$$rtexit$$00000002))
=======
<P><STRONG><a name="[73]"></a>__rt_exit_prels_1</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, rtexit2.o(.ARM.Collect$$rtexit$$00000002))
>>>>>>> encoder
=======
<P><STRONG><a name="[77]"></a>__rt_exit_prels_1</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, rtexit2.o(.ARM.Collect$$rtexit$$00000002))
>>>>>>> encoder
<P><STRONG><a name="[75]"></a>__rt_exit_prels_1</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, rtexit2.o(.ARM.Collect$$rtexit$$00000002))
<P><STRONG><a name="[47]"></a>__rt_exit_exit</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, rtexit2.o(.ARM.Collect$$rtexit$$00000004))
<BR><BR>[Calls]<UL><LI><a href="#[48]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_sys_exit
<P><STRONG><a name="[46]"></a>__rt_exit_exit</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, rtexit2.o(.ARM.Collect$$rtexit$$00000004))
<BR><BR>[Calls]<UL><LI><a href="#[47]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_sys_exit
</UL>
<P><STRONG><a name="[0]"></a>Reset_Handler</STRONG> (Thumb, 8 bytes, Stack size 0 bytes, startup_stm32f10x_md.o(.text))
@ -453,11 +299,14 @@ Global Symbols
</UL>
<BR>[Address Reference Count : 1]<UL><LI> startup_stm32f10x_md.o(RESET)
</UL>
<P><STRONG><a name="[1c]"></a>ADC1_2_IRQHandler</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, startup_stm32f10x_md.o(.text))
<BR><BR>[Calls]<UL><LI><a href="#[1c]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;ADC1_2_IRQHandler
</UL>
<BR>[Called By]<UL><LI><a href="#[1c]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;ADC1_2_IRQHandler
</UL>
<BR>[Address Reference Count : 1]<UL><LI> startup_stm32f10x_md.o(RESET)
</UL>
<P><STRONG><a name="[1f]"></a>CAN1_RX1_IRQHandler</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, startup_stm32f10x_md.o(.text))
<BR><BR>[Calls]<UL><LI><a href="#[1f]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;CAN1_RX1_IRQHandler
</UL>
<BR>[Called By]<UL><LI><a href="#[1f]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;CAN1_RX1_IRQHandler
</UL>
<BR>[Address Reference Count : 1]<UL><LI> startup_stm32f10x_md.o(RESET)
</UL>
<P><STRONG><a name="[20]"></a>CAN1_SCE_IRQHandler</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, startup_stm32f10x_md.o(.text))
@ -496,6 +345,9 @@ Global Symbols
<P><STRONG><a name="[12]"></a>EXTI2_IRQHandler</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, startup_stm32f10x_md.o(.text))
<BR>[Address Reference Count : 1]<UL><LI> startup_stm32f10x_md.o(RESET)
</UL>
<P><STRONG><a name="[13]"></a>EXTI3_IRQHandler</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, startup_stm32f10x_md.o(.text))
<BR>[Address Reference Count : 1]<UL><LI> startup_stm32f10x_md.o(RESET)
</UL>
<P><STRONG><a name="[14]"></a>EXTI4_IRQHandler</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, startup_stm32f10x_md.o(.text))
<BR>[Address Reference Count : 1]<UL><LI> startup_stm32f10x_md.o(RESET)
</UL>
@ -556,6 +408,9 @@ Global Symbols
<P><STRONG><a name="[30]"></a>USART2_IRQHandler</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, startup_stm32f10x_md.o(.text))
<BR>[Address Reference Count : 1]<UL><LI> startup_stm32f10x_md.o(RESET)
</UL>
<P><STRONG><a name="[31]"></a>USART3_IRQHandler</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, startup_stm32f10x_md.o(.text))
<BR>[Address Reference Count : 1]<UL><LI> startup_stm32f10x_md.o(RESET)
</UL>
<P><STRONG><a name="[34]"></a>USBWakeUp_IRQHandler</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, startup_stm32f10x_md.o(.text))
<BR>[Address Reference Count : 1]<UL><LI> startup_stm32f10x_md.o(RESET)
</UL>
@ -568,165 +423,96 @@ Global Symbols
<P><STRONG><a name="[a]"></a>WWDG_IRQHandler</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, startup_stm32f10x_md.o(.text))
<BR>[Address Reference Count : 1]<UL><LI> startup_stm32f10x_md.o(RESET)
</UL>
<P><STRONG><a name="[39]"></a>__user_initial_stackheap</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, startup_stm32f10x_md.o(.text))
<BR><BR>[Called By]<UL><LI><a href="#[3f]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__user_setup_stackheap
<P><STRONG><a name="[38]"></a>__user_initial_stackheap</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, startup_stm32f10x_md.o(.text))
<BR><BR>[Called By]<UL><LI><a href="#[3e]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__user_setup_stackheap
</UL>
<<<<<<< HEAD
<<<<<<< HEAD
<P><STRONG><a name="[77]"></a>__use_two_region_memory</STRONG> (Thumb, 2 bytes, Stack size 0 bytes, heapauxi.o(.text), UNUSED)
<P><STRONG><a name="[76]"></a>__use_two_region_memory</STRONG> (Thumb, 2 bytes, Stack size 0 bytes, heapauxi.o(.text), UNUSED)
<P><STRONG><a name="[78]"></a>__rt_heap_escrow$2region</STRONG> (Thumb, 2 bytes, Stack size 0 bytes, heapauxi.o(.text), UNUSED)
<P><STRONG><a name="[77]"></a>__rt_heap_escrow$2region</STRONG> (Thumb, 2 bytes, Stack size 0 bytes, heapauxi.o(.text), UNUSED)
<P><STRONG><a name="[79]"></a>__rt_heap_expand$2region</STRONG> (Thumb, 2 bytes, Stack size 0 bytes, heapauxi.o(.text), UNUSED)
=======
<P><STRONG><a name="[74]"></a>__use_two_region_memory</STRONG> (Thumb, 2 bytes, Stack size 0 bytes, heapauxi.o(.text), UNUSED)
=======
<P><STRONG><a name="[78]"></a>__use_two_region_memory</STRONG> (Thumb, 2 bytes, Stack size 0 bytes, heapauxi.o(.text), UNUSED)
>>>>>>> encoder
<P><STRONG><a name="[78]"></a>__rt_heap_expand$2region</STRONG> (Thumb, 2 bytes, Stack size 0 bytes, heapauxi.o(.text), UNUSED)
<P><STRONG><a name="[79]"></a>__rt_heap_escrow$2region</STRONG> (Thumb, 2 bytes, Stack size 0 bytes, heapauxi.o(.text), UNUSED)
<<<<<<< HEAD
<P><STRONG><a name="[76]"></a>__rt_heap_expand$2region</STRONG> (Thumb, 2 bytes, Stack size 0 bytes, heapauxi.o(.text), UNUSED)
>>>>>>> encoder
=======
<P><STRONG><a name="[7a]"></a>__rt_heap_expand$2region</STRONG> (Thumb, 2 bytes, Stack size 0 bytes, heapauxi.o(.text), UNUSED)
>>>>>>> encoder
<P><STRONG><a name="[3f]"></a>__user_setup_stackheap</STRONG> (Thumb, 74 bytes, Stack size 8 bytes, sys_stackheap_outer.o(.text))
<P><STRONG><a name="[3e]"></a>__user_setup_stackheap</STRONG> (Thumb, 74 bytes, Stack size 8 bytes, sys_stackheap_outer.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 8 + Unknown Stack Size
<LI>Call Chain = __user_setup_stackheap
</UL>
<BR>[Calls]<UL><LI><a href="#[49]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__user_perproc_libspace
<LI><a href="#[39]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__user_initial_stackheap
<BR>[Calls]<UL><LI><a href="#[48]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__user_perproc_libspace
<LI><a href="#[38]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__user_initial_stackheap
</UL>
<BR>[Called By]<UL><LI><a href="#[3e]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__rt_entry_sh
<BR>[Called By]<UL><LI><a href="#[3d]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__rt_entry_sh
</UL>
<P><STRONG><a name="[44]"></a>exit</STRONG> (Thumb, 18 bytes, Stack size 8 bytes, exit.o(.text))
<P><STRONG><a name="[43]"></a>exit</STRONG> (Thumb, 18 bytes, Stack size 8 bytes, exit.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 8 + Unknown Stack Size
<LI>Call Chain = exit
</UL>
<BR>[Calls]<UL><LI><a href="#[4a]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__rt_exit
<BR>[Calls]<UL><LI><a href="#[49]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__rt_exit
</UL>
<BR>[Called By]<UL><LI><a href="#[42]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__rt_entry_main
<BR>[Called By]<UL><LI><a href="#[41]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__rt_entry_main
</UL>
<<<<<<< HEAD
<<<<<<< HEAD
<P><STRONG><a name="[7a]"></a>__user_libspace</STRONG> (Thumb, 8 bytes, Stack size 0 bytes, libspace.o(.text), UNUSED)
=======
<P><STRONG><a name="[77]"></a>__user_libspace</STRONG> (Thumb, 8 bytes, Stack size 0 bytes, libspace.o(.text), UNUSED)
>>>>>>> encoder
=======
<P><STRONG><a name="[7b]"></a>__user_libspace</STRONG> (Thumb, 8 bytes, Stack size 0 bytes, libspace.o(.text), UNUSED)
>>>>>>> encoder
<P><STRONG><a name="[79]"></a>__user_libspace</STRONG> (Thumb, 8 bytes, Stack size 0 bytes, libspace.o(.text), UNUSED)
<P><STRONG><a name="[49]"></a>__user_perproc_libspace</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, libspace.o(.text))
<BR><BR>[Called By]<UL><LI><a href="#[3f]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__user_setup_stackheap
<P><STRONG><a name="[48]"></a>__user_perproc_libspace</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, libspace.o(.text))
<BR><BR>[Called By]<UL><LI><a href="#[3e]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__user_setup_stackheap
</UL>
<<<<<<< HEAD
<<<<<<< HEAD
<P><STRONG><a name="[7b]"></a>__user_perthread_libspace</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, libspace.o(.text), UNUSED)
=======
<P><STRONG><a name="[78]"></a>__user_perthread_libspace</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, libspace.o(.text), UNUSED)
>>>>>>> encoder
=======
<P><STRONG><a name="[7c]"></a>__user_perthread_libspace</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, libspace.o(.text), UNUSED)
>>>>>>> encoder
<P><STRONG><a name="[7a]"></a>__user_perthread_libspace</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, libspace.o(.text), UNUSED)
<P><STRONG><a name="[48]"></a>_sys_exit</STRONG> (Thumb, 8 bytes, Stack size 0 bytes, sys_exit.o(.text))
<BR><BR>[Called By]<UL><LI><a href="#[47]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__rt_exit_exit
<P><STRONG><a name="[47]"></a>_sys_exit</STRONG> (Thumb, 8 bytes, Stack size 0 bytes, sys_exit.o(.text))
<BR><BR>[Called By]<UL><LI><a href="#[46]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__rt_exit_exit
</UL>
<<<<<<< HEAD
<<<<<<< HEAD
<P><STRONG><a name="[7c]"></a>__I$use$semihosting</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, use_no_semi.o(.text), UNUSED)
<P><STRONG><a name="[7b]"></a>__I$use$semihosting</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, use_no_semi.o(.text), UNUSED)
<P><STRONG><a name="[7d]"></a>__use_no_semihosting_swi</STRONG> (Thumb, 2 bytes, Stack size 0 bytes, use_no_semi.o(.text), UNUSED)
<P><STRONG><a name="[7c]"></a>__use_no_semihosting_swi</STRONG> (Thumb, 2 bytes, Stack size 0 bytes, use_no_semi.o(.text), UNUSED)
<P><STRONG><a name="[7e]"></a>__semihosting_library_function</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, indicate_semi.o(.text), UNUSED)
=======
<P><STRONG><a name="[79]"></a>__I$use$semihosting</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, use_no_semi.o(.text), UNUSED)
=======
<P><STRONG><a name="[7d]"></a>__I$use$semihosting</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, use_no_semi.o(.text), UNUSED)
>>>>>>> encoder
<P><STRONG><a name="[7d]"></a>__semihosting_library_function</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, indicate_semi.o(.text), UNUSED)
<P><STRONG><a name="[7e]"></a>__use_no_semihosting_swi</STRONG> (Thumb, 2 bytes, Stack size 0 bytes, use_no_semi.o(.text), UNUSED)
<<<<<<< HEAD
<P><STRONG><a name="[7b]"></a>__semihosting_library_function</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, indicate_semi.o(.text), UNUSED)
>>>>>>> encoder
=======
<P><STRONG><a name="[7f]"></a>__semihosting_library_function</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, indicate_semi.o(.text), UNUSED)
>>>>>>> encoder
<P><STRONG><a name="[1c]"></a>ADC1_2_IRQHandler</STRONG> (Thumb, 28 bytes, Stack size 0 bytes, driver_adc.o(.text.ADC1_2_IRQHandler))
<BR>[Address Reference Count : 1]<UL><LI> startup_stm32f10x_md.o(RESET)
<P><STRONG><a name="[37]"></a>Bug</STRONG> (Thumb, 2 bytes, Stack size 0 bytes, driver_timer.o(.text.Bug))
<BR><BR>[Calls]<UL><LI><a href="#[37]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Bug
</UL>
<P><STRONG><a name="[4b]"></a>App_Girouette_GetDirection</STRONG> (Thumb, 26 bytes, Stack size 8 bytes, app_girouette.o(.text.App_Girouette_GetDirection))
<BR><BR>[Stack]<UL><LI>Max Depth = 8<LI>Call Chain = App_Girouette_GetDirection
</UL>
<BR>[Calls]<UL><LI><a href="#[4c]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;TIM_GetCounter
</UL>
<BR>[Called By]<UL><LI><a href="#[43]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;main
</UL>
<P><STRONG><a name="[4d]"></a>App_Girouette_Init</STRONG> (Thumb, 80 bytes, Stack size 48 bytes, app_girouette.o(.text.App_Girouette_Init))
<BR><BR>[Stack]<UL><LI>Max Depth = 56<LI>Call Chain = App_Girouette_Init &rArr; MyGPIO_Init
</UL>
<BR>[Calls]<UL><LI><a href="#[50]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;MyTimer_Start
<LI><a href="#[4f]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;MyTimer_ConfigureEncoder
<LI><a href="#[4e]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;MyTimer_Base_Init
<LI><a href="#[51]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;MyGPIO_Init
</UL>
<BR>[Called By]<UL><LI><a href="#[43]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;main
</UL>
<P><STRONG><a name="[38]"></a>Bug</STRONG> (Thumb, 2 bytes, Stack size 0 bytes, driver_timer.o(.text.Bug))
<BR><BR>[Calls]<UL><LI><a href="#[38]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Bug
</UL>
<BR>[Called By]<UL><LI><a href="#[38]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Bug
<BR>[Called By]<UL><LI><a href="#[37]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Bug
</UL>
<BR>[Address Reference Count : 3]<UL><LI> driver_timer.o(.data.TIM2_fx)
<LI> driver_timer.o(.data.TIM3_fx)
<LI> driver_timer.o(.data.TIM4_fx)
</UL>
<<<<<<< HEAD
=======
<P><STRONG><a name="[13]"></a>EXTI3_IRQHandler</STRONG> (Thumb, 2 bytes, Stack size 0 bytes, driver_timer.o(.text.EXTI3_IRQHandler))
<BR>[Address Reference Count : 1]<UL><LI> startup_stm32f10x_md.o(RESET)
</UL>
<P><STRONG><a name="[51]"></a>MyGPIO_Init</STRONG> (Thumb, 140 bytes, Stack size 8 bytes, driver_gpio.o(.text.MyGPIO_Init))
<P><STRONG><a name="[4a]"></a>MyGPIO_Init</STRONG> (Thumb, 140 bytes, Stack size 8 bytes, driver_gpio.o(.text.MyGPIO_Init))
<BR><BR>[Stack]<UL><LI>Max Depth = 8<LI>Call Chain = MyGPIO_Init
</UL>
<BR>[Called By]<UL><LI><a href="#[4d]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;App_Girouette_Init
<LI><a href="#[43]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;main
<BR>[Called By]<UL><LI><a href="#[42]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;main
</UL>
<P><STRONG><a name="[4e]"></a>MyTimer_Base_Init</STRONG> (Thumb, 140 bytes, Stack size 0 bytes, driver_timer.o(.text.MyTimer_Base_Init))
<BR><BR>[Called By]<UL><LI><a href="#[4d]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;App_Girouette_Init
<P><STRONG><a name="[4b]"></a>MyGPIO_Set</STRONG> (Thumb, 14 bytes, Stack size 0 bytes, driver_gpio.o(.text.MyGPIO_Set))
<BR><BR>[Called By]<UL><LI><a href="#[42]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;main
</UL>
<P><STRONG><a name="[4f]"></a>MyTimer_ConfigureEncoder</STRONG> (Thumb, 168 bytes, Stack size 0 bytes, driver_timer.o(.text.MyTimer_ConfigureEncoder))
<BR><BR>[Called By]<UL><LI><a href="#[4d]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;App_Girouette_Init
<P><STRONG><a name="[4c]"></a>MyTimer_Base_Init</STRONG> (Thumb, 140 bytes, Stack size 0 bytes, driver_timer.o(.text.MyTimer_Base_Init))
<BR><BR>[Called By]<UL><LI><a href="#[42]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;main
</UL>
<P><STRONG><a name="[50]"></a>MyTimer_Start</STRONG> (Thumb, 12 bytes, Stack size 0 bytes, driver_timer.o(.text.MyTimer_Start))
<BR><BR>[Called By]<UL><LI><a href="#[4d]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;App_Girouette_Init
<P><STRONG><a name="[4d]"></a>MyTimer_ConfigurePWM</STRONG> (Thumb, 168 bytes, Stack size 0 bytes, driver_timer.o(.text.MyTimer_ConfigurePWM))
<BR><BR>[Called By]<UL><LI><a href="#[42]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;main
</UL>
<P><STRONG><a name="[52]"></a>MyUART_Init</STRONG> (Thumb, 76 bytes, Stack size 0 bytes, driver_uart.o(.text.MyUART_Init))
<BR><BR>[Called By]<UL><LI><a href="#[43]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;main
<P><STRONG><a name="[4e]"></a>MyTimer_Start</STRONG> (Thumb, 12 bytes, Stack size 0 bytes, driver_timer.o(.text.MyTimer_Start))
<BR><BR>[Called By]<UL><LI><a href="#[42]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;main
</UL>
<P><STRONG><a name="[53]"></a>MyUART_SendByte</STRONG> (Thumb, 22 bytes, Stack size 0 bytes, driver_uart.o(.text.MyUART_SendByte))
<BR><BR>[Called By]<UL><LI><a href="#[43]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;main
<P><STRONG><a name="[4f]"></a>MyUART_Init</STRONG> (Thumb, 58 bytes, Stack size 0 bytes, driver_uart.o(.text.MyUART_Init))
<BR><BR>[Called By]<UL><LI><a href="#[42]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;main
</UL>
<P><STRONG><a name="[51]"></a>MyUART_ReceiveByte</STRONG> (Thumb, 24 bytes, Stack size 0 bytes, driver_uart.o(.text.MyUART_ReceiveByte))
<BR><BR>[Called By]<UL><LI><a href="#[42]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;main
</UL>
<P><STRONG><a name="[50]"></a>MyUART_SendByte</STRONG> (Thumb, 20 bytes, Stack size 0 bytes, driver_uart.o(.text.MyUART_SendByte))
<BR><BR>[Called By]<UL><LI><a href="#[42]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;main
</UL>
>>>>>>> encoder
<P><STRONG><a name="[35]"></a>SystemInit</STRONG> (Thumb, 272 bytes, Stack size 8 bytes, system_stm32f10x.o(.text.SystemInit))
<BR><BR>[Stack]<UL><LI>Max Depth = 8<LI>Call Chain = SystemInit
</UL>
@ -741,102 +527,19 @@ Global Symbols
<P><STRONG><a name="[28]"></a>TIM4_IRQHandler</STRONG> (Thumb, 28 bytes, Stack size 0 bytes, driver_timer.o(.text.TIM4_IRQHandler))
<BR>[Address Reference Count : 1]<UL><LI> startup_stm32f10x_md.o(RESET)
</UL>
<P><STRONG><a name="[4c]"></a>TIM_GetCounter</STRONG> (Thumb, 4 bytes, Stack size 0 bytes, driver_timer.o(.text.TIM_GetCounter))
<BR><BR>[Called By]<UL><LI><a href="#[4b]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;App_Girouette_GetDirection
<P><STRONG><a name="[42]"></a>main</STRONG> (Thumb, 168 bytes, Stack size 40 bytes, main.o(.text.main))
<BR><BR>[Stack]<UL><LI>Max Depth = 48<LI>Call Chain = main &rArr; MyGPIO_Init
</UL>
<P><STRONG><a name="[31]"></a>USART3_IRQHandler</STRONG> (Thumb, 14 bytes, Stack size 0 bytes, driver_uart.o(.text.USART3_IRQHandler))
<BR>[Address Reference Count : 1]<UL><LI> startup_stm32f10x_md.o(RESET)
<BR>[Calls]<UL><LI><a href="#[51]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;MyUART_ReceiveByte
<LI><a href="#[50]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;MyUART_SendByte
<LI><a href="#[4f]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;MyUART_Init
<LI><a href="#[4e]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;MyTimer_Start
<LI><a href="#[4d]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;MyTimer_ConfigurePWM
<LI><a href="#[4c]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;MyTimer_Base_Init
<LI><a href="#[4b]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;MyGPIO_Set
<LI><a href="#[4a]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;MyGPIO_Init
</UL>
<<<<<<< HEAD
<P><STRONG><a name="[4b]"></a>driver_IMU_init</STRONG> (Thumb, 78 bytes, Stack size 8 bytes, driver_imu.o(.text.driver_IMU_init))
<BR><BR>[Stack]<UL><LI>Max Depth = 12<LI>Call Chain = driver_IMU_init &rArr; MySPI_Init
</UL>
<BR>[Calls]<UL><LI><a href="#[4c]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;MySPI_Init
<LI><a href="#[4f]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;MySPI_Set_NSS
<LI><a href="#[4e]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;MySPI_Send
<LI><a href="#[4d]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;MySPI_Clear_NSS
</UL>
<BR>[Called By]<UL><LI><a href="#[43]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;main
</UL>
<P><STRONG><a name="[50]"></a>driver_IMU_read</STRONG> (Thumb, 48 bytes, Stack size 16 bytes, driver_imu.o(.text.driver_IMU_read))
<BR><BR>[Stack]<UL><LI>Max Depth = 16<LI>Call Chain = driver_IMU_read
</UL>
<BR>[Calls]<UL><LI><a href="#[51]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;MySPI_Read
<LI><a href="#[4f]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;MySPI_Set_NSS
<LI><a href="#[4e]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;MySPI_Send
<LI><a href="#[4d]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;MySPI_Clear_NSS
</UL>
<BR>[Called By]<UL><LI><a href="#[43]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;main
</UL>
<P><STRONG><a name="[52]"></a>driver_adc_1_launch_read</STRONG> (Thumb, 18 bytes, Stack size 0 bytes, driver_adc.o(.text.driver_adc_1_launch_read))
<BR><BR>[Called By]<UL><LI><a href="#[43]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;main
</UL>
<P><STRONG><a name="[37]"></a>erreur</STRONG> (Thumb, 2 bytes, Stack size 0 bytes, driver_adc.o(.text.erreur))
<BR><BR>[Calls]<UL><LI><a href="#[37]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;erreur
</UL>
<BR>[Called By]<UL><LI><a href="#[37]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;erreur
</UL>
<BR>[Address Reference Count : 1]<UL><LI> driver_adc.o(.data.ADC1_2_fx)
</UL>
<P><STRONG><a name="[43]"></a>main</STRONG> (Thumb, 28 bytes, Stack size 8 bytes, main.o(.text.main))
<BR><BR>[Stack]<UL><LI>Max Depth = 24<LI>Call Chain = main &rArr; driver_IMU_read
</UL>
<BR>[Calls]<UL><LI><a href="#[50]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;driver_IMU_read
<LI><a href="#[4b]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;driver_IMU_init
<LI><a href="#[52]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;driver_adc_1_launch_read
</UL>
<BR>[Called By]<UL><LI><a href="#[42]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__rt_entry_main
</UL>
<P><STRONG><a name="[4d]"></a>MySPI_Clear_NSS</STRONG> (Thumb, 30 bytes, Stack size 0 bytes, myspi.o(i.MySPI_Clear_NSS))
<BR><BR>[Called By]<UL><LI><a href="#[50]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;driver_IMU_read
<LI><a href="#[4b]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;driver_IMU_init
</UL>
<P><STRONG><a name="[4c]"></a>MySPI_Init</STRONG> (Thumb, 480 bytes, Stack size 4 bytes, myspi.o(i.MySPI_Init))
<BR><BR>[Stack]<UL><LI>Max Depth = 4<LI>Call Chain = MySPI_Init
</UL>
<BR>[Calls]<UL><LI><a href="#[4f]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;MySPI_Set_NSS
</UL>
<BR>[Called By]<UL><LI><a href="#[4b]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;driver_IMU_init
</UL>
<P><STRONG><a name="[51]"></a>MySPI_Read</STRONG> (Thumb, 70 bytes, Stack size 0 bytes, myspi.o(i.MySPI_Read))
<BR><BR>[Called By]<UL><LI><a href="#[50]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;driver_IMU_read
</UL>
<P><STRONG><a name="[4e]"></a>MySPI_Send</STRONG> (Thumb, 68 bytes, Stack size 0 bytes, myspi.o(i.MySPI_Send))
<BR><BR>[Called By]<UL><LI><a href="#[50]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;driver_IMU_read
<LI><a href="#[4b]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;driver_IMU_init
</UL>
<P><STRONG><a name="[4f]"></a>MySPI_Set_NSS</STRONG> (Thumb, 28 bytes, Stack size 0 bytes, myspi.o(i.MySPI_Set_NSS))
<BR><BR>[Called By]<UL><LI><a href="#[4c]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;MySPI_Init
<LI><a href="#[50]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;driver_IMU_read
<LI><a href="#[4b]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;driver_IMU_init
=======
<P><STRONG><a name="[37]"></a>erreur</STRONG> (Thumb, 2 bytes, Stack size 0 bytes, driver_adc.o(.text.erreur))
<BR><BR>[Calls]<UL><LI><a href="#[37]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;erreur
</UL>
<BR>[Called By]<UL><LI><a href="#[37]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;erreur
</UL>
<BR>[Address Reference Count : 1]<UL><LI> driver_adc.o(.data.ADC1_2_fx)
</UL>
<P><STRONG><a name="[43]"></a>main</STRONG> (Thumb, 82 bytes, Stack size 16 bytes, main.o(.text.main))
<BR><BR>[Stack]<UL><LI>Max Depth = 72<LI>Call Chain = main &rArr; App_Girouette_Init &rArr; MyGPIO_Init
</UL>
<BR>[Calls]<UL><LI><a href="#[53]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;MyUART_SendByte
<LI><a href="#[4b]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;App_Girouette_GetDirection
<LI><a href="#[4d]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;App_Girouette_Init
<LI><a href="#[52]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;MyUART_Init
<LI><a href="#[51]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;MyGPIO_Init
</UL>
<BR>[Called By]<UL><LI><a href="#[42]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__rt_entry_main
>>>>>>> encoder
<BR>[Called By]<UL><LI><a href="#[41]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__rt_entry_main
</UL>
<P>
<H3>

View file

@ -1,15 +1,8 @@
--cpu Cortex-M3
".\objects\main.o"
".\objects\app_girouette.o"
".\objects\driver_gpio.o"
".\objects\driver_timer.o"
".\objects\driver_uart.o"
".\objects\driver_adc.o"
<<<<<<< HEAD
".\objects\driver_imu.o"
"..\driver\Lib_Com_Periph_2022.lib"
=======
>>>>>>> encoder
".\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

Binary file not shown.

View file

@ -22,94 +22,15 @@ Dialog DLL: TARMSTM.DLL V1.67.1.0
<h2>Project:</h2>
C:\Users\robin\OneDrive\Documents\Dev\Projet-Voilier-3\projet-voilier\projet-voilier.uvprojx
Project File Date: 04/11/2023
Project File Date: 03/27/2023
<h2>Output:</h2>
*** Using Compiler 'V6.19', folder: 'C:\Keil_v5\ARM\ARMCLANG\Bin'
Rebuild target 'reel'
src/main.c(19): error: unknown type name 'Encoder'
Encoder->Timer = TIM4;
^
src/main.c(19): error: expected identifier or '('
Encoder->Timer = TIM4;
^
src/main.c(20): error: expected parameter declarator
MyTimer_Base_Init(&Encoder);
^
src/main.c(20): error: expected ')'
src/main.c(20): note: to match this '('
MyTimer_Base_Init(&Encoder);
^
src/main.c(20): warning: a function declaration without a prototype is deprecated in all versions of C and is treated as a zero-parameter prototype in C2x, conflicting with a previous declaration [-Wdeprecated-non-prototype]
MyTimer_Base_Init(&Encoder);
^
../driver\Driver_Timer.h(20): note: conflicting prototype is here
void MyTimer_Base_Init(MyTimer_Struct_TypeDef * Timer);
^
src/main.c(20): error: conflicting types for 'MyTimer_Base_Init'
MyTimer_Base_Init(&Encoder);
^
../driver\Driver_Timer.h(20): note: previous declaration is here
void MyTimer_Base_Init(MyTimer_Struct_TypeDef * Timer);
^
src/main.c(21): error: expected parameter declarator
MyTimer_ConfigureEncoder(&Encoder);
^
src/main.c(21): error: expected ')'
src/main.c(21): note: to match this '('
MyTimer_ConfigureEncoder(&Encoder);
^
src/main.c(21): warning: a function declaration without a prototype is deprecated in all versions of C and is treated as a zero-parameter prototype in C2x, conflicting with a previous declaration [-Wdeprecated-non-prototype]
MyTimer_ConfigureEncoder(&Encoder);
^
../driver\Driver_Timer.h(68): note: conflicting prototype is here
void MyTimer_ConfigureEncoder(MyTimer_Struct_TypeDef *Timer);
^
src/main.c(21): error: conflicting types for 'MyTimer_ConfigureEncoder'
MyTimer_ConfigureEncoder(&Encoder);
^
../driver\Driver_Timer.h(68): note: previous declaration is here
void MyTimer_ConfigureEncoder(MyTimer_Struct_TypeDef *Timer);
^
src/main.c(22): error: expected parameter declarator
MyTimer_Start(&Encoder);
^
src/main.c(22): error: expected ')'
src/main.c(22): note: to match this '('
MyTimer_Start(&Encoder);
^
src/main.c(22): warning: a function declaration without a prototype is deprecated in all versions of C and is treated as a zero-parameter prototype in C2x, conflicting with a previous declaration [-Wdeprecated-non-prototype]
MyTimer_Start(&Encoder);
^
../driver\Driver_Timer.h(29): note: conflicting prototype is here
void MyTimer_Start(MyTimer_Struct_TypeDef * Timer);
^
src/main.c(22): error: conflicting types for 'MyTimer_Start'
MyTimer_Start(&Encoder);
^
../driver\Driver_Timer.h(29): note: previous declaration is here
void MyTimer_Start(MyTimer_Struct_TypeDef * Timer);
^
src/main.c(47): error: too few arguments to function call, expected 3, have 2
MyTimer_ConfigurePWM(&PWM_VOILE, 10);
~~~~~~~~~~~~~~~~~~~~ ^
../driver\Driver_Timer.h(66): note: 'MyTimer_ConfigurePWM' declared here
void MyTimer_ConfigurePWM(MyTimer_Struct_TypeDef *Timer, uint8_t pwm_channel, uint16_t duty_cycle);
^
src/main.c(128): warning: implicitly declaring library function 'sprintf' with type 'int (char *, const char *, ...)' [-Wimplicit-function-declaration]
sprintf(str, "Dir: %f deg", (float)dir);
^
src/main.c(128): note: include the header <stdio.h> or explicitly provide a declaration for 'sprintf'
4 warnings and 12 errors generated.
compiling main.c...
assembling startup_stm32f10x_md.s...
compiling Driver_ADC.c...
compiling Driver_GPIO.c...
compiling App_girouette.c...
Build target 'reel'
compiling Driver_UART.c...
compiling Driver_Timer.c...
compiling system_stm32f10x.c...
".\Objects\projet-voilier_reel.axf" - 12 Error(s), 4 Warning(s).
linking...
Program Size: Code=1216 RO-data=268 RW-data=12 ZI-data=1024
".\Objects\projet-voilier_reel.axf" - 0 Error(s), 0 Warning(s).
<h2>Software Packages used:</h2>
@ -137,11 +58,10 @@ Package Vendor: Keil
* Component: Keil::Device:Startup:1.0.0
Source file: Device/Source/ARM/startup_stm32f10x_md.s
Source file: Device/Source/system_stm32f10x.c
Include file: RTE_Driver/Config/RTE_Device.h
Source file: Device/Source/system_stm32f10x.c
Source file: Device/Source/ARM/STM32F1xx_OPT.s
Target not created.
Build Time Elapsed: 00:00:01
Build Time Elapsed: 00:00:00
</pre>
</body>
</html>

View file

@ -1,6 +1,6 @@
Dependencies for Project 'projet-voilier', Target 'reel': (DO NOT MODIFY !)
CompilerVersion: 6190000::V6.19::ARMCLANG
F (.\src\main.c)(0x6435459E)(-xc -std=c90 --target=arm-arm-none-eabi -mcpu=cortex-m3 -c -fno-rtti -funsigned-char -fshort-enums -fshort-wchar -D__EVAL -D__MICROLIB -gdwarf-4 -O1 -ffunction-sections -Wno-packed -Wno-missing-variable-declarations -Wno-missing-prototypes -Wno-missing-noreturn -Wno-sign-conversion -Wno-nonportable-include-path -Wno-reserved-id-macro -Wno-unused-macros -Wno-documentation-unknown-command -Wno-documentation -Wno-license-management -Wno-parentheses-equality -Wno-reserved-identifier -I ./src -I ../driver -I./RTE/Device/STM32F103RB -I./RTE/_reel -IC:/Users/robin/AppData/Local/Arm/Packs/ARM/CMSIS/5.9.0/CMSIS/Core/Include -IC:/Users/robin/AppData/Local/Arm/Packs/Keil/STM32F1xx_DFP/2.4.0/Device/Include -D__UVISION_VERSION="538" -D_RTE_ -DSTM32F10X_MD -D_RTE_ -o ./objects/main.o -MD)
F (.\src\main.c)(0x6426A876)(-xc -std=c90 --target=arm-arm-none-eabi -mcpu=cortex-m3 -c -fno-rtti -funsigned-char -fshort-enums -fshort-wchar -D__EVAL -D__MICROLIB -gdwarf-4 -O1 -ffunction-sections -Wno-packed -Wno-missing-variable-declarations -Wno-missing-prototypes -Wno-missing-noreturn -Wno-sign-conversion -Wno-nonportable-include-path -Wno-reserved-id-macro -Wno-unused-macros -Wno-documentation-unknown-command -Wno-documentation -Wno-license-management -Wno-parentheses-equality -Wno-reserved-identifier -I ./src -I ../driver -I./RTE/Device/STM32F103RB -I./RTE/_reel -IC:/Users/robin/AppData/Local/Arm/Packs/ARM/CMSIS/5.9.0/CMSIS/Core/Include -IC:/Users/robin/AppData/Local/Arm/Packs/Keil/STM32F1xx_DFP/2.4.0/Device/Include -D__UVISION_VERSION="538" -D_RTE_ -DSTM32F10X_MD -D_RTE_ -o ./objects/main.o -MD)
I (C:\Users\robin\AppData\Local\Arm\Packs\Keil\STM32F1xx_DFP\2.4.0\Device\Include\stm32f10x.h)(0x61ADDBCE)
I (RTE\_reel\RTE_Components.h)(0x64218849)
I (C:\Users\robin\AppData\Local\Arm\Packs\ARM\CMSIS\5.9.0\CMSIS\Core\Include\core_cm3.h)(0x626FAD4E)
@ -9,28 +9,11 @@ I (C:\Users\robin\AppData\Local\Arm\Packs\ARM\CMSIS\5.9.0\CMSIS\Core\Include\cms
I (C:\Users\robin\AppData\Local\Arm\Packs\ARM\CMSIS\5.9.0\CMSIS\Core\Include\cmsis_compiler.h)(0x626FAD4E)
I (C:\Users\robin\AppData\Local\Arm\Packs\ARM\CMSIS\5.9.0\CMSIS\Core\Include\cmsis_armclang.h)(0x626FAD4E)
I (C:\Users\robin\AppData\Local\Arm\Packs\Keil\STM32F1xx_DFP\2.4.0\Device\Include\system_stm32f10x.h)(0x61ADDBCE)
I (..\driver\Driver_GPIO.h)(0x64354588)
I (..\driver\Driver_Timer.h)(0x64354588)
I (..\driver\Driver_UART.h)(0x6435459E)
I (..\driver\Driver_ADC.h)(0x64354588)
I (..\driver\MySPI.h)(0x64354588)
I (..\driver\Driver_IMU.h)(0x64354588)
I (src\App_girouette.h)(0x6435459E)
F (.\src\App_girouette.c)(0x6435459E)(-xc -std=c90 --target=arm-arm-none-eabi -mcpu=cortex-m3 -c -fno-rtti -funsigned-char -fshort-enums -fshort-wchar -D__EVAL -D__MICROLIB -gdwarf-4 -O1 -ffunction-sections -Wno-packed -Wno-missing-variable-declarations -Wno-missing-prototypes -Wno-missing-noreturn -Wno-sign-conversion -Wno-nonportable-include-path -Wno-reserved-id-macro -Wno-unused-macros -Wno-documentation-unknown-command -Wno-documentation -Wno-license-management -Wno-parentheses-equality -Wno-reserved-identifier -I ./src -I ../driver -I./RTE/Device/STM32F103RB -I./RTE/_reel -IC:/Users/robin/AppData/Local/Arm/Packs/ARM/CMSIS/5.9.0/CMSIS/Core/Include -IC:/Users/robin/AppData/Local/Arm/Packs/Keil/STM32F1xx_DFP/2.4.0/Device/Include -D__UVISION_VERSION="538" -D_RTE_ -DSTM32F10X_MD -D_RTE_ -o ./objects/app_girouette.o -MD)
I (src\App_girouette.h)(0x6435459E)
I (C:\Users\robin\AppData\Local\Arm\Packs\Keil\STM32F1xx_DFP\2.4.0\Device\Include\stm32f10x.h)(0x61ADDBCE)
I (RTE\_reel\RTE_Components.h)(0x64218849)
I (C:\Users\robin\AppData\Local\Arm\Packs\ARM\CMSIS\5.9.0\CMSIS\Core\Include\core_cm3.h)(0x626FAD4E)
I (C:\Keil_v5\ARM\ARMCLANG\include\stdint.h)(0x6388AB78)
I (C:\Users\robin\AppData\Local\Arm\Packs\ARM\CMSIS\5.9.0\CMSIS\Core\Include\cmsis_version.h)(0x626FAD4E)
I (C:\Users\robin\AppData\Local\Arm\Packs\ARM\CMSIS\5.9.0\CMSIS\Core\Include\cmsis_compiler.h)(0x626FAD4E)
I (C:\Users\robin\AppData\Local\Arm\Packs\ARM\CMSIS\5.9.0\CMSIS\Core\Include\cmsis_armclang.h)(0x626FAD4E)
I (C:\Users\robin\AppData\Local\Arm\Packs\Keil\STM32F1xx_DFP\2.4.0\Device\Include\system_stm32f10x.h)(0x61ADDBCE)
I (..\driver\Driver_GPIO.h)(0x64354588)
I (..\driver\Driver_Timer.h)(0x64354588)
F (.\src\App_girouette.h)(0x6435459E)()
F (..\driver\Driver_GPIO.c)(0x6435459E)(-xc -std=c90 --target=arm-arm-none-eabi -mcpu=cortex-m3 -c -fno-rtti -funsigned-char -fshort-enums -fshort-wchar -D__EVAL -D__MICROLIB -gdwarf-4 -O1 -ffunction-sections -Wno-packed -Wno-missing-variable-declarations -Wno-missing-prototypes -Wno-missing-noreturn -Wno-sign-conversion -Wno-nonportable-include-path -Wno-reserved-id-macro -Wno-unused-macros -Wno-documentation-unknown-command -Wno-documentation -Wno-license-management -Wno-parentheses-equality -Wno-reserved-identifier -I ./src -I ../driver -I./RTE/Device/STM32F103RB -I./RTE/_reel -IC:/Users/robin/AppData/Local/Arm/Packs/ARM/CMSIS/5.9.0/CMSIS/Core/Include -IC:/Users/robin/AppData/Local/Arm/Packs/Keil/STM32F1xx_DFP/2.4.0/Device/Include -D__UVISION_VERSION="538" -D_RTE_ -DSTM32F10X_MD -D_RTE_ -o ./objects/driver_gpio.o -MD)
I (..\driver\Driver_GPIO.h)(0x64354588)
I (..\driver\Driver_GPIO.h)(0x641B050C)
I (..\driver\Driver_Timer.h)(0x6421D747)
I (..\driver\Driver_UART.h)(0x6425DA6A)
F (..\driver\Driver_GPIO.c)(0x641B050C)(-xc -std=c90 --target=arm-arm-none-eabi -mcpu=cortex-m3 -c -fno-rtti -funsigned-char -fshort-enums -fshort-wchar -D__EVAL -D__MICROLIB -gdwarf-4 -O1 -ffunction-sections -Wno-packed -Wno-missing-variable-declarations -Wno-missing-prototypes -Wno-missing-noreturn -Wno-sign-conversion -Wno-nonportable-include-path -Wno-reserved-id-macro -Wno-unused-macros -Wno-documentation-unknown-command -Wno-documentation -Wno-license-management -Wno-parentheses-equality -Wno-reserved-identifier -I ./src -I ../driver -I./RTE/Device/STM32F103RB -I./RTE/_reel -IC:/Users/robin/AppData/Local/Arm/Packs/ARM/CMSIS/5.9.0/CMSIS/Core/Include -IC:/Users/robin/AppData/Local/Arm/Packs/Keil/STM32F1xx_DFP/2.4.0/Device/Include -D__UVISION_VERSION="538" -D_RTE_ -DSTM32F10X_MD -D_RTE_ -o ./objects/driver_gpio.o -MD)
I (..\driver\Driver_GPIO.h)(0x641B050C)
I (C:\Users\robin\AppData\Local\Arm\Packs\Keil\STM32F1xx_DFP\2.4.0\Device\Include\stm32f10x.h)(0x61ADDBCE)
I (RTE\_reel\RTE_Components.h)(0x64218849)
I (C:\Users\robin\AppData\Local\Arm\Packs\ARM\CMSIS\5.9.0\CMSIS\Core\Include\core_cm3.h)(0x626FAD4E)
@ -40,9 +23,9 @@ I (C:\Users\robin\AppData\Local\Arm\Packs\ARM\CMSIS\5.9.0\CMSIS\Core\Include\cms
I (C:\Users\robin\AppData\Local\Arm\Packs\ARM\CMSIS\5.9.0\CMSIS\Core\Include\cmsis_armclang.h)(0x626FAD4E)
I (C:\Users\robin\AppData\Local\Arm\Packs\Keil\STM32F1xx_DFP\2.4.0\Device\Include\system_stm32f10x.h)(0x61ADDBCE)
I (C:\Keil_v5\ARM\ARMCLANG\include\stdio.h)(0x6388AB78)
F (..\driver\Driver_GPIO.h)(0x64354588)()
F (..\driver\Driver_Timer.c)(0x6435459E)(-xc -std=c90 --target=arm-arm-none-eabi -mcpu=cortex-m3 -c -fno-rtti -funsigned-char -fshort-enums -fshort-wchar -D__EVAL -D__MICROLIB -gdwarf-4 -O1 -ffunction-sections -Wno-packed -Wno-missing-variable-declarations -Wno-missing-prototypes -Wno-missing-noreturn -Wno-sign-conversion -Wno-nonportable-include-path -Wno-reserved-id-macro -Wno-unused-macros -Wno-documentation-unknown-command -Wno-documentation -Wno-license-management -Wno-parentheses-equality -Wno-reserved-identifier -I ./src -I ../driver -I./RTE/Device/STM32F103RB -I./RTE/_reel -IC:/Users/robin/AppData/Local/Arm/Packs/ARM/CMSIS/5.9.0/CMSIS/Core/Include -IC:/Users/robin/AppData/Local/Arm/Packs/Keil/STM32F1xx_DFP/2.4.0/Device/Include -D__UVISION_VERSION="538" -D_RTE_ -DSTM32F10X_MD -D_RTE_ -o ./objects/driver_timer.o -MD)
I (..\driver\Driver_Timer.h)(0x64354588)
F (..\driver\Driver_GPIO.h)(0x641B050C)()
F (..\driver\Driver_Timer.c)(0x6425CEE2)(-xc -std=c90 --target=arm-arm-none-eabi -mcpu=cortex-m3 -c -fno-rtti -funsigned-char -fshort-enums -fshort-wchar -D__EVAL -D__MICROLIB -gdwarf-4 -O1 -ffunction-sections -Wno-packed -Wno-missing-variable-declarations -Wno-missing-prototypes -Wno-missing-noreturn -Wno-sign-conversion -Wno-nonportable-include-path -Wno-reserved-id-macro -Wno-unused-macros -Wno-documentation-unknown-command -Wno-documentation -Wno-license-management -Wno-parentheses-equality -Wno-reserved-identifier -I ./src -I ../driver -I./RTE/Device/STM32F103RB -I./RTE/_reel -IC:/Users/robin/AppData/Local/Arm/Packs/ARM/CMSIS/5.9.0/CMSIS/Core/Include -IC:/Users/robin/AppData/Local/Arm/Packs/Keil/STM32F1xx_DFP/2.4.0/Device/Include -D__UVISION_VERSION="538" -D_RTE_ -DSTM32F10X_MD -D_RTE_ -o ./objects/driver_timer.o -MD)
I (..\driver\Driver_Timer.h)(0x6421D747)
I (C:\Users\robin\AppData\Local\Arm\Packs\Keil\STM32F1xx_DFP\2.4.0\Device\Include\stm32f10x.h)(0x61ADDBCE)
I (RTE\_reel\RTE_Components.h)(0x64218849)
I (C:\Users\robin\AppData\Local\Arm\Packs\ARM\CMSIS\5.9.0\CMSIS\Core\Include\core_cm3.h)(0x626FAD4E)
@ -52,9 +35,9 @@ I (C:\Users\robin\AppData\Local\Arm\Packs\ARM\CMSIS\5.9.0\CMSIS\Core\Include\cms
I (C:\Users\robin\AppData\Local\Arm\Packs\ARM\CMSIS\5.9.0\CMSIS\Core\Include\cmsis_armclang.h)(0x626FAD4E)
I (C:\Users\robin\AppData\Local\Arm\Packs\Keil\STM32F1xx_DFP\2.4.0\Device\Include\system_stm32f10x.h)(0x61ADDBCE)
I (C:\Keil_v5\ARM\ARMCLANG\include\stdio.h)(0x6388AB78)
F (..\driver\Driver_Timer.h)(0x64354588)()
F (..\driver\Driver_UART.c)(0x6435459E)(-xc -std=c90 --target=arm-arm-none-eabi -mcpu=cortex-m3 -c -fno-rtti -funsigned-char -fshort-enums -fshort-wchar -D__EVAL -D__MICROLIB -gdwarf-4 -O1 -ffunction-sections -Wno-packed -Wno-missing-variable-declarations -Wno-missing-prototypes -Wno-missing-noreturn -Wno-sign-conversion -Wno-nonportable-include-path -Wno-reserved-id-macro -Wno-unused-macros -Wno-documentation-unknown-command -Wno-documentation -Wno-license-management -Wno-parentheses-equality -Wno-reserved-identifier -I ./src -I ../driver -I./RTE/Device/STM32F103RB -I./RTE/_reel -IC:/Users/robin/AppData/Local/Arm/Packs/ARM/CMSIS/5.9.0/CMSIS/Core/Include -IC:/Users/robin/AppData/Local/Arm/Packs/Keil/STM32F1xx_DFP/2.4.0/Device/Include -D__UVISION_VERSION="538" -D_RTE_ -DSTM32F10X_MD -D_RTE_ -o ./objects/driver_uart.o -MD)
I (..\driver\Driver_UART.h)(0x6435459E)
F (..\driver\Driver_Timer.h)(0x6421D747)()
F (..\driver\Driver_UART.c)(0x6426AA35)(-xc -std=c90 --target=arm-arm-none-eabi -mcpu=cortex-m3 -c -fno-rtti -funsigned-char -fshort-enums -fshort-wchar -D__EVAL -D__MICROLIB -gdwarf-4 -O1 -ffunction-sections -Wno-packed -Wno-missing-variable-declarations -Wno-missing-prototypes -Wno-missing-noreturn -Wno-sign-conversion -Wno-nonportable-include-path -Wno-reserved-id-macro -Wno-unused-macros -Wno-documentation-unknown-command -Wno-documentation -Wno-license-management -Wno-parentheses-equality -Wno-reserved-identifier -I ./src -I ../driver -I./RTE/Device/STM32F103RB -I./RTE/_reel -IC:/Users/robin/AppData/Local/Arm/Packs/ARM/CMSIS/5.9.0/CMSIS/Core/Include -IC:/Users/robin/AppData/Local/Arm/Packs/Keil/STM32F1xx_DFP/2.4.0/Device/Include -D__UVISION_VERSION="538" -D_RTE_ -DSTM32F10X_MD -D_RTE_ -o ./objects/driver_uart.o -MD)
I (..\driver\Driver_UART.h)(0x6425DA6A)
I (C:\Users\robin\AppData\Local\Arm\Packs\Keil\STM32F1xx_DFP\2.4.0\Device\Include\stm32f10x.h)(0x61ADDBCE)
I (RTE\_reel\RTE_Components.h)(0x64218849)
I (C:\Users\robin\AppData\Local\Arm\Packs\ARM\CMSIS\5.9.0\CMSIS\Core\Include\core_cm3.h)(0x626FAD4E)
@ -63,19 +46,7 @@ I (C:\Users\robin\AppData\Local\Arm\Packs\ARM\CMSIS\5.9.0\CMSIS\Core\Include\cms
I (C:\Users\robin\AppData\Local\Arm\Packs\ARM\CMSIS\5.9.0\CMSIS\Core\Include\cmsis_compiler.h)(0x626FAD4E)
I (C:\Users\robin\AppData\Local\Arm\Packs\ARM\CMSIS\5.9.0\CMSIS\Core\Include\cmsis_armclang.h)(0x626FAD4E)
I (C:\Users\robin\AppData\Local\Arm\Packs\Keil\STM32F1xx_DFP\2.4.0\Device\Include\system_stm32f10x.h)(0x61ADDBCE)
F (..\driver\Driver_UART.h)(0x6435459E)()
F (..\driver\Driver_ADC.c)(0x64354588)(-xc -std=c90 --target=arm-arm-none-eabi -mcpu=cortex-m3 -c -fno-rtti -funsigned-char -fshort-enums -fshort-wchar -D__EVAL -D__MICROLIB -gdwarf-4 -O1 -ffunction-sections -Wno-packed -Wno-missing-variable-declarations -Wno-missing-prototypes -Wno-missing-noreturn -Wno-sign-conversion -Wno-nonportable-include-path -Wno-reserved-id-macro -Wno-unused-macros -Wno-documentation-unknown-command -Wno-documentation -Wno-license-management -Wno-parentheses-equality -Wno-reserved-identifier -I ./src -I ../driver -I./RTE/Device/STM32F103RB -I./RTE/_reel -IC:/Users/robin/AppData/Local/Arm/Packs/ARM/CMSIS/5.9.0/CMSIS/Core/Include -IC:/Users/robin/AppData/Local/Arm/Packs/Keil/STM32F1xx_DFP/2.4.0/Device/Include -D__UVISION_VERSION="538" -D_RTE_ -DSTM32F10X_MD -D_RTE_ -o ./objects/driver_adc.o -MD)
I (C:\Users\robin\AppData\Local\Arm\Packs\Keil\STM32F1xx_DFP\2.4.0\Device\Include\stm32f10x.h)(0x61ADDBCE)
I (RTE\_reel\RTE_Components.h)(0x64218849)
I (C:\Users\robin\AppData\Local\Arm\Packs\ARM\CMSIS\5.9.0\CMSIS\Core\Include\core_cm3.h)(0x626FAD4E)
I (C:\Keil_v5\ARM\ARMCLANG\include\stdint.h)(0x6388AB78)
I (C:\Users\robin\AppData\Local\Arm\Packs\ARM\CMSIS\5.9.0\CMSIS\Core\Include\cmsis_version.h)(0x626FAD4E)
I (C:\Users\robin\AppData\Local\Arm\Packs\ARM\CMSIS\5.9.0\CMSIS\Core\Include\cmsis_compiler.h)(0x626FAD4E)
I (C:\Users\robin\AppData\Local\Arm\Packs\ARM\CMSIS\5.9.0\CMSIS\Core\Include\cmsis_armclang.h)(0x626FAD4E)
I (C:\Users\robin\AppData\Local\Arm\Packs\Keil\STM32F1xx_DFP\2.4.0\Device\Include\system_stm32f10x.h)(0x61ADDBCE)
I (C:\Keil_v5\ARM\ARMCLANG\include\stdio.h)(0x6388AB78)
I (..\driver\Driver_ADC.h)(0x64354588)
F (..\driver\Driver_ADC.h)(0x64354588)()
F (..\driver\Driver_UART.h)(0x6425DA6A)()
F (RTE/Device/STM32F103RB/RTE_Device.h)(0x641B050C)()
F (RTE/Device/STM32F103RB/startup_stm32f10x_md.s)(0x641B050C)(--target=arm-arm-none-eabi -mcpu=cortex-m3 -masm=auto -Wa,armasm,--diag_suppress=A1950W -c -gdwarf-4 -Wa,armasm,--pd,"__MICROLIB SETA 1" -Wa,armasm,--pd,"__EVAL SETA 1" -I./RTE/Device/STM32F103RB -I./RTE/_reel -IC:/Users/robin/AppData/Local/Arm/Packs/ARM/CMSIS/5.9.0/CMSIS/Core/Include -IC:/Users/robin/AppData/Local/Arm/Packs/Keil/STM32F1xx_DFP/2.4.0/Device/Include -Wa,armasm,--pd,"__UVISION_VERSION SETA 538" -Wa,armasm,--pd,"_RTE_ SETA 1" -Wa,armasm,--pd,"STM32F10X_MD SETA 1" -Wa,armasm,--pd,"_RTE_ SETA 1" -o ./objects/startup_stm32f10x_md.o)
F (RTE/Device/STM32F103RB/system_stm32f10x.c)(0x641B050C)(-xc -std=c90 --target=arm-arm-none-eabi -mcpu=cortex-m3 -c -fno-rtti -funsigned-char -fshort-enums -fshort-wchar -D__EVAL -D__MICROLIB -gdwarf-4 -O1 -ffunction-sections -Wno-packed -Wno-missing-variable-declarations -Wno-missing-prototypes -Wno-missing-noreturn -Wno-sign-conversion -Wno-nonportable-include-path -Wno-reserved-id-macro -Wno-unused-macros -Wno-documentation-unknown-command -Wno-documentation -Wno-license-management -Wno-parentheses-equality -Wno-reserved-identifier -I ./src -I ../driver -I./RTE/Device/STM32F103RB -I./RTE/_reel -IC:/Users/robin/AppData/Local/Arm/Packs/ARM/CMSIS/5.9.0/CMSIS/Core/Include -IC:/Users/robin/AppData/Local/Arm/Packs/Keil/STM32F1xx_DFP/2.4.0/Device/Include -D__UVISION_VERSION="538" -D_RTE_ -DSTM32F10X_MD -D_RTE_ -o ./objects/system_stm32f10x.o -MD)

View file

@ -3,29 +3,11 @@
<title>Static Call Graph - [.\Objects\projet-voilier_reel.axf]</title></head>
<body><HR>
<H1>Static Call Graph for image .\Objects\projet-voilier_reel.axf</H1><HR>
<<<<<<< HEAD
<<<<<<< HEAD
<<<<<<< HEAD
<BR><P>#&#060CALLGRAPH&#062# ARM Linker, 5060960: Last Updated: Fri Apr 07 13:57:22 2023
<BR><P>#&#060CALLGRAPH&#062# ARM Linker, 6190004: Last Updated: Fri Mar 31 11:39:01 2023
<BR><P>
<H3>Maximum Stack Usage = 40 bytes + Unknown(Cycles, Untraceable Function Pointers)</H3><H3>
=======
<BR><P>#&#060CALLGRAPH&#062# ARM Linker, 6190004: Last Updated: Tue Apr 11 09:37:28 2023
=======
<BR><P>#&#060CALLGRAPH&#062# ARM Linker, 6190004: Last Updated: Tue Apr 11 09:52:31 2023
>>>>>>> 73cabe3969d793656407180a8db5feffe014593b
<BR><P>
<H3>Maximum Stack Usage = 56 bytes + Unknown(Cycles, Untraceable Function Pointers)</H3><H3>
>>>>>>> encoder
<H3>Maximum Stack Usage = 48 bytes + Unknown(Cycles, Untraceable Function Pointers)</H3><H3>
Call chain for Maximum Stack Depth:</H3>
main &rArr; driver_IMU_read
=======
<BR><P>#&#060CALLGRAPH&#062# ARM Linker, 6190004: Last Updated: Tue Apr 11 13:30:39 2023
<BR><P>
<H3>Maximum Stack Usage = 168 bytes + Unknown(Cycles, Untraceable Function Pointers)</H3><H3>
Call chain for Maximum Stack Depth:</H3>
main &rArr; App_Girouette_GetDirection &rArr; __aeabi_dmul &rArr; _double_epilogue &rArr; _double_round
>>>>>>> encoder
main &rArr; MyGPIO_Init
<P>
<H3>
Mutually Recursive functions
@ -38,37 +20,17 @@ Mutually Recursive functions
<LI><a href="#[7]">DebugMon_Handler</a>&nbsp;&nbsp;&nbsp;&rArr;&nbsp;&nbsp;&nbsp;<a href="#[7]">DebugMon_Handler</a><BR>
<LI><a href="#[8]">PendSV_Handler</a>&nbsp;&nbsp;&nbsp;&rArr;&nbsp;&nbsp;&nbsp;<a href="#[8]">PendSV_Handler</a><BR>
<LI><a href="#[9]">SysTick_Handler</a>&nbsp;&nbsp;&nbsp;&rArr;&nbsp;&nbsp;&nbsp;<a href="#[9]">SysTick_Handler</a><BR>
<LI><a href="#[1f]">CAN1_RX1_IRQHandler</a>&nbsp;&nbsp;&nbsp;&rArr;&nbsp;&nbsp;&nbsp;<a href="#[1f]">CAN1_RX1_IRQHandler</a><BR>
<<<<<<< HEAD
<<<<<<< HEAD
=======
<LI><a href="#[39]">Bug</a>&nbsp;&nbsp;&nbsp;&rArr;&nbsp;&nbsp;&nbsp;<a href="#[39]">Bug</a><BR>
<LI><a href="#[38]">erreur</a>&nbsp;&nbsp;&nbsp;&rArr;&nbsp;&nbsp;&nbsp;<a href="#[38]">erreur</a><BR>
>>>>>>> encoder
=======
<LI><a href="#[3a]">Bug</a>&nbsp;&nbsp;&nbsp;&rArr;&nbsp;&nbsp;&nbsp;<a href="#[3a]">Bug</a><BR>
<LI><a href="#[39]">erreur</a>&nbsp;&nbsp;&nbsp;&rArr;&nbsp;&nbsp;&nbsp;<a href="#[39]">erreur</a><BR>
>>>>>>> encoder
<LI><a href="#[1c]">ADC1_2_IRQHandler</a>&nbsp;&nbsp;&nbsp;&rArr;&nbsp;&nbsp;&nbsp;<a href="#[1c]">ADC1_2_IRQHandler</a><BR>
<LI><a href="#[38]">Bug</a>&nbsp;&nbsp;&nbsp;&rArr;&nbsp;&nbsp;&nbsp;<a href="#[38]">Bug</a><BR>
</UL>
<P>
<H3>
Function Pointers
</H3><UL>
<<<<<<< HEAD
<LI><a href="#[1c]">ADC1_2_IRQHandler</a> from driver_adc.o(i.ADC1_2_IRQHandler) referenced from startup_stm32f10x_md.o(RESET)
<LI><a href="#[38]">Bug</a> from driver_timer.o(i.Bug) referenced 3 times from driver_timer.o(.data)
=======
<LI><a href="#[1c]">ADC1_2_IRQHandler</a> from driver_adc.o(.text.ADC1_2_IRQHandler) referenced from startup_stm32f10x_md.o(RESET)
<<<<<<< HEAD
<LI><a href="#[39]">Bug</a> from driver_timer.o(.text.Bug) referenced from driver_timer.o(.data.TIM2_fx)
<LI><a href="#[39]">Bug</a> from driver_timer.o(.text.Bug) referenced from driver_timer.o(.data.TIM3_fx)
<LI><a href="#[39]">Bug</a> from driver_timer.o(.text.Bug) referenced from driver_timer.o(.data.TIM4_fx)
>>>>>>> encoder
=======
<LI><a href="#[3a]">Bug</a> from driver_timer.o(.text.Bug) referenced from driver_timer.o(.data.TIM2_fx)
<LI><a href="#[3a]">Bug</a> from driver_timer.o(.text.Bug) referenced from driver_timer.o(.data.TIM3_fx)
<LI><a href="#[3a]">Bug</a> from driver_timer.o(.text.Bug) referenced from driver_timer.o(.data.TIM4_fx)
>>>>>>> encoder
<LI><a href="#[1c]">ADC1_2_IRQHandler</a> from startup_stm32f10x_md.o(.text) referenced from startup_stm32f10x_md.o(RESET)
<LI><a href="#[38]">Bug</a> from driver_timer.o(.text.Bug) referenced from driver_timer.o(.data.TIM2_fx)
<LI><a href="#[38]">Bug</a> from driver_timer.o(.text.Bug) referenced from driver_timer.o(.data.TIM3_fx)
<LI><a href="#[38]">Bug</a> from driver_timer.o(.text.Bug) referenced from driver_timer.o(.data.TIM4_fx)
<LI><a href="#[4]">BusFault_Handler</a> from startup_stm32f10x_md.o(.text) referenced from startup_stm32f10x_md.o(RESET)
<LI><a href="#[1f]">CAN1_RX1_IRQHandler</a> from startup_stm32f10x_md.o(.text) referenced from startup_stm32f10x_md.o(RESET)
<LI><a href="#[20]">CAN1_SCE_IRQHandler</a> from startup_stm32f10x_md.o(.text) referenced from startup_stm32f10x_md.o(RESET)
@ -84,7 +46,7 @@ Function Pointers
<LI><a href="#[32]">EXTI15_10_IRQHandler</a> from startup_stm32f10x_md.o(.text) referenced from startup_stm32f10x_md.o(RESET)
<LI><a href="#[11]">EXTI1_IRQHandler</a> from startup_stm32f10x_md.o(.text) referenced from startup_stm32f10x_md.o(RESET)
<LI><a href="#[12]">EXTI2_IRQHandler</a> from startup_stm32f10x_md.o(.text) referenced from startup_stm32f10x_md.o(RESET)
<LI><a href="#[13]">EXTI3_IRQHandler</a> from driver_timer.o(.text.EXTI3_IRQHandler) referenced from startup_stm32f10x_md.o(RESET)
<LI><a href="#[13]">EXTI3_IRQHandler</a> from startup_stm32f10x_md.o(.text) referenced from startup_stm32f10x_md.o(RESET)
<LI><a href="#[14]">EXTI4_IRQHandler</a> from startup_stm32f10x_md.o(.text) referenced from startup_stm32f10x_md.o(RESET)
<LI><a href="#[21]">EXTI9_5_IRQHandler</a> from startup_stm32f10x_md.o(.text) referenced from startup_stm32f10x_md.o(RESET)
<LI><a href="#[e]">FLASH_IRQHandler</a> from startup_stm32f10x_md.o(.text) referenced from startup_stm32f10x_md.o(RESET)
@ -100,41 +62,30 @@ Function Pointers
<LI><a href="#[f]">RCC_IRQHandler</a> from startup_stm32f10x_md.o(.text) referenced from startup_stm32f10x_md.o(RESET)
<LI><a href="#[33]">RTCAlarm_IRQHandler</a> from startup_stm32f10x_md.o(.text) referenced from startup_stm32f10x_md.o(RESET)
<LI><a href="#[d]">RTC_IRQHandler</a> from startup_stm32f10x_md.o(.text) referenced from startup_stm32f10x_md.o(RESET)
<LI><a href="#[3a]">Reset_Handler</a> from startup_stm32f10x_md.o(.text) referenced from startup_stm32f10x_md.o(RESET)
<LI><a href="#[0]">Reset_Handler</a> from startup_stm32f10x_md.o(.text) referenced from startup_stm32f10x_md.o(RESET)
<LI><a href="#[2d]">SPI1_IRQHandler</a> from startup_stm32f10x_md.o(.text) referenced from startup_stm32f10x_md.o(RESET)
<LI><a href="#[2e]">SPI2_IRQHandler</a> from startup_stm32f10x_md.o(.text) referenced from startup_stm32f10x_md.o(RESET)
<LI><a href="#[6]">SVC_Handler</a> from startup_stm32f10x_md.o(.text) referenced from startup_stm32f10x_md.o(RESET)
<LI><a href="#[9]">SysTick_Handler</a> from startup_stm32f10x_md.o(.text) referenced from startup_stm32f10x_md.o(RESET)
<LI><a href="#[36]">SystemInit</a> from system_stm32f10x.o(i.SystemInit) referenced from startup_stm32f10x_md.o(.text)
<LI><a href="#[36]">SystemInit</a> from system_stm32f10x.o(.text.SystemInit) referenced from startup_stm32f10x_md.o(.text)
<LI><a href="#[c]">TAMPER_IRQHandler</a> from startup_stm32f10x_md.o(.text) referenced from startup_stm32f10x_md.o(RESET)
<LI><a href="#[22]">TIM1_BRK_IRQHandler</a> from startup_stm32f10x_md.o(.text) referenced from startup_stm32f10x_md.o(RESET)
<LI><a href="#[25]">TIM1_CC_IRQHandler</a> from startup_stm32f10x_md.o(.text) referenced from startup_stm32f10x_md.o(RESET)
<LI><a href="#[24]">TIM1_TRG_COM_IRQHandler</a> from startup_stm32f10x_md.o(.text) referenced from startup_stm32f10x_md.o(RESET)
<LI><a href="#[23]">TIM1_UP_IRQHandler</a> from startup_stm32f10x_md.o(.text) referenced from startup_stm32f10x_md.o(RESET)
<LI><a href="#[26]">TIM2_IRQHandler</a> from driver_timer.o(i.TIM2_IRQHandler) referenced from startup_stm32f10x_md.o(RESET)
<LI><a href="#[27]">TIM3_IRQHandler</a> from driver_timer.o(i.TIM3_IRQHandler) referenced from startup_stm32f10x_md.o(RESET)
<LI><a href="#[28]">TIM4_IRQHandler</a> from driver_timer.o(i.TIM4_IRQHandler) referenced from startup_stm32f10x_md.o(RESET)
<LI><a href="#[26]">TIM2_IRQHandler</a> from driver_timer.o(.text.TIM2_IRQHandler) referenced from startup_stm32f10x_md.o(RESET)
<LI><a href="#[27]">TIM3_IRQHandler</a> from driver_timer.o(.text.TIM3_IRQHandler) referenced from startup_stm32f10x_md.o(RESET)
<LI><a href="#[28]">TIM4_IRQHandler</a> from driver_timer.o(.text.TIM4_IRQHandler) referenced from startup_stm32f10x_md.o(RESET)
<LI><a href="#[2f]">USART1_IRQHandler</a> from startup_stm32f10x_md.o(.text) referenced from startup_stm32f10x_md.o(RESET)
<LI><a href="#[30]">USART2_IRQHandler</a> from startup_stm32f10x_md.o(.text) referenced from startup_stm32f10x_md.o(RESET)
<LI><a href="#[31]">USART3_IRQHandler</a> from driver_uart.o(.text.USART3_IRQHandler) referenced from startup_stm32f10x_md.o(RESET)
<LI><a href="#[31]">USART3_IRQHandler</a> from startup_stm32f10x_md.o(.text) referenced from startup_stm32f10x_md.o(RESET)
<LI><a href="#[34]">USBWakeUp_IRQHandler</a> from startup_stm32f10x_md.o(.text) referenced from startup_stm32f10x_md.o(RESET)
<LI><a href="#[1d]">USB_HP_CAN1_TX_IRQHandler</a> from startup_stm32f10x_md.o(.text) referenced from startup_stm32f10x_md.o(RESET)
<LI><a href="#[1e]">USB_LP_CAN1_RX0_IRQHandler</a> from startup_stm32f10x_md.o(.text) referenced from startup_stm32f10x_md.o(RESET)
<LI><a href="#[5]">UsageFault_Handler</a> from startup_stm32f10x_md.o(.text) referenced from startup_stm32f10x_md.o(RESET)
<LI><a href="#[a]">WWDG_IRQHandler</a> from startup_stm32f10x_md.o(.text) referenced from startup_stm32f10x_md.o(RESET)
<LI><a href="#[37]">__main</a> from entry.o(.ARM.Collect$$$$00000000) referenced from startup_stm32f10x_md.o(.text)
<<<<<<< HEAD
<<<<<<< HEAD
<LI><a href="#[39]">erreur</a> from driver_adc.o(i.erreur) referenced from driver_adc.o(.data)
<LI><a href="#[35]">main</a> from main.o(i.main) referenced from entry9a.o(.ARM.Collect$$$$0000000B)
=======
<LI><a href="#[38]">erreur</a> from driver_adc.o(.text.erreur) referenced from driver_adc.o(.data.ADC1_2_fx)
=======
<LI><a href="#[38]">_sputc</a> from printfa.o(i._sputc) referenced from printfa.o(i.__0sprintf)
<LI><a href="#[39]">erreur</a> from driver_adc.o(.text.erreur) referenced from driver_adc.o(.data.ADC1_2_fx)
>>>>>>> encoder
<LI><a href="#[35]">main</a> from main.o(.text.main) referenced from entry9a.o(.ARM.Collect$$$$0000000B)
>>>>>>> encoder
</UL>
<P>
<H3>
@ -143,60 +94,29 @@ Global Symbols
<P><STRONG><a name="[37]"></a>__main</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, entry.o(.ARM.Collect$$$$00000000))
<BR>[Address Reference Count : 1]<UL><LI> startup_stm32f10x_md.o(.text)
</UL>
<<<<<<< HEAD
<<<<<<< HEAD
<P><STRONG><a name="[49]"></a>_main_stk</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, entry2.o(.ARM.Collect$$$$00000001))
<P><STRONG><a name="[43]"></a>_main_stk</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, entry2.o(.ARM.Collect$$$$00000001))
<P><STRONG><a name="[3b]"></a>_main_scatterload</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, entry5.o(.ARM.Collect$$$$00000004))
<BR><BR>[Calls]<UL><LI><a href="#[3c]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__scatterload
<P><STRONG><a name="[39]"></a>_main_scatterload</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, entry5.o(.ARM.Collect$$$$00000004))
<BR><BR>[Calls]<UL><LI><a href="#[3a]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__scatterload
</UL>
<P><STRONG><a name="[3d]"></a>__main_after_scatterload</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, entry5.o(.ARM.Collect$$$$00000004))
<BR><BR>[Called By]<UL><LI><a href="#[3c]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__scatterload
<P><STRONG><a name="[3b]"></a>__main_after_scatterload</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, entry5.o(.ARM.Collect$$$$00000004))
<BR><BR>[Called By]<UL><LI><a href="#[3a]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__scatterload
</UL>
<P><STRONG><a name="[4a]"></a>_main_clock</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, entry7b.o(.ARM.Collect$$$$00000008))
<P><STRONG><a name="[44]"></a>_main_clock</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, entry7b.o(.ARM.Collect$$$$00000008))
<P><STRONG><a name="[4b]"></a>_main_cpp_init</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, entry8b.o(.ARM.Collect$$$$0000000A))
<P><STRONG><a name="[45]"></a>_main_cpp_init</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, entry8b.o(.ARM.Collect$$$$0000000A))
<P><STRONG><a name="[4c]"></a>_main_init</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, entry9a.o(.ARM.Collect$$$$0000000B))
<P><STRONG><a name="[46]"></a>_main_init</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, entry9a.o(.ARM.Collect$$$$0000000B))
<P><STRONG><a name="[4d]"></a>__rt_lib_shutdown_fini</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, entry12b.o(.ARM.Collect$$$$0000000E))
<P><STRONG><a name="[47]"></a>__rt_final_cpp</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, entry10a.o(.ARM.Collect$$$$0000000D))
<P><STRONG><a name="[4e]"></a>__rt_final_cpp</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, entry10a.o(.ARM.Collect$$$$0000000F))
<P><STRONG><a name="[48]"></a>__rt_final_exit</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, entry11a.o(.ARM.Collect$$$$0000000F))
<P><STRONG><a name="[4f]"></a>__rt_final_exit</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, entry11a.o(.ARM.Collect$$$$00000011))
<P><STRONG><a name="[3a]"></a>Reset_Handler</STRONG> (Thumb, 8 bytes, Stack size 0 bytes, startup_stm32f10x_md.o(.text))
=======
<P><STRONG><a name="[42]"></a>_main_stk</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, entry2.o(.ARM.Collect$$$$00000001))
=======
<P><STRONG><a name="[61]"></a>_main_stk</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, entry2.o(.ARM.Collect$$$$00000001))
>>>>>>> encoder
<P><STRONG><a name="[3b]"></a>_main_scatterload</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, entry5.o(.ARM.Collect$$$$00000004))
<BR><BR>[Calls]<UL><LI><a href="#[3c]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__scatterload
<P><STRONG><a name="[0]"></a>Reset_Handler</STRONG> (Thumb, 8 bytes, Stack size 0 bytes, startup_stm32f10x_md.o(.text))
<BR>[Address Reference Count : 1]<UL><LI> startup_stm32f10x_md.o(RESET)
</UL>
<P><STRONG><a name="[4c]"></a>__main_after_scatterload</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, entry5.o(.ARM.Collect$$$$00000004))
<BR><BR>[Called By]<UL><LI><a href="#[3c]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__scatterload
</UL>
<P><STRONG><a name="[62]"></a>_main_clock</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, entry7b.o(.ARM.Collect$$$$00000008))
<P><STRONG><a name="[63]"></a>_main_cpp_init</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, entry8b.o(.ARM.Collect$$$$0000000A))
<P><STRONG><a name="[64]"></a>_main_init</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, entry9a.o(.ARM.Collect$$$$0000000B))
<P><STRONG><a name="[65]"></a>__rt_final_cpp</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, entry10a.o(.ARM.Collect$$$$0000000D))
<<<<<<< HEAD
<P><STRONG><a name="[47]"></a>__rt_final_exit</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, entry11a.o(.ARM.Collect$$$$0000000F))
>>>>>>> encoder
=======
<P><STRONG><a name="[66]"></a>__rt_final_exit</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, entry11a.o(.ARM.Collect$$$$0000000F))
>>>>>>> encoder
<P><STRONG><a name="[1]"></a>NMI_Handler</STRONG> (Thumb, 2 bytes, Stack size 0 bytes, startup_stm32f10x_md.o(.text))
<BR><BR>[Calls]<UL><LI><a href="#[1]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;NMI_Handler
</UL>
@ -260,11 +180,14 @@ Global Symbols
</UL>
<BR>[Address Reference Count : 1]<UL><LI> startup_stm32f10x_md.o(RESET)
</UL>
<P><STRONG><a name="[1c]"></a>ADC1_2_IRQHandler</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, startup_stm32f10x_md.o(.text))
<BR><BR>[Calls]<UL><LI><a href="#[1c]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;ADC1_2_IRQHandler
</UL>
<BR>[Called By]<UL><LI><a href="#[1c]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;ADC1_2_IRQHandler
</UL>
<BR>[Address Reference Count : 1]<UL><LI> startup_stm32f10x_md.o(RESET)
</UL>
<P><STRONG><a name="[1f]"></a>CAN1_RX1_IRQHandler</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, startup_stm32f10x_md.o(.text))
<BR><BR>[Calls]<UL><LI><a href="#[1f]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;CAN1_RX1_IRQHandler
</UL>
<BR>[Called By]<UL><LI><a href="#[1f]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;CAN1_RX1_IRQHandler
</UL>
<BR>[Address Reference Count : 1]<UL><LI> startup_stm32f10x_md.o(RESET)
</UL>
<P><STRONG><a name="[20]"></a>CAN1_SCE_IRQHandler</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, startup_stm32f10x_md.o(.text))
@ -303,6 +226,9 @@ Global Symbols
<P><STRONG><a name="[12]"></a>EXTI2_IRQHandler</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, startup_stm32f10x_md.o(.text))
<BR>[Address Reference Count : 1]<UL><LI> startup_stm32f10x_md.o(RESET)
</UL>
<P><STRONG><a name="[13]"></a>EXTI3_IRQHandler</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, startup_stm32f10x_md.o(.text))
<BR>[Address Reference Count : 1]<UL><LI> startup_stm32f10x_md.o(RESET)
</UL>
<P><STRONG><a name="[14]"></a>EXTI4_IRQHandler</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, startup_stm32f10x_md.o(.text))
<BR>[Address Reference Count : 1]<UL><LI> startup_stm32f10x_md.o(RESET)
</UL>
@ -363,6 +289,9 @@ Global Symbols
<P><STRONG><a name="[30]"></a>USART2_IRQHandler</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, startup_stm32f10x_md.o(.text))
<BR>[Address Reference Count : 1]<UL><LI> startup_stm32f10x_md.o(RESET)
</UL>
<P><STRONG><a name="[31]"></a>USART3_IRQHandler</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, startup_stm32f10x_md.o(.text))
<BR>[Address Reference Count : 1]<UL><LI> startup_stm32f10x_md.o(RESET)
</UL>
<P><STRONG><a name="[34]"></a>USBWakeUp_IRQHandler</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, startup_stm32f10x_md.o(.text))
<BR>[Address Reference Count : 1]<UL><LI> startup_stm32f10x_md.o(RESET)
</UL>
@ -375,355 +304,50 @@ Global Symbols
<P><STRONG><a name="[a]"></a>WWDG_IRQHandler</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, startup_stm32f10x_md.o(.text))
<BR>[Address Reference Count : 1]<UL><LI> startup_stm32f10x_md.o(RESET)
</UL>
<<<<<<< HEAD
<<<<<<< HEAD
<P><STRONG><a name="[3c]"></a>__scatterload</STRONG> (Thumb, 28 bytes, Stack size 0 bytes, init.o(.text))
<BR><BR>[Calls]<UL><LI><a href="#[3d]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__main_after_scatterload
<P><STRONG><a name="[3a]"></a>__scatterload</STRONG> (Thumb, 28 bytes, Stack size 0 bytes, init.o(.text))
<BR><BR>[Calls]<UL><LI><a href="#[3b]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__main_after_scatterload
</UL>
<BR>[Called By]<UL><LI><a href="#[3b]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_main_scatterload
<BR>[Called By]<UL><LI><a href="#[39]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_main_scatterload
</UL>
<P><STRONG><a name="[50]"></a>__scatterload_rt2</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, init.o(.text), UNUSED)
<P><STRONG><a name="[49]"></a>__scatterload_rt2</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, init.o(.text), UNUSED)
<P><STRONG><a name="[1c]"></a>ADC1_2_IRQHandler</STRONG> (Thumb, 22 bytes, Stack size 8 bytes, driver_adc.o(i.ADC1_2_IRQHandler))
<BR><BR>[Stack]<UL><LI>Max Depth = 8<LI>Call Chain = ADC1_2_IRQHandler
<P><STRONG><a name="[38]"></a>Bug</STRONG> (Thumb, 2 bytes, Stack size 0 bytes, driver_timer.o(.text.Bug))
<BR><BR>[Calls]<UL><LI><a href="#[38]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Bug
</UL>
<BR>[Address Reference Count : 1]<UL><LI> startup_stm32f10x_md.o(RESET)
=======
<P><STRONG><a name="[3b]"></a>__scatterload</STRONG> (Thumb, 28 bytes, Stack size 0 bytes, init.o(.text))
<BR><BR>[Calls]<UL><LI><a href="#[3c]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__main_after_scatterload
=======
<P><STRONG><a name="[3d]"></a>__aeabi_dmul</STRONG> (Thumb, 228 bytes, Stack size 48 bytes, dmul.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 88<LI>Call Chain = __aeabi_dmul &rArr; _double_epilogue &rArr; _double_round
>>>>>>> encoder
<BR>[Called By]<UL><LI><a href="#[38]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Bug
</UL>
<BR>[Calls]<UL><LI><a href="#[3e]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_double_epilogue
<BR>[Address Reference Count : 3]<UL><LI> driver_timer.o(.data.TIM2_fx)
<LI> driver_timer.o(.data.TIM3_fx)
<LI> driver_timer.o(.data.TIM4_fx)
</UL>
<BR>[Called By]<UL><LI><a href="#[5c]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_fp_digits
<LI><a href="#[4d]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;App_Girouette_GetDirection
</UL>
<P><STRONG><a name="[3f]"></a>__aeabi_i2d</STRONG> (Thumb, 34 bytes, Stack size 16 bytes, dflti.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 56<LI>Call Chain = __aeabi_i2d &rArr; _double_epilogue &rArr; _double_round
</UL>
<BR>[Calls]<UL><LI><a href="#[3e]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_double_epilogue
</UL>
<BR>[Called By]<UL><LI><a href="#[4d]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;App_Girouette_GetDirection
</UL>
<P><STRONG><a name="[40]"></a>__aeabi_ui2d</STRONG> (Thumb, 26 bytes, Stack size 16 bytes, dfltui.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 56<LI>Call Chain = __aeabi_ui2d &rArr; _double_epilogue &rArr; _double_round
</UL>
<BR>[Calls]<UL><LI><a href="#[3e]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_double_epilogue
</UL>
<BR>[Called By]<UL><LI><a href="#[35]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;main
</UL>
<P><STRONG><a name="[41]"></a>__aeabi_d2iz</STRONG> (Thumb, 62 bytes, Stack size 16 bytes, dfixi.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 16<LI>Call Chain = __aeabi_d2iz
</UL>
<BR>[Calls]<UL><LI><a href="#[42]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__aeabi_llsr
</UL>
<BR>[Called By]<UL><LI><a href="#[4d]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;App_Girouette_GetDirection
</UL>
<P><STRONG><a name="[67]"></a>__aeabi_uidiv</STRONG> (Thumb, 0 bytes, Stack size 12 bytes, uidiv.o(.text), UNUSED)
<P><STRONG><a name="[60]"></a>__aeabi_uidivmod</STRONG> (Thumb, 44 bytes, Stack size 12 bytes, uidiv.o(.text), UNUSED)
<BR><BR>[Called By]<UL><LI><a href="#[5b]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_printf_core
</UL>
<P><STRONG><a name="[43]"></a>__aeabi_uldivmod</STRONG> (Thumb, 98 bytes, Stack size 40 bytes, uldiv.o(.text), UNUSED)
<BR><BR>[Calls]<UL><LI><a href="#[42]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__aeabi_llsr
<LI><a href="#[44]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__aeabi_llsl
</UL>
<BR>[Called By]<UL><LI><a href="#[5b]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_printf_core
<LI><a href="#[5c]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_fp_digits
</UL>
<P><STRONG><a name="[42]"></a>__aeabi_llsr</STRONG> (Thumb, 32 bytes, Stack size 0 bytes, llushr.o(.text))
<BR><BR>[Called By]<UL><LI><a href="#[43]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__aeabi_uldivmod
<LI><a href="#[3e]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_double_epilogue
<LI><a href="#[4b]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__aeabi_d2ulz
<LI><a href="#[41]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__aeabi_d2iz
</UL>
<P><STRONG><a name="[68]"></a>_ll_ushift_r</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, llushr.o(.text), UNUSED)
<P><STRONG><a name="[69]"></a>__I$use$fp</STRONG> (Thumb, 0 bytes, Stack size 8 bytes, iusefp.o(.text), UNUSED)
<P><STRONG><a name="[45]"></a>_double_round</STRONG> (Thumb, 30 bytes, Stack size 8 bytes, depilogue.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 8<LI>Call Chain = _double_round
</UL>
<BR>[Called By]<UL><LI><a href="#[3e]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_double_epilogue
<LI><a href="#[4a]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__aeabi_ddiv
<LI><a href="#[46]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__aeabi_dadd
</UL>
<P><STRONG><a name="[3e]"></a>_double_epilogue</STRONG> (Thumb, 156 bytes, Stack size 32 bytes, depilogue.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 40<LI>Call Chain = _double_epilogue &rArr; _double_round
</UL>
<BR>[Calls]<UL><LI><a href="#[45]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_double_round
<LI><a href="#[42]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__aeabi_llsr
<LI><a href="#[44]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__aeabi_llsl
</UL>
<BR>[Called By]<UL><LI><a href="#[46]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__aeabi_dadd
<LI><a href="#[3d]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__aeabi_dmul
<LI><a href="#[3f]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__aeabi_i2d
<LI><a href="#[40]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__aeabi_ui2d
</UL>
<P><STRONG><a name="[46]"></a>__aeabi_dadd</STRONG> (Thumb, 322 bytes, Stack size 48 bytes, dadd.o(.text), UNUSED)
<BR><BR>[Calls]<UL><LI><a href="#[45]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_double_round
<LI><a href="#[3e]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_double_epilogue
<LI><a href="#[47]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__aeabi_lasr
<LI><a href="#[44]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__aeabi_llsl
</UL>
<BR>[Called By]<UL><LI><a href="#[49]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__aeabi_drsub
<LI><a href="#[48]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__aeabi_dsub
<LI><a href="#[5c]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_fp_digits
</UL>
<P><STRONG><a name="[48]"></a>__aeabi_dsub</STRONG> (Thumb, 6 bytes, Stack size 0 bytes, dadd.o(.text), UNUSED)
<BR><BR>[Calls]<UL><LI><a href="#[46]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__aeabi_dadd
</UL>
<P><STRONG><a name="[49]"></a>__aeabi_drsub</STRONG> (Thumb, 6 bytes, Stack size 0 bytes, dadd.o(.text), UNUSED)
<BR><BR>[Calls]<UL><LI><a href="#[46]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__aeabi_dadd
</UL>
<P><STRONG><a name="[4a]"></a>__aeabi_ddiv</STRONG> (Thumb, 222 bytes, Stack size 32 bytes, ddiv.o(.text), UNUSED)
<BR><BR>[Calls]<UL><LI><a href="#[45]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_double_round
</UL>
<BR>[Called By]<UL><LI><a href="#[5c]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_fp_digits
</UL>
<P><STRONG><a name="[4b]"></a>__aeabi_d2ulz</STRONG> (Thumb, 48 bytes, Stack size 0 bytes, dfixul.o(.text), UNUSED)
<BR><BR>[Calls]<UL><LI><a href="#[42]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__aeabi_llsr
<LI><a href="#[44]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__aeabi_llsl
</UL>
<BR>[Called By]<UL><LI><a href="#[5c]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_fp_digits
</UL>
<P><STRONG><a name="[5d]"></a>__aeabi_cdrcmple</STRONG> (Thumb, 48 bytes, Stack size 0 bytes, cdrcmple.o(.text), UNUSED)
<BR><BR>[Called By]<UL><LI><a href="#[5c]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_fp_digits
</UL>
<P><STRONG><a name="[3c]"></a>__scatterload</STRONG> (Thumb, 28 bytes, Stack size 0 bytes, init.o(.text))
<BR><BR>[Calls]<UL><LI><a href="#[4c]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__main_after_scatterload
</UL>
<BR>[Called By]<UL><LI><a href="#[3b]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_main_scatterload
</UL>
<P><STRONG><a name="[6a]"></a>__scatterload_rt2</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, init.o(.text), UNUSED)
<P><STRONG><a name="[44]"></a>__aeabi_llsl</STRONG> (Thumb, 30 bytes, Stack size 0 bytes, llshl.o(.text))
<BR><BR>[Called By]<UL><LI><a href="#[43]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__aeabi_uldivmod
<LI><a href="#[3e]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_double_epilogue
<LI><a href="#[46]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__aeabi_dadd
<LI><a href="#[4b]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__aeabi_d2ulz
</UL>
<P><STRONG><a name="[6b]"></a>_ll_shift_l</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, llshl.o(.text), UNUSED)
<P><STRONG><a name="[47]"></a>__aeabi_lasr</STRONG> (Thumb, 36 bytes, Stack size 0 bytes, llsshr.o(.text), UNUSED)
<BR><BR>[Called By]<UL><LI><a href="#[46]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__aeabi_dadd
</UL>
<P><STRONG><a name="[6c]"></a>_ll_sshift_r</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, llsshr.o(.text), UNUSED)
<P><STRONG><a name="[1c]"></a>ADC1_2_IRQHandler</STRONG> (Thumb, 28 bytes, Stack size 0 bytes, driver_adc.o(.text.ADC1_2_IRQHandler))
<BR>[Address Reference Count : 1]<UL><LI> startup_stm32f10x_md.o(RESET)
</UL>
<P><STRONG><a name="[4d]"></a>App_Girouette_GetDirection</STRONG> (Thumb, 42 bytes, Stack size 8 bytes, app_girouette.o(.text.App_Girouette_GetDirection))
<BR><BR>[Stack]<UL><LI>Max Depth = 96<LI>Call Chain = App_Girouette_GetDirection &rArr; __aeabi_dmul &rArr; _double_epilogue &rArr; _double_round
</UL>
<<<<<<< HEAD
<BR>[Called By]<UL><LI><a href="#[39]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Bug
>>>>>>> encoder
=======
<BR>[Calls]<UL><LI><a href="#[41]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__aeabi_d2iz
<LI><a href="#[3d]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__aeabi_dmul
<LI><a href="#[3f]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__aeabi_i2d
<LI><a href="#[4e]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;TIM_GetCounter
</UL>
<BR>[Called By]<UL><LI><a href="#[35]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;main
</UL>
<P><STRONG><a name="[4f]"></a>App_Girouette_Init</STRONG> (Thumb, 80 bytes, Stack size 48 bytes, app_girouette.o(.text.App_Girouette_Init))
<BR><BR>[Stack]<UL><LI>Max Depth = 56<LI>Call Chain = App_Girouette_Init &rArr; MyGPIO_Init
</UL>
<BR>[Calls]<UL><LI><a href="#[51]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;MyTimer_ConfigureEncoder
<LI><a href="#[52]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;MyTimer_Start
<LI><a href="#[50]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;MyTimer_Base_Init
<LI><a href="#[53]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;MyGPIO_Init
</UL>
<BR>[Called By]<UL><LI><a href="#[35]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;main
</UL>
<P><STRONG><a name="[3a]"></a>Bug</STRONG> (Thumb, 2 bytes, Stack size 0 bytes, driver_timer.o(.text.Bug))
<BR><BR>[Calls]<UL><LI><a href="#[3a]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Bug
</UL>
<BR>[Called By]<UL><LI><a href="#[3a]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Bug
>>>>>>> encoder
</UL>
<P><STRONG><a name="[38]"></a>Bug</STRONG> (Thumb, 4 bytes, Stack size 0 bytes, driver_timer.o(i.Bug))
<BR>[Address Reference Count : 1]<UL><LI> driver_timer.o(.data)
</UL>
<<<<<<< HEAD
<P><STRONG><a name="[45]"></a>MySPI_Clear_NSS</STRONG> (Thumb, 30 bytes, Stack size 0 bytes, myspi.o(i.MySPI_Clear_NSS))
<BR><BR>[Called By]<UL><LI><a href="#[43]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;driver_IMU_write_register
<LI><a href="#[44]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;driver_IMU_read
</UL>
<P><STRONG><a name="[3e]"></a>MySPI_Init</STRONG> (Thumb, 480 bytes, Stack size 4 bytes, myspi.o(i.MySPI_Init))
<BR><BR>[Stack]<UL><LI>Max Depth = 4<LI>Call Chain = MySPI_Init
</UL>
<BR>[Calls]<UL><LI><a href="#[3f]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;MySPI_Set_NSS
</UL>
<BR>[Called By]<UL><LI><a href="#[42]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;driver_IMU_init
</UL>
<P><STRONG><a name="[47]"></a>MySPI_Read</STRONG> (Thumb, 70 bytes, Stack size 0 bytes, myspi.o(i.MySPI_Read))
<BR><BR>[Called By]<UL><LI><a href="#[44]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;driver_IMU_read
</UL>
<P><STRONG><a name="[46]"></a>MySPI_Send</STRONG> (Thumb, 68 bytes, Stack size 0 bytes, myspi.o(i.MySPI_Send))
<BR><BR>[Called By]<UL><LI><a href="#[43]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;driver_IMU_write_register
<LI><a href="#[44]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;driver_IMU_read
</UL>
<P><STRONG><a name="[3f]"></a>MySPI_Set_NSS</STRONG> (Thumb, 28 bytes, Stack size 0 bytes, myspi.o(i.MySPI_Set_NSS))
<BR><BR>[Called By]<UL><LI><a href="#[3e]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;MySPI_Init
<LI><a href="#[43]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;driver_IMU_write_register
<LI><a href="#[44]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;driver_IMU_read
</UL>
<P><STRONG><a name="[36]"></a>SystemInit</STRONG> (Thumb, 78 bytes, Stack size 8 bytes, system_stm32f10x.o(i.SystemInit))
<BR><BR>[Stack]<UL><LI>Max Depth = 28<LI>Call Chain = SystemInit &rArr; SetSysClock &rArr; SetSysClockTo72
</UL>
<BR>[Calls]<UL><LI><a href="#[40]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;SetSysClock
</UL>
<BR>[Address Reference Count : 1]<UL><LI> startup_stm32f10x_md.o(.text)
</UL>
<P><STRONG><a name="[26]"></a>TIM2_IRQHandler</STRONG> (Thumb, 26 bytes, Stack size 8 bytes, driver_timer.o(i.TIM2_IRQHandler))
<BR><BR>[Stack]<UL><LI>Max Depth = 8<LI>Call Chain = TIM2_IRQHandler
</UL>
<<<<<<< HEAD
<BR>[Address Reference Count : 1]<UL><LI> startup_stm32f10x_md.o(RESET)
</UL>
<P><STRONG><a name="[27]"></a>TIM3_IRQHandler</STRONG> (Thumb, 22 bytes, Stack size 8 bytes, driver_timer.o(i.TIM3_IRQHandler))
<BR><BR>[Stack]<UL><LI>Max Depth = 8<LI>Call Chain = TIM3_IRQHandler
</UL>
<BR>[Address Reference Count : 1]<UL><LI> startup_stm32f10x_md.o(RESET)
</UL>
<P><STRONG><a name="[28]"></a>TIM4_IRQHandler</STRONG> (Thumb, 22 bytes, Stack size 8 bytes, driver_timer.o(i.TIM4_IRQHandler))
<BR><BR>[Stack]<UL><LI>Max Depth = 8<LI>Call Chain = TIM4_IRQHandler
</UL>
<BR>[Address Reference Count : 1]<UL><LI> startup_stm32f10x_md.o(RESET)
</UL>
<P><STRONG><a name="[51]"></a>__scatterload_copy</STRONG> (Thumb, 14 bytes, Stack size unknown bytes, handlers.o(i.__scatterload_copy), UNUSED)
<P><STRONG><a name="[52]"></a>__scatterload_null</STRONG> (Thumb, 2 bytes, Stack size unknown bytes, handlers.o(i.__scatterload_null), UNUSED)
<P><STRONG><a name="[53]"></a>__scatterload_zeroinit</STRONG> (Thumb, 14 bytes, Stack size unknown bytes, handlers.o(i.__scatterload_zeroinit), UNUSED)
<P><STRONG><a name="[42]"></a>driver_IMU_init</STRONG> (Thumb, 34 bytes, Stack size 8 bytes, driver_imu.o(i.driver_IMU_init))
<BR><BR>[Stack]<UL><LI>Max Depth = 24<LI>Call Chain = driver_IMU_init &rArr; driver_IMU_write_register
</UL>
<BR>[Calls]<UL><LI><a href="#[3e]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;MySPI_Init
<LI><a href="#[43]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;driver_IMU_write_register
=======
<P><STRONG><a name="[32]"></a>EXTI15_10_IRQHandler</STRONG> (Thumb, 26 bytes, Stack size 0 bytes, main.o(.text.EXTI15_10_IRQHandler))
<BR>[Address Reference Count : 1]<UL><LI> startup_stm32f10x_md.o(RESET)
</UL>
=======
>>>>>>> 73cabe3969d793656407180a8db5feffe014593b
<P><STRONG><a name="[13]"></a>EXTI3_IRQHandler</STRONG> (Thumb, 2 bytes, Stack size 0 bytes, driver_timer.o(.text.EXTI3_IRQHandler))
<BR>[Address Reference Count : 1]<UL><LI> startup_stm32f10x_md.o(RESET)
</UL>
<P><STRONG><a name="[53]"></a>MyGPIO_Init</STRONG> (Thumb, 144 bytes, Stack size 8 bytes, driver_gpio.o(.text.MyGPIO_Init))
<P><STRONG><a name="[3c]"></a>MyGPIO_Init</STRONG> (Thumb, 140 bytes, Stack size 8 bytes, driver_gpio.o(.text.MyGPIO_Init))
<BR><BR>[Stack]<UL><LI>Max Depth = 8<LI>Call Chain = MyGPIO_Init
>>>>>>> encoder
</UL>
<BR>[Called By]<UL><LI><a href="#[4f]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;App_Girouette_Init
<LI><a href="#[35]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;main
</UL>
<<<<<<< HEAD
<<<<<<< HEAD
<P><STRONG><a name="[44]"></a>driver_IMU_read</STRONG> (Thumb, 52 bytes, Stack size 24 bytes, driver_imu.o(i.driver_IMU_read))
<BR><BR>[Stack]<UL><LI>Max Depth = 24<LI>Call Chain = driver_IMU_read
</UL>
<BR>[Calls]<UL><LI><a href="#[3f]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;MySPI_Set_NSS
<LI><a href="#[46]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;MySPI_Send
<LI><a href="#[47]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;MySPI_Read
<LI><a href="#[45]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;MySPI_Clear_NSS
</UL>
<BR>[Called By]<UL><LI><a href="#[35]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;main
</UL>
<P><STRONG><a name="[43]"></a>driver_IMU_write_register</STRONG> (Thumb, 28 bytes, Stack size 16 bytes, driver_imu.o(i.driver_IMU_write_register))
<BR><BR>[Stack]<UL><LI>Max Depth = 16<LI>Call Chain = driver_IMU_write_register
</UL>
<BR>[Calls]<UL><LI><a href="#[3f]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;MySPI_Set_NSS
<LI><a href="#[46]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;MySPI_Send
<LI><a href="#[45]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;MySPI_Clear_NSS
</UL>
<BR>[Called By]<UL><LI><a href="#[42]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;driver_IMU_init
</UL>
<P><STRONG><a name="[48]"></a>driver_adc_1_launch_read</STRONG> (Thumb, 14 bytes, Stack size 0 bytes, driver_adc.o(i.driver_adc_1_launch_read))
<P><STRONG><a name="[3d]"></a>MyGPIO_Set</STRONG> (Thumb, 14 bytes, Stack size 0 bytes, driver_gpio.o(.text.MyGPIO_Set))
<BR><BR>[Called By]<UL><LI><a href="#[35]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;main
</UL>
<P><STRONG><a name="[39]"></a>erreur</STRONG> (Thumb, 4 bytes, Stack size 0 bytes, driver_adc.o(i.erreur))
<BR>[Address Reference Count : 1]<UL><LI> driver_adc.o(.data)
</UL>
<P><STRONG><a name="[35]"></a>main</STRONG> (Thumb, 26 bytes, Stack size 16 bytes, main.o(i.main))
<BR><BR>[Stack]<UL><LI>Max Depth = 40<LI>Call Chain = main &rArr; driver_IMU_read
</UL>
<BR>[Calls]<UL><LI><a href="#[48]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;driver_adc_1_launch_read
<LI><a href="#[44]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;driver_IMU_read
<LI><a href="#[42]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;driver_IMU_init
</UL>
<BR>[Address Reference Count : 1]<UL><LI> entry9a.o(.ARM.Collect$$$$0000000B)
</UL><P>
=======
<P><STRONG><a name="[3f]"></a>MyTimer_Base_Init</STRONG> (Thumb, 140 bytes, Stack size 0 bytes, driver_timer.o(.text.MyTimer_Base_Init))
=======
<P><STRONG><a name="[50]"></a>MyTimer_Base_Init</STRONG> (Thumb, 140 bytes, Stack size 0 bytes, driver_timer.o(.text.MyTimer_Base_Init))
<BR><BR>[Called By]<UL><LI><a href="#[4f]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;App_Girouette_Init
<LI><a href="#[35]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;main
</UL>
<P><STRONG><a name="[51]"></a>MyTimer_ConfigureEncoder</STRONG> (Thumb, 168 bytes, Stack size 0 bytes, driver_timer.o(.text.MyTimer_ConfigureEncoder))
<BR><BR>[Called By]<UL><LI><a href="#[4f]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;App_Girouette_Init
</UL>
<P><STRONG><a name="[54]"></a>MyTimer_ConfigurePWM</STRONG> (Thumb, 166 bytes, Stack size 0 bytes, driver_timer.o(.text.MyTimer_ConfigurePWM))
>>>>>>> encoder
<P><STRONG><a name="[3e]"></a>MyTimer_Base_Init</STRONG> (Thumb, 140 bytes, Stack size 0 bytes, driver_timer.o(.text.MyTimer_Base_Init))
<BR><BR>[Called By]<UL><LI><a href="#[35]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;main
</UL>
<P><STRONG><a name="[56]"></a>MyTimer_SetPWMDutyCycle</STRONG> (Thumb, 82 bytes, Stack size 0 bytes, driver_timer.o(.text.MyTimer_SetPWMDutyCycle))
<P><STRONG><a name="[3f]"></a>MyTimer_ConfigurePWM</STRONG> (Thumb, 168 bytes, Stack size 0 bytes, driver_timer.o(.text.MyTimer_ConfigurePWM))
<BR><BR>[Called By]<UL><LI><a href="#[35]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;main
</UL>
<P><STRONG><a name="[52]"></a>MyTimer_Start</STRONG> (Thumb, 12 bytes, Stack size 0 bytes, driver_timer.o(.text.MyTimer_Start))
<BR><BR>[Called By]<UL><LI><a href="#[4f]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;App_Girouette_Init
<LI><a href="#[35]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;main
</UL>
<P><STRONG><a name="[55]"></a>MyUART_Init</STRONG> (Thumb, 152 bytes, Stack size 0 bytes, driver_uart.o(.text.MyUART_Init))
<P><STRONG><a name="[40]"></a>MyTimer_Start</STRONG> (Thumb, 12 bytes, Stack size 0 bytes, driver_timer.o(.text.MyTimer_Start))
<BR><BR>[Called By]<UL><LI><a href="#[35]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;main
</UL>
<P><STRONG><a name="[59]"></a>MyUART_SendByte</STRONG> (Thumb, 12 bytes, Stack size 0 bytes, driver_uart.o(.text.MyUART_SendByte))
<P><STRONG><a name="[41]"></a>MyUART_Init</STRONG> (Thumb, 58 bytes, Stack size 0 bytes, driver_uart.o(.text.MyUART_Init))
<BR><BR>[Called By]<UL><LI><a href="#[35]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;main
</UL>
<P><STRONG><a name="[58]"></a>MyUART_SendString</STRONG> (Thumb, 32 bytes, Stack size 0 bytes, driver_uart.o(.text.MyUART_SendString))
<P><STRONG><a name="[42]"></a>MyUART_SendByte</STRONG> (Thumb, 20 bytes, Stack size 0 bytes, driver_uart.o(.text.MyUART_SendByte))
<BR><BR>[Called By]<UL><LI><a href="#[35]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;main
</UL>
@ -741,116 +365,28 @@ Global Symbols
<P><STRONG><a name="[28]"></a>TIM4_IRQHandler</STRONG> (Thumb, 28 bytes, Stack size 0 bytes, driver_timer.o(.text.TIM4_IRQHandler))
<BR>[Address Reference Count : 1]<UL><LI> startup_stm32f10x_md.o(RESET)
</UL>
<P><STRONG><a name="[4e]"></a>TIM_GetCounter</STRONG> (Thumb, 4 bytes, Stack size 0 bytes, driver_timer.o(.text.TIM_GetCounter))
<BR><BR>[Called By]<UL><LI><a href="#[4d]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;App_Girouette_GetDirection
<P><STRONG><a name="[35]"></a>main</STRONG> (Thumb, 162 bytes, Stack size 40 bytes, main.o(.text.main))
<BR><BR>[Stack]<UL><LI>Max Depth = 48<LI>Call Chain = main &rArr; MyGPIO_Init
</UL>
<P><STRONG><a name="[31]"></a>USART3_IRQHandler</STRONG> (Thumb, 14 bytes, Stack size 0 bytes, driver_uart.o(.text.USART3_IRQHandler))
<BR>[Address Reference Count : 1]<UL><LI> startup_stm32f10x_md.o(RESET)
</UL>
<P><STRONG><a name="[39]"></a>erreur</STRONG> (Thumb, 2 bytes, Stack size 0 bytes, driver_adc.o(.text.erreur))
<BR><BR>[Calls]<UL><LI><a href="#[39]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;erreur
</UL>
<BR>[Called By]<UL><LI><a href="#[39]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;erreur
</UL>
<BR>[Address Reference Count : 1]<UL><LI> driver_adc.o(.data.ADC1_2_fx)
</UL>
<P><STRONG><a name="[35]"></a>main</STRONG> (Thumb, 272 bytes, Stack size 72 bytes, main.o(.text.main))
<BR><BR>[Stack]<UL><LI>Max Depth = 168<LI>Call Chain = main &rArr; App_Girouette_GetDirection &rArr; __aeabi_dmul &rArr; _double_epilogue &rArr; _double_round
</UL>
<BR>[Calls]<UL><LI><a href="#[57]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__2sprintf
<LI><a href="#[4d]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;App_Girouette_GetDirection
<LI><a href="#[59]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;MyUART_SendByte
<LI><a href="#[58]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;MyUART_SendString
<LI><a href="#[40]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__aeabi_ui2d
<LI><a href="#[56]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;MyTimer_SetPWMDutyCycle
<LI><a href="#[4f]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;App_Girouette_Init
<LI><a href="#[55]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;MyUART_Init
<LI><a href="#[52]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;MyTimer_Start
<LI><a href="#[54]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;MyTimer_ConfigurePWM
<LI><a href="#[50]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;MyTimer_Base_Init
<LI><a href="#[53]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;MyGPIO_Init
<BR>[Calls]<UL><LI><a href="#[42]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;MyUART_SendByte
<LI><a href="#[41]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;MyUART_Init
<LI><a href="#[40]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;MyTimer_Start
<LI><a href="#[3f]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;MyTimer_ConfigurePWM
<LI><a href="#[3e]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;MyTimer_Base_Init
<LI><a href="#[3d]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;MyGPIO_Set
<LI><a href="#[3c]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;MyGPIO_Init
</UL>
<BR>[Address Reference Count : 1]<UL><LI> entry9a.o(.ARM.Collect$$$$0000000B)
</UL>
<P><STRONG><a name="[5a]"></a>__0sprintf</STRONG> (Thumb, 34 bytes, Stack size 24 bytes, printfa.o(i.__0sprintf), UNUSED)
<BR><BR>[Calls]<UL><LI><a href="#[38]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_sputc
<LI><a href="#[5b]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_printf_core
</UL>
<P><STRONG><a name="[4a]"></a>__scatterload_copy</STRONG> (Thumb, 14 bytes, Stack size unknown bytes, handlers.o(i.__scatterload_copy), UNUSED)
<P><STRONG><a name="[6d]"></a>__1sprintf</STRONG> (Thumb, 0 bytes, Stack size 24 bytes, printfa.o(i.__0sprintf), UNUSED)
<P><STRONG><a name="[4b]"></a>__scatterload_null</STRONG> (Thumb, 2 bytes, Stack size unknown bytes, handlers.o(i.__scatterload_null), UNUSED)
<P><STRONG><a name="[57]"></a>__2sprintf</STRONG> (Thumb, 0 bytes, Stack size 24 bytes, printfa.o(i.__0sprintf))
<BR><BR>[Stack]<UL><LI>Max Depth = 24<LI>Call Chain = __2sprintf
</UL>
<BR>[Called By]<UL><LI><a href="#[35]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;main
</UL>
<P><STRONG><a name="[6e]"></a>__c89sprintf</STRONG> (Thumb, 0 bytes, Stack size 24 bytes, printfa.o(i.__0sprintf), UNUSED)
<P><STRONG><a name="[6f]"></a>sprintf</STRONG> (Thumb, 0 bytes, Stack size 24 bytes, printfa.o(i.__0sprintf), UNUSED)
<P><STRONG><a name="[70]"></a>__scatterload_copy</STRONG> (Thumb, 14 bytes, Stack size unknown bytes, handlers.o(i.__scatterload_copy), UNUSED)
<P><STRONG><a name="[71]"></a>__scatterload_null</STRONG> (Thumb, 2 bytes, Stack size unknown bytes, handlers.o(i.__scatterload_null), UNUSED)
<P><STRONG><a name="[72]"></a>__scatterload_zeroinit</STRONG> (Thumb, 14 bytes, Stack size unknown bytes, handlers.o(i.__scatterload_zeroinit), UNUSED)
<P><STRONG><a name="[4c]"></a>__scatterload_zeroinit</STRONG> (Thumb, 14 bytes, Stack size unknown bytes, handlers.o(i.__scatterload_zeroinit), UNUSED)
<P>
>>>>>>> encoder
<H3>
Local Symbols
</H3>
<<<<<<< HEAD
<P><STRONG><a name="[40]"></a>SetSysClock</STRONG> (Thumb, 8 bytes, Stack size 8 bytes, system_stm32f10x.o(i.SetSysClock))
<BR><BR>[Stack]<UL><LI>Max Depth = 20<LI>Call Chain = SetSysClock &rArr; SetSysClockTo72
</UL>
<BR>[Calls]<UL><LI><a href="#[41]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;SetSysClockTo72
</UL>
<BR>[Called By]<UL><LI><a href="#[36]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;SystemInit
</UL>
<P><STRONG><a name="[41]"></a>SetSysClockTo72</STRONG> (Thumb, 214 bytes, Stack size 12 bytes, system_stm32f10x.o(i.SetSysClockTo72))
<BR><BR>[Stack]<UL><LI>Max Depth = 12<LI>Call Chain = SetSysClockTo72
</UL>
<BR>[Called By]<UL><LI><a href="#[40]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;SetSysClock
</UL>
<P>
=======
<P><STRONG><a name="[5c]"></a>_fp_digits</STRONG> (Thumb, 366 bytes, Stack size 64 bytes, printfa.o(i._fp_digits), UNUSED)
<BR><BR>[Calls]<UL><LI><a href="#[43]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__aeabi_uldivmod
<LI><a href="#[4a]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__aeabi_ddiv
<LI><a href="#[46]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__aeabi_dadd
<LI><a href="#[4b]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__aeabi_d2ulz
<LI><a href="#[5d]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__aeabi_cdrcmple
<LI><a href="#[3d]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__aeabi_dmul
</UL>
<BR>[Called By]<UL><LI><a href="#[5b]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_printf_core
</UL>
<P><STRONG><a name="[5b]"></a>_printf_core</STRONG> (Thumb, 1744 bytes, Stack size 136 bytes, printfa.o(i._printf_core), UNUSED)
<BR><BR>[Calls]<UL><LI><a href="#[43]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__aeabi_uldivmod
<LI><a href="#[60]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__aeabi_uidivmod
<LI><a href="#[5e]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_printf_pre_padding
<LI><a href="#[5f]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_printf_post_padding
<LI><a href="#[5c]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_fp_digits
</UL>
<BR>[Called By]<UL><LI><a href="#[5a]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__0sprintf
</UL>
<P><STRONG><a name="[5f]"></a>_printf_post_padding</STRONG> (Thumb, 36 bytes, Stack size 24 bytes, printfa.o(i._printf_post_padding), UNUSED)
<BR><BR>[Called By]<UL><LI><a href="#[5b]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_printf_core
</UL>
<P><STRONG><a name="[5e]"></a>_printf_pre_padding</STRONG> (Thumb, 46 bytes, Stack size 24 bytes, printfa.o(i._printf_pre_padding), UNUSED)
<BR><BR>[Called By]<UL><LI><a href="#[5b]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_printf_core
</UL>
<P><STRONG><a name="[38]"></a>_sputc</STRONG> (Thumb, 10 bytes, Stack size 0 bytes, printfa.o(i._sputc))
<BR><BR>[Called By]<UL><LI><a href="#[5a]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__0sprintf
</UL>
<BR>[Address Reference Count : 1]<UL><LI> printfa.o(i.__0sprintf)
</UL><P>
>>>>>>> encoder
</H3><P>
<H3>
Undefined Global Symbols
</H3><HR></body></html>

View file

@ -1,16 +1,8 @@
--cpu Cortex-M3
".\objects\main.o"
".\objects\app_girouette.o"
".\objects\driver_gpio.o"
".\objects\driver_timer.o"
<<<<<<< HEAD
".\objects\driver_adc.o"
"..\driver\Lib_Com_Periph_2022.lib"
".\objects\driver_imu.o"
=======
".\objects\driver_uart.o"
".\objects\driver_adc.o"
>>>>>>> encoder
".\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

View file

@ -1,14 +1,6 @@
Dependencies for Project 'projet-voilier', Target 'sim': (DO NOT MODIFY !)
CompilerVersion: 6190000::V6.19::ARMCLANG
<<<<<<< HEAD
<<<<<<< HEAD
F (.\src\main.c)(0x64300F40)(-xc -std=c90 --target=arm-arm-none-eabi -mcpu=cortex-m3 -c -fno-rtti -funsigned-char -fshort-enums -fshort-wchar -D__EVAL -gdwarf-4 -O1 -ffunction-sections -Wno-packed -Wno-missing-variable-declarations -Wno-missing-prototypes -Wno-missing-noreturn -Wno-sign-conversion -Wno-nonportable-include-path -Wno-reserved-id-macro -Wno-unused-macros -Wno-documentation-unknown-command -Wno-documentation -Wno-license-management -Wno-parentheses-equality -Wno-reserved-identifier -I ../driver -I ./src -I./RTE/Device/STM32F103RB -I./RTE/_sim -IC:/Users/robin/AppData/Local/Arm/Packs/ARM/CMSIS/5.9.0/CMSIS/Core/Include -IC:/Users/robin/AppData/Local/Arm/Packs/Keil/STM32F1xx_DFP/2.4.0/Device/Include -D__UVISION_VERSION="538" -D_RTE_ -DSTM32F10X_MD -D_RTE_ -o ./objects/main.o -MD)
=======
F (.\src\main.c)(0x643507C6)(-xc -std=c90 --target=arm-arm-none-eabi -mcpu=cortex-m3 -c -fno-rtti -funsigned-char -fshort-enums -fshort-wchar -D__EVAL -gdwarf-4 -O1 -ffunction-sections -Wno-packed -Wno-missing-variable-declarations -Wno-missing-prototypes -Wno-missing-noreturn -Wno-sign-conversion -Wno-nonportable-include-path -Wno-reserved-id-macro -Wno-unused-macros -Wno-documentation-unknown-command -Wno-documentation -Wno-license-management -Wno-parentheses-equality -Wno-reserved-identifier -I ../driver -I ./src -I./RTE/Device/STM32F103RB -I./RTE/_sim -IC:/Users/robin/AppData/Local/Arm/Packs/ARM/CMSIS/5.9.0/CMSIS/Core/Include -IC:/Users/robin/AppData/Local/Arm/Packs/Keil/STM32F1xx_DFP/2.4.0/Device/Include -D__UVISION_VERSION="538" -D_RTE_ -DSTM32F10X_MD -D_RTE_ -o ./objects/main.o -MD)
>>>>>>> encoder
=======
F (.\src\main.c)(0x64352014)(-xc -std=c90 --target=arm-arm-none-eabi -mcpu=cortex-m3 -c -fno-rtti -funsigned-char -fshort-enums -fshort-wchar -D__EVAL -gdwarf-4 -O1 -ffunction-sections -Wno-packed -Wno-missing-variable-declarations -Wno-missing-prototypes -Wno-missing-noreturn -Wno-sign-conversion -Wno-nonportable-include-path -Wno-reserved-id-macro -Wno-unused-macros -Wno-documentation-unknown-command -Wno-documentation -Wno-license-management -Wno-parentheses-equality -Wno-reserved-identifier -I ../driver -I ./src -I./RTE/Device/STM32F103RB -I./RTE/_sim -IC:/Users/robin/AppData/Local/Arm/Packs/ARM/CMSIS/5.9.0/CMSIS/Core/Include -IC:/Users/robin/AppData/Local/Arm/Packs/Keil/STM32F1xx_DFP/2.4.0/Device/Include -D__UVISION_VERSION="538" -D_RTE_ -DSTM32F10X_MD -D_RTE_ -o ./objects/main.o -MD)
>>>>>>> encoder
F (.\src\main.c)(0x6426AEF0)(-xc -std=c90 --target=arm-arm-none-eabi -mcpu=cortex-m3 -c -fno-rtti -funsigned-char -fshort-enums -fshort-wchar -D__EVAL -gdwarf-4 -O1 -ffunction-sections -Wno-packed -Wno-missing-variable-declarations -Wno-missing-prototypes -Wno-missing-noreturn -Wno-sign-conversion -Wno-nonportable-include-path -Wno-reserved-id-macro -Wno-unused-macros -Wno-documentation-unknown-command -Wno-documentation -Wno-license-management -Wno-parentheses-equality -Wno-reserved-identifier -I ../driver -I ./src -I./RTE/Device/STM32F103RB -I./RTE/_sim -IC:/Users/robin/AppData/Local/Arm/Packs/ARM/CMSIS/5.9.0/CMSIS/Core/Include -IC:/Users/robin/AppData/Local/Arm/Packs/Keil/STM32F1xx_DFP/2.4.0/Device/Include -D__UVISION_VERSION="538" -D_RTE_ -DSTM32F10X_MD -D_RTE_ -o ./objects/main.o -MD)
I (C:\Users\robin\AppData\Local\Arm\Packs\Keil\STM32F1xx_DFP\2.4.0\Device\Include\stm32f10x.h)(0x61ADDBCE)
I (RTE\_sim\RTE_Components.h)(0x6421A260)
I (C:\Users\robin\AppData\Local\Arm\Packs\ARM\CMSIS\5.9.0\CMSIS\Core\Include\core_cm3.h)(0x626FAD4E)
@ -17,44 +9,11 @@ I (C:\Users\robin\AppData\Local\Arm\Packs\ARM\CMSIS\5.9.0\CMSIS\Core\Include\cms
I (C:\Users\robin\AppData\Local\Arm\Packs\ARM\CMSIS\5.9.0\CMSIS\Core\Include\cmsis_compiler.h)(0x626FAD4E)
I (C:\Users\robin\AppData\Local\Arm\Packs\ARM\CMSIS\5.9.0\CMSIS\Core\Include\cmsis_armclang.h)(0x626FAD4E)
I (C:\Users\robin\AppData\Local\Arm\Packs\Keil\STM32F1xx_DFP\2.4.0\Device\Include\system_stm32f10x.h)(0x61ADDBCE)
<<<<<<< HEAD
<<<<<<< HEAD
I (..\driver\Driver_GPIO.h)(0x64300B3D)
I (..\driver\Driver_Timer.h)(0x64300E6B)
I (..\driver\Driver_UART.h)(0x642C85A4)
I (..\driver\Driver_ADC.h)(0x64300B06)
I (..\driver\MySPI.h)(0x64300B06)
I (..\driver\Driver_IMU.h)(0x64300B06)
F (..\driver\Driver_GPIO.c)(0x64300B3C)(-xc -std=c90 --target=arm-arm-none-eabi -mcpu=cortex-m3 -c -fno-rtti -funsigned-char -fshort-enums -fshort-wchar -D__EVAL -gdwarf-4 -O1 -ffunction-sections -Wno-packed -Wno-missing-variable-declarations -Wno-missing-prototypes -Wno-missing-noreturn -Wno-sign-conversion -Wno-nonportable-include-path -Wno-reserved-id-macro -Wno-unused-macros -Wno-documentation-unknown-command -Wno-documentation -Wno-license-management -Wno-parentheses-equality -Wno-reserved-identifier -I ../driver -I ./src -I./RTE/Device/STM32F103RB -I./RTE/_sim -IC:/Users/robin/AppData/Local/Arm/Packs/ARM/CMSIS/5.9.0/CMSIS/Core/Include -IC:/Users/robin/AppData/Local/Arm/Packs/Keil/STM32F1xx_DFP/2.4.0/Device/Include -D__UVISION_VERSION="538" -D_RTE_ -DSTM32F10X_MD -D_RTE_ -o ./objects/driver_gpio.o -MD)
I (..\driver\Driver_GPIO.h)(0x64300B3D)
=======
I (..\driver\Driver_GPIO.h)(0x64301005)
I (..\driver\Driver_Timer.h)(0x64301005)
I (..\driver\Driver_UART.h)(0x642C85A4)
F (..\driver\Driver_GPIO.c)(0x643507C3)(-xc -std=c90 --target=arm-arm-none-eabi -mcpu=cortex-m3 -c -fno-rtti -funsigned-char -fshort-enums -fshort-wchar -D__EVAL -gdwarf-4 -O1 -ffunction-sections -Wno-packed -Wno-missing-variable-declarations -Wno-missing-prototypes -Wno-missing-noreturn -Wno-sign-conversion -Wno-nonportable-include-path -Wno-reserved-id-macro -Wno-unused-macros -Wno-documentation-unknown-command -Wno-documentation -Wno-license-management -Wno-parentheses-equality -Wno-reserved-identifier -I ../driver -I ./src -I./RTE/Device/STM32F103RB -I./RTE/_sim -IC:/Users/robin/AppData/Local/Arm/Packs/ARM/CMSIS/5.9.0/CMSIS/Core/Include -IC:/Users/robin/AppData/Local/Arm/Packs/Keil/STM32F1xx_DFP/2.4.0/Device/Include -D__UVISION_VERSION="538" -D_RTE_ -DSTM32F10X_MD -D_RTE_ -o ./objects/driver_gpio.o -MD)
I (..\driver\Driver_GPIO.h)(0x64301005)
>>>>>>> encoder
=======
I (..\driver\Driver_GPIO.h)(0x64351540)
I (..\driver\Driver_Timer.h)(0x64351540)
I (..\driver\Driver_UART.h)(0x642C85A4)
I (src\App_girouette.h)(0x643516BD)
F (.\src\App_girouette.c)(0x643517F2)(-xc -std=c90 --target=arm-arm-none-eabi -mcpu=cortex-m3 -c -fno-rtti -funsigned-char -fshort-enums -fshort-wchar -D__EVAL -gdwarf-4 -O1 -ffunction-sections -Wno-packed -Wno-missing-variable-declarations -Wno-missing-prototypes -Wno-missing-noreturn -Wno-sign-conversion -Wno-nonportable-include-path -Wno-reserved-id-macro -Wno-unused-macros -Wno-documentation-unknown-command -Wno-documentation -Wno-license-management -Wno-parentheses-equality -Wno-reserved-identifier -I ../driver -I ./src -I./RTE/Device/STM32F103RB -I./RTE/_sim -IC:/Users/robin/AppData/Local/Arm/Packs/ARM/CMSIS/5.9.0/CMSIS/Core/Include -IC:/Users/robin/AppData/Local/Arm/Packs/Keil/STM32F1xx_DFP/2.4.0/Device/Include -D__UVISION_VERSION="538" -D_RTE_ -DSTM32F10X_MD -D_RTE_ -o ./objects/app_girouette.o -MD)
I (src\App_girouette.h)(0x643516BD)
I (C:\Users\robin\AppData\Local\Arm\Packs\Keil\STM32F1xx_DFP\2.4.0\Device\Include\stm32f10x.h)(0x61ADDBCE)
I (RTE\_sim\RTE_Components.h)(0x6421A260)
I (C:\Users\robin\AppData\Local\Arm\Packs\ARM\CMSIS\5.9.0\CMSIS\Core\Include\core_cm3.h)(0x626FAD4E)
I (C:\Keil_v5\ARM\ARMCLANG\include\stdint.h)(0x6388AB78)
I (C:\Users\robin\AppData\Local\Arm\Packs\ARM\CMSIS\5.9.0\CMSIS\Core\Include\cmsis_version.h)(0x626FAD4E)
I (C:\Users\robin\AppData\Local\Arm\Packs\ARM\CMSIS\5.9.0\CMSIS\Core\Include\cmsis_compiler.h)(0x626FAD4E)
I (C:\Users\robin\AppData\Local\Arm\Packs\ARM\CMSIS\5.9.0\CMSIS\Core\Include\cmsis_armclang.h)(0x626FAD4E)
I (C:\Users\robin\AppData\Local\Arm\Packs\Keil\STM32F1xx_DFP\2.4.0\Device\Include\system_stm32f10x.h)(0x61ADDBCE)
I (..\driver\Driver_GPIO.h)(0x64351540)
I (..\driver\Driver_Timer.h)(0x64351540)
F (.\src\App_girouette.h)(0x643516BD)()
F (..\driver\Driver_GPIO.c)(0x64351540)(-xc -std=c90 --target=arm-arm-none-eabi -mcpu=cortex-m3 -c -fno-rtti -funsigned-char -fshort-enums -fshort-wchar -D__EVAL -gdwarf-4 -O1 -ffunction-sections -Wno-packed -Wno-missing-variable-declarations -Wno-missing-prototypes -Wno-missing-noreturn -Wno-sign-conversion -Wno-nonportable-include-path -Wno-reserved-id-macro -Wno-unused-macros -Wno-documentation-unknown-command -Wno-documentation -Wno-license-management -Wno-parentheses-equality -Wno-reserved-identifier -I ../driver -I ./src -I./RTE/Device/STM32F103RB -I./RTE/_sim -IC:/Users/robin/AppData/Local/Arm/Packs/ARM/CMSIS/5.9.0/CMSIS/Core/Include -IC:/Users/robin/AppData/Local/Arm/Packs/Keil/STM32F1xx_DFP/2.4.0/Device/Include -D__UVISION_VERSION="538" -D_RTE_ -DSTM32F10X_MD -D_RTE_ -o ./objects/driver_gpio.o -MD)
I (..\driver\Driver_GPIO.h)(0x64351540)
>>>>>>> encoder
I (..\driver\Driver_GPIO.h)(0x641B050C)
I (..\driver\Driver_Timer.h)(0x6421D747)
I (..\driver\Driver_UART.h)(0x6425DA6A)
F (..\driver\Driver_GPIO.c)(0x641B050C)(-xc -std=c90 --target=arm-arm-none-eabi -mcpu=cortex-m3 -c -fno-rtti -funsigned-char -fshort-enums -fshort-wchar -D__EVAL -gdwarf-4 -O1 -ffunction-sections -Wno-packed -Wno-missing-variable-declarations -Wno-missing-prototypes -Wno-missing-noreturn -Wno-sign-conversion -Wno-nonportable-include-path -Wno-reserved-id-macro -Wno-unused-macros -Wno-documentation-unknown-command -Wno-documentation -Wno-license-management -Wno-parentheses-equality -Wno-reserved-identifier -I ../driver -I ./src -I./RTE/Device/STM32F103RB -I./RTE/_sim -IC:/Users/robin/AppData/Local/Arm/Packs/ARM/CMSIS/5.9.0/CMSIS/Core/Include -IC:/Users/robin/AppData/Local/Arm/Packs/Keil/STM32F1xx_DFP/2.4.0/Device/Include -D__UVISION_VERSION="538" -D_RTE_ -DSTM32F10X_MD -D_RTE_ -o ./objects/driver_gpio.o -MD)
I (..\driver\Driver_GPIO.h)(0x641B050C)
I (C:\Users\robin\AppData\Local\Arm\Packs\Keil\STM32F1xx_DFP\2.4.0\Device\Include\stm32f10x.h)(0x61ADDBCE)
I (RTE\_sim\RTE_Components.h)(0x6421A260)
I (C:\Users\robin\AppData\Local\Arm\Packs\ARM\CMSIS\5.9.0\CMSIS\Core\Include\core_cm3.h)(0x626FAD4E)
@ -64,21 +23,9 @@ I (C:\Users\robin\AppData\Local\Arm\Packs\ARM\CMSIS\5.9.0\CMSIS\Core\Include\cms
I (C:\Users\robin\AppData\Local\Arm\Packs\ARM\CMSIS\5.9.0\CMSIS\Core\Include\cmsis_armclang.h)(0x626FAD4E)
I (C:\Users\robin\AppData\Local\Arm\Packs\Keil\STM32F1xx_DFP\2.4.0\Device\Include\system_stm32f10x.h)(0x61ADDBCE)
I (C:\Keil_v5\ARM\ARMCLANG\include\stdio.h)(0x6388AB78)
<<<<<<< HEAD
<<<<<<< HEAD
F (..\driver\Driver_GPIO.h)(0x64300B3D)()
F (..\driver\Driver_Timer.c)(0x64300E52)(-xc -std=c90 --target=arm-arm-none-eabi -mcpu=cortex-m3 -c -fno-rtti -funsigned-char -fshort-enums -fshort-wchar -D__EVAL -gdwarf-4 -O1 -ffunction-sections -Wno-packed -Wno-missing-variable-declarations -Wno-missing-prototypes -Wno-missing-noreturn -Wno-sign-conversion -Wno-nonportable-include-path -Wno-reserved-id-macro -Wno-unused-macros -Wno-documentation-unknown-command -Wno-documentation -Wno-license-management -Wno-parentheses-equality -Wno-reserved-identifier -I ../driver -I ./src -I./RTE/Device/STM32F103RB -I./RTE/_sim -IC:/Users/robin/AppData/Local/Arm/Packs/ARM/CMSIS/5.9.0/CMSIS/Core/Include -IC:/Users/robin/AppData/Local/Arm/Packs/Keil/STM32F1xx_DFP/2.4.0/Device/Include -D__UVISION_VERSION="538" -D_RTE_ -DSTM32F10X_MD -D_RTE_ -o ./objects/driver_timer.o -MD)
I (..\driver\Driver_Timer.h)(0x64300E6B)
=======
F (..\driver\Driver_GPIO.h)(0x64301005)()
F (..\driver\Driver_Timer.c)(0x64301341)(-xc -std=c90 --target=arm-arm-none-eabi -mcpu=cortex-m3 -c -fno-rtti -funsigned-char -fshort-enums -fshort-wchar -D__EVAL -gdwarf-4 -O1 -ffunction-sections -Wno-packed -Wno-missing-variable-declarations -Wno-missing-prototypes -Wno-missing-noreturn -Wno-sign-conversion -Wno-nonportable-include-path -Wno-reserved-id-macro -Wno-unused-macros -Wno-documentation-unknown-command -Wno-documentation -Wno-license-management -Wno-parentheses-equality -Wno-reserved-identifier -I ../driver -I ./src -I./RTE/Device/STM32F103RB -I./RTE/_sim -IC:/Users/robin/AppData/Local/Arm/Packs/ARM/CMSIS/5.9.0/CMSIS/Core/Include -IC:/Users/robin/AppData/Local/Arm/Packs/Keil/STM32F1xx_DFP/2.4.0/Device/Include -D__UVISION_VERSION="538" -D_RTE_ -DSTM32F10X_MD -D_RTE_ -o ./objects/driver_timer.o -MD)
I (..\driver\Driver_Timer.h)(0x64301005)
>>>>>>> encoder
=======
F (..\driver\Driver_GPIO.h)(0x64351540)()
F (..\driver\Driver_Timer.c)(0x643517CC)(-xc -std=c90 --target=arm-arm-none-eabi -mcpu=cortex-m3 -c -fno-rtti -funsigned-char -fshort-enums -fshort-wchar -D__EVAL -gdwarf-4 -O1 -ffunction-sections -Wno-packed -Wno-missing-variable-declarations -Wno-missing-prototypes -Wno-missing-noreturn -Wno-sign-conversion -Wno-nonportable-include-path -Wno-reserved-id-macro -Wno-unused-macros -Wno-documentation-unknown-command -Wno-documentation -Wno-license-management -Wno-parentheses-equality -Wno-reserved-identifier -I ../driver -I ./src -I./RTE/Device/STM32F103RB -I./RTE/_sim -IC:/Users/robin/AppData/Local/Arm/Packs/ARM/CMSIS/5.9.0/CMSIS/Core/Include -IC:/Users/robin/AppData/Local/Arm/Packs/Keil/STM32F1xx_DFP/2.4.0/Device/Include -D__UVISION_VERSION="538" -D_RTE_ -DSTM32F10X_MD -D_RTE_ -o ./objects/driver_timer.o -MD)
I (..\driver\Driver_Timer.h)(0x64351540)
>>>>>>> encoder
F (..\driver\Driver_GPIO.h)(0x641B050C)()
F (..\driver\Driver_Timer.c)(0x6425CEE2)(-xc -std=c90 --target=arm-arm-none-eabi -mcpu=cortex-m3 -c -fno-rtti -funsigned-char -fshort-enums -fshort-wchar -D__EVAL -gdwarf-4 -O1 -ffunction-sections -Wno-packed -Wno-missing-variable-declarations -Wno-missing-prototypes -Wno-missing-noreturn -Wno-sign-conversion -Wno-nonportable-include-path -Wno-reserved-id-macro -Wno-unused-macros -Wno-documentation-unknown-command -Wno-documentation -Wno-license-management -Wno-parentheses-equality -Wno-reserved-identifier -I ../driver -I ./src -I./RTE/Device/STM32F103RB -I./RTE/_sim -IC:/Users/robin/AppData/Local/Arm/Packs/ARM/CMSIS/5.9.0/CMSIS/Core/Include -IC:/Users/robin/AppData/Local/Arm/Packs/Keil/STM32F1xx_DFP/2.4.0/Device/Include -D__UVISION_VERSION="538" -D_RTE_ -DSTM32F10X_MD -D_RTE_ -o ./objects/driver_timer.o -MD)
I (..\driver\Driver_Timer.h)(0x6421D747)
I (C:\Users\robin\AppData\Local\Arm\Packs\Keil\STM32F1xx_DFP\2.4.0\Device\Include\stm32f10x.h)(0x61ADDBCE)
I (RTE\_sim\RTE_Components.h)(0x6421A260)
I (C:\Users\robin\AppData\Local\Arm\Packs\ARM\CMSIS\5.9.0\CMSIS\Core\Include\core_cm3.h)(0x626FAD4E)
@ -88,18 +35,9 @@ I (C:\Users\robin\AppData\Local\Arm\Packs\ARM\CMSIS\5.9.0\CMSIS\Core\Include\cms
I (C:\Users\robin\AppData\Local\Arm\Packs\ARM\CMSIS\5.9.0\CMSIS\Core\Include\cmsis_armclang.h)(0x626FAD4E)
I (C:\Users\robin\AppData\Local\Arm\Packs\Keil\STM32F1xx_DFP\2.4.0\Device\Include\system_stm32f10x.h)(0x61ADDBCE)
I (C:\Keil_v5\ARM\ARMCLANG\include\stdio.h)(0x6388AB78)
<<<<<<< HEAD
<<<<<<< HEAD
F (..\driver\Driver_Timer.h)(0x64300E6B)()
=======
F (..\driver\Driver_Timer.h)(0x64301005)()
>>>>>>> encoder
F (..\driver\Driver_UART.c)(0x64300B0F)(-xc -std=c90 --target=arm-arm-none-eabi -mcpu=cortex-m3 -c -fno-rtti -funsigned-char -fshort-enums -fshort-wchar -D__EVAL -gdwarf-4 -O1 -ffunction-sections -Wno-packed -Wno-missing-variable-declarations -Wno-missing-prototypes -Wno-missing-noreturn -Wno-sign-conversion -Wno-nonportable-include-path -Wno-reserved-id-macro -Wno-unused-macros -Wno-documentation-unknown-command -Wno-documentation -Wno-license-management -Wno-parentheses-equality -Wno-reserved-identifier -I ../driver -I ./src -I./RTE/Device/STM32F103RB -I./RTE/_sim -IC:/Users/robin/AppData/Local/Arm/Packs/ARM/CMSIS/5.9.0/CMSIS/Core/Include -IC:/Users/robin/AppData/Local/Arm/Packs/Keil/STM32F1xx_DFP/2.4.0/Device/Include -D__UVISION_VERSION="538" -D_RTE_ -DSTM32F10X_MD -D_RTE_ -o ./objects/driver_uart.o -MD)
=======
F (..\driver\Driver_Timer.h)(0x64351540)()
F (..\driver\Driver_UART.c)(0x6435210E)(-xc -std=c90 --target=arm-arm-none-eabi -mcpu=cortex-m3 -c -fno-rtti -funsigned-char -fshort-enums -fshort-wchar -D__EVAL -gdwarf-4 -O1 -ffunction-sections -Wno-packed -Wno-missing-variable-declarations -Wno-missing-prototypes -Wno-missing-noreturn -Wno-sign-conversion -Wno-nonportable-include-path -Wno-reserved-id-macro -Wno-unused-macros -Wno-documentation-unknown-command -Wno-documentation -Wno-license-management -Wno-parentheses-equality -Wno-reserved-identifier -I ../driver -I ./src -I./RTE/Device/STM32F103RB -I./RTE/_sim -IC:/Users/robin/AppData/Local/Arm/Packs/ARM/CMSIS/5.9.0/CMSIS/Core/Include -IC:/Users/robin/AppData/Local/Arm/Packs/Keil/STM32F1xx_DFP/2.4.0/Device/Include -D__UVISION_VERSION="538" -D_RTE_ -DSTM32F10X_MD -D_RTE_ -o ./objects/driver_uart.o -MD)
>>>>>>> encoder
I (..\driver\Driver_UART.h)(0x642C85A4)
F (..\driver\Driver_Timer.h)(0x6421D747)()
F (..\driver\Driver_UART.c)(0x6426ACD7)(-xc -std=c90 --target=arm-arm-none-eabi -mcpu=cortex-m3 -c -fno-rtti -funsigned-char -fshort-enums -fshort-wchar -D__EVAL -gdwarf-4 -O1 -ffunction-sections -Wno-packed -Wno-missing-variable-declarations -Wno-missing-prototypes -Wno-missing-noreturn -Wno-sign-conversion -Wno-nonportable-include-path -Wno-reserved-id-macro -Wno-unused-macros -Wno-documentation-unknown-command -Wno-documentation -Wno-license-management -Wno-parentheses-equality -Wno-reserved-identifier -I ../driver -I ./src -I./RTE/Device/STM32F103RB -I./RTE/_sim -IC:/Users/robin/AppData/Local/Arm/Packs/ARM/CMSIS/5.9.0/CMSIS/Core/Include -IC:/Users/robin/AppData/Local/Arm/Packs/Keil/STM32F1xx_DFP/2.4.0/Device/Include -D__UVISION_VERSION="538" -D_RTE_ -DSTM32F10X_MD -D_RTE_ -o ./objects/driver_uart.o -MD)
I (..\driver\Driver_UART.h)(0x6425DA6A)
I (C:\Users\robin\AppData\Local\Arm\Packs\Keil\STM32F1xx_DFP\2.4.0\Device\Include\stm32f10x.h)(0x61ADDBCE)
I (RTE\_sim\RTE_Components.h)(0x6421A260)
I (C:\Users\robin\AppData\Local\Arm\Packs\ARM\CMSIS\5.9.0\CMSIS\Core\Include\core_cm3.h)(0x626FAD4E)
@ -108,51 +46,7 @@ I (C:\Users\robin\AppData\Local\Arm\Packs\ARM\CMSIS\5.9.0\CMSIS\Core\Include\cms
I (C:\Users\robin\AppData\Local\Arm\Packs\ARM\CMSIS\5.9.0\CMSIS\Core\Include\cmsis_compiler.h)(0x626FAD4E)
I (C:\Users\robin\AppData\Local\Arm\Packs\ARM\CMSIS\5.9.0\CMSIS\Core\Include\cmsis_armclang.h)(0x626FAD4E)
I (C:\Users\robin\AppData\Local\Arm\Packs\Keil\STM32F1xx_DFP\2.4.0\Device\Include\system_stm32f10x.h)(0x61ADDBCE)
F (..\driver\Driver_UART.h)(0x642C85A4)()
<<<<<<< HEAD
<<<<<<< HEAD
F (..\driver\Driver_ADC.c)(0x64300B06)(-xc -std=c90 --target=arm-arm-none-eabi -mcpu=cortex-m3 -c -fno-rtti -funsigned-char -fshort-enums -fshort-wchar -D__EVAL -gdwarf-4 -O1 -ffunction-sections -Wno-packed -Wno-missing-variable-declarations -Wno-missing-prototypes -Wno-missing-noreturn -Wno-sign-conversion -Wno-nonportable-include-path -Wno-reserved-id-macro -Wno-unused-macros -Wno-documentation-unknown-command -Wno-documentation -Wno-license-management -Wno-parentheses-equality -Wno-reserved-identifier -I ../driver -I ./src -I./RTE/Device/STM32F103RB -I./RTE/_sim -IC:/Users/robin/AppData/Local/Arm/Packs/ARM/CMSIS/5.9.0/CMSIS/Core/Include -IC:/Users/robin/AppData/Local/Arm/Packs/Keil/STM32F1xx_DFP/2.4.0/Device/Include -D__UVISION_VERSION="538" -D_RTE_ -DSTM32F10X_MD -D_RTE_ -o ./objects/driver_adc.o -MD)
=======
F (..\driver\Driver_ADC.c)(0x64301005)(-xc -std=c90 --target=arm-arm-none-eabi -mcpu=cortex-m3 -c -fno-rtti -funsigned-char -fshort-enums -fshort-wchar -D__EVAL -gdwarf-4 -O1 -ffunction-sections -Wno-packed -Wno-missing-variable-declarations -Wno-missing-prototypes -Wno-missing-noreturn -Wno-sign-conversion -Wno-nonportable-include-path -Wno-reserved-id-macro -Wno-unused-macros -Wno-documentation-unknown-command -Wno-documentation -Wno-license-management -Wno-parentheses-equality -Wno-reserved-identifier -I ../driver -I ./src -I./RTE/Device/STM32F103RB -I./RTE/_sim -IC:/Users/robin/AppData/Local/Arm/Packs/ARM/CMSIS/5.9.0/CMSIS/Core/Include -IC:/Users/robin/AppData/Local/Arm/Packs/Keil/STM32F1xx_DFP/2.4.0/Device/Include -D__UVISION_VERSION="538" -D_RTE_ -DSTM32F10X_MD -D_RTE_ -o ./objects/driver_adc.o -MD)
>>>>>>> encoder
=======
F (..\driver\Driver_ADC.c)(0x64351540)(-xc -std=c90 --target=arm-arm-none-eabi -mcpu=cortex-m3 -c -fno-rtti -funsigned-char -fshort-enums -fshort-wchar -D__EVAL -gdwarf-4 -O1 -ffunction-sections -Wno-packed -Wno-missing-variable-declarations -Wno-missing-prototypes -Wno-missing-noreturn -Wno-sign-conversion -Wno-nonportable-include-path -Wno-reserved-id-macro -Wno-unused-macros -Wno-documentation-unknown-command -Wno-documentation -Wno-license-management -Wno-parentheses-equality -Wno-reserved-identifier -I ../driver -I ./src -I./RTE/Device/STM32F103RB -I./RTE/_sim -IC:/Users/robin/AppData/Local/Arm/Packs/ARM/CMSIS/5.9.0/CMSIS/Core/Include -IC:/Users/robin/AppData/Local/Arm/Packs/Keil/STM32F1xx_DFP/2.4.0/Device/Include -D__UVISION_VERSION="538" -D_RTE_ -DSTM32F10X_MD -D_RTE_ -o ./objects/driver_adc.o -MD)
>>>>>>> encoder
I (C:\Users\robin\AppData\Local\Arm\Packs\Keil\STM32F1xx_DFP\2.4.0\Device\Include\stm32f10x.h)(0x61ADDBCE)
I (RTE\_sim\RTE_Components.h)(0x6421A260)
I (C:\Users\robin\AppData\Local\Arm\Packs\ARM\CMSIS\5.9.0\CMSIS\Core\Include\core_cm3.h)(0x626FAD4E)
I (C:\Keil_v5\ARM\ARMCLANG\include\stdint.h)(0x6388AB78)
I (C:\Users\robin\AppData\Local\Arm\Packs\ARM\CMSIS\5.9.0\CMSIS\Core\Include\cmsis_version.h)(0x626FAD4E)
I (C:\Users\robin\AppData\Local\Arm\Packs\ARM\CMSIS\5.9.0\CMSIS\Core\Include\cmsis_compiler.h)(0x626FAD4E)
I (C:\Users\robin\AppData\Local\Arm\Packs\ARM\CMSIS\5.9.0\CMSIS\Core\Include\cmsis_armclang.h)(0x626FAD4E)
I (C:\Users\robin\AppData\Local\Arm\Packs\Keil\STM32F1xx_DFP\2.4.0\Device\Include\system_stm32f10x.h)(0x61ADDBCE)
I (C:\Keil_v5\ARM\ARMCLANG\include\stdio.h)(0x6388AB78)
<<<<<<< HEAD
<<<<<<< HEAD
I (..\driver\Driver_ADC.h)(0x64300B06)
F (..\driver\Driver_ADC.h)(0x64300B06)()
F (..\driver\Driver_IMU.c)(0x64300B06)(-xc -std=c90 --target=arm-arm-none-eabi -mcpu=cortex-m3 -c -fno-rtti -funsigned-char -fshort-enums -fshort-wchar -D__EVAL -gdwarf-4 -O1 -ffunction-sections -Wno-packed -Wno-missing-variable-declarations -Wno-missing-prototypes -Wno-missing-noreturn -Wno-sign-conversion -Wno-nonportable-include-path -Wno-reserved-id-macro -Wno-unused-macros -Wno-documentation-unknown-command -Wno-documentation -Wno-license-management -Wno-parentheses-equality -Wno-reserved-identifier -I ../driver -I ./src -I./RTE/Device/STM32F103RB -I./RTE/_sim -IC:/Users/robin/AppData/Local/Arm/Packs/ARM/CMSIS/5.9.0/CMSIS/Core/Include -IC:/Users/robin/AppData/Local/Arm/Packs/Keil/STM32F1xx_DFP/2.4.0/Device/Include -D__UVISION_VERSION="538" -D_RTE_ -DSTM32F10X_MD -D_RTE_ -o ./objects/driver_imu.o -MD)
I (..\driver\MySpi.h)(0x64300B06)
I (C:\Users\robin\AppData\Local\Arm\Packs\Keil\STM32F1xx_DFP\2.4.0\Device\Include\stm32f10x.h)(0x61ADDBCE)
I (RTE\_sim\RTE_Components.h)(0x6421A260)
I (C:\Users\robin\AppData\Local\Arm\Packs\ARM\CMSIS\5.9.0\CMSIS\Core\Include\core_cm3.h)(0x626FAD4E)
I (C:\Keil_v5\ARM\ARMCLANG\include\stdint.h)(0x6388AB78)
I (C:\Users\robin\AppData\Local\Arm\Packs\ARM\CMSIS\5.9.0\CMSIS\Core\Include\cmsis_version.h)(0x626FAD4E)
I (C:\Users\robin\AppData\Local\Arm\Packs\ARM\CMSIS\5.9.0\CMSIS\Core\Include\cmsis_compiler.h)(0x626FAD4E)
I (C:\Users\robin\AppData\Local\Arm\Packs\ARM\CMSIS\5.9.0\CMSIS\Core\Include\cmsis_armclang.h)(0x626FAD4E)
I (C:\Users\robin\AppData\Local\Arm\Packs\Keil\STM32F1xx_DFP\2.4.0\Device\Include\system_stm32f10x.h)(0x61ADDBCE)
F (..\driver\Driver_IMU.h)(0x64300B06)()
F (..\driver\MyI2C.h)(0x64300B06)()
F (..\driver\MySPI.h)(0x64300B06)()
F (..\driver\Lib_Com_Periph_2022.lib)(0x64300B06)()
=======
I (..\driver\Driver_ADC.h)(0x64301005)
F (..\driver\Driver_ADC.h)(0x64301005)()
>>>>>>> encoder
=======
I (..\driver\Driver_ADC.h)(0x64351540)
F (..\driver\Driver_ADC.h)(0x64351540)()
>>>>>>> encoder
F (..\driver\Driver_UART.h)(0x6425DA6A)()
F (RTE/Device/STM32F103RB/RTE_Device.h)(0x641B050C)()
F (RTE/Device/STM32F103RB/startup_stm32f10x_md.s)(0x641B050C)(--target=arm-arm-none-eabi -mcpu=cortex-m3 -masm=auto -Wa,armasm,--diag_suppress=A1950W -c -gdwarf-4 -Wa,armasm,--pd,"__EVAL SETA 1" -I./RTE/Device/STM32F103RB -I./RTE/_sim -IC:/Users/robin/AppData/Local/Arm/Packs/ARM/CMSIS/5.9.0/CMSIS/Core/Include -IC:/Users/robin/AppData/Local/Arm/Packs/Keil/STM32F1xx_DFP/2.4.0/Device/Include -Wa,armasm,--pd,"__UVISION_VERSION SETA 538" -Wa,armasm,--pd,"_RTE_ SETA 1" -Wa,armasm,--pd,"STM32F10X_MD SETA 1" -Wa,armasm,--pd,"_RTE_ SETA 1" -o ./objects/startup_stm32f10x_md.o)
F (RTE/Device/STM32F103RB/system_stm32f10x.c)(0x641B050C)(-xc -std=c90 --target=arm-arm-none-eabi -mcpu=cortex-m3 -c -fno-rtti -funsigned-char -fshort-enums -fshort-wchar -D__EVAL -gdwarf-4 -O1 -ffunction-sections -Wno-packed -Wno-missing-variable-declarations -Wno-missing-prototypes -Wno-missing-noreturn -Wno-sign-conversion -Wno-nonportable-include-path -Wno-reserved-id-macro -Wno-unused-macros -Wno-documentation-unknown-command -Wno-documentation -Wno-license-management -Wno-parentheses-equality -Wno-reserved-identifier -I ../driver -I ./src -I./RTE/Device/STM32F103RB -I./RTE/_sim -IC:/Users/robin/AppData/Local/Arm/Packs/ARM/CMSIS/5.9.0/CMSIS/Core/Include -IC:/Users/robin/AppData/Local/Arm/Packs/Keil/STM32F1xx_DFP/2.4.0/Device/Include -D__UVISION_VERSION="538" -D_RTE_ -DSTM32F10X_MD -D_RTE_ -o ./objects/system_stm32f10x.o -MD)

View file

@ -1,6 +1,6 @@
./objects/system_stm32f10x.o: RTE\Device\STM32F103RB\system_stm32f10x.c \
C:\Users\robin\AppData\Local\Arm\Packs\Keil\STM32F1xx_DFP\2.4.0\Device\Include\stm32f10x.h \
RTE\_reel\RTE_Components.h \
RTE\_sim\RTE_Components.h \
C:\Users\robin\AppData\Local\Arm\Packs\ARM\CMSIS\5.9.0\CMSIS\Core\Include\core_cm3.h \
C:\Keil_v5\ARM\ARMCLANG\Bin\..\include\stdint.h \
C:\Users\robin\AppData\Local\Arm\Packs\ARM\CMSIS\5.9.0\CMSIS\Core\Include\cmsis_version.h \

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View file

@ -75,7 +75,7 @@
<OPTFL>
<tvExp>1</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
<IsCurrentTarget>0</IsCurrentTarget>
<IsCurrentTarget>1</IsCurrentTarget>
</OPTFL>
<CpuCode>18</CpuCode>
<DebugOpt>
@ -125,7 +125,7 @@
<SetRegEntry>
<Number>0</Number>
<Key>DLGTARM</Key>
<Name>(1010=-1,-1,-1,-1,0)(1007=-1,-1,-1,-1,0)(1008=-1,-1,-1,-1,0)(1009=-1,-1,-1,-1,0)(100=-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=413,140,834,545,0)(121=536,178,957,583,0)(122=636,241,1057,646,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=1007,134,1601,828,0)(132=-1,-1,-1,-1,0)(133=857,223,1451,917,0)(160=165,202,613,616,0)(161=1241,338,1689,752,1)(162=896,470,1344,884,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=-1,-1,-1,-1,0)(151=-1,-1,-1,-1,0)</Name>
<Name>(1010=-1,-1,-1,-1,0)(1007=-1,-1,-1,-1,0)(1008=-1,-1,-1,-1,0)(1009=-1,-1,-1,-1,0)(100=-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=-1,-1,-1,-1,0)(130=-1,-1,-1,-1,0)(131=1007,134,1601,828,0)(132=-1,-1,-1,-1,0)(133=-1,-1,-1,-1,0)(160=-1,-1,-1,-1,0)(161=1241,338,1689,752,0)(162=1244,281,1692,695,1)(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=-1,-1,-1,-1,0)(151=-1,-1,-1,-1,0)</Name>
</SetRegEntry>
<SetRegEntry>
<Number>0</Number>
@ -152,9 +152,9 @@
<Bp>
<Number>0</Number>
<Type>0</Type>
<LineNumber>50</LineNumber>
<LineNumber>53</LineNumber>
<EnabledFlag>1</EnabledFlag>
<Address>134219480</Address>
<Address>134219424</Address>
<ByteObject>0</ByteObject>
<HtxType>0</HtxType>
<ManyObjects>0</ManyObjects>
@ -163,23 +163,7 @@
<BreakIfRCount>1</BreakIfRCount>
<Filename>.\src\main.c</Filename>
<ExecCommand></ExecCommand>
<Expression>\\projet_voilier\src/main.c\50</Expression>
</Bp>
<Bp>
<Number>1</Number>
<Type>0</Type>
<LineNumber>27</LineNumber>
<EnabledFlag>1</EnabledFlag>
<Address>134219466</Address>
<ByteObject>0</ByteObject>
<HtxType>0</HtxType>
<ManyObjects>0</ManyObjects>
<SizeOfObject>0</SizeOfObject>
<BreakByAccess>0</BreakByAccess>
<BreakIfRCount>1</BreakIfRCount>
<Filename>.\src\main.c</Filename>
<ExecCommand></ExecCommand>
<Expression>\\projet_voilier\src/main.c\27</Expression>
<Expression>\\projet_voilier\src/main.c\53</Expression>
</Bp>
</Breakpoint>
<Tracepoint>
@ -288,7 +272,7 @@
<OPTFL>
<tvExp>1</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
<IsCurrentTarget>1</IsCurrentTarget>
<IsCurrentTarget>0</IsCurrentTarget>
</OPTFL>
<CpuCode>18</CpuCode>
<DebugOpt>
@ -338,7 +322,7 @@
<SetRegEntry>
<Number>0</Number>
<Key>DLGTARM</Key>
<Name>(1010=-1,-1,-1,-1,0)(1007=-1,-1,-1,-1,0)(1008=-1,-1,-1,-1,0)(1009=-1,-1,-1,-1,0)(100=16,47,662,720,0)(110=61,96,281,556,0)(111=-1,-1,-1,-1,0)(1011=-1,-1,-1,-1,0)(180=-1,-1,-1,-1,0)(120=942,311,1363,716,0)(121=961,76,1382,481,0)(122=1030,235,1451,640,0)(123=-1,-1,-1,-1,0)(140=-1,-1,-1,-1,0)(240=105,137,504,482,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=418,192,1012,886,0)(132=207,214,801,908,0)(133=955,258,1549,952,1)(160=-1,-1,-1,-1,0)(161=978,399,1426,813,0)(162=455,416,903,830,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=-1,-1,-1,-1,0)(151=-1,-1,-1,-1,0)</Name>
<Name>(1010=-1,-1,-1,-1,0)(1007=-1,-1,-1,-1,0)(1008=-1,-1,-1,-1,0)(1009=-1,-1,-1,-1,0)(100=16,47,662,720,0)(110=61,96,281,556,0)(111=-1,-1,-1,-1,0)(1011=-1,-1,-1,-1,0)(180=-1,-1,-1,-1,0)(120=942,311,1363,716,1)(121=961,76,1382,481,0)(122=920,173,1341,578,0)(123=-1,-1,-1,-1,0)(140=-1,-1,-1,-1,0)(240=105,137,504,482,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=418,192,1012,886,0)(132=207,214,801,908,0)(133=442,222,1036,916,0)(160=-1,-1,-1,-1,0)(161=978,399,1426,813,1)(162=455,416,903,830,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=-1,-1,-1,-1,0)(151=-1,-1,-1,-1,0)</Name>
</SetRegEntry>
<SetRegEntry>
<Number>0</Number>
@ -365,18 +349,18 @@
<Bp>
<Number>0</Number>
<Type>0</Type>
<LineNumber>409</LineNumber>
<LineNumber>49</LineNumber>
<EnabledFlag>1</EnabledFlag>
<Address>84</Address>
<Address>134219140</Address>
<ByteObject>0</ByteObject>
<HtxType>0</HtxType>
<ManyObjects>0</ManyObjects>
<SizeOfObject>0</SizeOfObject>
<BreakByAccess>0</BreakByAccess>
<BreakIfRCount>1</BreakIfRCount>
<Filename>RTE/Device/STM32F103RB/system_stm32f10x.c</Filename>
<Filename>.\src\main.c</Filename>
<ExecCommand></ExecCommand>
<Expression>\\projet_voilier_reel\RTE/Device/STM32F103RB/system_stm32f10x.c\409</Expression>
<Expression>\\projet_voilier_reel\src/main.c\49</Expression>
</Bp>
</Breakpoint>
<Tracepoint>
@ -397,7 +381,7 @@
<AscS1>0</AscS1>
<AscS2>0</AscS2>
<AscS3>0</AscS3>
<aSer3>0</aSer3>
<aSer3>1</aSer3>
<eProf>0</eProf>
<aLa>0</aLa>
<aPa1>0</aPa1>
@ -449,30 +433,6 @@
<RteFlg>0</RteFlg>
<bShared>0</bShared>
</File>
<File>
<GroupNumber>1</GroupNumber>
<FileNumber>2</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
<bDave2>0</bDave2>
<PathWithFileName>.\src\App_girouette.c</PathWithFileName>
<FilenameWithoutPath>App_girouette.c</FilenameWithoutPath>
<RteFlg>0</RteFlg>
<bShared>0</bShared>
</File>
<File>
<GroupNumber>1</GroupNumber>
<FileNumber>3</FileNumber>
<FileType>5</FileType>
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
<bDave2>0</bDave2>
<PathWithFileName>.\src\App_girouette.h</PathWithFileName>
<FilenameWithoutPath>App_girouette.h</FilenameWithoutPath>
<RteFlg>0</RteFlg>
<bShared>0</bShared>
</File>
</Group>
<Group>
@ -483,7 +443,7 @@
<RteFlg>0</RteFlg>
<File>
<GroupNumber>2</GroupNumber>
<FileNumber>4</FileNumber>
<FileNumber>2</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
@ -495,7 +455,7 @@
</File>
<File>
<GroupNumber>2</GroupNumber>
<FileNumber>5</FileNumber>
<FileNumber>3</FileNumber>
<FileType>5</FileType>
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
@ -507,7 +467,7 @@
</File>
<File>
<GroupNumber>2</GroupNumber>
<FileNumber>6</FileNumber>
<FileNumber>4</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
@ -519,7 +479,7 @@
</File>
<File>
<GroupNumber>2</GroupNumber>
<FileNumber>7</FileNumber>
<FileNumber>5</FileNumber>
<FileType>5</FileType>
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
@ -531,7 +491,7 @@
</File>
<File>
<GroupNumber>2</GroupNumber>
<FileNumber>8</FileNumber>
<FileNumber>6</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
@ -543,7 +503,7 @@
</File>
<File>
<GroupNumber>2</GroupNumber>
<FileNumber>9</FileNumber>
<FileNumber>7</FileNumber>
<FileType>5</FileType>
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
@ -553,30 +513,6 @@
<RteFlg>0</RteFlg>
<bShared>0</bShared>
</File>
<File>
<GroupNumber>2</GroupNumber>
<FileNumber>10</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
<bDave2>0</bDave2>
<PathWithFileName>..\driver\Driver_ADC.c</PathWithFileName>
<FilenameWithoutPath>Driver_ADC.c</FilenameWithoutPath>
<RteFlg>0</RteFlg>
<bShared>0</bShared>
</File>
<File>
<GroupNumber>2</GroupNumber>
<FileNumber>11</FileNumber>
<FileType>5</FileType>
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
<bDave2>0</bDave2>
<PathWithFileName>..\driver\Driver_ADC.h</PathWithFileName>
<FilenameWithoutPath>Driver_ADC.h</FilenameWithoutPath>
<RteFlg>0</RteFlg>
<bShared>0</bShared>
</File>
</Group>
<Group>

View file

@ -389,16 +389,6 @@
<FileType>1</FileType>
<FilePath>.\src\main.c</FilePath>
</File>
<File>
<FileName>App_girouette.c</FileName>
<FileType>1</FileType>
<FilePath>.\src\App_girouette.c</FilePath>
</File>
<File>
<FileName>App_girouette.h</FileName>
<FileType>5</FileType>
<FilePath>.\src\App_girouette.h</FilePath>
</File>
</Files>
</Group>
<Group>
@ -434,16 +424,6 @@
<FileType>5</FileType>
<FilePath>..\driver\Driver_UART.h</FilePath>
</File>
<File>
<FileName>Driver_ADC.c</FileName>
<FileType>1</FileType>
<FilePath>..\driver\Driver_ADC.c</FilePath>
</File>
<File>
<FileName>Driver_ADC.h</FileName>
<FileType>5</FileType>
<FilePath>..\driver\Driver_ADC.h</FilePath>
</File>
</Files>
</Group>
<Group>
@ -837,16 +817,6 @@
<FileType>1</FileType>
<FilePath>.\src\main.c</FilePath>
</File>
<File>
<FileName>App_girouette.c</FileName>
<FileType>1</FileType>
<FilePath>.\src\App_girouette.c</FilePath>
</File>
<File>
<FileName>App_girouette.h</FileName>
<FileType>5</FileType>
<FilePath>.\src\App_girouette.h</FilePath>
</File>
</Files>
</Group>
<Group>
@ -882,16 +852,6 @@
<FileType>5</FileType>
<FilePath>..\driver\Driver_UART.h</FilePath>
</File>
<File>
<FileName>Driver_ADC.c</FileName>
<FileType>1</FileType>
<FilePath>..\driver\Driver_ADC.c</FilePath>
</File>
<File>
<FileName>Driver_ADC.h</FileName>
<FileType>5</FileType>
<FilePath>..\driver\Driver_ADC.h</FilePath>
</File>
</Files>
</Group>
<Group>

View file

@ -1,35 +0,0 @@
#include "App_girouette.h"
void App_Girouette_Init(void) {
MyTimer_Struct_TypeDef Encodeur;
Encodeur.Timer = TIM4;
Encodeur.channel = 2;
MyTimer_Base_Init(&Encodeur);
MyTimer_ConfigureEncoder(&Encodeur);
MyTimer_Start(&Encodeur);
// PB6 PB7
MyGPIO_Struct_TypeDef TI1;
TI1.GPIO_Pin = 6;
TI1.GPIO_Conf = In_Floating;
TI1.GPIO = GPIOB;
MyGPIO_Init(&TI1);
MyGPIO_Struct_TypeDef TI2;
TI2.GPIO_Pin = 7;
TI2.GPIO_Conf = In_Floating;
TI2.GPIO = GPIOB;
MyGPIO_Init(&TI2);
}
uint16_t App_Girouette_GetDirection(void)
{
uint16_t cnt = TIM_GetCounter(TIM4); // Lit la valeur actuelle du compteur CNT
uint16_t arr = TIM4->ARR + 1; // Lit la valeur de ARR configurée pour le timer TIM4
// Convertit la valeur CNT en direction de vent
uint16_t direction = (360.0 / 1440.0) * cnt;
return direction;
}

View file

@ -1,13 +0,0 @@
#ifndef APP_GIROUETTE_H_
#define APP_GIROUETTE_H_
#include "stm32f10x.h"
#include "Driver_GPIO.h"
#include "Driver_Timer.h"
#define GYRO_MAX_COUNT 4096 // Nombre de pas du codeur incrémental
void App_Girouette_Init(void);
uint16_t App_Girouette_GetDirection(void);
#endif /* APP_GIROUETTE_H_ */

View file

@ -2,133 +2,54 @@
#include "Driver_GPIO.h"
#include "Driver_Timer.h"
#include "Driver_UART.h"
//=======
#include "Driver_ADC.h"
#include "MySPI.h"
#include "Driver_IMU.h"
//Applications
MyGPIO_Struct_TypeDef TI1;
MyGPIO_Struct_TypeDef TI2;
MyTimer_Struct_TypeDef Encoder;
Encoder->Timer = TIM4;
MyTimer_Base_Init(&Encoder);
MyTimer_ConfigureEncoder(&Encoder);
MyTimer_Start(&Encoder);
// Application
#include "App_girouette.h"
int main() {
MyGPIO_Struct_TypeDef PWM_GPIO;
PWM_GPIO.GPIO_Pin = 1;
PWM_GPIO.GPIO_Conf = AltOut_Ppull;
PWM_GPIO.GPIO = GPIOA;
MyGPIO_Init(&PWM_GPIO);
MyGPIO_Struct_TypeDef LED;
LED.GPIO_Pin = 5;
LED.GPIO_Conf = Out_Ppull;
LED.GPIO = GPIOA;
MyGPIO_Init(&LED);
MyGPIO_Set(LED.GPIO, LED.GPIO_Pin);
MyGPIO_Struct_TypeDef PWM_GPIO;
PWM_GPIO.GPIO_Pin = 0;
PWM_GPIO.GPIO_Conf = AltOut_Ppull;
PWM_GPIO.GPIO = GPIOA;
MyGPIO_Init(&PWM_GPIO);
MyTimer_Struct_TypeDef PWM_VOILE;
PWM_VOILE.Timer = TIM2;
PWM_VOILE.PSC = 7200;
PWM_VOILE.ARR = 200;
PWM_VOILE.channel = 2;
MyTimer_Base_Init(&PWM_VOILE);
MyTimer_ConfigurePWM(&PWM_VOILE, 10);
MyTimer_Start(&PWM_VOILE);
// MyTimer_Struct_TypeDef PWM_PLATEAU;
// PWM_PLATEAU.Timer = TIM2;
// PWM_PLATEAU.PSC = 7200;
// PWM_PLATEAU.ARR = 200;
// PWM_PLATEAU.channel = 1;
// MyTimer_Base_Init(&PWM_PLATEAU);
// MyTimer_ConfigurePWM(&PWM_PLATEAU, 60);
// MyTimer_Start(&PWM_PLATEAU);
MyTimer_Struct_TypeDef PWM;
PWM.Timer = TIM2;
PWM.PSC = 7200;
PWM.ARR = 5000;
MyTimer_Base_Init(&PWM);
MyTimer_ConfigurePWM(&PWM, 1, 40);
MyTimer_Start(&PWM);
MyGPIO_Struct_TypeDef UART;
UART.GPIO_Pin = 10;
UART.GPIO_Conf = AltOut_Ppull;
UART.GPIO = GPIOB;
MyGPIO_Init(&UART);
UART.GPIO_Pin = 11;
UART.GPIO_Conf = In_Floating;
UART.GPIO = GPIOB;
MyGPIO_Init(&UART);
MyUART_Struct_TypeDef UART_TEST;
UART_TEST.baudrate = 9600;
UART_TEST.UART = USART3; // USART3_TX : PB10
MyUART_Init(&UART_TEST);
MyGPIO_Struct_TypeDef UART_GPIO;
UART_GPIO.GPIO_Pin = 10; //TX
UART_GPIO.GPIO_Conf = AltOut_Ppull;
UART_GPIO.GPIO = GPIOB;
MyGPIO_Init(&UART_GPIO);
UART_GPIO.GPIO_Pin = 11; //RX
UART_GPIO.GPIO_Conf = In_Floating;
UART_GPIO.GPIO = GPIOB;
MyGPIO_Init(&UART_GPIO);
MyUART_Struct_TypeDef UART;
UART.baudrate = 9600;
UART.UART = USART3;
MyUART_Init(&UART);
// TX: PB10
// RX: PB11
// Initialisation
App_Girouette_Init();
while(1) {
int dir = App_Girouette_GetDirection();
MyUART_SendByte(&UART_TEST, 'A');
if ((dir >= 335) && (dir < 25)) { //Vent debout
MyTimer_SetPWMDutyCycle(&PWM_VOILE, 10);
} else if ((dir >= 160) && (dir < 200)) { //Vent arrière
MyTimer_SetPWMDutyCycle(&PWM_VOILE, 5);
} else if((dir >= 325) && (dir < 335)){ //Vent Près
MyTimer_SetPWMDutyCycle(&PWM_VOILE, 9);
} else if((dir >= 295) && (dir < 325)){ //Vent bon plein
MyTimer_SetPWMDutyCycle(&PWM_VOILE, 8);
} else if ((dir >= 245) && (dir < 295)) { //Vent largue
MyTimer_SetPWMDutyCycle(&PWM_VOILE, 7);
} else if((dir >= 200) && (dir < 245)){ //Vent Grand largue
MyTimer_SetPWMDutyCycle(&PWM_VOILE, 8);
}
else {
MyTimer_SetPWMDutyCycle(&PWM_VOILE, 10); //Reste
}
char str[32];
sprintf(str, "Dir: %f deg", (float)dir);
MyUART_SendString(&UART, str);
MyUART_SendByte(&UART, '\n');
for (int i = 0; i < 100000000; i++);
int a = MyUART_ReceiveByte(&UART_TEST);
}
}