Compare commits

..

2 commits
master ... SPI5

Author SHA1 Message Date
joelimgu
8205ae0ffc SPI au debut 2022-11-25 18:32:03 +01:00
joelimgu
19cd1a3dcf remap pin plateau 2022-11-25 18:02:41 +01:00
36 changed files with 1029 additions and 539 deletions

Binary file not shown.

229
FileInclude/MyI2C.h Normal file
View file

@ -0,0 +1,229 @@
#ifndef _I2C_
#define _I2C_
#include "stm32f10x.h"
/*************************************************************************************
===================== By Periph team INSA GEI 2022 ===========================
*************************************************************************************/
/*
*************************************************************************************
===================== I2C les IO STM32F103 =================================
*************************************************************************************
Les IO sont pris en charge par la lib, pas besoin de faire les configurations Alt OD.
**I2C1**
SCL PB6
SDA PB7
**I2C2**
SCL PB10
SDA PB11
*************************************************************************************
==================== Fondamentaux I2C ==========================================
*************************************************************************************
- Bus synchrone Low speed (<100kHz) ou high speed (=400kHz), Ici Low speed 100kHz.
- Transfert octet par octet, poids fort en premier, avec aquittement pour chaque octet
- Deux lignes SDA et SCL (horloge) en open drain, repos '1'
- bit "normal" = SDA stable lors du pulse SCL (ie durant l'état haut de SCL, SDA est stable)
- bit Start/Stop/Restart = SDA non stable lorsque SCL vaut '1' (violation règle précédente)
* Start : front descendant de SDA lorsque SCL vaut '1'
* Stop : front montant de SDA lorsque SCL = '1'
* Restart = Start en cours de trame (typiquement pour changer Write/read).
- uC en Mode Master uniquement (c'est notre choix) : c'est le uC qui est maître de l'horloge SCL.
- Le Slave a une @ 7 bits. On ajoute un bit LSB qui est /WR (donc 0 pour écriture, 1 pour lecture)
- Une adresse s'écrit donc |a6 a5 a4 a3 a2 a1 a0 /WR| ce qui donne 8 bits. Elle indique une future
lecture ou écriture.
On parle d'@ 7 bits en regroupant |a6 a5 a4 a3 a2 a1 a0|
On parle d'@ 8 bits en regroupant |a6 a5 a4 a3 a2 a1 a0 /WR| (donc une @ écriture, une @ lecture)
NB : préférer le concept @7bits...c'est plus clair.
- On peut lire ou écrire une ou plusieurs données à la suite. C'est lors de l'envoie de l'adresse Slave
par le Master que le sens à venir pour les datas est indiqué.
- En écriture,
* les Ack sont faits par le slave après chaque octet envoyé par le master (Ack = mise à 0 le bit 9).
- En lecture,
* dès que le l@ slave est transmise (/RW = 1), et le Ack réalisé, le slave positionne le bit 7
du prochain octet à lire sur SDA par anticipation ,
* le master enchaîne ses pulses (9), lors du pulse 9 (le dernier) c'est le master qui acquite.
* Après chaque acquitement, le Slave amorce le prochain octet en positionnant son bit 7 sur SDA
* Après le dernier octet, le Master génère un stop.
* Pour pouvoir générer le stop, le Master doit piloter SDA, or ce n'est pas possible puisque
le Slave positionne le futur bit 7 ... Pour régler ce problème :
lors du dernier transfert, le Master N'acquitte PAS (NACK). Ainsi le Slave ne
propose plus le bit 7 du prochain octet sur SDA et libère SDA. Le Master peut alors clôturer la
communication avec un Stop.
======= Echange typique avec un Slave ================================================================
- Une lecture ou écriture se fait vers un Slave et à partir d'une adresse mémoire donnée (pointeur interne).
Ce pointeur est automatiquement incrémenté dans le slave lors des accès écriture ou lecture.
- Ecriture de N octets , trame complète (@ = adresse slave, pt = valeur de chargement du pointeur interne)
|Start Cond |@6|@5|@4|@3|@2|@1|@0| Wr =0 |Slave ACK|
|pt7|pt6|pt5|pt4|pt3|pt2|pt1|pt0|Slave ACK|
|d7|d6|d5|d4|d3|d2|d1|d0|Slave ACK| (data 1)
.....
|d7|d6|d5|d4|d3|d2|d1|d0|Salve ACK|Stop Cond| (data N)
- Lecture de N octets à partir d'une adresse de pointeur donnée
|Start Cond |@6|@5|@4|@3|@2|@1|@0| Wr =0 |Slave ACK|
|pt7|pt6|pt5|pt4|pt3|pt2|pt1|pt0|Slave ACK|
|ReStart Cond |@6|@5|@4|@3|@2|@1|@0| Wr =1 |Slave ACK| (NB: restart nécessaire pour changer écriture / lecture)
|d7|d6|d5|d4|d3|d2|d1|d0|Master ACK| (data 1)
.....
|d7|d6|d5|d4|d3|d2|d1|d0|Master ACK| (data N-1)
|d7|d6|d5|d4|d3|d2|d1|d0|Master NACK|Stop Cond| (data N)
*************************************************************************************
==================== La lib I2C ==========================================
*************************************************************************************
3 fonctions essentielles :
MyI2C_Init
MyI2C_PutString
MyI2C_GetString
1 fonction spéciale : MyI2C_Get_Error
Les fonctions Put/Get string fonctionnent sur le principe classique décrit précédemment
(Slave@, Pter @, Data...).
La fonction init prend parmi ses paramètres le nom d'une fct callback d'erreur.
En fait, le driver gère en IT les erreurs possibles I2C. La fonction MyI2C_Get_Error permet de
recevoir un code erreur.
Il est conseillé d'utiliser ce callback. Si on tombe dedans, c'est qu'une erreur s'est produite.
Si le code erreur est "inconnu", souvent c'est qu'il y a un soucis à l'adressage slave:
Vérifier alors la connectique physique SDA/SCL ainsi que l'alimentation du slave ou tout simplement
l'@ slave !
==========================================================================================*/
/*=========================================================================================
GESTION ERREURS
========================================================================================= */
typedef enum
{
OK,
BusError, //
AckFail, // Pas,d'ack
TimeOut, // SCL est resté plus de 25ms à l'état bas
UnknownError // IT erreur déclenchée mais pas de flag explicite ...
} MyI2C_Err_Enum;
/**
* @brief Retourne les erreurs I2C
* @param I2Cx: where x can be 1 or 2 to select the I2C peripheral.
* @retval Type d'erreur rencontrée , voir MyI2C_Err_Enum
*/
MyI2C_Err_Enum MyI2C_Get_Error(I2C_TypeDef * I2Cx);
/*=========================================================================================
INITIALISATION I2C
========================================================================================= */
/**
* @brief Initialise l'interface I2C (1 ou 2)
* @param I2Cx: where x can be 1 or 2 to select the I2C peripheral.
* @param char IT_Prio_I2CErr 0 à 15 (utilisé en cas d'erreur, IT courte et non bloquante
* @param *ITErr_function : callback à utiliser pour sortir d'un plantage transmission
* @retval None
* @Example MyI2C_Init(I2C1, 2,My_CallbackErr);
*/
void MyI2C_Init(I2C_TypeDef * I2Cx, char IT_Prio_I2CErr, void (*ITErr_function) (void));
/*=========================================================================================
EMISSION I2C : PutString
========================================================================================= */
// Structure de données pour l'émission ou la réception I2C :
typedef struct
{
char SlaveAdress7bits; // l'adresse I2C du slave device
char * Ptr_Data; // l'adresse du début de tableau char à recevoir/émettre (tableau en RAM uC)
char Nb_Data; // le nbre d'octets à envoyer / recevoir
}
MyI2C_RecSendData_Typedef;
/**
* @brief|Start Cond |@6|@5|@4|@3|@2|@1|@0| Wr =0 |Slave ACK|
|pt7|pt6|pt5|pt4|pt3|pt2|pt1|pt0|Slave ACK|
|d7|d6|d5|d4|d3|d2|d1|d0|Slave ACK| (data 1)
.....
|d7|d6|d5|d4|d3|d2|d1|d0|Salve ACK|Stop Cond| (data N)
* @param I2Cx: where x can be 1 or 2 to select the I2C peripheral.
* @param PteurAdress = adresse de démarrage écriture à l'interieur du slave I2C
* @param DataToSend, adresse de la structure qui contient les informations à transmettre
voir définition MyI2C_RecSendData_Typedef
* @retval None
* @Example MyI2C_PutString(I2C1,0xAA, &MyI2C_SendTimeData);
* Ecrit dans le slave câblé sur I2C1 à partir de l'@ mémoire interne Slave 0xAA
*/
void MyI2C_PutString(I2C_TypeDef * I2Cx, char PteurAdress, MyI2C_RecSendData_Typedef * DataToSend);
/*=========================================================================================
Réception I2C : GetString
========================================================================================= */
/**
* @brief |Start Cond |@6|@5|@4|@3|@2|@1|@0| Wr =0 |Slave ACK|
|pt7|pt6|pt5|pt4|pt3|pt2|pt1|pt0|Slave ACK|
|ReStart Cond |@6|@5|@4|@3|@2|@1|@0| Wr =1 |Slave ACK|
|d7|d6|d5|d4|d3|d2|d1|d0|Master ACK| (data 1)
.....
|d7|d6|d5|d4|d3|d2|d1|d0|Master NACK|Stop Cond| (data N)
* @param I2Cx: where x can be 1 or 2 to select the I2C peripheral.
* @param PteurAdress = adresse de démarrage lecture à l'interieur du slave I2C
* @param DataToSend, adresse de la structure qui contient les informations nécessaires à la
réception des données voir définition MyI2C_RecSendData_Typedef
* @retval None
* @Example MyI2C_GetString(I2C1,0xAA, &MyI2C_RecevievedTimeData);
Lit dans le slave câblé sur I2C1 à partir de l'@ mémoire interne Slave 0xAA
*/
void MyI2C_GetString(I2C_TypeDef * I2Cx, char PteurAdress, MyI2C_RecSendData_Typedef * DataToReceive);
#endif

129
FileInclude/MySPI.h Normal file
View file

@ -0,0 +1,129 @@
#ifndef INC_MYSPI_H_
#define INC_MYSPI_H_
#include "stm32f10x.h"
/*************************************************************************************
===================== By Periph team INSA GEI 2022 ===========================
*************************************************************************************/
/*
*************************************************************************************
===================== I2C les IO STM32F103 =================================
*************************************************************************************
Les IO sont pris en charge par la lib, pas besoin de faire les configurations
Sur la Nucléo , le SPI1 est perturbé par la LED2 (PA5), mais doit pouvoir subir les front SCK qd même (LED clignote vite..)
le SPI2 n'est pas utilisable car pin non connectées par défaut (sauf à modifier les SB). En fait la Nucléo fait un choix entre SPI1
et SPI2 par soudage jumper (SB).
-> Utiliser SPI1 avec la carte Nucléo
* **IO SPI 1**
SPI1_NSS PA4
SPI1_SCK PA5
SPI1_MISO PA6
SPI1_MOSI PA7
**IO SPI 2**
SPI2_NSS PB12
SPI2_SCK PB13
SPI2_MISO PB14
SPI2_MOSI PB15
*************************************************************************************
==================== Fondamentaux SPI ==========================================
*************************************************************************************
- Bus Synchrone, 4 fils (même si on peut l'utiliser en 3 fils)
- Transfert à l'octet
- Protocole entre un Master (contrôle SCK) et un Slave
- SCK permet de synchroniser les bits de chaque octet. Il se configure par :
* son niveau de repos : ici niveau '1'
* le front actif de synchronisation pour chaque bit : ici front montant (front up durant bit stable)
- /CS ou /NSS active le slave sur l'état bas
- MOSI : Master Out Slave In (donc data circulant du Master vers le Slave, donc écriture dans le Slave)
- MISO : Master In Slave Out (donc data circulant du Slave vers le Master, donc lecture du Slave)
Bien que la lib propose une fonction d'écriture et de lecture :
* une écriture s'accompagne obligatoirement d'une lecture (bidon)
* une lecture s'accompagne obligatoirement d'une écriture (bidon)
La gestion /CS = /NSS se fait "à la main". On peut alors lire toute une série d'octets
en laissant /CS à l'état bas pendant toute la durée de circulation des octets.
*************************************************************************************
==================== La lib SPI ==========================================
*************************************************************************************
fonctions essentielles :
MySPI_Init
MySPI_Send
MySPI_Read
MySPI_Set_NSS
MySPI_Clear_NSS
==========================================================================================*/
/*=========================================================================================
INITIALISATION SPI
========================================================================================= */
/**
* @brief Configure le SPI spécifié : FSCK = 281kHz, Repos SCK = '1', Front actif = up
Gestion /CS logicielle à part, configure les 4 IO
- SCK, MOSI : Out Alt push pull
- MISO : floating input
- /NSS (/CS) : Out push pull
* @param SPI_TypeDef * SPI : SPI1 ou SPI2
*/
void MySPI_Init(SPI_TypeDef * SPI);
/**
* @brief Envoie un octet (/CS non géré, à faire logiciellement)
Plus en détail, émission de l'octet souhaité sur MOSI
Lecture en même temps d'un octet poubelle sur MISO (non exploité)
* @param : char ByteToSend : l'octet à envoyer
*/
void MySPI_Send(char ByteToSend);
/**
* @brief Reçoit un octet (/CS non géré, à faire logiciellement)
Plus en détail, émission d'un octet bidon sur MOSI (0x00)
pour élaborer les 8 fronts sur SCK et donc piloter le slave en lecture
qui répond sur MISO
* @param : none
* @retval : l'octet lu.
*/
char MySPI_Read(void);
/**
* @brief Positionne /CS = /NSS à '1'. A utiliser pour borner les octets à transmettre/recevoir
* @param : none
*/
void MySPI_Set_NSS(void);
/**
* @brief Positionne /CS = /NSS à '0'. A utiliser pour borner les octets à transmettre/recevoir
* @param :none
*/
void MySPI_Clear_NSS(void);
#endif

View file

@ -5,11 +5,11 @@
/* Declarations */
char channel = 1 ;
char channel = 4 ;
MyTimer_Struct_TypeDef TIMPlateau;
MyTimer_Struct_TypeDef * DataPlateau = &TIMPlateau;
MyGPIO_Struct_TypeDef GPIOA5; // pin direction
MyGPIO_Struct_TypeDef GPIOA6; // pin moteur
MyGPIO_Struct_TypeDef GPIOC9; // pin direction
MyGPIO_Struct_TypeDef GPIOB1; // pin moteur
void Init_Plateau (void) {
@ -21,15 +21,15 @@ void Init_Plateau (void) {
MyTimer_Base_Init(DataPlateau);
/* Configuration des GPIOs */
GPIOA5.GPIO = GPIOA;
GPIOA5.GPIO_Pin = 5;
GPIOA5.GPIO_Conf = Out_Ppull;
MyGPIO_Init(&GPIOA5);
GPIOC9.GPIO = GPIOC;
GPIOC9.GPIO_Pin = 9;
GPIOC9.GPIO_Conf = Out_Ppull;
MyGPIO_Init(&GPIOC9);
GPIOA6.GPIO = GPIOA;
GPIOA6.GPIO_Pin = 6;
GPIOA6.GPIO_Conf = AltOut_Ppull;
MyGPIO_Init(&GPIOA6);
GPIOB1.GPIO = GPIOB;
GPIOB1.GPIO_Pin = 1;
GPIOB1.GPIO_Conf = AltOut_Ppull;
MyGPIO_Init(&GPIOB1);
MyTimer_Base_Start(TIM3);
MyTimer_PWM(DataPlateau->Timer,channel);
@ -38,10 +38,10 @@ void Init_Plateau (void) {
void Set_Direction (char sens) {
/* Rotation */
if (sens == ANTI_HORRAIRE){
MyGPIO_Reset(GPIOA5.GPIO, GPIOA5.GPIO_Pin); // on met à 0
MyGPIO_Reset(GPIOC9.GPIO, GPIOC9.GPIO_Pin); // on met à 0
}
else if (sens == HORRAIRE) {
MyGPIO_Set(GPIOA5.GPIO, GPIOA5.GPIO_Pin); // on met à 1
MyGPIO_Set(GPIOC9.GPIO, GPIOC9.GPIO_Pin); // on met à 1
}
}

View file

@ -17,7 +17,12 @@ Section Cross References
main.o(i.main) refers to plateau.o(i.Init_Plateau) for Init_Plateau
main.o(i.main) refers to mygirouette.o(i.Init_Girouette) for Init_Girouette
main.o(i.main) refers to myvoile.o(i.MyVoile_Init) for MyVoile_Init
main.o(i.main) refers to myspi.o(i.MySPI_Init) for MySPI_Init
main.o(i.main) refers to myspi.o(i.MySPI_Clear_NSS) for MySPI_Clear_NSS
main.o(i.main) refers to myspi.o(i.MySPI_Send) for MySPI_Send
main.o(i.main) refers to myspi.o(i.MySPI_Set_NSS) for MySPI_Set_NSS
main.o(i.main) refers to batterie.o(i.Init_Batterie) for Init_Batterie
main.o(i.main) refers to myspi.o(i.MySPI_Read) for MySPI_Read
main.o(i.main) refers to mygirouette.o(i.Get_Angle) for Get_Angle
main.o(i.main) refers to myvoile.o(i.Set_Voile) for Set_Voile
main.o(i.main) refers to main.o(.data) for Data
@ -51,26 +56,26 @@ Section Cross References
myvoile.o(i.Set_Voile) refers to fmul.o(.text) for __aeabi_fmul
myvoile.o(i.Set_Voile) refers to ffixui.o(.text) for __aeabi_f2uiz
myvoile.o(i.Set_Voile) refers to mytimer.o(i.Set_Duty_Cycle) for Set_Duty_Cycle
plateau.o(i.Init_Plateau) refers to mytimer.o(i.MyTimer_Base_Init) for MyTimer_Base_Init
plateau.o(i.Init_Plateau) refers to driver_gpio.o(i.MyGPIO_Init) for MyGPIO_Init
plateau.o(i.Init_Plateau) refers to mytimer.o(i.MyTimer_Base_Start) for MyTimer_Base_Start
plateau.o(i.Init_Plateau) refers to mytimer.o(i.MyTimer_PWM) for MyTimer_PWM
plateau.o(i.Init_Plateau) refers to plateau.o(.data) for DataPlateau
plateau.o(i.Init_Plateau) refers to plateau.o(.bss) for GPIOC9
plateau.o(i.Set_Direction) refers to driver_gpio.o(i.MyGPIO_Reset) for MyGPIO_Reset
plateau.o(i.Set_Direction) refers to driver_gpio.o(i.MyGPIO_Set) for MyGPIO_Set
plateau.o(i.Set_Direction) refers to plateau.o(.bss) for GPIOC9
plateau.o(i.Set_Moteur_Plateau) refers to plateau.o(i.Init_Plateau) for Init_Plateau
plateau.o(i.Set_Moteur_Plateau) refers to plateau.o(i.Set_Direction) for Set_Direction
plateau.o(i.Set_Moteur_Plateau) refers to plateau.o(i.Set_Vitesse) for Set_Vitesse
plateau.o(i.Set_Vitesse) refers to mytimer.o(i.Set_PWM_PRCT) for Set_PWM_PRCT
plateau.o(i.Set_Vitesse) refers to plateau.o(.data) for DataPlateau
batterie.o(i.Get_Batterie) refers to myadc.o(i.read) for read
batterie.o(i.Get_Batterie) refers to batterie.o(.data) for nivBatterie
batterie.o(i.Init_Batterie) refers to driver_gpio.o(i.MyGPIO_Init) for MyGPIO_Init
batterie.o(i.Init_Batterie) refers to myadc.o(i.initADC) for initADC
batterie.o(i.Init_Batterie) refers to myadc.o(i.startADC) for startADC
batterie.o(i.Init_Batterie) refers to batterie.o(.bss) for GPIOC0
plateau.o(i.Init_Plateau) refers to mytimer.o(i.MyTimer_Base_Init) for MyTimer_Base_Init
plateau.o(i.Init_Plateau) refers to driver_gpio.o(i.MyGPIO_Init) for MyGPIO_Init
plateau.o(i.Init_Plateau) refers to mytimer.o(i.MyTimer_Base_Start) for MyTimer_Base_Start
plateau.o(i.Init_Plateau) refers to mytimer.o(i.MyTimer_PWM) for MyTimer_PWM
plateau.o(i.Init_Plateau) refers to plateau.o(.data) for DataPlateau
plateau.o(i.Init_Plateau) refers to plateau.o(.bss) for GPIOA5
plateau.o(i.Set_Direction) refers to driver_gpio.o(i.MyGPIO_Reset) for MyGPIO_Reset
plateau.o(i.Set_Direction) refers to driver_gpio.o(i.MyGPIO_Set) for MyGPIO_Set
plateau.o(i.Set_Direction) refers to plateau.o(.bss) for GPIOA5
plateau.o(i.Set_Moteur_Plateau) refers to plateau.o(i.Init_Plateau) for Init_Plateau
plateau.o(i.Set_Moteur_Plateau) refers to plateau.o(i.Set_Direction) for Set_Direction
plateau.o(i.Set_Moteur_Plateau) refers to plateau.o(i.Set_Vitesse) for Set_Vitesse
plateau.o(i.Set_Vitesse) refers to mytimer.o(i.Set_PWM_PRCT) for Set_PWM_PRCT
plateau.o(i.Set_Vitesse) refers to plateau.o(.data) for DataPlateau
telecommande.o(i.Init_Message_Reception) refers to telecommande.o(.data) for ptr
telecommande.o(i.Init_USART) refers to driver_gpio.o(i.MyGPIO_Init) for MyGPIO_Init
telecommande.o(i.Init_USART) refers to telecommande.o(.bss) for GPIOA10
@ -90,6 +95,12 @@ Section Cross References
system_stm32f10x.o(i.SetSysClock) refers to system_stm32f10x.o(i.SetSysClockTo72) for SetSysClockTo72
system_stm32f10x.o(i.SystemCoreClockUpdate) refers to system_stm32f10x.o(.data) for SystemCoreClock
system_stm32f10x.o(i.SystemInit) refers to system_stm32f10x.o(i.SetSysClock) for SetSysClock
myspi.o(i.MySPI_Clear_NSS) refers to myspi.o(.data) for ActiveSPI
myspi.o(i.MySPI_Init) refers to myspi.o(i.MySPI_Set_NSS) for MySPI_Set_NSS
myspi.o(i.MySPI_Init) refers to myspi.o(.data) for ActiveSPI
myspi.o(i.MySPI_Read) refers to myspi.o(.data) for ActiveSPI
myspi.o(i.MySPI_Send) refers to myspi.o(.data) for ActiveSPI
myspi.o(i.MySPI_Set_NSS) refers to myspi.o(.data) for ActiveSPI
entry.o(.ARM.Collect$$$$00000000) refers (Special) to entry10a.o(.ARM.Collect$$$$0000000F) for __rt_final_cpp
entry.o(.ARM.Collect$$$$00000000) refers (Special) to entry11a.o(.ARM.Collect$$$$00000011) for __rt_final_exit
entry.o(.ARM.Collect$$$$00000000) refers (Special) to entry12b.o(.ARM.Collect$$$$0000000E) for __rt_lib_shutdown_fini
@ -153,12 +164,12 @@ Removing Unused input sections from the image.
Removing myvoile.o(.rev16_text), (4 bytes).
Removing myvoile.o(.revsh_text), (4 bytes).
Removing myvoile.o(.rrx_text), (6 bytes).
Removing batterie.o(.rev16_text), (4 bytes).
Removing batterie.o(.revsh_text), (4 bytes).
Removing batterie.o(.rrx_text), (6 bytes).
Removing plateau.o(.rev16_text), (4 bytes).
Removing plateau.o(.revsh_text), (4 bytes).
Removing plateau.o(.rrx_text), (6 bytes).
Removing batterie.o(.rev16_text), (4 bytes).
Removing batterie.o(.revsh_text), (4 bytes).
Removing batterie.o(.rrx_text), (6 bytes).
Removing telecommande.o(.rev16_text), (4 bytes).
Removing telecommande.o(.revsh_text), (4 bytes).
Removing telecommande.o(.rrx_text), (6 bytes).
@ -168,8 +179,11 @@ Removing Unused input sections from the image.
Removing system_stm32f10x.o(.rrx_text), (6 bytes).
Removing system_stm32f10x.o(i.SystemCoreClockUpdate), (164 bytes).
Removing system_stm32f10x.o(.data), (20 bytes).
Removing myspi.o(.rev16_text), (4 bytes).
Removing myspi.o(.revsh_text), (4 bytes).
Removing myspi.o(.rrx_text), (6 bytes).
37 unused section(s) (total 876 bytes) removed from the image.
40 unused section(s) (total 890 bytes) removed from the image.
==============================================================================
@ -179,35 +193,35 @@ Image Symbol Table
Symbol Name Value Ov Type Size Object(Section)
../clib/microlib/init/entry.s 0x00000000 Number 0 entry11a.o ABSOLUTE
../clib/microlib/init/entry.s 0x00000000 Number 0 entry5.o ABSOLUTE
../clib/microlib/init/entry.s 0x00000000 Number 0 entry7b.o ABSOLUTE
../clib/microlib/init/entry.s 0x00000000 Number 0 entry.o ABSOLUTE
../clib/microlib/init/entry.s 0x00000000 Number 0 entry9a.o ABSOLUTE
../clib/microlib/init/entry.s 0x00000000 Number 0 entry9b.o ABSOLUTE
../clib/microlib/init/entry.s 0x00000000 Number 0 entry10a.o ABSOLUTE
../clib/microlib/init/entry.s 0x00000000 Number 0 entry10b.o ABSOLUTE
../clib/microlib/init/entry.s 0x00000000 Number 0 entry12b.o ABSOLUTE
../clib/microlib/init/entry.s 0x00000000 Number 0 entry12a.o ABSOLUTE
../clib/microlib/init/entry.s 0x00000000 Number 0 entry11b.o ABSOLUTE
../clib/microlib/init/entry.s 0x00000000 Number 0 entry7a.o ABSOLUTE
../clib/microlib/init/entry.s 0x00000000 Number 0 entry2.o ABSOLUTE
../clib/microlib/init/entry.s 0x00000000 Number 0 entry8b.o ABSOLUTE
../clib/microlib/init/entry.s 0x00000000 Number 0 entry2.o ABSOLUTE
../clib/microlib/init/entry.s 0x00000000 Number 0 entry12a.o ABSOLUTE
../clib/microlib/init/entry.s 0x00000000 Number 0 entry.o ABSOLUTE
../clib/microlib/init/entry.s 0x00000000 Number 0 entry11b.o ABSOLUTE
../clib/microlib/init/entry.s 0x00000000 Number 0 entry11a.o ABSOLUTE
../clib/microlib/init/entry.s 0x00000000 Number 0 entry7a.o ABSOLUTE
../clib/microlib/init/entry.s 0x00000000 Number 0 entry5.o ABSOLUTE
../clib/microlib/init/entry.s 0x00000000 Number 0 entry9a.o ABSOLUTE
../clib/microlib/init/entry.s 0x00000000 Number 0 entry7b.o ABSOLUTE
../clib/microlib/init/entry.s 0x00000000 Number 0 entry10b.o ABSOLUTE
../clib/microlib/init/entry.s 0x00000000 Number 0 entry8a.o ABSOLUTE
../clib/microlib/init/entry.s 0x00000000 Number 0 entry10a.o ABSOLUTE
../clib/microlib/init/entry.s 0x00000000 Number 0 entry9b.o ABSOLUTE
../clib/microlib/longlong.c 0x00000000 Number 0 llshl.o ABSOLUTE
../clib/microlib/longlong.c 0x00000000 Number 0 llushr.o ABSOLUTE
../clib/microlib/longlong.c 0x00000000 Number 0 llsshr.o ABSOLUTE
../clib/microlib/longlong.c 0x00000000 Number 0 llshl.o ABSOLUTE
../clib/microlib/stubs.s 0x00000000 Number 0 iusefp.o ABSOLUTE
../fplib/microlib/d2f.c 0x00000000 Number 0 d2f.o ABSOLUTE
../fplib/microlib/fpadd.c 0x00000000 Number 0 dadd.o ABSOLUTE
../fplib/microlib/fpdiv.c 0x00000000 Number 0 ddiv.o ABSOLUTE
../fplib/microlib/fpepilogue.c 0x00000000 Number 0 fepilogue.o ABSOLUTE
../fplib/microlib/fpepilogue.c 0x00000000 Number 0 depilogue.o ABSOLUTE
../fplib/microlib/fpepilogue.c 0x00000000 Number 0 fepilogue.o ABSOLUTE
../fplib/microlib/fpfix.c 0x00000000 Number 0 ffixui.o ABSOLUTE
../fplib/microlib/fpflt.c 0x00000000 Number 0 ffltui.o ABSOLUTE
../fplib/microlib/fpflt.c 0x00000000 Number 0 dfltui.o ABSOLUTE
../fplib/microlib/fpmul.c 0x00000000 Number 0 dmul.o ABSOLUTE
../fplib/microlib/fpflt.c 0x00000000 Number 0 ffltui.o ABSOLUTE
../fplib/microlib/fpmul.c 0x00000000 Number 0 fmul.o ABSOLUTE
../fplib/microlib/fpmul.c 0x00000000 Number 0 dmul.o ABSOLUTE
FileInclude\Batterie.c 0x00000000 Number 0 batterie.o ABSOLUTE
FileInclude\Driver_GPIO.c 0x00000000 Number 0 driver_gpio.o ABSOLUTE
FileInclude\MyADC.c 0x00000000 Number 0 myadc.o ABSOLUTE
@ -222,6 +236,8 @@ Image Symbol Table
FileInclude\\MyTimer.c 0x00000000 Number 0 mytimer.o ABSOLUTE
FileInclude\\Plateau.c 0x00000000 Number 0 plateau.o ABSOLUTE
FileInclude\\Telecommande.c 0x00000000 Number 0 telecommande.o ABSOLUTE
MyDrivers\MySPI.c 0x00000000 Number 0 myspi.o ABSOLUTE
MyDrivers\\MySPI.c 0x00000000 Number 0 myspi.o ABSOLUTE
MyVoile.c 0x00000000 Number 0 myvoile.o ABSOLUTE
MyVoile.c 0x00000000 Number 0 myvoile.o ABSOLUTE
RTE\Device\STM32F103RB\startup_stm32f10x_md.s 0x00000000 Number 0 startup_stm32f10x_md.o ABSOLUTE
@ -257,68 +273,74 @@ Image Symbol Table
.text 0x08000518 Section 0 d2f.o(.text)
.text 0x08000550 Section 0 llshl.o(.text)
.text 0x0800056e Section 0 llsshr.o(.text)
.text 0x08000592 Section 0 fepilogue.o(.text)
.text 0x08000592 Section 0 iusefp.o(.text)
.text 0x08000592 Section 0 fepilogue.o(.text)
.text 0x08000600 Section 0 depilogue.o(.text)
.text 0x080006bc Section 36 init.o(.text)
.text 0x080006e0 Section 0 llushr.o(.text)
i.EXTI0_IRQHandler 0x08000700 Section 0 mygirouette.o(i.EXTI0_IRQHandler)
i.Get_Angle 0x08000720 Section 0 mygirouette.o(i.Get_Angle)
i.Get_Batterie 0x08000730 Section 0 batterie.o(i.Get_Batterie)
i.Get_Max_Duty 0x08000758 Section 0 mytimer.o(i.Get_Max_Duty)
i.Init_Batterie 0x08000760 Section 0 batterie.o(i.Init_Batterie)
i.Init_Girouette 0x08000788 Section 0 mygirouette.o(i.Init_Girouette)
i.Init_Message_Reception 0x08000814 Section 0 telecommande.o(i.Init_Message_Reception)
i.Init_Plateau 0x0800084c Section 0 plateau.o(i.Init_Plateau)
i.Init_USART 0x080008c8 Section 0 telecommande.o(i.Init_USART)
i.MyGPIO_Init 0x08000964 Section 0 driver_gpio.o(i.MyGPIO_Init)
i.MyGPIO_Reset 0x08000a18 Section 0 driver_gpio.o(i.MyGPIO_Reset)
i.MyGPIO_Set 0x08000a26 Section 0 driver_gpio.o(i.MyGPIO_Set)
i.MyTimer_ActiveIT 0x08000a34 Section 0 mytimer.o(i.MyTimer_ActiveIT)
i.MyTimer_Base_Init 0x08000ae4 Section 0 mytimer.o(i.MyTimer_Base_Init)
i.MyTimer_Base_Start 0x08000b50 Section 0 mytimer.o(i.MyTimer_Base_Start)
i.MyTimer_PWM 0x08000b5c Section 0 mytimer.o(i.MyTimer_PWM)
i.MyVoile_Init 0x08000d44 Section 0 myvoile.o(i.MyVoile_Init)
i.Send_Char 0x08000d6c Section 0 telecommande.o(i.Send_Char)
i.Send_Message 0x08000d88 Section 0 telecommande.o(i.Send_Message)
i.SetSysClock 0x08000da0 Section 0 system_stm32f10x.o(i.SetSysClock)
SetSysClock 0x08000da1 Thumb Code 8 system_stm32f10x.o(i.SetSysClock)
i.SetSysClockTo72 0x08000da8 Section 0 system_stm32f10x.o(i.SetSysClockTo72)
SetSysClockTo72 0x08000da9 Thumb Code 214 system_stm32f10x.o(i.SetSysClockTo72)
i.Set_Direction 0x08000e88 Section 0 plateau.o(i.Set_Direction)
i.Set_Duty_Cycle 0x08000eb0 Section 0 mytimer.o(i.Set_Duty_Cycle)
i.Set_Moteur_Plateau 0x08000ed8 Section 0 plateau.o(i.Set_Moteur_Plateau)
i.Set_PWM_PRCT 0x08000ef0 Section 0 mytimer.o(i.Set_PWM_PRCT)
i.Set_Vitesse 0x08000f28 Section 0 plateau.o(i.Set_Vitesse)
i.Set_Voile 0x08000f48 Section 0 myvoile.o(i.Set_Voile)
i.SystemInit 0x08001034 Section 0 system_stm32f10x.o(i.SystemInit)
i.TIM1_UP_IRQHandler 0x08001094 Section 0 mytimer.o(i.TIM1_UP_IRQHandler)
i.TIM2_IRQHandler 0x080010b8 Section 0 mytimer.o(i.TIM2_IRQHandler)
i.TIM3_IRQHandler 0x080010dc Section 0 mytimer.o(i.TIM3_IRQHandler)
i.TIM4_IRQHandler 0x08001100 Section 0 mytimer.o(i.TIM4_IRQHandler)
i.USART1_IRQHandler 0x08001124 Section 0 telecommande.o(i.USART1_IRQHandler)
i.__scatterload_copy 0x08001140 Section 14 handlers.o(i.__scatterload_copy)
i.__scatterload_null 0x0800114e Section 2 handlers.o(i.__scatterload_null)
i.__scatterload_zeroinit 0x08001150 Section 14 handlers.o(i.__scatterload_zeroinit)
i.f 0x08001160 Section 0 main.o(i.f)
i.handler 0x080011a0 Section 0 main.o(i.handler)
i.initADC 0x08001264 Section 0 myadc.o(i.initADC)
i.main 0x080012a0 Section 0 main.o(i.main)
i.read 0x08001314 Section 0 myadc.o(i.read)
i.startADC 0x0800133c Section 0 myadc.o(i.startADC)
.constdata 0x08001350 Section 36 mygirouette.o(.constdata)
.constdata 0x08001374 Section 8 myvoile.o(.constdata)
.conststring 0x0800137c Section 8 main.o(.conststring)
.data 0x20000000 Section 36 main.o(.data)
.data 0x20000024 Section 16 mytimer.o(.data)
.data 0x20000034 Section 4 mygirouette.o(.data)
.data 0x20000038 Section 4 batterie.o(.data)
.data 0x2000003c Section 16 plateau.o(.data)
.data 0x2000004c Section 8 telecommande.o(.data)
.bss 0x20000054 Section 12 batterie.o(.bss)
i.Get_Angle 0x08000728 Section 0 mygirouette.o(i.Get_Angle)
i.Get_Batterie 0x08000738 Section 0 batterie.o(i.Get_Batterie)
i.Get_Max_Duty 0x08000760 Section 0 mytimer.o(i.Get_Max_Duty)
i.Init_Batterie 0x08000768 Section 0 batterie.o(i.Init_Batterie)
i.Init_Girouette 0x08000790 Section 0 mygirouette.o(i.Init_Girouette)
i.Init_Message_Reception 0x08000884 Section 0 telecommande.o(i.Init_Message_Reception)
i.Init_Plateau 0x080008bc Section 0 plateau.o(i.Init_Plateau)
i.Init_USART 0x0800093c Section 0 telecommande.o(i.Init_USART)
i.MyGPIO_Init 0x080009d8 Section 0 driver_gpio.o(i.MyGPIO_Init)
i.MyGPIO_Reset 0x08000a8c Section 0 driver_gpio.o(i.MyGPIO_Reset)
i.MyGPIO_Set 0x08000a9a Section 0 driver_gpio.o(i.MyGPIO_Set)
i.MySPI_Clear_NSS 0x08000aa8 Section 0 myspi.o(i.MySPI_Clear_NSS)
i.MySPI_Init 0x08000ad8 Section 0 myspi.o(i.MySPI_Init)
i.MySPI_Read 0x08000ccc Section 0 myspi.o(i.MySPI_Read)
i.MySPI_Send 0x08000d20 Section 0 myspi.o(i.MySPI_Send)
i.MySPI_Set_NSS 0x08000d70 Section 0 myspi.o(i.MySPI_Set_NSS)
i.MyTimer_ActiveIT 0x08000d9c Section 0 mytimer.o(i.MyTimer_ActiveIT)
i.MyTimer_Base_Init 0x08000e4c Section 0 mytimer.o(i.MyTimer_Base_Init)
i.MyTimer_Base_Start 0x08000eb8 Section 0 mytimer.o(i.MyTimer_Base_Start)
i.MyTimer_PWM 0x08000ec4 Section 0 mytimer.o(i.MyTimer_PWM)
i.MyVoile_Init 0x080010ac Section 0 myvoile.o(i.MyVoile_Init)
i.Send_Char 0x080010d4 Section 0 telecommande.o(i.Send_Char)
i.Send_Message 0x080010f0 Section 0 telecommande.o(i.Send_Message)
i.SetSysClock 0x08001108 Section 0 system_stm32f10x.o(i.SetSysClock)
SetSysClock 0x08001109 Thumb Code 8 system_stm32f10x.o(i.SetSysClock)
i.SetSysClockTo72 0x08001110 Section 0 system_stm32f10x.o(i.SetSysClockTo72)
SetSysClockTo72 0x08001111 Thumb Code 214 system_stm32f10x.o(i.SetSysClockTo72)
i.Set_Direction 0x080011f0 Section 0 plateau.o(i.Set_Direction)
i.Set_Duty_Cycle 0x08001218 Section 0 mytimer.o(i.Set_Duty_Cycle)
i.Set_Moteur_Plateau 0x08001240 Section 0 plateau.o(i.Set_Moteur_Plateau)
i.Set_PWM_PRCT 0x08001258 Section 0 mytimer.o(i.Set_PWM_PRCT)
i.Set_Vitesse 0x08001290 Section 0 plateau.o(i.Set_Vitesse)
i.Set_Voile 0x080012b0 Section 0 myvoile.o(i.Set_Voile)
i.SystemInit 0x0800139c Section 0 system_stm32f10x.o(i.SystemInit)
i.TIM1_UP_IRQHandler 0x080013fc Section 0 mytimer.o(i.TIM1_UP_IRQHandler)
i.TIM2_IRQHandler 0x08001420 Section 0 mytimer.o(i.TIM2_IRQHandler)
i.TIM3_IRQHandler 0x08001444 Section 0 mytimer.o(i.TIM3_IRQHandler)
i.TIM4_IRQHandler 0x08001468 Section 0 mytimer.o(i.TIM4_IRQHandler)
i.USART1_IRQHandler 0x0800148c Section 0 telecommande.o(i.USART1_IRQHandler)
i.__scatterload_copy 0x080014a8 Section 14 handlers.o(i.__scatterload_copy)
i.__scatterload_null 0x080014b6 Section 2 handlers.o(i.__scatterload_null)
i.__scatterload_zeroinit 0x080014b8 Section 14 handlers.o(i.__scatterload_zeroinit)
i.f 0x080014c8 Section 0 main.o(i.f)
i.handler 0x08001508 Section 0 main.o(i.handler)
i.initADC 0x080015cc Section 0 myadc.o(i.initADC)
i.main 0x08001608 Section 0 main.o(i.main)
i.read 0x080016c8 Section 0 myadc.o(i.read)
i.startADC 0x080016f0 Section 0 myadc.o(i.startADC)
.constdata 0x08001704 Section 36 mygirouette.o(.constdata)
.constdata 0x08001728 Section 8 myvoile.o(.constdata)
.conststring 0x08001730 Section 8 main.o(.conststring)
.data 0x20000000 Section 44 main.o(.data)
.data 0x2000002c Section 16 mytimer.o(.data)
.data 0x2000003c Section 4 mygirouette.o(.data)
.data 0x20000040 Section 16 plateau.o(.data)
.data 0x20000050 Section 4 batterie.o(.data)
.data 0x20000054 Section 8 telecommande.o(.data)
.data 0x2000005c Section 4 myspi.o(.data)
.bss 0x20000060 Section 24 plateau.o(.bss)
.bss 0x20000078 Section 52 telecommande.o(.bss)
STACK 0x200000b0 Section 1024 startup_stm32f10x_md.o(STACK)
.bss 0x20000078 Section 12 batterie.o(.bss)
.bss 0x20000084 Section 52 telecommande.o(.bss)
STACK 0x200000b8 Section 1024 startup_stm32f10x_md.o(STACK)
Global Symbols
@ -417,74 +439,82 @@ Image Symbol Table
__scatterload_rt2 0x080006bd Thumb Code 0 init.o(.text)
__aeabi_llsr 0x080006e1 Thumb Code 32 llushr.o(.text)
_ll_ushift_r 0x080006e1 Thumb Code 0 llushr.o(.text)
EXTI0_IRQHandler 0x08000701 Thumb Code 24 mygirouette.o(i.EXTI0_IRQHandler)
Get_Angle 0x08000721 Thumb Code 14 mygirouette.o(i.Get_Angle)
Get_Batterie 0x08000731 Thumb Code 36 batterie.o(i.Get_Batterie)
Get_Max_Duty 0x08000759 Thumb Code 6 mytimer.o(i.Get_Max_Duty)
Init_Batterie 0x08000761 Thumb Code 32 batterie.o(i.Init_Batterie)
Init_Girouette 0x08000789 Thumb Code 134 mygirouette.o(i.Init_Girouette)
Init_Message_Reception 0x08000815 Thumb Code 40 telecommande.o(i.Init_Message_Reception)
Init_Plateau 0x0800084d Thumb Code 98 plateau.o(i.Init_Plateau)
Init_USART 0x080008c9 Thumb Code 134 telecommande.o(i.Init_USART)
MyGPIO_Init 0x08000965 Thumb Code 166 driver_gpio.o(i.MyGPIO_Init)
MyGPIO_Reset 0x08000a19 Thumb Code 14 driver_gpio.o(i.MyGPIO_Reset)
MyGPIO_Set 0x08000a27 Thumb Code 12 driver_gpio.o(i.MyGPIO_Set)
MyTimer_ActiveIT 0x08000a35 Thumb Code 148 mytimer.o(i.MyTimer_ActiveIT)
MyTimer_Base_Init 0x08000ae5 Thumb Code 98 mytimer.o(i.MyTimer_Base_Init)
MyTimer_Base_Start 0x08000b51 Thumb Code 10 mytimer.o(i.MyTimer_Base_Start)
MyTimer_PWM 0x08000b5d Thumb Code 472 mytimer.o(i.MyTimer_PWM)
MyVoile_Init 0x08000d45 Thumb Code 32 myvoile.o(i.MyVoile_Init)
Send_Char 0x08000d6d Thumb Code 22 telecommande.o(i.Send_Char)
Send_Message 0x08000d89 Thumb Code 24 telecommande.o(i.Send_Message)
Set_Direction 0x08000e89 Thumb Code 34 plateau.o(i.Set_Direction)
Set_Duty_Cycle 0x08000eb1 Thumb Code 40 mytimer.o(i.Set_Duty_Cycle)
Set_Moteur_Plateau 0x08000ed9 Thumb Code 24 plateau.o(i.Set_Moteur_Plateau)
Set_PWM_PRCT 0x08000ef1 Thumb Code 56 mytimer.o(i.Set_PWM_PRCT)
Set_Vitesse 0x08000f29 Thumb Code 22 plateau.o(i.Set_Vitesse)
Set_Voile 0x08000f49 Thumb Code 210 myvoile.o(i.Set_Voile)
SystemInit 0x08001035 Thumb Code 78 system_stm32f10x.o(i.SystemInit)
TIM1_UP_IRQHandler 0x08001095 Thumb Code 28 mytimer.o(i.TIM1_UP_IRQHandler)
TIM2_IRQHandler 0x080010b9 Thumb Code 32 mytimer.o(i.TIM2_IRQHandler)
TIM3_IRQHandler 0x080010dd Thumb Code 28 mytimer.o(i.TIM3_IRQHandler)
TIM4_IRQHandler 0x08001101 Thumb Code 28 mytimer.o(i.TIM4_IRQHandler)
USART1_IRQHandler 0x08001125 Thumb Code 18 telecommande.o(i.USART1_IRQHandler)
__scatterload_copy 0x08001141 Thumb Code 14 handlers.o(i.__scatterload_copy)
__scatterload_null 0x0800114f Thumb Code 2 handlers.o(i.__scatterload_null)
__scatterload_zeroinit 0x08001151 Thumb Code 14 handlers.o(i.__scatterload_zeroinit)
f 0x08001161 Thumb Code 54 main.o(i.f)
handler 0x080011a1 Thumb Code 126 main.o(i.handler)
initADC 0x08001265 Thumb Code 50 myadc.o(i.initADC)
main 0x080012a1 Thumb Code 94 main.o(i.main)
read 0x08001315 Thumb Code 34 myadc.o(i.read)
startADC 0x0800133d Thumb Code 14 myadc.o(i.startADC)
Region$$Table$$Base 0x08001384 Number 0 anon$$obj.o(Region$$Table)
Region$$Table$$Limit 0x080013a4 Number 0 anon$$obj.o(Region$$Table)
EXTI0_IRQHandler 0x08000701 Thumb Code 32 mygirouette.o(i.EXTI0_IRQHandler)
Get_Angle 0x08000729 Thumb Code 14 mygirouette.o(i.Get_Angle)
Get_Batterie 0x08000739 Thumb Code 36 batterie.o(i.Get_Batterie)
Get_Max_Duty 0x08000761 Thumb Code 6 mytimer.o(i.Get_Max_Duty)
Init_Batterie 0x08000769 Thumb Code 32 batterie.o(i.Init_Batterie)
Init_Girouette 0x08000791 Thumb Code 220 mygirouette.o(i.Init_Girouette)
Init_Message_Reception 0x08000885 Thumb Code 40 telecommande.o(i.Init_Message_Reception)
Init_Plateau 0x080008bd Thumb Code 98 plateau.o(i.Init_Plateau)
Init_USART 0x0800093d Thumb Code 134 telecommande.o(i.Init_USART)
MyGPIO_Init 0x080009d9 Thumb Code 166 driver_gpio.o(i.MyGPIO_Init)
MyGPIO_Reset 0x08000a8d Thumb Code 14 driver_gpio.o(i.MyGPIO_Reset)
MyGPIO_Set 0x08000a9b Thumb Code 12 driver_gpio.o(i.MyGPIO_Set)
MySPI_Clear_NSS 0x08000aa9 Thumb Code 30 myspi.o(i.MySPI_Clear_NSS)
MySPI_Init 0x08000ad9 Thumb Code 480 myspi.o(i.MySPI_Init)
MySPI_Read 0x08000ccd Thumb Code 70 myspi.o(i.MySPI_Read)
MySPI_Send 0x08000d21 Thumb Code 68 myspi.o(i.MySPI_Send)
MySPI_Set_NSS 0x08000d71 Thumb Code 28 myspi.o(i.MySPI_Set_NSS)
MyTimer_ActiveIT 0x08000d9d Thumb Code 148 mytimer.o(i.MyTimer_ActiveIT)
MyTimer_Base_Init 0x08000e4d Thumb Code 98 mytimer.o(i.MyTimer_Base_Init)
MyTimer_Base_Start 0x08000eb9 Thumb Code 10 mytimer.o(i.MyTimer_Base_Start)
MyTimer_PWM 0x08000ec5 Thumb Code 472 mytimer.o(i.MyTimer_PWM)
MyVoile_Init 0x080010ad Thumb Code 32 myvoile.o(i.MyVoile_Init)
Send_Char 0x080010d5 Thumb Code 22 telecommande.o(i.Send_Char)
Send_Message 0x080010f1 Thumb Code 24 telecommande.o(i.Send_Message)
Set_Direction 0x080011f1 Thumb Code 34 plateau.o(i.Set_Direction)
Set_Duty_Cycle 0x08001219 Thumb Code 40 mytimer.o(i.Set_Duty_Cycle)
Set_Moteur_Plateau 0x08001241 Thumb Code 24 plateau.o(i.Set_Moteur_Plateau)
Set_PWM_PRCT 0x08001259 Thumb Code 56 mytimer.o(i.Set_PWM_PRCT)
Set_Vitesse 0x08001291 Thumb Code 22 plateau.o(i.Set_Vitesse)
Set_Voile 0x080012b1 Thumb Code 210 myvoile.o(i.Set_Voile)
SystemInit 0x0800139d Thumb Code 78 system_stm32f10x.o(i.SystemInit)
TIM1_UP_IRQHandler 0x080013fd Thumb Code 28 mytimer.o(i.TIM1_UP_IRQHandler)
TIM2_IRQHandler 0x08001421 Thumb Code 32 mytimer.o(i.TIM2_IRQHandler)
TIM3_IRQHandler 0x08001445 Thumb Code 28 mytimer.o(i.TIM3_IRQHandler)
TIM4_IRQHandler 0x08001469 Thumb Code 28 mytimer.o(i.TIM4_IRQHandler)
USART1_IRQHandler 0x0800148d Thumb Code 18 telecommande.o(i.USART1_IRQHandler)
__scatterload_copy 0x080014a9 Thumb Code 14 handlers.o(i.__scatterload_copy)
__scatterload_null 0x080014b7 Thumb Code 2 handlers.o(i.__scatterload_null)
__scatterload_zeroinit 0x080014b9 Thumb Code 14 handlers.o(i.__scatterload_zeroinit)
f 0x080014c9 Thumb Code 54 main.o(i.f)
handler 0x08001509 Thumb Code 126 main.o(i.handler)
initADC 0x080015cd Thumb Code 50 myadc.o(i.initADC)
main 0x08001609 Thumb Code 158 main.o(i.main)
read 0x080016c9 Thumb Code 34 myadc.o(i.read)
startADC 0x080016f1 Thumb Code 14 myadc.o(i.startADC)
Region$$Table$$Base 0x08001738 Number 0 anon$$obj.o(Region$$Table)
Region$$Table$$Limit 0x08001758 Number 0 anon$$obj.o(Region$$Table)
droite 0x20000000 Data 4 main.o(.data)
b 0x20000004 Data 4 main.o(.data)
testBatterie 0x20000008 Data 4 main.o(.data)
bat 0x2000000c Data 4 main.o(.data)
counter 0x20000010 Data 4 main.o(.data)
visuBatterie 0x20000014 Data 4 main.o(.data)
TIM 0x20000018 Data 8 main.o(.data)
Data 0x20000020 Data 4 main.o(.data)
ptr1 0x20000024 Data 4 mytimer.o(.data)
ptr2 0x20000028 Data 4 mytimer.o(.data)
ptr3 0x2000002c Data 4 mytimer.o(.data)
ptr4 0x20000030 Data 4 mytimer.o(.data)
x 0x20000034 Data 4 mygirouette.o(.data)
nivBatterie 0x20000038 Data 4 batterie.o(.data)
channel 0x2000003c Data 1 plateau.o(.data)
TIMPlateau 0x20000040 Data 8 plateau.o(.data)
DataPlateau 0x20000048 Data 4 plateau.o(.data)
Usart 0x2000004c Data 4 telecommande.o(.data)
ptr 0x20000050 Data 4 telecommande.o(.data)
GPIOC0 0x20000054 Data 12 batterie.o(.bss)
GPIOA5 0x20000060 Data 12 plateau.o(.bss)
GPIOA6 0x2000006c Data 12 plateau.o(.bss)
USART 0x20000078 Data 28 telecommande.o(.bss)
GPIOA10 0x20000094 Data 12 telecommande.o(.bss)
GPIOA9 0x200000a0 Data 12 telecommande.o(.bss)
__initial_sp 0x200004b0 Data 0 startup_stm32f10x_md.o(STACK)
ID_acc 0x20000010 Data 4 main.o(.data)
ID_acc2 0x20000014 Data 4 main.o(.data)
counter 0x20000018 Data 4 main.o(.data)
visuBatterie 0x2000001c Data 4 main.o(.data)
TIM 0x20000020 Data 8 main.o(.data)
Data 0x20000028 Data 4 main.o(.data)
ptr1 0x2000002c Data 4 mytimer.o(.data)
ptr2 0x20000030 Data 4 mytimer.o(.data)
ptr3 0x20000034 Data 4 mytimer.o(.data)
ptr4 0x20000038 Data 4 mytimer.o(.data)
x 0x2000003c Data 4 mygirouette.o(.data)
channel 0x20000040 Data 1 plateau.o(.data)
TIMPlateau 0x20000044 Data 8 plateau.o(.data)
DataPlateau 0x2000004c Data 4 plateau.o(.data)
nivBatterie 0x20000050 Data 4 batterie.o(.data)
Usart 0x20000054 Data 4 telecommande.o(.data)
ptr 0x20000058 Data 4 telecommande.o(.data)
ActiveSPI 0x2000005c Data 4 myspi.o(.data)
GPIOC9 0x20000060 Data 12 plateau.o(.bss)
GPIOB1 0x2000006c Data 12 plateau.o(.bss)
GPIOC0 0x20000078 Data 12 batterie.o(.bss)
USART 0x20000084 Data 28 telecommande.o(.bss)
GPIOA10 0x200000a0 Data 12 telecommande.o(.bss)
GPIOA9 0x200000ac Data 12 telecommande.o(.bss)
__initial_sp 0x200004b8 Data 0 startup_stm32f10x_md.o(STACK)
@ -494,109 +524,114 @@ Memory Map of the image
Image Entry point : 0x080000ed
Load Region LR_IROM1 (Base: 0x08000000, Size: 0x000013f8, Max: 0x00020000, ABSOLUTE)
Load Region LR_IROM1 (Base: 0x08000000, Size: 0x000017b8, Max: 0x00020000, ABSOLUTE)
Execution Region ER_IROM1 (Exec base: 0x08000000, Load base: 0x08000000, Size: 0x000013a4, Max: 0x00020000, ABSOLUTE)
Execution Region ER_IROM1 (Exec base: 0x08000000, Load base: 0x08000000, Size: 0x00001758, Max: 0x00020000, ABSOLUTE)
Exec Addr Load Addr Size Type Attr Idx E Section Name Object
0x08000000 0x08000000 0x000000ec Data RO 503 RESET startup_stm32f10x_md.o
0x080000ec 0x080000ec 0x00000000 Code RO 554 * .ARM.Collect$$$$00000000 mc_w.l(entry.o)
0x080000ec 0x080000ec 0x00000004 Code RO 575 .ARM.Collect$$$$00000001 mc_w.l(entry2.o)
0x080000f0 0x080000f0 0x00000004 Code RO 578 .ARM.Collect$$$$00000004 mc_w.l(entry5.o)
0x080000f4 0x080000f4 0x00000000 Code RO 580 .ARM.Collect$$$$00000008 mc_w.l(entry7b.o)
0x080000f4 0x080000f4 0x00000000 Code RO 582 .ARM.Collect$$$$0000000A mc_w.l(entry8b.o)
0x080000f4 0x080000f4 0x00000008 Code RO 583 .ARM.Collect$$$$0000000B mc_w.l(entry9a.o)
0x080000fc 0x080000fc 0x00000004 Code RO 590 .ARM.Collect$$$$0000000E mc_w.l(entry12b.o)
0x08000100 0x08000100 0x00000000 Code RO 585 .ARM.Collect$$$$0000000F mc_w.l(entry10a.o)
0x08000100 0x08000100 0x00000000 Code RO 587 .ARM.Collect$$$$00000011 mc_w.l(entry11a.o)
0x08000100 0x08000100 0x00000004 Code RO 576 .ARM.Collect$$$$00002712 mc_w.l(entry2.o)
0x08000104 0x08000104 0x00000024 Code RO 504 .text startup_stm32f10x_md.o
0x08000128 0x08000128 0x00000064 Code RO 557 .text mf_w.l(fmul.o)
0x0800018c 0x0800018c 0x0000014e Code RO 559 .text mf_w.l(dadd.o)
0x080002da 0x080002da 0x000000e4 Code RO 561 .text mf_w.l(dmul.o)
0x080003be 0x080003be 0x000000de Code RO 563 .text mf_w.l(ddiv.o)
0x0800049c 0x0800049c 0x0000000a Code RO 565 .text mf_w.l(ffltui.o)
0x080004a6 0x080004a6 0x0000001a Code RO 567 .text mf_w.l(dfltui.o)
0x080004c0 0x080004c0 0x00000028 Code RO 569 .text mf_w.l(ffixui.o)
0x080004e8 0x080004e8 0x00000030 Code RO 571 .text mf_w.l(cdcmple.o)
0x08000518 0x08000518 0x00000038 Code RO 573 .text mf_w.l(d2f.o)
0x08000550 0x08000550 0x0000001e Code RO 591 .text mc_w.l(llshl.o)
0x0800056e 0x0800056e 0x00000024 Code RO 593 .text mc_w.l(llsshr.o)
0x08000592 0x08000592 0x00000000 Code RO 595 .text mc_w.l(iusefp.o)
0x08000592 0x08000592 0x0000006e Code RO 596 .text mf_w.l(fepilogue.o)
0x08000600 0x08000600 0x000000ba Code RO 598 .text mf_w.l(depilogue.o)
0x08000000 0x08000000 0x000000ec Data RO 506 RESET startup_stm32f10x_md.o
0x080000ec 0x080000ec 0x00000000 Code RO 574 * .ARM.Collect$$$$00000000 mc_w.l(entry.o)
0x080000ec 0x080000ec 0x00000004 Code RO 595 .ARM.Collect$$$$00000001 mc_w.l(entry2.o)
0x080000f0 0x080000f0 0x00000004 Code RO 598 .ARM.Collect$$$$00000004 mc_w.l(entry5.o)
0x080000f4 0x080000f4 0x00000000 Code RO 600 .ARM.Collect$$$$00000008 mc_w.l(entry7b.o)
0x080000f4 0x080000f4 0x00000000 Code RO 602 .ARM.Collect$$$$0000000A mc_w.l(entry8b.o)
0x080000f4 0x080000f4 0x00000008 Code RO 603 .ARM.Collect$$$$0000000B mc_w.l(entry9a.o)
0x080000fc 0x080000fc 0x00000004 Code RO 610 .ARM.Collect$$$$0000000E mc_w.l(entry12b.o)
0x08000100 0x08000100 0x00000000 Code RO 605 .ARM.Collect$$$$0000000F mc_w.l(entry10a.o)
0x08000100 0x08000100 0x00000000 Code RO 607 .ARM.Collect$$$$00000011 mc_w.l(entry11a.o)
0x08000100 0x08000100 0x00000004 Code RO 596 .ARM.Collect$$$$00002712 mc_w.l(entry2.o)
0x08000104 0x08000104 0x00000024 Code RO 507 .text startup_stm32f10x_md.o
0x08000128 0x08000128 0x00000064 Code RO 577 .text mf_w.l(fmul.o)
0x0800018c 0x0800018c 0x0000014e Code RO 579 .text mf_w.l(dadd.o)
0x080002da 0x080002da 0x000000e4 Code RO 581 .text mf_w.l(dmul.o)
0x080003be 0x080003be 0x000000de Code RO 583 .text mf_w.l(ddiv.o)
0x0800049c 0x0800049c 0x0000000a Code RO 585 .text mf_w.l(ffltui.o)
0x080004a6 0x080004a6 0x0000001a Code RO 587 .text mf_w.l(dfltui.o)
0x080004c0 0x080004c0 0x00000028 Code RO 589 .text mf_w.l(ffixui.o)
0x080004e8 0x080004e8 0x00000030 Code RO 591 .text mf_w.l(cdcmple.o)
0x08000518 0x08000518 0x00000038 Code RO 593 .text mf_w.l(d2f.o)
0x08000550 0x08000550 0x0000001e Code RO 611 .text mc_w.l(llshl.o)
0x0800056e 0x0800056e 0x00000024 Code RO 613 .text mc_w.l(llsshr.o)
0x08000592 0x08000592 0x00000000 Code RO 615 .text mc_w.l(iusefp.o)
0x08000592 0x08000592 0x0000006e Code RO 616 .text mf_w.l(fepilogue.o)
0x08000600 0x08000600 0x000000ba Code RO 618 .text mf_w.l(depilogue.o)
0x080006ba 0x080006ba 0x00000002 PAD
0x080006bc 0x080006bc 0x00000024 Code RO 600 .text mc_w.l(init.o)
0x080006e0 0x080006e0 0x00000020 Code RO 602 .text mc_w.l(llushr.o)
0x08000700 0x08000700 0x00000020 Code RO 289 i.EXTI0_IRQHandler mygirouette.o
0x08000720 0x08000720 0x0000000e Code RO 290 i.Get_Angle mygirouette.o
0x0800072e 0x0800072e 0x00000002 PAD
0x08000730 0x08000730 0x00000028 Code RO 363 i.Get_Batterie batterie.o
0x08000758 0x08000758 0x00000006 Code RO 97 i.Get_Max_Duty mytimer.o
0x0800075e 0x0800075e 0x00000002 PAD
0x08000760 0x08000760 0x00000028 Code RO 364 i.Init_Batterie batterie.o
0x08000788 0x08000788 0x0000008c Code RO 291 i.Init_Girouette mygirouette.o
0x08000814 0x08000814 0x00000038 Code RO 449 i.Init_Message_Reception telecommande.o
0x0800084c 0x0800084c 0x0000007c Code RO 400 i.Init_Plateau plateau.o
0x080008c8 0x080008c8 0x0000009c Code RO 450 i.Init_USART telecommande.o
0x08000964 0x08000964 0x000000b4 Code RO 241 i.MyGPIO_Init driver_gpio.o
0x08000a18 0x08000a18 0x0000000e Code RO 243 i.MyGPIO_Reset driver_gpio.o
0x08000a26 0x08000a26 0x0000000c Code RO 244 i.MyGPIO_Set driver_gpio.o
0x08000a32 0x08000a32 0x00000002 PAD
0x08000a34 0x08000a34 0x000000b0 Code RO 99 i.MyTimer_ActiveIT mytimer.o
0x08000ae4 0x08000ae4 0x0000006c Code RO 100 i.MyTimer_Base_Init mytimer.o
0x08000b50 0x08000b50 0x0000000a Code RO 101 i.MyTimer_Base_Start mytimer.o
0x08000b5a 0x08000b5a 0x00000002 PAD
0x08000b5c 0x08000b5c 0x000001e8 Code RO 103 i.MyTimer_PWM mytimer.o
0x08000d44 0x08000d44 0x00000028 Code RO 332 i.MyVoile_Init myvoile.o
0x08000d6c 0x08000d6c 0x0000001c Code RO 451 i.Send_Char telecommande.o
0x08000d88 0x08000d88 0x00000018 Code RO 452 i.Send_Message telecommande.o
0x08000da0 0x08000da0 0x00000008 Code RO 511 i.SetSysClock system_stm32f10x.o
0x08000da8 0x08000da8 0x000000e0 Code RO 512 i.SetSysClockTo72 system_stm32f10x.o
0x08000e88 0x08000e88 0x00000028 Code RO 401 i.Set_Direction plateau.o
0x08000eb0 0x08000eb0 0x00000028 Code RO 104 i.Set_Duty_Cycle mytimer.o
0x08000ed8 0x08000ed8 0x00000018 Code RO 402 i.Set_Moteur_Plateau plateau.o
0x08000ef0 0x08000ef0 0x00000038 Code RO 105 i.Set_PWM_PRCT mytimer.o
0x08000f28 0x08000f28 0x00000020 Code RO 403 i.Set_Vitesse plateau.o
0x08000f48 0x08000f48 0x000000ec Code RO 333 i.Set_Voile myvoile.o
0x08001034 0x08001034 0x00000060 Code RO 514 i.SystemInit system_stm32f10x.o
0x08001094 0x08001094 0x00000024 Code RO 106 i.TIM1_UP_IRQHandler mytimer.o
0x080010b8 0x080010b8 0x00000024 Code RO 107 i.TIM2_IRQHandler mytimer.o
0x080010dc 0x080010dc 0x00000024 Code RO 108 i.TIM3_IRQHandler mytimer.o
0x08001100 0x08001100 0x00000024 Code RO 109 i.TIM4_IRQHandler mytimer.o
0x08001124 0x08001124 0x0000001c Code RO 453 i.USART1_IRQHandler telecommande.o
0x08001140 0x08001140 0x0000000e Code RO 606 i.__scatterload_copy mc_w.l(handlers.o)
0x0800114e 0x0800114e 0x00000002 Code RO 607 i.__scatterload_null mc_w.l(handlers.o)
0x08001150 0x08001150 0x0000000e Code RO 608 i.__scatterload_zeroinit mc_w.l(handlers.o)
0x0800115e 0x0800115e 0x00000002 PAD
0x08001160 0x08001160 0x00000040 Code RO 4 i.f main.o
0x080011a0 0x080011a0 0x000000c4 Code RO 5 i.handler main.o
0x08001264 0x08001264 0x0000003c Code RO 202 i.initADC myadc.o
0x080012a0 0x080012a0 0x00000074 Code RO 6 i.main main.o
0x08001314 0x08001314 0x00000028 Code RO 203 i.read myadc.o
0x0800133c 0x0800133c 0x00000014 Code RO 204 i.startADC myadc.o
0x08001350 0x08001350 0x00000024 Data RO 292 .constdata mygirouette.o
0x08001374 0x08001374 0x00000008 Data RO 334 .constdata myvoile.o
0x0800137c 0x0800137c 0x00000008 Data RO 7 .conststring main.o
0x08001384 0x08001384 0x00000020 Data RO 604 Region$$Table anon$$obj.o
0x080006bc 0x080006bc 0x00000024 Code RO 620 .text mc_w.l(init.o)
0x080006e0 0x080006e0 0x00000020 Code RO 622 .text mc_w.l(llushr.o)
0x08000700 0x08000700 0x00000028 Code RO 292 i.EXTI0_IRQHandler mygirouette.o
0x08000728 0x08000728 0x0000000e Code RO 293 i.Get_Angle mygirouette.o
0x08000736 0x08000736 0x00000002 PAD
0x08000738 0x08000738 0x00000028 Code RO 415 i.Get_Batterie batterie.o
0x08000760 0x08000760 0x00000006 Code RO 100 i.Get_Max_Duty mytimer.o
0x08000766 0x08000766 0x00000002 PAD
0x08000768 0x08000768 0x00000028 Code RO 416 i.Init_Batterie batterie.o
0x08000790 0x08000790 0x000000f4 Code RO 294 i.Init_Girouette mygirouette.o
0x08000884 0x08000884 0x00000038 Code RO 452 i.Init_Message_Reception telecommande.o
0x080008bc 0x080008bc 0x00000080 Code RO 366 i.Init_Plateau plateau.o
0x0800093c 0x0800093c 0x0000009c Code RO 453 i.Init_USART telecommande.o
0x080009d8 0x080009d8 0x000000b4 Code RO 244 i.MyGPIO_Init driver_gpio.o
0x08000a8c 0x08000a8c 0x0000000e Code RO 246 i.MyGPIO_Reset driver_gpio.o
0x08000a9a 0x08000a9a 0x0000000c Code RO 247 i.MyGPIO_Set driver_gpio.o
0x08000aa6 0x08000aa6 0x00000002 PAD
0x08000aa8 0x08000aa8 0x00000030 Code RO 560 i.MySPI_Clear_NSS Lib_Com_Periph_2022.lib(myspi.o)
0x08000ad8 0x08000ad8 0x000001f4 Code RO 561 i.MySPI_Init Lib_Com_Periph_2022.lib(myspi.o)
0x08000ccc 0x08000ccc 0x00000054 Code RO 562 i.MySPI_Read Lib_Com_Periph_2022.lib(myspi.o)
0x08000d20 0x08000d20 0x00000050 Code RO 563 i.MySPI_Send Lib_Com_Periph_2022.lib(myspi.o)
0x08000d70 0x08000d70 0x0000002c Code RO 564 i.MySPI_Set_NSS Lib_Com_Periph_2022.lib(myspi.o)
0x08000d9c 0x08000d9c 0x000000b0 Code RO 102 i.MyTimer_ActiveIT mytimer.o
0x08000e4c 0x08000e4c 0x0000006c Code RO 103 i.MyTimer_Base_Init mytimer.o
0x08000eb8 0x08000eb8 0x0000000a Code RO 104 i.MyTimer_Base_Start mytimer.o
0x08000ec2 0x08000ec2 0x00000002 PAD
0x08000ec4 0x08000ec4 0x000001e8 Code RO 106 i.MyTimer_PWM mytimer.o
0x080010ac 0x080010ac 0x00000028 Code RO 335 i.MyVoile_Init myvoile.o
0x080010d4 0x080010d4 0x0000001c Code RO 454 i.Send_Char telecommande.o
0x080010f0 0x080010f0 0x00000018 Code RO 455 i.Send_Message telecommande.o
0x08001108 0x08001108 0x00000008 Code RO 514 i.SetSysClock system_stm32f10x.o
0x08001110 0x08001110 0x000000e0 Code RO 515 i.SetSysClockTo72 system_stm32f10x.o
0x080011f0 0x080011f0 0x00000028 Code RO 367 i.Set_Direction plateau.o
0x08001218 0x08001218 0x00000028 Code RO 107 i.Set_Duty_Cycle mytimer.o
0x08001240 0x08001240 0x00000018 Code RO 368 i.Set_Moteur_Plateau plateau.o
0x08001258 0x08001258 0x00000038 Code RO 108 i.Set_PWM_PRCT mytimer.o
0x08001290 0x08001290 0x00000020 Code RO 369 i.Set_Vitesse plateau.o
0x080012b0 0x080012b0 0x000000ec Code RO 336 i.Set_Voile myvoile.o
0x0800139c 0x0800139c 0x00000060 Code RO 517 i.SystemInit system_stm32f10x.o
0x080013fc 0x080013fc 0x00000024 Code RO 109 i.TIM1_UP_IRQHandler mytimer.o
0x08001420 0x08001420 0x00000024 Code RO 110 i.TIM2_IRQHandler mytimer.o
0x08001444 0x08001444 0x00000024 Code RO 111 i.TIM3_IRQHandler mytimer.o
0x08001468 0x08001468 0x00000024 Code RO 112 i.TIM4_IRQHandler mytimer.o
0x0800148c 0x0800148c 0x0000001c Code RO 456 i.USART1_IRQHandler telecommande.o
0x080014a8 0x080014a8 0x0000000e Code RO 626 i.__scatterload_copy mc_w.l(handlers.o)
0x080014b6 0x080014b6 0x00000002 Code RO 627 i.__scatterload_null mc_w.l(handlers.o)
0x080014b8 0x080014b8 0x0000000e Code RO 628 i.__scatterload_zeroinit mc_w.l(handlers.o)
0x080014c6 0x080014c6 0x00000002 PAD
0x080014c8 0x080014c8 0x00000040 Code RO 4 i.f main.o
0x08001508 0x08001508 0x000000c4 Code RO 5 i.handler main.o
0x080015cc 0x080015cc 0x0000003c Code RO 205 i.initADC myadc.o
0x08001608 0x08001608 0x000000c0 Code RO 6 i.main main.o
0x080016c8 0x080016c8 0x00000028 Code RO 206 i.read myadc.o
0x080016f0 0x080016f0 0x00000014 Code RO 207 i.startADC myadc.o
0x08001704 0x08001704 0x00000024 Data RO 295 .constdata mygirouette.o
0x08001728 0x08001728 0x00000008 Data RO 337 .constdata myvoile.o
0x08001730 0x08001730 0x00000008 Data RO 7 .conststring main.o
0x08001738 0x08001738 0x00000020 Data RO 624 Region$$Table anon$$obj.o
Execution Region RW_IRAM1 (Exec base: 0x20000000, Load base: 0x080013a4, Size: 0x000004b0, Max: 0x00005000, ABSOLUTE)
Execution Region RW_IRAM1 (Exec base: 0x20000000, Load base: 0x08001758, Size: 0x000004b8, Max: 0x00005000, ABSOLUTE)
Exec Addr Load Addr Size Type Attr Idx E Section Name Object
0x20000000 0x080013a4 0x00000024 Data RW 8 .data main.o
0x20000024 0x080013c8 0x00000010 Data RW 110 .data mytimer.o
0x20000034 0x080013d8 0x00000004 Data RW 293 .data mygirouette.o
0x20000038 0x080013dc 0x00000004 Data RW 366 .data batterie.o
0x2000003c 0x080013e0 0x00000010 Data RW 405 .data plateau.o
0x2000004c 0x080013f0 0x00000008 Data RW 455 .data telecommande.o
0x20000054 - 0x0000000c Zero RW 365 .bss batterie.o
0x20000060 - 0x00000018 Zero RW 404 .bss plateau.o
0x20000078 - 0x00000034 Zero RW 454 .bss telecommande.o
0x200000ac 0x080013f8 0x00000004 PAD
0x200000b0 - 0x00000400 Zero RW 501 STACK startup_stm32f10x_md.o
0x20000000 0x08001758 0x0000002c Data RW 8 .data main.o
0x2000002c 0x08001784 0x00000010 Data RW 113 .data mytimer.o
0x2000003c 0x08001794 0x00000004 Data RW 296 .data mygirouette.o
0x20000040 0x08001798 0x00000010 Data RW 371 .data plateau.o
0x20000050 0x080017a8 0x00000004 Data RW 418 .data batterie.o
0x20000054 0x080017ac 0x00000008 Data RW 458 .data telecommande.o
0x2000005c 0x080017b4 0x00000004 Data RW 565 .data Lib_Com_Periph_2022.lib(myspi.o)
0x20000060 - 0x00000018 Zero RW 370 .bss plateau.o
0x20000078 - 0x0000000c Zero RW 417 .bss batterie.o
0x20000084 - 0x00000034 Zero RW 457 .bss telecommande.o
0x200000b8 - 0x00000400 Zero RW 504 STACK startup_stm32f10x_md.o
==============================================================================
@ -606,27 +641,28 @@ Image component sizes
Code (inc. data) RO Data RW Data ZI Data Debug Object Name
80 12 0 4 12 1168 batterie.o
206 14 0 0 0 1894 driver_gpio.o
376 102 8 36 0 209131 main.o
120 22 0 0 0 1308 myadc.o
186 14 36 4 0 1652 mygirouette.o
1028 82 0 16 0 7710 mytimer.o
276 34 8 0 0 975 myvoile.o
220 42 0 16 24 2781 plateau.o
36 8 236 0 1024 808 startup_stm32f10x_md.o
328 28 0 0 0 1973 system_stm32f10x.o
292 54 0 8 52 3318 telecommande.o
80 12 0 4 12 1108 batterie.o
206 14 0 0 0 1822 driver_gpio.o
452 114 8 44 0 209146 main.o
120 22 0 0 0 1248 myadc.o
298 32 36 4 0 1612 mygirouette.o
1028 82 0 16 0 7434 mytimer.o
276 34 8 0 0 935 myvoile.o
224 46 0 16 24 2673 plateau.o
36 8 236 0 1024 792 startup_stm32f10x_md.o
328 28 0 0 0 1901 system_stm32f10x.o
292 54 0 8 52 3186 telecommande.o
----------------------------------------------------------------------
3156 412 320 84 1116 232718 Object Totals
3348 446 320 92 1112 231857 Object Totals
0 0 32 0 0 0 (incl. Generated)
8 0 0 0 4 0 (incl. Padding)
8 0 0 0 0 0 (incl. Padding)
----------------------------------------------------------------------
Code (inc. data) RO Data RW Data ZI Data Debug Library Member Name
756 80 0 4 0 348 myspi.o
0 0 0 0 0 0 entry.o
0 0 0 0 0 0 entry10a.o
0 0 0 0 0 0 entry11a.o
@ -655,18 +691,19 @@ Image component sizes
100 0 0 0 0 76 fmul.o
----------------------------------------------------------------------
1552 16 0 0 0 1404 Library Totals
2308 96 0 4 0 1752 Library Totals
4 0 0 0 0 0 (incl. Padding)
----------------------------------------------------------------------
Code (inc. data) RO Data RW Data ZI Data Debug Library Name
756 80 0 4 0 348 Lib_Com_Periph_2022.lib
188 16 0 0 0 272 mc_w.l
1360 0 0 0 0 1132 mf_w.l
----------------------------------------------------------------------
1552 16 0 0 0 1404 Library Totals
2308 96 0 4 0 1752 Library Totals
----------------------------------------------------------------------
@ -675,15 +712,15 @@ Image component sizes
Code (inc. data) RO Data RW Data ZI Data Debug
4708 428 320 84 1116 231674 Grand Totals
4708 428 320 84 1116 231674 ELF Image Totals
4708 428 320 84 0 0 ROM Totals
5656 542 320 96 1112 230901 Grand Totals
5656 542 320 96 1112 230901 ELF Image Totals
5656 542 320 96 0 0 ROM Totals
==============================================================================
Total RO Size (Code + RO Data) 5028 ( 4.91kB)
Total RW Size (RW Data + ZI Data) 1200 ( 1.17kB)
Total ROM Size (Code + RO Data + RW Data) 5112 ( 4.99kB)
Total RO Size (Code + RO Data) 5976 ( 5.84kB)
Total RW Size (RW Data + ZI Data) 1208 ( 1.18kB)
Total ROM Size (Code + RO Data + RW Data) 6072 ( 5.93kB)
==============================================================================

View file

@ -1,121 +1,123 @@
Dependencies for Project 'Projet1', Target 'Réel': (DO NOT MODIFY !)
CompilerVersion: 5060960::V5.06 update 7 (build 960)::.\ARMCC
F (.\Sources\main.c)(0x6380E187)(-c --cpu Cortex-M3 -D__EVAL -D__MICROLIB -g -O0 --apcs=interwork --split_sections -I .\FileInclude -I.\RTE\Device\STM32F103RB -I.\RTE\_R_el -IC:\Programdata\Keil\Arm\Packs\ARM\CMSIS\5.7.0\CMSIS\Core\Include -IC:\Programdata\Keil\Arm\Packs\Keil\STM32F1xx_DFP\2.3.0\Device\Include -D__UVISION_VERSION="534" -D_RTE_ -DSTM32F10X_MD -D_RTE_ -o .\objects\main.o --omf_browse .\objects\main.crf --depend .\objects\main.d)
F (.\Sources\main.c)(0x6380FB44)(-c --cpu Cortex-M3 -D__EVAL -D__MICROLIB -g -O0 --apcs=interwork --split_sections -I .\FileInclude -I.\RTE\Device\STM32F103RB -I.\RTE\_R_el -IC:\Programdata\Keil\Arm\Packs\ARM\CMSIS\5.7.0\CMSIS\Core\Include -IC:\Programdata\Keil\Arm\Packs\Keil\STM32F1xx_DFP\2.3.0\Device\Include -D__UVISION_VERSION="534" -D_RTE_ -DSTM32F10X_MD -D_RTE_ -o .\objects\main.o --omf_browse .\objects\main.crf --depend .\objects\main.d)
I (C:\Programdata\Keil\Arm\Packs\Keil\STM32F1xx_DFP\2.3.0\Device\Include\stm32f10x.h)(0x58258CCC)
I (.\RTE\_R_el\RTE_Components.h)(0x6380DAE5)
I (.\RTE\_R_el\RTE_Components.h)(0x6380E338)
I (C:\Programdata\Keil\Arm\Packs\ARM\CMSIS\5.7.0\CMSIS\Core\Include\core_cm3.h)(0x5E8F2582)
I (C:\Keil_v5\ARM\ARMCC\include\stdint.h)(0x5E8E9122)
I (C:\Programdata\Keil\Arm\Packs\ARM\CMSIS\5.7.0\CMSIS\Core\Include\cmsis_version.h)(0x5E8F2582)
I (C:\Programdata\Keil\Arm\Packs\ARM\CMSIS\5.7.0\CMSIS\Core\Include\cmsis_compiler.h)(0x5E835B22)
I (C:\Programdata\Keil\Arm\Packs\ARM\CMSIS\5.7.0\CMSIS\Core\Include\cmsis_armcc.h)(0x5E8F2582)
I (C:\Programdata\Keil\Arm\Packs\Keil\STM32F1xx_DFP\2.3.0\Device\Include\system_stm32f10x.h)(0x58258CCC)
I (.\FileInclude\Driver_GPIO.h)(0x6380DAE4)
I (.\FileInclude\MyTimer.h)(0x6380DAE4)
I (.\FileInclude\MyADC.h)(0x6380DAE4)
I (.\FileInclude\Plateau.h)(0x6380DAE4)
I (.\FileInclude\Telecommande.h)(0x6380DAE4)
I (.\FileInclude\Batterie.h)(0x6380DAE4)
I (.\FileInclude\MyGirouette.h)(0x6380DAE4)
I (.\FileInclude\MyVoile.h)(0x6380DAE4)
F (.\FileInclude\MyTimer.c)(0x6380DAE4)(-c --cpu Cortex-M3 -D__EVAL -D__MICROLIB -g -O0 --apcs=interwork --split_sections -I .\FileInclude -I.\RTE\Device\STM32F103RB -I.\RTE\_R_el -IC:\Programdata\Keil\Arm\Packs\ARM\CMSIS\5.7.0\CMSIS\Core\Include -IC:\Programdata\Keil\Arm\Packs\Keil\STM32F1xx_DFP\2.3.0\Device\Include -D__UVISION_VERSION="534" -D_RTE_ -DSTM32F10X_MD -D_RTE_ -o .\objects\mytimer.o --omf_browse .\objects\mytimer.crf --depend .\objects\mytimer.d)
I (FileInclude\MyTimer.h)(0x6380DAE4)
I (.\FileInclude\Driver_GPIO.h)(0x6380E338)
I (.\FileInclude\MyTimer.h)(0x6380E338)
I (.\FileInclude\MyADC.h)(0x6380E338)
I (.\FileInclude\Plateau.h)(0x6380E338)
I (.\FileInclude\Telecommande.h)(0x6380E338)
I (.\FileInclude\Batterie.h)(0x6380E338)
I (.\FileInclude\MyGirouette.h)(0x63727F20)
I (.\FileInclude\MyVoile.h)(0x63727F20)
I (.\FileInclude\MySPI.h)(0x634E5AE0)
F (.\FileInclude\MyTimer.c)(0x6380E338)(-c --cpu Cortex-M3 -D__EVAL -D__MICROLIB -g -O0 --apcs=interwork --split_sections -I .\FileInclude -I.\RTE\Device\STM32F103RB -I.\RTE\_R_el -IC:\Programdata\Keil\Arm\Packs\ARM\CMSIS\5.7.0\CMSIS\Core\Include -IC:\Programdata\Keil\Arm\Packs\Keil\STM32F1xx_DFP\2.3.0\Device\Include -D__UVISION_VERSION="534" -D_RTE_ -DSTM32F10X_MD -D_RTE_ -o .\objects\mytimer.o --omf_browse .\objects\mytimer.crf --depend .\objects\mytimer.d)
I (FileInclude\MyTimer.h)(0x6380E338)
I (C:\Programdata\Keil\Arm\Packs\Keil\STM32F1xx_DFP\2.3.0\Device\Include\stm32f10x.h)(0x58258CCC)
I (.\RTE\_R_el\RTE_Components.h)(0x6380DAE5)
I (.\RTE\_R_el\RTE_Components.h)(0x6380E338)
I (C:\Programdata\Keil\Arm\Packs\ARM\CMSIS\5.7.0\CMSIS\Core\Include\core_cm3.h)(0x5E8F2582)
I (C:\Keil_v5\ARM\ARMCC\include\stdint.h)(0x5E8E9122)
I (C:\Programdata\Keil\Arm\Packs\ARM\CMSIS\5.7.0\CMSIS\Core\Include\cmsis_version.h)(0x5E8F2582)
I (C:\Programdata\Keil\Arm\Packs\ARM\CMSIS\5.7.0\CMSIS\Core\Include\cmsis_compiler.h)(0x5E835B22)
I (C:\Programdata\Keil\Arm\Packs\ARM\CMSIS\5.7.0\CMSIS\Core\Include\cmsis_armcc.h)(0x5E8F2582)
I (C:\Programdata\Keil\Arm\Packs\Keil\STM32F1xx_DFP\2.3.0\Device\Include\system_stm32f10x.h)(0x58258CCC)
I (FileInclude\Driver_GPIO.h)(0x6380DAE4)
F (.\FileInclude\MyADC.c)(0x6380DAE4)(-c --cpu Cortex-M3 -D__EVAL -D__MICROLIB -g -O0 --apcs=interwork --split_sections -I .\FileInclude -I.\RTE\Device\STM32F103RB -I.\RTE\_R_el -IC:\Programdata\Keil\Arm\Packs\ARM\CMSIS\5.7.0\CMSIS\Core\Include -IC:\Programdata\Keil\Arm\Packs\Keil\STM32F1xx_DFP\2.3.0\Device\Include -D__UVISION_VERSION="534" -D_RTE_ -DSTM32F10X_MD -D_RTE_ -o .\objects\myadc.o --omf_browse .\objects\myadc.crf --depend .\objects\myadc.d)
I (FileInclude\MyADC.h)(0x6380DAE4)
I (FileInclude\Driver_GPIO.h)(0x6380E338)
F (.\FileInclude\MyADC.c)(0x6380E338)(-c --cpu Cortex-M3 -D__EVAL -D__MICROLIB -g -O0 --apcs=interwork --split_sections -I .\FileInclude -I.\RTE\Device\STM32F103RB -I.\RTE\_R_el -IC:\Programdata\Keil\Arm\Packs\ARM\CMSIS\5.7.0\CMSIS\Core\Include -IC:\Programdata\Keil\Arm\Packs\Keil\STM32F1xx_DFP\2.3.0\Device\Include -D__UVISION_VERSION="534" -D_RTE_ -DSTM32F10X_MD -D_RTE_ -o .\objects\myadc.o --omf_browse .\objects\myadc.crf --depend .\objects\myadc.d)
I (FileInclude\MyADC.h)(0x6380E338)
I (C:\Programdata\Keil\Arm\Packs\Keil\STM32F1xx_DFP\2.3.0\Device\Include\stm32f10x.h)(0x58258CCC)
I (.\RTE\_R_el\RTE_Components.h)(0x6380DAE5)
I (.\RTE\_R_el\RTE_Components.h)(0x6380E338)
I (C:\Programdata\Keil\Arm\Packs\ARM\CMSIS\5.7.0\CMSIS\Core\Include\core_cm3.h)(0x5E8F2582)
I (C:\Keil_v5\ARM\ARMCC\include\stdint.h)(0x5E8E9122)
I (C:\Programdata\Keil\Arm\Packs\ARM\CMSIS\5.7.0\CMSIS\Core\Include\cmsis_version.h)(0x5E8F2582)
I (C:\Programdata\Keil\Arm\Packs\ARM\CMSIS\5.7.0\CMSIS\Core\Include\cmsis_compiler.h)(0x5E835B22)
I (C:\Programdata\Keil\Arm\Packs\ARM\CMSIS\5.7.0\CMSIS\Core\Include\cmsis_armcc.h)(0x5E8F2582)
I (C:\Programdata\Keil\Arm\Packs\Keil\STM32F1xx_DFP\2.3.0\Device\Include\system_stm32f10x.h)(0x58258CCC)
I (FileInclude\MyTimer.h)(0x6380DAE4)
I (FileInclude\Driver_GPIO.h)(0x6380DAE4)
F (.\FileInclude\Driver_GPIO.c)(0x6380DAE4)(-c --cpu Cortex-M3 -D__EVAL -D__MICROLIB -g -O0 --apcs=interwork --split_sections -I .\FileInclude -I.\RTE\Device\STM32F103RB -I.\RTE\_R_el -IC:\Programdata\Keil\Arm\Packs\ARM\CMSIS\5.7.0\CMSIS\Core\Include -IC:\Programdata\Keil\Arm\Packs\Keil\STM32F1xx_DFP\2.3.0\Device\Include -D__UVISION_VERSION="534" -D_RTE_ -DSTM32F10X_MD -D_RTE_ -o .\objects\driver_gpio.o --omf_browse .\objects\driver_gpio.crf --depend .\objects\driver_gpio.d)
I (FileInclude\Driver_GPIO.h)(0x6380DAE4)
I (FileInclude\MyTimer.h)(0x6380E338)
I (FileInclude\Driver_GPIO.h)(0x6380E338)
F (.\FileInclude\Driver_GPIO.c)(0x6380E338)(-c --cpu Cortex-M3 -D__EVAL -D__MICROLIB -g -O0 --apcs=interwork --split_sections -I .\FileInclude -I.\RTE\Device\STM32F103RB -I.\RTE\_R_el -IC:\Programdata\Keil\Arm\Packs\ARM\CMSIS\5.7.0\CMSIS\Core\Include -IC:\Programdata\Keil\Arm\Packs\Keil\STM32F1xx_DFP\2.3.0\Device\Include -D__UVISION_VERSION="534" -D_RTE_ -DSTM32F10X_MD -D_RTE_ -o .\objects\driver_gpio.o --omf_browse .\objects\driver_gpio.crf --depend .\objects\driver_gpio.d)
I (FileInclude\Driver_GPIO.h)(0x6380E338)
I (C:\Programdata\Keil\Arm\Packs\Keil\STM32F1xx_DFP\2.3.0\Device\Include\stm32f10x.h)(0x58258CCC)
I (.\RTE\_R_el\RTE_Components.h)(0x6380DAE5)
I (.\RTE\_R_el\RTE_Components.h)(0x6380E338)
I (C:\Programdata\Keil\Arm\Packs\ARM\CMSIS\5.7.0\CMSIS\Core\Include\core_cm3.h)(0x5E8F2582)
I (C:\Keil_v5\ARM\ARMCC\include\stdint.h)(0x5E8E9122)
I (C:\Programdata\Keil\Arm\Packs\ARM\CMSIS\5.7.0\CMSIS\Core\Include\cmsis_version.h)(0x5E8F2582)
I (C:\Programdata\Keil\Arm\Packs\ARM\CMSIS\5.7.0\CMSIS\Core\Include\cmsis_compiler.h)(0x5E835B22)
I (C:\Programdata\Keil\Arm\Packs\ARM\CMSIS\5.7.0\CMSIS\Core\Include\cmsis_armcc.h)(0x5E8F2582)
I (C:\Programdata\Keil\Arm\Packs\Keil\STM32F1xx_DFP\2.3.0\Device\Include\system_stm32f10x.h)(0x58258CCC)
F (.\FileInclude\MyGirouette.c)(0x6380DAE4)(-c --cpu Cortex-M3 -D__EVAL -D__MICROLIB -g -O0 --apcs=interwork --split_sections -I .\FileInclude -I.\RTE\Device\STM32F103RB -I.\RTE\_R_el -IC:\Programdata\Keil\Arm\Packs\ARM\CMSIS\5.7.0\CMSIS\Core\Include -IC:\Programdata\Keil\Arm\Packs\Keil\STM32F1xx_DFP\2.3.0\Device\Include -D__UVISION_VERSION="534" -D_RTE_ -DSTM32F10X_MD -D_RTE_ -o .\objects\mygirouette.o --omf_browse .\objects\mygirouette.crf --depend .\objects\mygirouette.d)
I (FileInclude\MyGirouette.h)(0x6380DAE4)
F (.\FileInclude\MyGirouette.c)(0x6380E338)(-c --cpu Cortex-M3 -D__EVAL -D__MICROLIB -g -O0 --apcs=interwork --split_sections -I .\FileInclude -I.\RTE\Device\STM32F103RB -I.\RTE\_R_el -IC:\Programdata\Keil\Arm\Packs\ARM\CMSIS\5.7.0\CMSIS\Core\Include -IC:\Programdata\Keil\Arm\Packs\Keil\STM32F1xx_DFP\2.3.0\Device\Include -D__UVISION_VERSION="534" -D_RTE_ -DSTM32F10X_MD -D_RTE_ -o .\objects\mygirouette.o --omf_browse .\objects\mygirouette.crf --depend .\objects\mygirouette.d)
I (FileInclude\MyGirouette.h)(0x63727F20)
I (C:\Programdata\Keil\Arm\Packs\Keil\STM32F1xx_DFP\2.3.0\Device\Include\stm32f10x.h)(0x58258CCC)
I (.\RTE\_R_el\RTE_Components.h)(0x6380DAE5)
I (.\RTE\_R_el\RTE_Components.h)(0x6380E338)
I (C:\Programdata\Keil\Arm\Packs\ARM\CMSIS\5.7.0\CMSIS\Core\Include\core_cm3.h)(0x5E8F2582)
I (C:\Keil_v5\ARM\ARMCC\include\stdint.h)(0x5E8E9122)
I (C:\Programdata\Keil\Arm\Packs\ARM\CMSIS\5.7.0\CMSIS\Core\Include\cmsis_version.h)(0x5E8F2582)
I (C:\Programdata\Keil\Arm\Packs\ARM\CMSIS\5.7.0\CMSIS\Core\Include\cmsis_compiler.h)(0x5E835B22)
I (C:\Programdata\Keil\Arm\Packs\ARM\CMSIS\5.7.0\CMSIS\Core\Include\cmsis_armcc.h)(0x5E8F2582)
I (C:\Programdata\Keil\Arm\Packs\Keil\STM32F1xx_DFP\2.3.0\Device\Include\system_stm32f10x.h)(0x58258CCC)
I (FileInclude\Driver_GPIO.h)(0x6380DAE4)
I (FileInclude\MyTimer.h)(0x6380DAE4)
F (.\MyVoile.c)(0x6380DAE4)(-c --cpu Cortex-M3 -D__EVAL -D__MICROLIB -g -O0 --apcs=interwork --split_sections -I .\FileInclude -I.\RTE\Device\STM32F103RB -I.\RTE\_R_el -IC:\Programdata\Keil\Arm\Packs\ARM\CMSIS\5.7.0\CMSIS\Core\Include -IC:\Programdata\Keil\Arm\Packs\Keil\STM32F1xx_DFP\2.3.0\Device\Include -D__UVISION_VERSION="534" -D_RTE_ -DSTM32F10X_MD -D_RTE_ -o .\objects\myvoile.o --omf_browse .\objects\myvoile.crf --depend .\objects\myvoile.d)
I (.\FileInclude\MyVoile.h)(0x6380DAE4)
I (FileInclude\Driver_GPIO.h)(0x6380E338)
I (FileInclude\MyTimer.h)(0x6380E338)
F (.\MyVoile.c)(0x63727F20)(-c --cpu Cortex-M3 -D__EVAL -D__MICROLIB -g -O0 --apcs=interwork --split_sections -I .\FileInclude -I.\RTE\Device\STM32F103RB -I.\RTE\_R_el -IC:\Programdata\Keil\Arm\Packs\ARM\CMSIS\5.7.0\CMSIS\Core\Include -IC:\Programdata\Keil\Arm\Packs\Keil\STM32F1xx_DFP\2.3.0\Device\Include -D__UVISION_VERSION="534" -D_RTE_ -DSTM32F10X_MD -D_RTE_ -o .\objects\myvoile.o --omf_browse .\objects\myvoile.crf --depend .\objects\myvoile.d)
I (.\FileInclude\MyVoile.h)(0x63727F20)
I (C:\Programdata\Keil\Arm\Packs\Keil\STM32F1xx_DFP\2.3.0\Device\Include\stm32f10x.h)(0x58258CCC)
I (.\RTE\_R_el\RTE_Components.h)(0x6380DAE5)
I (.\RTE\_R_el\RTE_Components.h)(0x6380E338)
I (C:\Programdata\Keil\Arm\Packs\ARM\CMSIS\5.7.0\CMSIS\Core\Include\core_cm3.h)(0x5E8F2582)
I (C:\Keil_v5\ARM\ARMCC\include\stdint.h)(0x5E8E9122)
I (C:\Programdata\Keil\Arm\Packs\ARM\CMSIS\5.7.0\CMSIS\Core\Include\cmsis_version.h)(0x5E8F2582)
I (C:\Programdata\Keil\Arm\Packs\ARM\CMSIS\5.7.0\CMSIS\Core\Include\cmsis_compiler.h)(0x5E835B22)
I (C:\Programdata\Keil\Arm\Packs\ARM\CMSIS\5.7.0\CMSIS\Core\Include\cmsis_armcc.h)(0x5E8F2582)
I (C:\Programdata\Keil\Arm\Packs\Keil\STM32F1xx_DFP\2.3.0\Device\Include\system_stm32f10x.h)(0x58258CCC)
I (.\FileInclude\MyTimer.h)(0x6380DAE4)
F (.\FileInclude\Batterie.c)(0x6380DAE4)(-c --cpu Cortex-M3 -D__EVAL -D__MICROLIB -g -O0 --apcs=interwork --split_sections -I .\FileInclude -I.\RTE\Device\STM32F103RB -I.\RTE\_R_el -IC:\Programdata\Keil\Arm\Packs\ARM\CMSIS\5.7.0\CMSIS\Core\Include -IC:\Programdata\Keil\Arm\Packs\Keil\STM32F1xx_DFP\2.3.0\Device\Include -D__UVISION_VERSION="534" -D_RTE_ -DSTM32F10X_MD -D_RTE_ -o .\objects\batterie.o --omf_browse .\objects\batterie.crf --depend .\objects\batterie.d)
I (FileInclude\Batterie.h)(0x6380DAE4)
I (.\FileInclude\MyTimer.h)(0x6380E338)
F (.\FileInclude\Plateau.c)(0x6380F4FF)(-c --cpu Cortex-M3 -D__EVAL -D__MICROLIB -g -O0 --apcs=interwork --split_sections -I .\FileInclude -I.\RTE\Device\STM32F103RB -I.\RTE\_R_el -IC:\Programdata\Keil\Arm\Packs\ARM\CMSIS\5.7.0\CMSIS\Core\Include -IC:\Programdata\Keil\Arm\Packs\Keil\STM32F1xx_DFP\2.3.0\Device\Include -D__UVISION_VERSION="534" -D_RTE_ -DSTM32F10X_MD -D_RTE_ -o .\objects\plateau.o --omf_browse .\objects\plateau.crf --depend .\objects\plateau.d)
I (FileInclude\MyTimer.h)(0x6380E338)
I (C:\Programdata\Keil\Arm\Packs\Keil\STM32F1xx_DFP\2.3.0\Device\Include\stm32f10x.h)(0x58258CCC)
I (.\RTE\_R_el\RTE_Components.h)(0x6380DAE5)
I (.\RTE\_R_el\RTE_Components.h)(0x6380E338)
I (C:\Programdata\Keil\Arm\Packs\ARM\CMSIS\5.7.0\CMSIS\Core\Include\core_cm3.h)(0x5E8F2582)
I (C:\Keil_v5\ARM\ARMCC\include\stdint.h)(0x5E8E9122)
I (C:\Programdata\Keil\Arm\Packs\ARM\CMSIS\5.7.0\CMSIS\Core\Include\cmsis_version.h)(0x5E8F2582)
I (C:\Programdata\Keil\Arm\Packs\ARM\CMSIS\5.7.0\CMSIS\Core\Include\cmsis_compiler.h)(0x5E835B22)
I (C:\Programdata\Keil\Arm\Packs\ARM\CMSIS\5.7.0\CMSIS\Core\Include\cmsis_armcc.h)(0x5E8F2582)
I (C:\Programdata\Keil\Arm\Packs\Keil\STM32F1xx_DFP\2.3.0\Device\Include\system_stm32f10x.h)(0x58258CCC)
I (FileInclude\MyADC.h)(0x6380DAE4)
I (FileInclude\MyTimer.h)(0x6380DAE4)
I (FileInclude\Driver_GPIO.h)(0x6380DAE4)
F (.\FileInclude\Plateau.c)(0x6380E0B0)(-c --cpu Cortex-M3 -D__EVAL -D__MICROLIB -g -O0 --apcs=interwork --split_sections -I .\FileInclude -I.\RTE\Device\STM32F103RB -I.\RTE\_R_el -IC:\Programdata\Keil\Arm\Packs\ARM\CMSIS\5.7.0\CMSIS\Core\Include -IC:\Programdata\Keil\Arm\Packs\Keil\STM32F1xx_DFP\2.3.0\Device\Include -D__UVISION_VERSION="534" -D_RTE_ -DSTM32F10X_MD -D_RTE_ -o .\objects\plateau.o --omf_browse .\objects\plateau.crf --depend .\objects\plateau.d)
I (FileInclude\MyTimer.h)(0x6380DAE4)
I (FileInclude\Driver_GPIO.h)(0x6380E338)
I (FileInclude\Plateau.h)(0x6380E338)
F (.\FileInclude\Batterie.c)(0x6380E338)(-c --cpu Cortex-M3 -D__EVAL -D__MICROLIB -g -O0 --apcs=interwork --split_sections -I .\FileInclude -I.\RTE\Device\STM32F103RB -I.\RTE\_R_el -IC:\Programdata\Keil\Arm\Packs\ARM\CMSIS\5.7.0\CMSIS\Core\Include -IC:\Programdata\Keil\Arm\Packs\Keil\STM32F1xx_DFP\2.3.0\Device\Include -D__UVISION_VERSION="534" -D_RTE_ -DSTM32F10X_MD -D_RTE_ -o .\objects\batterie.o --omf_browse .\objects\batterie.crf --depend .\objects\batterie.d)
I (FileInclude\Batterie.h)(0x6380E338)
I (C:\Programdata\Keil\Arm\Packs\Keil\STM32F1xx_DFP\2.3.0\Device\Include\stm32f10x.h)(0x58258CCC)
I (.\RTE\_R_el\RTE_Components.h)(0x6380DAE5)
I (.\RTE\_R_el\RTE_Components.h)(0x6380E338)
I (C:\Programdata\Keil\Arm\Packs\ARM\CMSIS\5.7.0\CMSIS\Core\Include\core_cm3.h)(0x5E8F2582)
I (C:\Keil_v5\ARM\ARMCC\include\stdint.h)(0x5E8E9122)
I (C:\Programdata\Keil\Arm\Packs\ARM\CMSIS\5.7.0\CMSIS\Core\Include\cmsis_version.h)(0x5E8F2582)
I (C:\Programdata\Keil\Arm\Packs\ARM\CMSIS\5.7.0\CMSIS\Core\Include\cmsis_compiler.h)(0x5E835B22)
I (C:\Programdata\Keil\Arm\Packs\ARM\CMSIS\5.7.0\CMSIS\Core\Include\cmsis_armcc.h)(0x5E8F2582)
I (C:\Programdata\Keil\Arm\Packs\Keil\STM32F1xx_DFP\2.3.0\Device\Include\system_stm32f10x.h)(0x58258CCC)
I (FileInclude\Driver_GPIO.h)(0x6380DAE4)
I (FileInclude\Plateau.h)(0x6380DAE4)
F (.\FileInclude\Telecommande.c)(0x6380DAE4)(-c --cpu Cortex-M3 -D__EVAL -D__MICROLIB -g -O0 --apcs=interwork --split_sections -I .\FileInclude -I.\RTE\Device\STM32F103RB -I.\RTE\_R_el -IC:\Programdata\Keil\Arm\Packs\ARM\CMSIS\5.7.0\CMSIS\Core\Include -IC:\Programdata\Keil\Arm\Packs\Keil\STM32F1xx_DFP\2.3.0\Device\Include -D__UVISION_VERSION="534" -D_RTE_ -DSTM32F10X_MD -D_RTE_ -o .\objects\telecommande.o --omf_browse .\objects\telecommande.crf --depend .\objects\telecommande.d)
I (FileInclude\MyTimer.h)(0x6380DAE4)
I (FileInclude\MyADC.h)(0x6380E338)
I (FileInclude\MyTimer.h)(0x6380E338)
I (FileInclude\Driver_GPIO.h)(0x6380E338)
F (.\FileInclude\Telecommande.c)(0x6380E338)(-c --cpu Cortex-M3 -D__EVAL -D__MICROLIB -g -O0 --apcs=interwork --split_sections -I .\FileInclude -I.\RTE\Device\STM32F103RB -I.\RTE\_R_el -IC:\Programdata\Keil\Arm\Packs\ARM\CMSIS\5.7.0\CMSIS\Core\Include -IC:\Programdata\Keil\Arm\Packs\Keil\STM32F1xx_DFP\2.3.0\Device\Include -D__UVISION_VERSION="534" -D_RTE_ -DSTM32F10X_MD -D_RTE_ -o .\objects\telecommande.o --omf_browse .\objects\telecommande.crf --depend .\objects\telecommande.d)
I (FileInclude\MyTimer.h)(0x6380E338)
I (C:\Programdata\Keil\Arm\Packs\Keil\STM32F1xx_DFP\2.3.0\Device\Include\stm32f10x.h)(0x58258CCC)
I (.\RTE\_R_el\RTE_Components.h)(0x6380DAE5)
I (.\RTE\_R_el\RTE_Components.h)(0x6380E338)
I (C:\Programdata\Keil\Arm\Packs\ARM\CMSIS\5.7.0\CMSIS\Core\Include\core_cm3.h)(0x5E8F2582)
I (C:\Keil_v5\ARM\ARMCC\include\stdint.h)(0x5E8E9122)
I (C:\Programdata\Keil\Arm\Packs\ARM\CMSIS\5.7.0\CMSIS\Core\Include\cmsis_version.h)(0x5E8F2582)
I (C:\Programdata\Keil\Arm\Packs\ARM\CMSIS\5.7.0\CMSIS\Core\Include\cmsis_compiler.h)(0x5E835B22)
I (C:\Programdata\Keil\Arm\Packs\ARM\CMSIS\5.7.0\CMSIS\Core\Include\cmsis_armcc.h)(0x5E8F2582)
I (C:\Programdata\Keil\Arm\Packs\Keil\STM32F1xx_DFP\2.3.0\Device\Include\system_stm32f10x.h)(0x58258CCC)
I (FileInclude\Driver_GPIO.h)(0x6380DAE4)
I (FileInclude\Plateau.h)(0x6380DAE4)
I (FileInclude\Telecommande.h)(0x6380DAE4)
F (RTE\Device\STM32F103RB\RTE_Device.h)(0x6380DAE5)()
F (RTE\Device\STM32F103RB\startup_stm32f10x_md.s)(0x6380DAE5)(--cpu Cortex-M3 --pd "__EVAL SETA 1" -g --apcs=interwork --pd "__MICROLIB SETA 1" -I.\RTE\Device\STM32F103RB -I.\RTE\_R_el -IC:\Programdata\Keil\Arm\Packs\ARM\CMSIS\5.7.0\CMSIS\Core\Include -IC:\Programdata\Keil\Arm\Packs\Keil\STM32F1xx_DFP\2.3.0\Device\Include --pd "__UVISION_VERSION SETA 534" --pd "_RTE_ SETA 1" --pd "STM32F10X_MD SETA 1" --pd "_RTE_ SETA 1" --list .\listings\startup_stm32f10x_md.lst --xref -o .\objects\startup_stm32f10x_md.o --depend .\objects\startup_stm32f10x_md.d)
F (RTE\Device\STM32F103RB\system_stm32f10x.c)(0x6380DAE5)(-c --cpu Cortex-M3 -D__EVAL -D__MICROLIB -g -O0 --apcs=interwork --split_sections -I .\FileInclude -I.\RTE\Device\STM32F103RB -I.\RTE\_R_el -IC:\Programdata\Keil\Arm\Packs\ARM\CMSIS\5.7.0\CMSIS\Core\Include -IC:\Programdata\Keil\Arm\Packs\Keil\STM32F1xx_DFP\2.3.0\Device\Include -D__UVISION_VERSION="534" -D_RTE_ -DSTM32F10X_MD -D_RTE_ -o .\objects\system_stm32f10x.o --omf_browse .\objects\system_stm32f10x.crf --depend .\objects\system_stm32f10x.d)
I (FileInclude\Driver_GPIO.h)(0x6380E338)
I (FileInclude\Plateau.h)(0x6380E338)
I (FileInclude\Telecommande.h)(0x6380E338)
F (.\FileInclude\Lib_Com_Periph_2022.lib)(0x634E68C6)()
F (RTE\Device\STM32F103RB\RTE_Device.h)(0x6380E338)()
F (RTE\Device\STM32F103RB\startup_stm32f10x_md.s)(0x6380E338)(--cpu Cortex-M3 --pd "__EVAL SETA 1" -g --apcs=interwork --pd "__MICROLIB SETA 1" -I.\RTE\Device\STM32F103RB -I.\RTE\_R_el -IC:\Programdata\Keil\Arm\Packs\ARM\CMSIS\5.7.0\CMSIS\Core\Include -IC:\Programdata\Keil\Arm\Packs\Keil\STM32F1xx_DFP\2.3.0\Device\Include --pd "__UVISION_VERSION SETA 534" --pd "_RTE_ SETA 1" --pd "STM32F10X_MD SETA 1" --pd "_RTE_ SETA 1" --list .\listings\startup_stm32f10x_md.lst --xref -o .\objects\startup_stm32f10x_md.o --depend .\objects\startup_stm32f10x_md.d)
F (RTE\Device\STM32F103RB\system_stm32f10x.c)(0x63727F21)(-c --cpu Cortex-M3 -D__EVAL -D__MICROLIB -g -O0 --apcs=interwork --split_sections -I .\FileInclude -I.\RTE\Device\STM32F103RB -I.\RTE\_R_el -IC:\Programdata\Keil\Arm\Packs\ARM\CMSIS\5.7.0\CMSIS\Core\Include -IC:\Programdata\Keil\Arm\Packs\Keil\STM32F1xx_DFP\2.3.0\Device\Include -D__UVISION_VERSION="534" -D_RTE_ -DSTM32F10X_MD -D_RTE_ -o .\objects\system_stm32f10x.o --omf_browse .\objects\system_stm32f10x.crf --depend .\objects\system_stm32f10x.d)
I (C:\Programdata\Keil\Arm\Packs\Keil\STM32F1xx_DFP\2.3.0\Device\Include\stm32f10x.h)(0x58258CCC)
I (.\RTE\_R_el\RTE_Components.h)(0x6380DAE5)
I (.\RTE\_R_el\RTE_Components.h)(0x6380E338)
I (C:\Programdata\Keil\Arm\Packs\ARM\CMSIS\5.7.0\CMSIS\Core\Include\core_cm3.h)(0x5E8F2582)
I (C:\Keil_v5\ARM\ARMCC\include\stdint.h)(0x5E8E9122)
I (C:\Programdata\Keil\Arm\Packs\ARM\CMSIS\5.7.0\CMSIS\Core\Include\cmsis_version.h)(0x5E8F2582)

Binary file not shown.

View file

@ -21,7 +21,7 @@ Target DLL: STLink\ST-LINKIII-KEIL_SWO.dll V3.0.8.0
Dialog DLL: TARMSTM.DLL V1.66.0.0
<h2>Project:</h2>
U:\Documents\4ir\S1\Microcontroleur\TP_Voilier\Projet1.uvprojx
U:\Documents\4IR\TP_Voilier\Projet1.uvprojx
Project File Date: 11/25/2022
<h2>Output:</h2>
@ -30,20 +30,17 @@ Rebuild target 'R
compiling MyVoile.c...
compiling MyADC.c...
compiling Driver_GPIO.c...
compiling Batterie.c...
compiling main.c...
compiling MyGirouette.c...
FileInclude\MyGirouette.c(26): warning: #177-D: variable "GPIOB0" was declared but never referenced
MyGPIO_Struct_TypeDef GPIOB0={
FileInclude\MyGirouette.c: 1 warning, 0 errors
compiling MyTimer.c...
compiling MyGirouette.c...
compiling main.c...
compiling Plateau.c...
assembling startup_stm32f10x_md.s...
compiling Batterie.c...
compiling system_stm32f10x.c...
compiling Telecommande.c...
compiling Plateau.c...
linking...
Program Size: Code=4708 RO-data=320 RW-data=84 ZI-data=1116
".\Objects\Projet1_Simulation.axf" - 0 Error(s), 1 Warning(s).
Program Size: Code=5656 RO-data=320 RW-data=96 ZI-data=1112
".\Objects\Projet1_Simulation.axf" - 0 Error(s), 0 Warning(s).
<h2>Software Packages used:</h2>
@ -70,10 +67,10 @@ Package Vendor: Keil
* Component: ARM::CMSIS:CORE:5.4.0
* Component: Keil::Device:Startup:1.0.0
Source file: Device\Source\system_stm32f10x.c
Source file: Device\Source\ARM\STM32F1xx_OPT.s
Source file: Device\Source\ARM\startup_stm32f10x_md.s
Include file: RTE_Driver\Config\RTE_Device.h
Source file: Device\Source\ARM\STM32F1xx_OPT.s
Source file: Device\Source\system_stm32f10x.c
Build Time Elapsed: 00:00:02
</pre>
</body>

View file

@ -3,7 +3,7 @@
<title>Static Call Graph - [.\Objects\Projet1_Simulation.axf]</title></head>
<body><HR>
<H1>Static Call Graph for image .\Objects\Projet1_Simulation.axf</H1><HR>
<BR><P>#&#060CALLGRAPH&#062# ARM Linker, 5060960: Last Updated: Fri Nov 25 16:38:50 2022
<BR><P>#&#060CALLGRAPH&#062# ARM Linker, 5060960: Last Updated: Fri Nov 25 18:28:39 2022
<BR><P>
<H3>Maximum Stack Usage = 144 bytes + Unknown(Cycles, Untraceable Function Pointers)</H3><H3>
Call chain for Maximum Stack Depth:</H3>
@ -92,7 +92,7 @@ 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>
<P><STRONG><a name="[6c]"></a>_main_stk</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, entry2.o(.ARM.Collect$$$$00000001))
<P><STRONG><a name="[71]"></a>_main_stk</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, entry2.o(.ARM.Collect$$$$00000001))
<P><STRONG><a name="[3a]"></a>_main_scatterload</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, entry5.o(.ARM.Collect$$$$00000004))
<BR><BR>[Calls]<UL><LI><a href="#[3b]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__scatterload
@ -102,17 +102,17 @@ Global Symbols
<BR><BR>[Called By]<UL><LI><a href="#[3b]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__scatterload
</UL>
<P><STRONG><a name="[6d]"></a>_main_clock</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, entry7b.o(.ARM.Collect$$$$00000008))
<P><STRONG><a name="[72]"></a>_main_clock</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, entry7b.o(.ARM.Collect$$$$00000008))
<P><STRONG><a name="[6e]"></a>_main_cpp_init</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, entry8b.o(.ARM.Collect$$$$0000000A))
<P><STRONG><a name="[73]"></a>_main_cpp_init</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, entry8b.o(.ARM.Collect$$$$0000000A))
<P><STRONG><a name="[6f]"></a>_main_init</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, entry9a.o(.ARM.Collect$$$$0000000B))
<P><STRONG><a name="[74]"></a>_main_init</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, entry9a.o(.ARM.Collect$$$$0000000B))
<P><STRONG><a name="[70]"></a>__rt_lib_shutdown_fini</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, entry12b.o(.ARM.Collect$$$$0000000E))
<P><STRONG><a name="[75]"></a>__rt_lib_shutdown_fini</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, entry12b.o(.ARM.Collect$$$$0000000E))
<P><STRONG><a name="[71]"></a>__rt_final_cpp</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, entry10a.o(.ARM.Collect$$$$0000000F))
<P><STRONG><a name="[76]"></a>__rt_final_cpp</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, entry10a.o(.ARM.Collect$$$$0000000F))
<P><STRONG><a name="[72]"></a>__rt_final_exit</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, entry11a.o(.ARM.Collect$$$$00000011))
<P><STRONG><a name="[77]"></a>__rt_final_exit</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, entry11a.o(.ARM.Collect$$$$00000011))
<P><STRONG><a name="[0]"></a>Reset_Handler</STRONG> (Thumb, 8 bytes, Stack size 0 bytes, startup_stm32f10x_md.o(.text))
<BR>[Address Reference Count : 1]<UL><LI> startup_stm32f10x_md.o(RESET)
@ -295,10 +295,10 @@ 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="[66]"></a>__aeabi_fmul</STRONG> (Thumb, 100 bytes, Stack size 8 bytes, fmul.o(.text))
<P><STRONG><a name="[68]"></a>__aeabi_fmul</STRONG> (Thumb, 100 bytes, Stack size 8 bytes, fmul.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 8<LI>Call Chain = __aeabi_fmul
</UL>
<BR>[Called By]<UL><LI><a href="#[63]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Set_Voile
<BR>[Called By]<UL><LI><a href="#[65]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Set_Voile
</UL>
<P><STRONG><a name="[3c]"></a>__aeabi_dadd</STRONG> (Thumb, 322 bytes, Stack size 48 bytes, dadd.o(.text))
@ -322,7 +322,7 @@ Global Symbols
</UL>
<BR>[Calls]<UL><LI><a href="#[3c]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__aeabi_dadd
</UL>
<BR>[Called By]<UL><LI><a href="#[63]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Set_Voile
<BR>[Called By]<UL><LI><a href="#[65]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Set_Voile
</UL>
<P><STRONG><a name="[43]"></a>__aeabi_dmul</STRONG> (Thumb, 228 bytes, Stack size 48 bytes, dmul.o(.text))
@ -330,7 +330,7 @@ Global Symbols
</UL>
<BR>[Calls]<UL><LI><a href="#[3f]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_double_epilogue
</UL>
<BR>[Called By]<UL><LI><a href="#[63]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Set_Voile
<BR>[Called By]<UL><LI><a href="#[65]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Set_Voile
</UL>
<P><STRONG><a name="[44]"></a>__aeabi_ddiv</STRONG> (Thumb, 222 bytes, Stack size 32 bytes, ddiv.o(.text))
@ -338,7 +338,7 @@ Global Symbols
</UL>
<BR>[Calls]<UL><LI><a href="#[40]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_double_round
</UL>
<BR>[Called By]<UL><LI><a href="#[63]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Set_Voile
<BR>[Called By]<UL><LI><a href="#[65]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Set_Voile
</UL>
<P><STRONG><a name="[45]"></a>__aeabi_ui2f</STRONG> (Thumb, 10 bytes, Stack size 0 bytes, ffltui.o(.text))
@ -346,7 +346,7 @@ Global Symbols
</UL>
<BR>[Calls]<UL><LI><a href="#[46]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_float_epilogue
</UL>
<BR>[Called By]<UL><LI><a href="#[63]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Set_Voile
<BR>[Called By]<UL><LI><a href="#[65]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Set_Voile
</UL>
<P><STRONG><a name="[47]"></a>__aeabi_ui2d</STRONG> (Thumb, 26 bytes, Stack size 16 bytes, dfltui.o(.text))
@ -354,17 +354,17 @@ Global Symbols
</UL>
<BR>[Calls]<UL><LI><a href="#[3f]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_double_epilogue
</UL>
<BR>[Called By]<UL><LI><a href="#[63]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Set_Voile
<BR>[Called By]<UL><LI><a href="#[65]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Set_Voile
</UL>
<P><STRONG><a name="[67]"></a>__aeabi_f2uiz</STRONG> (Thumb, 40 bytes, Stack size 0 bytes, ffixui.o(.text))
<BR><BR>[Called By]<UL><LI><a href="#[63]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Set_Voile
<P><STRONG><a name="[69]"></a>__aeabi_f2uiz</STRONG> (Thumb, 40 bytes, Stack size 0 bytes, ffixui.o(.text))
<BR><BR>[Called By]<UL><LI><a href="#[65]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Set_Voile
</UL>
<P><STRONG><a name="[73]"></a>__aeabi_cdcmpeq</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, cdcmple.o(.text), UNUSED)
<P><STRONG><a name="[78]"></a>__aeabi_cdcmpeq</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, cdcmple.o(.text), UNUSED)
<P><STRONG><a name="[64]"></a>__aeabi_cdcmple</STRONG> (Thumb, 48 bytes, Stack size 0 bytes, cdcmple.o(.text))
<BR><BR>[Called By]<UL><LI><a href="#[63]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Set_Voile
<P><STRONG><a name="[66]"></a>__aeabi_cdcmple</STRONG> (Thumb, 48 bytes, Stack size 0 bytes, cdcmple.o(.text))
<BR><BR>[Called By]<UL><LI><a href="#[65]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Set_Voile
</UL>
<P><STRONG><a name="[48]"></a>__aeabi_d2f</STRONG> (Thumb, 56 bytes, Stack size 8 bytes, d2f.o(.text))
@ -372,7 +372,7 @@ Global Symbols
</UL>
<BR>[Calls]<UL><LI><a href="#[49]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_float_round
</UL>
<BR>[Called By]<UL><LI><a href="#[63]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Set_Voile
<BR>[Called By]<UL><LI><a href="#[65]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Set_Voile
</UL>
<P><STRONG><a name="[3d]"></a>__aeabi_llsl</STRONG> (Thumb, 30 bytes, Stack size 0 bytes, llshl.o(.text))
@ -380,15 +380,15 @@ Global Symbols
<LI><a href="#[3c]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__aeabi_dadd
</UL>
<P><STRONG><a name="[74]"></a>_ll_shift_l</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, llshl.o(.text), UNUSED)
<P><STRONG><a name="[79]"></a>_ll_shift_l</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, llshl.o(.text), UNUSED)
<P><STRONG><a name="[3e]"></a>__aeabi_lasr</STRONG> (Thumb, 36 bytes, Stack size 0 bytes, llsshr.o(.text))
<BR><BR>[Called By]<UL><LI><a href="#[3c]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__aeabi_dadd
</UL>
<P><STRONG><a name="[75]"></a>_ll_sshift_r</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, llsshr.o(.text), UNUSED)
<P><STRONG><a name="[7a]"></a>_ll_sshift_r</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, llsshr.o(.text), UNUSED)
<P><STRONG><a name="[76]"></a>__I$use$fp</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, iusefp.o(.text), UNUSED)
<P><STRONG><a name="[7b]"></a>__I$use$fp</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, iusefp.o(.text), UNUSED)
<P><STRONG><a name="[49]"></a>_float_round</STRONG> (Thumb, 18 bytes, Stack size 0 bytes, fepilogue.o(.text))
<BR><BR>[Called By]<UL><LI><a href="#[48]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__aeabi_d2f
@ -426,18 +426,18 @@ Global Symbols
<BR>[Called By]<UL><LI><a href="#[3a]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_main_scatterload
</UL>
<P><STRONG><a name="[77]"></a>__scatterload_rt2</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, init.o(.text), UNUSED)
<P><STRONG><a name="[7c]"></a>__scatterload_rt2</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, init.o(.text), UNUSED)
<P><STRONG><a name="[4a]"></a>__aeabi_llsr</STRONG> (Thumb, 32 bytes, Stack size 0 bytes, llushr.o(.text))
<BR><BR>[Called By]<UL><LI><a href="#[3f]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_double_epilogue
</UL>
<P><STRONG><a name="[78]"></a>_ll_ushift_r</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, llushr.o(.text), UNUSED)
<P><STRONG><a name="[7d]"></a>_ll_ushift_r</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, llushr.o(.text), UNUSED)
<P><STRONG><a name="[10]"></a>EXTI0_IRQHandler</STRONG> (Thumb, 24 bytes, Stack size 0 bytes, mygirouette.o(i.EXTI0_IRQHandler))
<P><STRONG><a name="[10]"></a>EXTI0_IRQHandler</STRONG> (Thumb, 32 bytes, Stack size 0 bytes, mygirouette.o(i.EXTI0_IRQHandler))
<BR>[Address Reference Count : 1]<UL><LI> startup_stm32f10x_md.o(RESET)
</UL>
<P><STRONG><a name="[6b]"></a>Get_Angle</STRONG> (Thumb, 14 bytes, Stack size 0 bytes, mygirouette.o(i.Get_Angle))
<P><STRONG><a name="[70]"></a>Get_Angle</STRONG> (Thumb, 14 bytes, Stack size 0 bytes, mygirouette.o(i.Get_Angle))
<BR><BR>[Called By]<UL><LI><a href="#[35]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;main
</UL>
@ -449,8 +449,8 @@ Global Symbols
<BR>[Called By]<UL><LI><a href="#[38]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;handler
</UL>
<P><STRONG><a name="[65]"></a>Get_Max_Duty</STRONG> (Thumb, 6 bytes, Stack size 0 bytes, mytimer.o(i.Get_Max_Duty))
<BR><BR>[Called By]<UL><LI><a href="#[63]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Set_Voile
<P><STRONG><a name="[67]"></a>Get_Max_Duty</STRONG> (Thumb, 6 bytes, Stack size 0 bytes, mytimer.o(i.Get_Max_Duty))
<BR><BR>[Called By]<UL><LI><a href="#[65]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Set_Voile
</UL>
<P><STRONG><a name="[4e]"></a>Init_Batterie</STRONG> (Thumb, 32 bytes, Stack size 8 bytes, batterie.o(i.Init_Batterie))
@ -463,7 +463,7 @@ Global Symbols
<BR>[Called By]<UL><LI><a href="#[35]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;main
</UL>
<P><STRONG><a name="[52]"></a>Init_Girouette</STRONG> (Thumb, 134 bytes, Stack size 48 bytes, mygirouette.o(i.Init_Girouette))
<P><STRONG><a name="[52]"></a>Init_Girouette</STRONG> (Thumb, 220 bytes, Stack size 48 bytes, mygirouette.o(i.Init_Girouette))
<BR><BR>[Stack]<UL><LI>Max Depth = 60<LI>Call Chain = Init_Girouette &rArr; MyGPIO_Init
</UL>
<BR>[Calls]<UL><LI><a href="#[4f]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;MyGPIO_Init
@ -473,7 +473,7 @@ Global Symbols
<BR>[Called By]<UL><LI><a href="#[35]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;main
</UL>
<P><STRONG><a name="[6a]"></a>Init_Message_Reception</STRONG> (Thumb, 40 bytes, Stack size 0 bytes, telecommande.o(i.Init_Message_Reception))
<P><STRONG><a name="[6c]"></a>Init_Message_Reception</STRONG> (Thumb, 40 bytes, Stack size 0 bytes, telecommande.o(i.Init_Message_Reception))
<BR><BR>[Called By]<UL><LI><a href="#[35]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;main
</UL>
@ -485,7 +485,7 @@ Global Symbols
<LI><a href="#[54]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;MyTimer_Base_Start
<LI><a href="#[53]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;MyTimer_Base_Init
</UL>
<BR>[Called By]<UL><LI><a href="#[60]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Set_Moteur_Plateau
<BR>[Called By]<UL><LI><a href="#[62]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Set_Moteur_Plateau
<LI><a href="#[35]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;main
</UL>
@ -507,29 +507,54 @@ Global Symbols
<LI><a href="#[4e]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Init_Batterie
</UL>
<P><STRONG><a name="[5e]"></a>MyGPIO_Reset</STRONG> (Thumb, 14 bytes, Stack size 0 bytes, driver_gpio.o(i.MyGPIO_Reset))
<BR><BR>[Called By]<UL><LI><a href="#[5d]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Set_Direction
<P><STRONG><a name="[60]"></a>MyGPIO_Reset</STRONG> (Thumb, 14 bytes, Stack size 0 bytes, driver_gpio.o(i.MyGPIO_Reset))
<BR><BR>[Called By]<UL><LI><a href="#[5f]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Set_Direction
</UL>
<P><STRONG><a name="[5f]"></a>MyGPIO_Set</STRONG> (Thumb, 12 bytes, Stack size 0 bytes, driver_gpio.o(i.MyGPIO_Set))
<BR><BR>[Called By]<UL><LI><a href="#[5d]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Set_Direction
<P><STRONG><a name="[61]"></a>MyGPIO_Set</STRONG> (Thumb, 12 bytes, Stack size 0 bytes, driver_gpio.o(i.MyGPIO_Set))
<BR><BR>[Called By]<UL><LI><a href="#[5f]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Set_Direction
</UL>
<P><STRONG><a name="[69]"></a>MyTimer_ActiveIT</STRONG> (Thumb, 148 bytes, Stack size 8 bytes, mytimer.o(i.MyTimer_ActiveIT))
<P><STRONG><a name="[6d]"></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="#[35]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;main
</UL>
<P><STRONG><a name="[58]"></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="#[59]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;MySPI_Set_NSS
</UL>
<BR>[Called By]<UL><LI><a href="#[35]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;main
</UL>
<P><STRONG><a name="[6f]"></a>MySPI_Read</STRONG> (Thumb, 70 bytes, Stack size 0 bytes, myspi.o(i.MySPI_Read))
<BR><BR>[Called By]<UL><LI><a href="#[35]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;main
</UL>
<P><STRONG><a name="[6e]"></a>MySPI_Send</STRONG> (Thumb, 68 bytes, Stack size 0 bytes, myspi.o(i.MySPI_Send))
<BR><BR>[Called By]<UL><LI><a href="#[35]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;main
</UL>
<P><STRONG><a name="[59]"></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="#[58]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;MySPI_Init
<LI><a href="#[35]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;main
</UL>
<P><STRONG><a name="[6b]"></a>MyTimer_ActiveIT</STRONG> (Thumb, 148 bytes, Stack size 8 bytes, mytimer.o(i.MyTimer_ActiveIT))
<BR><BR>[Stack]<UL><LI>Max Depth = 8<LI>Call Chain = MyTimer_ActiveIT
</UL>
<BR>[Called By]<UL><LI><a href="#[35]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;main
</UL>
<P><STRONG><a name="[53]"></a>MyTimer_Base_Init</STRONG> (Thumb, 98 bytes, Stack size 0 bytes, mytimer.o(i.MyTimer_Base_Init))
<BR><BR>[Called By]<UL><LI><a href="#[58]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;MyVoile_Init
<BR><BR>[Called By]<UL><LI><a href="#[5a]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;MyVoile_Init
<LI><a href="#[55]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Init_Plateau
<LI><a href="#[52]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Init_Girouette
<LI><a href="#[35]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;main
</UL>
<P><STRONG><a name="[54]"></a>MyTimer_Base_Start</STRONG> (Thumb, 10 bytes, Stack size 0 bytes, mytimer.o(i.MyTimer_Base_Start))
<BR><BR>[Called By]<UL><LI><a href="#[58]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;MyVoile_Init
<BR><BR>[Called By]<UL><LI><a href="#[5a]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;MyVoile_Init
<LI><a href="#[55]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Init_Plateau
<LI><a href="#[52]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Init_Girouette
<LI><a href="#[35]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;main
@ -540,11 +565,11 @@ Global Symbols
</UL>
<BR>[Calls]<UL><LI><a href="#[4f]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;MyGPIO_Init
</UL>
<BR>[Called By]<UL><LI><a href="#[58]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;MyVoile_Init
<BR>[Called By]<UL><LI><a href="#[5a]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;MyVoile_Init
<LI><a href="#[55]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Init_Plateau
</UL>
<P><STRONG><a name="[58]"></a>MyVoile_Init</STRONG> (Thumb, 32 bytes, Stack size 16 bytes, myvoile.o(i.MyVoile_Init))
<P><STRONG><a name="[5a]"></a>MyVoile_Init</STRONG> (Thumb, 32 bytes, Stack size 16 bytes, myvoile.o(i.MyVoile_Init))
<BR><BR>[Stack]<UL><LI>Max Depth = 52<LI>Call Chain = MyVoile_Init &rArr; MyTimer_PWM &rArr; MyGPIO_Init
</UL>
<BR>[Calls]<UL><LI><a href="#[56]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;MyTimer_PWM
@ -554,69 +579,69 @@ Global Symbols
<BR>[Called By]<UL><LI><a href="#[35]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;main
</UL>
<P><STRONG><a name="[5a]"></a>Send_Char</STRONG> (Thumb, 22 bytes, Stack size 0 bytes, telecommande.o(i.Send_Char))
<BR><BR>[Called By]<UL><LI><a href="#[59]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Send_Message
<P><STRONG><a name="[5c]"></a>Send_Char</STRONG> (Thumb, 22 bytes, Stack size 0 bytes, telecommande.o(i.Send_Char))
<BR><BR>[Called By]<UL><LI><a href="#[5b]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Send_Message
</UL>
<P><STRONG><a name="[59]"></a>Send_Message</STRONG> (Thumb, 24 bytes, Stack size 4 bytes, telecommande.o(i.Send_Message))
<P><STRONG><a name="[5b]"></a>Send_Message</STRONG> (Thumb, 24 bytes, Stack size 4 bytes, telecommande.o(i.Send_Message))
<BR><BR>[Stack]<UL><LI>Max Depth = 4<LI>Call Chain = Send_Message
</UL>
<BR>[Calls]<UL><LI><a href="#[5a]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Send_Char
<BR>[Calls]<UL><LI><a href="#[5c]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Send_Char
</UL>
<BR>[Called By]<UL><LI><a href="#[38]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;handler
</UL>
<P><STRONG><a name="[5d]"></a>Set_Direction</STRONG> (Thumb, 34 bytes, Stack size 8 bytes, plateau.o(i.Set_Direction))
<P><STRONG><a name="[5f]"></a>Set_Direction</STRONG> (Thumb, 34 bytes, Stack size 8 bytes, plateau.o(i.Set_Direction))
<BR><BR>[Stack]<UL><LI>Max Depth = 8<LI>Call Chain = Set_Direction
</UL>
<BR>[Calls]<UL><LI><a href="#[5f]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;MyGPIO_Set
<LI><a href="#[5e]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;MyGPIO_Reset
<BR>[Calls]<UL><LI><a href="#[61]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;MyGPIO_Set
<LI><a href="#[60]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;MyGPIO_Reset
</UL>
<BR>[Called By]<UL><LI><a href="#[60]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Set_Moteur_Plateau
<BR>[Called By]<UL><LI><a href="#[62]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Set_Moteur_Plateau
</UL>
<P><STRONG><a name="[68]"></a>Set_Duty_Cycle</STRONG> (Thumb, 40 bytes, Stack size 0 bytes, mytimer.o(i.Set_Duty_Cycle))
<BR><BR>[Called By]<UL><LI><a href="#[63]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Set_Voile
<P><STRONG><a name="[6a]"></a>Set_Duty_Cycle</STRONG> (Thumb, 40 bytes, Stack size 0 bytes, mytimer.o(i.Set_Duty_Cycle))
<BR><BR>[Called By]<UL><LI><a href="#[65]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Set_Voile
</UL>
<P><STRONG><a name="[60]"></a>Set_Moteur_Plateau</STRONG> (Thumb, 24 bytes, Stack size 16 bytes, plateau.o(i.Set_Moteur_Plateau))
<P><STRONG><a name="[62]"></a>Set_Moteur_Plateau</STRONG> (Thumb, 24 bytes, Stack size 16 bytes, plateau.o(i.Set_Moteur_Plateau))
<BR><BR>[Stack]<UL><LI>Max Depth = 60<LI>Call Chain = Set_Moteur_Plateau &rArr; Init_Plateau &rArr; MyTimer_PWM &rArr; MyGPIO_Init
</UL>
<BR>[Calls]<UL><LI><a href="#[61]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Set_Vitesse
<LI><a href="#[5d]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Set_Direction
<BR>[Calls]<UL><LI><a href="#[63]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Set_Vitesse
<LI><a href="#[5f]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Set_Direction
<LI><a href="#[55]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Init_Plateau
</UL>
<BR>[Called By]<UL><LI><a href="#[39]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;f
</UL>
<P><STRONG><a name="[62]"></a>Set_PWM_PRCT</STRONG> (Thumb, 56 bytes, Stack size 12 bytes, mytimer.o(i.Set_PWM_PRCT))
<P><STRONG><a name="[64]"></a>Set_PWM_PRCT</STRONG> (Thumb, 56 bytes, Stack size 12 bytes, mytimer.o(i.Set_PWM_PRCT))
<BR><BR>[Stack]<UL><LI>Max Depth = 12<LI>Call Chain = Set_PWM_PRCT
</UL>
<BR>[Called By]<UL><LI><a href="#[61]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Set_Vitesse
<BR>[Called By]<UL><LI><a href="#[63]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Set_Vitesse
</UL>
<P><STRONG><a name="[61]"></a>Set_Vitesse</STRONG> (Thumb, 22 bytes, Stack size 8 bytes, plateau.o(i.Set_Vitesse))
<P><STRONG><a name="[63]"></a>Set_Vitesse</STRONG> (Thumb, 22 bytes, Stack size 8 bytes, plateau.o(i.Set_Vitesse))
<BR><BR>[Stack]<UL><LI>Max Depth = 20<LI>Call Chain = Set_Vitesse &rArr; Set_PWM_PRCT
</UL>
<BR>[Calls]<UL><LI><a href="#[62]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Set_PWM_PRCT
<BR>[Calls]<UL><LI><a href="#[64]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Set_PWM_PRCT
</UL>
<BR>[Called By]<UL><LI><a href="#[60]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Set_Moteur_Plateau
<BR>[Called By]<UL><LI><a href="#[62]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Set_Moteur_Plateau
</UL>
<P><STRONG><a name="[63]"></a>Set_Voile</STRONG> (Thumb, 210 bytes, Stack size 56 bytes, myvoile.o(i.Set_Voile))
<P><STRONG><a name="[65]"></a>Set_Voile</STRONG> (Thumb, 210 bytes, Stack size 56 bytes, myvoile.o(i.Set_Voile))
<BR><BR>[Stack]<UL><LI>Max Depth = 144<LI>Call Chain = Set_Voile &rArr; __aeabi_drsub &rArr; __aeabi_dadd &rArr; _double_epilogue &rArr; _double_round
</UL>
<BR>[Calls]<UL><LI><a href="#[45]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__aeabi_ui2f
<LI><a href="#[47]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__aeabi_ui2d
<LI><a href="#[66]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__aeabi_fmul
<LI><a href="#[67]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__aeabi_f2uiz
<LI><a href="#[68]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__aeabi_fmul
<LI><a href="#[69]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__aeabi_f2uiz
<LI><a href="#[42]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__aeabi_drsub
<LI><a href="#[43]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__aeabi_dmul
<LI><a href="#[44]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__aeabi_ddiv
<LI><a href="#[48]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__aeabi_d2f
<LI><a href="#[64]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__aeabi_cdcmple
<LI><a href="#[68]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Set_Duty_Cycle
<LI><a href="#[65]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Get_Max_Duty
<LI><a href="#[66]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__aeabi_cdcmple
<LI><a href="#[6a]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Set_Duty_Cycle
<LI><a href="#[67]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Get_Max_Duty
</UL>
<BR>[Called By]<UL><LI><a href="#[35]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;main
</UL>
@ -624,7 +649,7 @@ Global Symbols
<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="#[5b]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;SetSysClock
<BR>[Calls]<UL><LI><a href="#[5d]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;SetSysClock
</UL>
<BR>[Address Reference Count : 1]<UL><LI> startup_stm32f10x_md.o(.text)
</UL>
@ -653,23 +678,23 @@ Global Symbols
</UL>
<BR>[Address Reference Count : 1]<UL><LI> startup_stm32f10x_md.o(RESET)
</UL>
<P><STRONG><a name="[79]"></a>__scatterload_copy</STRONG> (Thumb, 14 bytes, Stack size unknown bytes, handlers.o(i.__scatterload_copy), UNUSED)
<P><STRONG><a name="[7e]"></a>__scatterload_copy</STRONG> (Thumb, 14 bytes, Stack size unknown bytes, handlers.o(i.__scatterload_copy), UNUSED)
<P><STRONG><a name="[7a]"></a>__scatterload_null</STRONG> (Thumb, 2 bytes, Stack size unknown bytes, handlers.o(i.__scatterload_null), UNUSED)
<P><STRONG><a name="[7f]"></a>__scatterload_null</STRONG> (Thumb, 2 bytes, Stack size unknown bytes, handlers.o(i.__scatterload_null), UNUSED)
<P><STRONG><a name="[7b]"></a>__scatterload_zeroinit</STRONG> (Thumb, 14 bytes, Stack size unknown bytes, handlers.o(i.__scatterload_zeroinit), UNUSED)
<P><STRONG><a name="[80]"></a>__scatterload_zeroinit</STRONG> (Thumb, 14 bytes, Stack size unknown bytes, handlers.o(i.__scatterload_zeroinit), UNUSED)
<P><STRONG><a name="[39]"></a>f</STRONG> (Thumb, 54 bytes, Stack size 8 bytes, main.o(i.f))
<BR><BR>[Stack]<UL><LI>Max Depth = 68<LI>Call Chain = f &rArr; Set_Moteur_Plateau &rArr; Init_Plateau &rArr; MyTimer_PWM &rArr; MyGPIO_Init
</UL>
<BR>[Calls]<UL><LI><a href="#[60]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Set_Moteur_Plateau
<BR>[Calls]<UL><LI><a href="#[62]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Set_Moteur_Plateau
</UL>
<BR>[Address Reference Count : 1]<UL><LI> main.o(i.main)
</UL>
<P><STRONG><a name="[38]"></a>handler</STRONG> (Thumb, 126 bytes, Stack size 8 bytes, main.o(i.handler))
<BR><BR>[Stack]<UL><LI>Max Depth = 20<LI>Call Chain = handler &rArr; Get_Batterie &rArr; read
</UL>
<BR>[Calls]<UL><LI><a href="#[59]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Send_Message
<BR>[Calls]<UL><LI><a href="#[5b]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Send_Message
<LI><a href="#[4c]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Get_Batterie
</UL>
<BR>[Address Reference Count : 1]<UL><LI> main.o(i.main)
@ -678,20 +703,25 @@ Global Symbols
<BR><BR>[Called By]<UL><LI><a href="#[4e]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Init_Batterie
</UL>
<P><STRONG><a name="[35]"></a>main</STRONG> (Thumb, 94 bytes, Stack size 0 bytes, main.o(i.main))
<P><STRONG><a name="[35]"></a>main</STRONG> (Thumb, 158 bytes, Stack size 0 bytes, main.o(i.main))
<BR><BR>[Stack]<UL><LI>Max Depth = 144<LI>Call Chain = main &rArr; Set_Voile &rArr; __aeabi_drsub &rArr; __aeabi_dadd &rArr; _double_epilogue &rArr; _double_round
</UL>
<BR>[Calls]<UL><LI><a href="#[63]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Set_Voile
<LI><a href="#[58]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;MyVoile_Init
<BR>[Calls]<UL><LI><a href="#[65]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Set_Voile
<LI><a href="#[5a]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;MyVoile_Init
<LI><a href="#[54]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;MyTimer_Base_Start
<LI><a href="#[53]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;MyTimer_Base_Init
<LI><a href="#[69]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;MyTimer_ActiveIT
<LI><a href="#[6b]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;MyTimer_ActiveIT
<LI><a href="#[59]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;MySPI_Set_NSS
<LI><a href="#[6e]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;MySPI_Send
<LI><a href="#[6f]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;MySPI_Read
<LI><a href="#[58]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;MySPI_Init
<LI><a href="#[6d]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;MySPI_Clear_NSS
<LI><a href="#[57]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Init_USART
<LI><a href="#[55]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Init_Plateau
<LI><a href="#[6a]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Init_Message_Reception
<LI><a href="#[6c]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Init_Message_Reception
<LI><a href="#[52]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Init_Girouette
<LI><a href="#[4e]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Init_Batterie
<LI><a href="#[6b]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Get_Angle
<LI><a href="#[70]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Get_Angle
</UL>
<BR>[Address Reference Count : 1]<UL><LI> entry9a.o(.ARM.Collect$$$$0000000B)
</UL>
@ -711,18 +741,18 @@ Global Symbols
<H3>
Local Symbols
</H3>
<P><STRONG><a name="[5b]"></a>SetSysClock</STRONG> (Thumb, 8 bytes, Stack size 8 bytes, system_stm32f10x.o(i.SetSysClock))
<P><STRONG><a name="[5d]"></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="#[5c]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;SetSysClockTo72
<BR>[Calls]<UL><LI><a href="#[5e]">&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="[5c]"></a>SetSysClockTo72</STRONG> (Thumb, 214 bytes, Stack size 12 bytes, system_stm32f10x.o(i.SetSysClockTo72))
<P><STRONG><a name="[5e]"></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="#[5b]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;SetSysClock
<BR>[Called By]<UL><LI><a href="#[5d]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;SetSysClock
</UL>
<P>
<H3>

View file

@ -5,9 +5,10 @@
".\objects\driver_gpio.o"
".\objects\mygirouette.o"
".\objects\myvoile.o"
".\objects\batterie.o"
".\objects\plateau.o"
".\objects\batterie.o"
".\objects\telecommande.o"
".\FileInclude\Lib_Com_Periph_2022.lib"
".\objects\startup_stm32f10x_md.o"
".\objects\system_stm32f10x.o"
--library_type=microlib --strict --scatter ".\Objects\Projet1_Simulation.sct"

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View file

@ -15,3 +15,4 @@
.\objects\main.o: .\FileInclude\Batterie.h
.\objects\main.o: .\FileInclude\MyGirouette.h
.\objects\main.o: .\FileInclude\MyVoile.h
.\objects\main.o: .\FileInclude\MySPI.h

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

File diff suppressed because one or more lines are too long

View file

@ -125,7 +125,7 @@
<SetRegEntry>
<Number>0</Number>
<Key>DLGDARM</Key>
<Name>(1010=1430,289,1806,846,0)(1007=-1,-1,-1,-1,0)(1008=-1,-1,-1,-1,0)(1009=-1,-1,-1,-1,0)(100=15,39,661,712,0)(110=61,96,281,556,0)(111=60,88,280,548,0)(1011=-1,-1,-1,-1,0)(180=-1,-1,-1,-1,0)(120=1028,194,1449,621,0)(121=1016,366,1437,793,0)(122=704,251,1125,678,0)(123=-1,-1,-1,-1,0)(140=202,674,890,1014,0)(240=559,262,958,607,0)(190=-1,-1,-1,-1,0)(200=-1,-1,-1,-1,0)(170=-1,-1,-1,-1,0)(130=885,128,1479,879,0)(131=937,153,1531,904,0)(132=-1,-1,-1,-1,0)(133=-1,-1,-1,-1,0)(160=412,153,860,567,0)(161=-1,-1,-1,-1,0)(162=-1,-1,-1,-1,0)(210=-1,-1,-1,-1,0)(211=-1,-1,-1,-1,0)(220=-1,-1,-1,-1,0)(221=-1,-1,-1,-1,0)(230=-1,-1,-1,-1,0)(234=-1,-1,-1,-1,0)(231=-1,-1,-1,-1,0)(232=-1,-1,-1,-1,0)(233=-1,-1,-1,-1,0)(150=1246,187,1849,938,0)(151=-1,-1,-1,-1,0)</Name>
<Name>(1010=1430,289,1806,846,1)(1007=-1,-1,-1,-1,0)(1008=-1,-1,-1,-1,0)(1009=-1,-1,-1,-1,0)(100=15,39,661,712,0)(110=61,96,281,556,0)(111=60,88,280,548,0)(1011=-1,-1,-1,-1,0)(180=-1,-1,-1,-1,0)(120=1028,194,1449,621,0)(121=1016,366,1437,793,1)(122=704,251,1125,678,0)(123=-1,-1,-1,-1,0)(140=202,674,890,1014,1)(240=559,262,958,607,1)(190=-1,-1,-1,-1,0)(200=-1,-1,-1,-1,0)(170=-1,-1,-1,-1,0)(130=885,128,1479,879,0)(131=937,153,1531,904,0)(132=-1,-1,-1,-1,0)(133=-1,-1,-1,-1,0)(160=-1,-1,-1,-1,0)(161=-1,-1,-1,-1,0)(162=-1,-1,-1,-1,0)(210=-1,-1,-1,-1,0)(211=-1,-1,-1,-1,0)(220=-1,-1,-1,-1,0)(221=-1,-1,-1,-1,0)(230=-1,-1,-1,-1,0)(234=-1,-1,-1,-1,0)(231=-1,-1,-1,-1,0)(232=-1,-1,-1,-1,0)(233=-1,-1,-1,-1,0)(150=1246,187,1849,938,0)(151=-1,-1,-1,-1,0)</Name>
</SetRegEntry>
<SetRegEntry>
<Number>0</Number>
@ -144,7 +144,7 @@
<Type>0</Type>
<LineNumber>8</LineNumber>
<EnabledFlag>1</EnabledFlag>
<Address>134219520</Address>
<Address>134218060</Address>
<ByteObject>0</ByteObject>
<HtxType>0</HtxType>
<ManyObjects>0</ManyObjects>
@ -183,7 +183,7 @@
<AscS3>0</AscS3>
<aSer3>0</aSer3>
<eProf>0</eProf>
<aLa>1</aLa>
<aLa>0</aLa>
<aPa1>0</aPa1>
<AscS4>0</AscS4>
<aSer4>0</aSer4>
@ -209,20 +209,14 @@
<Wi>
<IntNumber>0</IntNumber>
<FirstString>((PORTC &amp; 0x00000400) &gt;&gt; 10 &amp; 0x400) &gt;&gt; 10</FirstString>
<SecondString>FF000000000000000000000000000000E0FFEF400100000000000000000000000000000028504F5254432026203078303030303034303029203E3E2031300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000001000000000000000000E03F100000000000000000000000000000000000000030040008</SecondString>
<SecondString>FF000000000000000000000000000000E0FFEF400100000000000000000000000000000028504F5254432026203078303030303034303029203E3E2031300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000001000000000000000000E03F170000000000000000000000000000000000000030040008</SecondString>
</Wi>
<Wi>
<IntNumber>1</IntNumber>
<FirstString>((PORTA &amp; 0x00000008) &gt;&gt; 3 &amp; 0x8) &gt;&gt; 3</FirstString>
<SecondString>00800000000000000000000000000000E0FFEF400100000000000000000000000000000028504F5254412026203078303030303030303829203E3E2033000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000002000000000000000000E03F10000000000000000000000000000000000000007E050008</SecondString>
<SecondString>00800000000000000000000000000000E0FFEF400100000000000000000000000000000028504F5254412026203078303030303030303829203E3E2033000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000002000000000000000000E03F17000000000000000000000000000000000000007E050008</SecondString>
</Wi>
</LogicAnalyzers>
<SystemViewers>
<Entry>
<Name>System Viewer\USART1</Name>
<WinId>35905</WinId>
</Entry>
</SystemViewers>
<DebugDescription>
<Enable>1</Enable>
<EnableFlashSeq>1</EnableFlashSeq>
@ -332,7 +326,7 @@
<SetRegEntry>
<Number>0</Number>
<Key>DLGTARM</Key>
<Name>(1010=1507,235,1883,792,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=60,88,280,548,0)(111=60,88,280,548,0)(1011=-1,-1,-1,-1,0)(180=-1,-1,-1,-1,0)(120=757,193,1178,598,0)(121=96,506,517,911,0)(122=1260,243,1681,648,0)(123=-1,-1,-1,-1,0)(140=699,144,1387,484,0)(240=647,562,1046,907,0)(190=-1,-1,-1,-1,0)(200=-1,-1,-1,-1,0)(170=-1,-1,-1,-1,0)(130=150,186,744,880,0)(131=1231,145,1825,839,0)(132=-1,-1,-1,-1,0)(133=1272,303,1866,997,0)(160=-1,-1,-1,-1,0)(161=-1,-1,-1,-1,0)(162=-1,-1,-1,-1,0)(210=1580,389,1907,750,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=1464,179,1840,736,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=60,88,280,548,0)(111=60,88,280,548,0)(1011=-1,-1,-1,-1,0)(180=-1,-1,-1,-1,0)(120=1566,444,1987,849,0)(121=820,663,1241,1068,0)(122=1128,437,1549,842,0)(123=-1,-1,-1,-1,0)(140=699,144,1387,484,0)(240=923,311,1322,656,0)(190=-1,-1,-1,-1,0)(200=-1,-1,-1,-1,0)(170=-1,-1,-1,-1,0)(130=150,186,744,880,0)(131=1231,145,1825,839,0)(132=-1,-1,-1,-1,0)(133=1272,303,1866,997,0)(160=-1,-1,-1,-1,0)(161=-1,-1,-1,-1,0)(162=-1,-1,-1,-1,0)(210=1580,389,1907,750,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>
@ -392,6 +386,11 @@
<WinNumber>1</WinNumber>
<ItemText>x</ItemText>
</Ww>
<Ww>
<count>5</count>
<WinNumber>1</WinNumber>
<ItemText>ID_acc2</ItemText>
</Ww>
</WatchWindow1>
<Tracepoint>
<THDelay>0</THDelay>
@ -413,7 +412,7 @@
<AscS3>0</AscS3>
<aSer3>0</aSer3>
<eProf>0</eProf>
<aLa>1</aLa>
<aLa>0</aLa>
<aPa1>0</aPa1>
<AscS4>0</AscS4>
<aSer4>0</aSer4>
@ -538,8 +537,8 @@
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
<bDave2>0</bDave2>
<PathWithFileName>.\FileInclude\Batterie.c</PathWithFileName>
<FilenameWithoutPath>Batterie.c</FilenameWithoutPath>
<PathWithFileName>.\FileInclude\Plateau.c</PathWithFileName>
<FilenameWithoutPath>Plateau.c</FilenameWithoutPath>
<RteFlg>0</RteFlg>
<bShared>0</bShared>
</File>
@ -550,8 +549,8 @@
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
<bDave2>0</bDave2>
<PathWithFileName>.\FileInclude\Plateau.c</PathWithFileName>
<FilenameWithoutPath>Plateau.c</FilenameWithoutPath>
<PathWithFileName>.\FileInclude\Batterie.c</PathWithFileName>
<FilenameWithoutPath>Batterie.c</FilenameWithoutPath>
<RteFlg>0</RteFlg>
<bShared>0</bShared>
</File>
@ -559,7 +558,7 @@
<GroupNumber>2</GroupNumber>
<FileNumber>9</FileNumber>
<FileType>1</FileType>
<tvExp>1</tvExp>
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
<bDave2>0</bDave2>
<PathWithFileName>.\FileInclude\Telecommande.c</PathWithFileName>
@ -567,6 +566,18 @@
<RteFlg>0</RteFlg>
<bShared>0</bShared>
</File>
<File>
<GroupNumber>2</GroupNumber>
<FileNumber>10</FileNumber>
<FileType>4</FileType>
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
<bDave2>0</bDave2>
<PathWithFileName>.\FileInclude\Lib_Com_Periph_2022.lib</PathWithFileName>
<FilenameWithoutPath>Lib_Com_Periph_2022.lib</FilenameWithoutPath>
<RteFlg>0</RteFlg>
<bShared>0</bShared>
</File>
</Group>
<Group>

View file

@ -418,21 +418,26 @@
<FileType>1</FileType>
<FilePath>.\MyVoile.c</FilePath>
</File>
<File>
<FileName>Batterie.c</FileName>
<FileType>1</FileType>
<FilePath>.\FileInclude\Batterie.c</FilePath>
</File>
<File>
<FileName>Plateau.c</FileName>
<FileType>1</FileType>
<FilePath>.\FileInclude\Plateau.c</FilePath>
</File>
<File>
<FileName>Batterie.c</FileName>
<FileType>1</FileType>
<FilePath>.\FileInclude\Batterie.c</FilePath>
</File>
<File>
<FileName>Telecommande.c</FileName>
<FileType>1</FileType>
<FilePath>.\FileInclude\Telecommande.c</FilePath>
</File>
<File>
<FileName>Lib_Com_Periph_2022.lib</FileName>
<FileType>4</FileType>
<FilePath>.\FileInclude\Lib_Com_Periph_2022.lib</FilePath>
</File>
</Files>
</Group>
<Group>
@ -855,21 +860,26 @@
<FileType>1</FileType>
<FilePath>.\MyVoile.c</FilePath>
</File>
<File>
<FileName>Batterie.c</FileName>
<FileType>1</FileType>
<FilePath>.\FileInclude\Batterie.c</FilePath>
</File>
<File>
<FileName>Plateau.c</FileName>
<FileType>1</FileType>
<FilePath>.\FileInclude\Plateau.c</FilePath>
</File>
<File>
<FileName>Batterie.c</FileName>
<FileType>1</FileType>
<FilePath>.\FileInclude\Batterie.c</FilePath>
</File>
<File>
<FileName>Telecommande.c</FileName>
<FileType>1</FileType>
<FilePath>.\FileInclude\Telecommande.c</FilePath>
</File>
<File>
<FileName>Lib_Com_Periph_2022.lib</FileName>
<FileType>4</FileType>
<FilePath>.\FileInclude\Lib_Com_Periph_2022.lib</FilePath>
</File>
</Files>
</Group>
<Group>

View file

@ -7,14 +7,14 @@
#include <Batterie.h>
#include <MyGirouette.h>
#include <MyVoile.h>
#include <MySPI.h>
/* Declarations */
int droite;
int b;
int testBatterie ;
int bat;
int ID_acc,ID_acc2;
int counter = 0;
char* visuBatterie = "[-----]";
@ -89,6 +89,8 @@ void f (char a) {
int main (void)
{
/* Configuration du Timer */
Data->Timer = TIM1;
Data->ARR = 65535;
@ -104,9 +106,23 @@ int main (void)
Init_Girouette();
MyVoile_Init();
MySPI_Init(SPI1);
MySPI_Clear_NSS();
MySPI_Send(0x2D);
MySPI_Send(1<<3);
MySPI_Set_NSS();
/* Batterie */
Init_Batterie();
while (1) {
MySPI_Clear_NSS();
MySPI_Send(0x37);
MySPI_Set_NSS();
MySPI_Clear_NSS();
ID_acc = MySPI_Read();
ID_acc2 = MySPI_Read();
MySPI_Set_NSS();
Set_Voile(Get_Angle());
}
}