SPI au debut
This commit is contained in:
parent
19cd1a3dcf
commit
8205ae0ffc
25 changed files with 797 additions and 325 deletions
BIN
FileInclude/Lib_Com_Periph_2022.lib
Normal file
BIN
FileInclude/Lib_Com_Periph_2022.lib
Normal file
Binary file not shown.
229
FileInclude/MyI2C.h
Normal file
229
FileInclude/MyI2C.h
Normal 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
129
FileInclude/MySPI.h
Normal 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
|
|
@ -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 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 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 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 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 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 myvoile.o(i.Set_Voile) for Set_Voile
|
||||||
main.o(i.main) refers to main.o(.data) for Data
|
main.o(i.main) refers to main.o(.data) for Data
|
||||||
|
@ -90,6 +95,12 @@ Section Cross References
|
||||||
system_stm32f10x.o(i.SetSysClock) refers to system_stm32f10x.o(i.SetSysClockTo72) for SetSysClockTo72
|
system_stm32f10x.o(i.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.SystemCoreClockUpdate) refers to system_stm32f10x.o(.data) for SystemCoreClock
|
||||||
system_stm32f10x.o(i.SystemInit) refers to system_stm32f10x.o(i.SetSysClock) for SetSysClock
|
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 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 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
|
entry.o(.ARM.Collect$$$$00000000) refers (Special) to entry12b.o(.ARM.Collect$$$$0000000E) for __rt_lib_shutdown_fini
|
||||||
|
@ -168,8 +179,11 @@ Removing Unused input sections from the image.
|
||||||
Removing system_stm32f10x.o(.rrx_text), (6 bytes).
|
Removing system_stm32f10x.o(.rrx_text), (6 bytes).
|
||||||
Removing system_stm32f10x.o(i.SystemCoreClockUpdate), (164 bytes).
|
Removing system_stm32f10x.o(i.SystemCoreClockUpdate), (164 bytes).
|
||||||
Removing system_stm32f10x.o(.data), (20 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)
|
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 entry12b.o ABSOLUTE
|
||||||
../clib/microlib/init/entry.s 0x00000000 Number 0 entry12a.o ABSOLUTE
|
|
||||||
../clib/microlib/init/entry.s 0x00000000 Number 0 entry11b.o ABSOLUTE
|
|
||||||
../clib/microlib/init/entry.s 0x00000000 Number 0 entry7a.o ABSOLUTE
|
|
||||||
../clib/microlib/init/entry.s 0x00000000 Number 0 entry8b.o ABSOLUTE
|
../clib/microlib/init/entry.s 0x00000000 Number 0 entry8b.o ABSOLUTE
|
||||||
../clib/microlib/init/entry.s 0x00000000 Number 0 entry8a.o ABSOLUTE
|
|
||||||
../clib/microlib/init/entry.s 0x00000000 Number 0 entry2.o ABSOLUTE
|
../clib/microlib/init/entry.s 0x00000000 Number 0 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 llushr.o ABSOLUTE
|
||||||
../clib/microlib/longlong.c 0x00000000 Number 0 llsshr.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
|
../clib/microlib/stubs.s 0x00000000 Number 0 iusefp.o ABSOLUTE
|
||||||
../fplib/microlib/d2f.c 0x00000000 Number 0 d2f.o ABSOLUTE
|
../fplib/microlib/d2f.c 0x00000000 Number 0 d2f.o ABSOLUTE
|
||||||
../fplib/microlib/fpadd.c 0x00000000 Number 0 dadd.o ABSOLUTE
|
../fplib/microlib/fpadd.c 0x00000000 Number 0 dadd.o ABSOLUTE
|
||||||
../fplib/microlib/fpdiv.c 0x00000000 Number 0 ddiv.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 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/fpfix.c 0x00000000 Number 0 ffixui.o ABSOLUTE
|
||||||
../fplib/microlib/fpflt.c 0x00000000 Number 0 dfltui.o ABSOLUTE
|
../fplib/microlib/fpflt.c 0x00000000 Number 0 dfltui.o ABSOLUTE
|
||||||
../fplib/microlib/fpflt.c 0x00000000 Number 0 ffltui.o ABSOLUTE
|
../fplib/microlib/fpflt.c 0x00000000 Number 0 ffltui.o ABSOLUTE
|
||||||
../fplib/microlib/fpmul.c 0x00000000 Number 0 dmul.o ABSOLUTE
|
|
||||||
../fplib/microlib/fpmul.c 0x00000000 Number 0 fmul.o ABSOLUTE
|
../fplib/microlib/fpmul.c 0x00000000 Number 0 fmul.o ABSOLUTE
|
||||||
|
../fplib/microlib/fpmul.c 0x00000000 Number 0 dmul.o ABSOLUTE
|
||||||
FileInclude\Batterie.c 0x00000000 Number 0 batterie.o ABSOLUTE
|
FileInclude\Batterie.c 0x00000000 Number 0 batterie.o ABSOLUTE
|
||||||
FileInclude\Driver_GPIO.c 0x00000000 Number 0 driver_gpio.o ABSOLUTE
|
FileInclude\Driver_GPIO.c 0x00000000 Number 0 driver_gpio.o ABSOLUTE
|
||||||
FileInclude\MyADC.c 0x00000000 Number 0 myadc.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\\MyTimer.c 0x00000000 Number 0 mytimer.o ABSOLUTE
|
||||||
FileInclude\\Plateau.c 0x00000000 Number 0 plateau.o ABSOLUTE
|
FileInclude\\Plateau.c 0x00000000 Number 0 plateau.o ABSOLUTE
|
||||||
FileInclude\\Telecommande.c 0x00000000 Number 0 telecommande.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
|
||||||
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
|
RTE\Device\STM32F103RB\startup_stm32f10x_md.s 0x00000000 Number 0 startup_stm32f10x_md.o ABSOLUTE
|
||||||
|
@ -274,51 +290,57 @@ Image Symbol Table
|
||||||
i.MyGPIO_Init 0x080009d8 Section 0 driver_gpio.o(i.MyGPIO_Init)
|
i.MyGPIO_Init 0x080009d8 Section 0 driver_gpio.o(i.MyGPIO_Init)
|
||||||
i.MyGPIO_Reset 0x08000a8c Section 0 driver_gpio.o(i.MyGPIO_Reset)
|
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.MyGPIO_Set 0x08000a9a Section 0 driver_gpio.o(i.MyGPIO_Set)
|
||||||
i.MyTimer_ActiveIT 0x08000aa8 Section 0 mytimer.o(i.MyTimer_ActiveIT)
|
i.MySPI_Clear_NSS 0x08000aa8 Section 0 myspi.o(i.MySPI_Clear_NSS)
|
||||||
i.MyTimer_Base_Init 0x08000b58 Section 0 mytimer.o(i.MyTimer_Base_Init)
|
i.MySPI_Init 0x08000ad8 Section 0 myspi.o(i.MySPI_Init)
|
||||||
i.MyTimer_Base_Start 0x08000bc4 Section 0 mytimer.o(i.MyTimer_Base_Start)
|
i.MySPI_Read 0x08000ccc Section 0 myspi.o(i.MySPI_Read)
|
||||||
i.MyTimer_PWM 0x08000bd0 Section 0 mytimer.o(i.MyTimer_PWM)
|
i.MySPI_Send 0x08000d20 Section 0 myspi.o(i.MySPI_Send)
|
||||||
i.MyVoile_Init 0x08000db8 Section 0 myvoile.o(i.MyVoile_Init)
|
i.MySPI_Set_NSS 0x08000d70 Section 0 myspi.o(i.MySPI_Set_NSS)
|
||||||
i.Send_Char 0x08000de0 Section 0 telecommande.o(i.Send_Char)
|
i.MyTimer_ActiveIT 0x08000d9c Section 0 mytimer.o(i.MyTimer_ActiveIT)
|
||||||
i.Send_Message 0x08000dfc Section 0 telecommande.o(i.Send_Message)
|
i.MyTimer_Base_Init 0x08000e4c Section 0 mytimer.o(i.MyTimer_Base_Init)
|
||||||
i.SetSysClock 0x08000e14 Section 0 system_stm32f10x.o(i.SetSysClock)
|
i.MyTimer_Base_Start 0x08000eb8 Section 0 mytimer.o(i.MyTimer_Base_Start)
|
||||||
SetSysClock 0x08000e15 Thumb Code 8 system_stm32f10x.o(i.SetSysClock)
|
i.MyTimer_PWM 0x08000ec4 Section 0 mytimer.o(i.MyTimer_PWM)
|
||||||
i.SetSysClockTo72 0x08000e1c Section 0 system_stm32f10x.o(i.SetSysClockTo72)
|
i.MyVoile_Init 0x080010ac Section 0 myvoile.o(i.MyVoile_Init)
|
||||||
SetSysClockTo72 0x08000e1d Thumb Code 214 system_stm32f10x.o(i.SetSysClockTo72)
|
i.Send_Char 0x080010d4 Section 0 telecommande.o(i.Send_Char)
|
||||||
i.Set_Direction 0x08000efc Section 0 plateau.o(i.Set_Direction)
|
i.Send_Message 0x080010f0 Section 0 telecommande.o(i.Send_Message)
|
||||||
i.Set_Duty_Cycle 0x08000f24 Section 0 mytimer.o(i.Set_Duty_Cycle)
|
i.SetSysClock 0x08001108 Section 0 system_stm32f10x.o(i.SetSysClock)
|
||||||
i.Set_Moteur_Plateau 0x08000f4c Section 0 plateau.o(i.Set_Moteur_Plateau)
|
SetSysClock 0x08001109 Thumb Code 8 system_stm32f10x.o(i.SetSysClock)
|
||||||
i.Set_PWM_PRCT 0x08000f64 Section 0 mytimer.o(i.Set_PWM_PRCT)
|
i.SetSysClockTo72 0x08001110 Section 0 system_stm32f10x.o(i.SetSysClockTo72)
|
||||||
i.Set_Vitesse 0x08000f9c Section 0 plateau.o(i.Set_Vitesse)
|
SetSysClockTo72 0x08001111 Thumb Code 214 system_stm32f10x.o(i.SetSysClockTo72)
|
||||||
i.Set_Voile 0x08000fbc Section 0 myvoile.o(i.Set_Voile)
|
i.Set_Direction 0x080011f0 Section 0 plateau.o(i.Set_Direction)
|
||||||
i.SystemInit 0x080010a8 Section 0 system_stm32f10x.o(i.SystemInit)
|
i.Set_Duty_Cycle 0x08001218 Section 0 mytimer.o(i.Set_Duty_Cycle)
|
||||||
i.TIM1_UP_IRQHandler 0x08001108 Section 0 mytimer.o(i.TIM1_UP_IRQHandler)
|
i.Set_Moteur_Plateau 0x08001240 Section 0 plateau.o(i.Set_Moteur_Plateau)
|
||||||
i.TIM2_IRQHandler 0x0800112c Section 0 mytimer.o(i.TIM2_IRQHandler)
|
i.Set_PWM_PRCT 0x08001258 Section 0 mytimer.o(i.Set_PWM_PRCT)
|
||||||
i.TIM3_IRQHandler 0x08001150 Section 0 mytimer.o(i.TIM3_IRQHandler)
|
i.Set_Vitesse 0x08001290 Section 0 plateau.o(i.Set_Vitesse)
|
||||||
i.TIM4_IRQHandler 0x08001174 Section 0 mytimer.o(i.TIM4_IRQHandler)
|
i.Set_Voile 0x080012b0 Section 0 myvoile.o(i.Set_Voile)
|
||||||
i.USART1_IRQHandler 0x08001198 Section 0 telecommande.o(i.USART1_IRQHandler)
|
i.SystemInit 0x0800139c Section 0 system_stm32f10x.o(i.SystemInit)
|
||||||
i.__scatterload_copy 0x080011b4 Section 14 handlers.o(i.__scatterload_copy)
|
i.TIM1_UP_IRQHandler 0x080013fc Section 0 mytimer.o(i.TIM1_UP_IRQHandler)
|
||||||
i.__scatterload_null 0x080011c2 Section 2 handlers.o(i.__scatterload_null)
|
i.TIM2_IRQHandler 0x08001420 Section 0 mytimer.o(i.TIM2_IRQHandler)
|
||||||
i.__scatterload_zeroinit 0x080011c4 Section 14 handlers.o(i.__scatterload_zeroinit)
|
i.TIM3_IRQHandler 0x08001444 Section 0 mytimer.o(i.TIM3_IRQHandler)
|
||||||
i.f 0x080011d4 Section 0 main.o(i.f)
|
i.TIM4_IRQHandler 0x08001468 Section 0 mytimer.o(i.TIM4_IRQHandler)
|
||||||
i.handler 0x08001214 Section 0 main.o(i.handler)
|
i.USART1_IRQHandler 0x0800148c Section 0 telecommande.o(i.USART1_IRQHandler)
|
||||||
i.initADC 0x080012d8 Section 0 myadc.o(i.initADC)
|
i.__scatterload_copy 0x080014a8 Section 14 handlers.o(i.__scatterload_copy)
|
||||||
i.main 0x08001314 Section 0 main.o(i.main)
|
i.__scatterload_null 0x080014b6 Section 2 handlers.o(i.__scatterload_null)
|
||||||
i.read 0x08001388 Section 0 myadc.o(i.read)
|
i.__scatterload_zeroinit 0x080014b8 Section 14 handlers.o(i.__scatterload_zeroinit)
|
||||||
i.startADC 0x080013b0 Section 0 myadc.o(i.startADC)
|
i.f 0x080014c8 Section 0 main.o(i.f)
|
||||||
.constdata 0x080013c4 Section 36 mygirouette.o(.constdata)
|
i.handler 0x08001508 Section 0 main.o(i.handler)
|
||||||
.constdata 0x080013e8 Section 8 myvoile.o(.constdata)
|
i.initADC 0x080015cc Section 0 myadc.o(i.initADC)
|
||||||
.conststring 0x080013f0 Section 8 main.o(.conststring)
|
i.main 0x08001608 Section 0 main.o(i.main)
|
||||||
.data 0x20000000 Section 36 main.o(.data)
|
i.read 0x080016c8 Section 0 myadc.o(i.read)
|
||||||
.data 0x20000024 Section 16 mytimer.o(.data)
|
i.startADC 0x080016f0 Section 0 myadc.o(i.startADC)
|
||||||
.data 0x20000034 Section 4 mygirouette.o(.data)
|
.constdata 0x08001704 Section 36 mygirouette.o(.constdata)
|
||||||
.data 0x20000038 Section 16 plateau.o(.data)
|
.constdata 0x08001728 Section 8 myvoile.o(.constdata)
|
||||||
.data 0x20000048 Section 4 batterie.o(.data)
|
.conststring 0x08001730 Section 8 main.o(.conststring)
|
||||||
.data 0x2000004c Section 8 telecommande.o(.data)
|
.data 0x20000000 Section 44 main.o(.data)
|
||||||
.bss 0x20000054 Section 24 plateau.o(.bss)
|
.data 0x2000002c Section 16 mytimer.o(.data)
|
||||||
.bss 0x2000006c Section 12 batterie.o(.bss)
|
.data 0x2000003c Section 4 mygirouette.o(.data)
|
||||||
.bss 0x20000078 Section 52 telecommande.o(.bss)
|
.data 0x20000040 Section 16 plateau.o(.data)
|
||||||
STACK 0x200000b0 Section 1024 startup_stm32f10x_md.o(STACK)
|
.data 0x20000050 Section 4 batterie.o(.data)
|
||||||
|
.data 0x20000054 Section 8 telecommande.o(.data)
|
||||||
|
.data 0x2000005c Section 4 myspi.o(.data)
|
||||||
|
.bss 0x20000060 Section 24 plateau.o(.bss)
|
||||||
|
.bss 0x20000078 Section 12 batterie.o(.bss)
|
||||||
|
.bss 0x20000084 Section 52 telecommande.o(.bss)
|
||||||
|
STACK 0x200000b8 Section 1024 startup_stm32f10x_md.o(STACK)
|
||||||
|
|
||||||
Global Symbols
|
Global Symbols
|
||||||
|
|
||||||
|
@ -429,62 +451,70 @@ Image Symbol Table
|
||||||
MyGPIO_Init 0x080009d9 Thumb Code 166 driver_gpio.o(i.MyGPIO_Init)
|
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_Reset 0x08000a8d Thumb Code 14 driver_gpio.o(i.MyGPIO_Reset)
|
||||||
MyGPIO_Set 0x08000a9b Thumb Code 12 driver_gpio.o(i.MyGPIO_Set)
|
MyGPIO_Set 0x08000a9b Thumb Code 12 driver_gpio.o(i.MyGPIO_Set)
|
||||||
MyTimer_ActiveIT 0x08000aa9 Thumb Code 148 mytimer.o(i.MyTimer_ActiveIT)
|
MySPI_Clear_NSS 0x08000aa9 Thumb Code 30 myspi.o(i.MySPI_Clear_NSS)
|
||||||
MyTimer_Base_Init 0x08000b59 Thumb Code 98 mytimer.o(i.MyTimer_Base_Init)
|
MySPI_Init 0x08000ad9 Thumb Code 480 myspi.o(i.MySPI_Init)
|
||||||
MyTimer_Base_Start 0x08000bc5 Thumb Code 10 mytimer.o(i.MyTimer_Base_Start)
|
MySPI_Read 0x08000ccd Thumb Code 70 myspi.o(i.MySPI_Read)
|
||||||
MyTimer_PWM 0x08000bd1 Thumb Code 472 mytimer.o(i.MyTimer_PWM)
|
MySPI_Send 0x08000d21 Thumb Code 68 myspi.o(i.MySPI_Send)
|
||||||
MyVoile_Init 0x08000db9 Thumb Code 32 myvoile.o(i.MyVoile_Init)
|
MySPI_Set_NSS 0x08000d71 Thumb Code 28 myspi.o(i.MySPI_Set_NSS)
|
||||||
Send_Char 0x08000de1 Thumb Code 22 telecommande.o(i.Send_Char)
|
MyTimer_ActiveIT 0x08000d9d Thumb Code 148 mytimer.o(i.MyTimer_ActiveIT)
|
||||||
Send_Message 0x08000dfd Thumb Code 24 telecommande.o(i.Send_Message)
|
MyTimer_Base_Init 0x08000e4d Thumb Code 98 mytimer.o(i.MyTimer_Base_Init)
|
||||||
Set_Direction 0x08000efd Thumb Code 34 plateau.o(i.Set_Direction)
|
MyTimer_Base_Start 0x08000eb9 Thumb Code 10 mytimer.o(i.MyTimer_Base_Start)
|
||||||
Set_Duty_Cycle 0x08000f25 Thumb Code 40 mytimer.o(i.Set_Duty_Cycle)
|
MyTimer_PWM 0x08000ec5 Thumb Code 472 mytimer.o(i.MyTimer_PWM)
|
||||||
Set_Moteur_Plateau 0x08000f4d Thumb Code 24 plateau.o(i.Set_Moteur_Plateau)
|
MyVoile_Init 0x080010ad Thumb Code 32 myvoile.o(i.MyVoile_Init)
|
||||||
Set_PWM_PRCT 0x08000f65 Thumb Code 56 mytimer.o(i.Set_PWM_PRCT)
|
Send_Char 0x080010d5 Thumb Code 22 telecommande.o(i.Send_Char)
|
||||||
Set_Vitesse 0x08000f9d Thumb Code 22 plateau.o(i.Set_Vitesse)
|
Send_Message 0x080010f1 Thumb Code 24 telecommande.o(i.Send_Message)
|
||||||
Set_Voile 0x08000fbd Thumb Code 210 myvoile.o(i.Set_Voile)
|
Set_Direction 0x080011f1 Thumb Code 34 plateau.o(i.Set_Direction)
|
||||||
SystemInit 0x080010a9 Thumb Code 78 system_stm32f10x.o(i.SystemInit)
|
Set_Duty_Cycle 0x08001219 Thumb Code 40 mytimer.o(i.Set_Duty_Cycle)
|
||||||
TIM1_UP_IRQHandler 0x08001109 Thumb Code 28 mytimer.o(i.TIM1_UP_IRQHandler)
|
Set_Moteur_Plateau 0x08001241 Thumb Code 24 plateau.o(i.Set_Moteur_Plateau)
|
||||||
TIM2_IRQHandler 0x0800112d Thumb Code 32 mytimer.o(i.TIM2_IRQHandler)
|
Set_PWM_PRCT 0x08001259 Thumb Code 56 mytimer.o(i.Set_PWM_PRCT)
|
||||||
TIM3_IRQHandler 0x08001151 Thumb Code 28 mytimer.o(i.TIM3_IRQHandler)
|
Set_Vitesse 0x08001291 Thumb Code 22 plateau.o(i.Set_Vitesse)
|
||||||
TIM4_IRQHandler 0x08001175 Thumb Code 28 mytimer.o(i.TIM4_IRQHandler)
|
Set_Voile 0x080012b1 Thumb Code 210 myvoile.o(i.Set_Voile)
|
||||||
USART1_IRQHandler 0x08001199 Thumb Code 18 telecommande.o(i.USART1_IRQHandler)
|
SystemInit 0x0800139d Thumb Code 78 system_stm32f10x.o(i.SystemInit)
|
||||||
__scatterload_copy 0x080011b5 Thumb Code 14 handlers.o(i.__scatterload_copy)
|
TIM1_UP_IRQHandler 0x080013fd Thumb Code 28 mytimer.o(i.TIM1_UP_IRQHandler)
|
||||||
__scatterload_null 0x080011c3 Thumb Code 2 handlers.o(i.__scatterload_null)
|
TIM2_IRQHandler 0x08001421 Thumb Code 32 mytimer.o(i.TIM2_IRQHandler)
|
||||||
__scatterload_zeroinit 0x080011c5 Thumb Code 14 handlers.o(i.__scatterload_zeroinit)
|
TIM3_IRQHandler 0x08001445 Thumb Code 28 mytimer.o(i.TIM3_IRQHandler)
|
||||||
f 0x080011d5 Thumb Code 54 main.o(i.f)
|
TIM4_IRQHandler 0x08001469 Thumb Code 28 mytimer.o(i.TIM4_IRQHandler)
|
||||||
handler 0x08001215 Thumb Code 126 main.o(i.handler)
|
USART1_IRQHandler 0x0800148d Thumb Code 18 telecommande.o(i.USART1_IRQHandler)
|
||||||
initADC 0x080012d9 Thumb Code 50 myadc.o(i.initADC)
|
__scatterload_copy 0x080014a9 Thumb Code 14 handlers.o(i.__scatterload_copy)
|
||||||
main 0x08001315 Thumb Code 94 main.o(i.main)
|
__scatterload_null 0x080014b7 Thumb Code 2 handlers.o(i.__scatterload_null)
|
||||||
read 0x08001389 Thumb Code 34 myadc.o(i.read)
|
__scatterload_zeroinit 0x080014b9 Thumb Code 14 handlers.o(i.__scatterload_zeroinit)
|
||||||
startADC 0x080013b1 Thumb Code 14 myadc.o(i.startADC)
|
f 0x080014c9 Thumb Code 54 main.o(i.f)
|
||||||
Region$$Table$$Base 0x080013f8 Number 0 anon$$obj.o(Region$$Table)
|
handler 0x08001509 Thumb Code 126 main.o(i.handler)
|
||||||
Region$$Table$$Limit 0x08001418 Number 0 anon$$obj.o(Region$$Table)
|
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)
|
droite 0x20000000 Data 4 main.o(.data)
|
||||||
b 0x20000004 Data 4 main.o(.data)
|
b 0x20000004 Data 4 main.o(.data)
|
||||||
testBatterie 0x20000008 Data 4 main.o(.data)
|
testBatterie 0x20000008 Data 4 main.o(.data)
|
||||||
bat 0x2000000c Data 4 main.o(.data)
|
bat 0x2000000c Data 4 main.o(.data)
|
||||||
counter 0x20000010 Data 4 main.o(.data)
|
ID_acc 0x20000010 Data 4 main.o(.data)
|
||||||
visuBatterie 0x20000014 Data 4 main.o(.data)
|
ID_acc2 0x20000014 Data 4 main.o(.data)
|
||||||
TIM 0x20000018 Data 8 main.o(.data)
|
counter 0x20000018 Data 4 main.o(.data)
|
||||||
Data 0x20000020 Data 4 main.o(.data)
|
visuBatterie 0x2000001c Data 4 main.o(.data)
|
||||||
ptr1 0x20000024 Data 4 mytimer.o(.data)
|
TIM 0x20000020 Data 8 main.o(.data)
|
||||||
ptr2 0x20000028 Data 4 mytimer.o(.data)
|
Data 0x20000028 Data 4 main.o(.data)
|
||||||
ptr3 0x2000002c Data 4 mytimer.o(.data)
|
ptr1 0x2000002c Data 4 mytimer.o(.data)
|
||||||
ptr4 0x20000030 Data 4 mytimer.o(.data)
|
ptr2 0x20000030 Data 4 mytimer.o(.data)
|
||||||
x 0x20000034 Data 4 mygirouette.o(.data)
|
ptr3 0x20000034 Data 4 mytimer.o(.data)
|
||||||
channel 0x20000038 Data 1 plateau.o(.data)
|
ptr4 0x20000038 Data 4 mytimer.o(.data)
|
||||||
TIMPlateau 0x2000003c Data 8 plateau.o(.data)
|
x 0x2000003c Data 4 mygirouette.o(.data)
|
||||||
DataPlateau 0x20000044 Data 4 plateau.o(.data)
|
channel 0x20000040 Data 1 plateau.o(.data)
|
||||||
nivBatterie 0x20000048 Data 4 batterie.o(.data)
|
TIMPlateau 0x20000044 Data 8 plateau.o(.data)
|
||||||
Usart 0x2000004c Data 4 telecommande.o(.data)
|
DataPlateau 0x2000004c Data 4 plateau.o(.data)
|
||||||
ptr 0x20000050 Data 4 telecommande.o(.data)
|
nivBatterie 0x20000050 Data 4 batterie.o(.data)
|
||||||
GPIOC9 0x20000054 Data 12 plateau.o(.bss)
|
Usart 0x20000054 Data 4 telecommande.o(.data)
|
||||||
GPIOB1 0x20000060 Data 12 plateau.o(.bss)
|
ptr 0x20000058 Data 4 telecommande.o(.data)
|
||||||
GPIOC0 0x2000006c Data 12 batterie.o(.bss)
|
ActiveSPI 0x2000005c Data 4 myspi.o(.data)
|
||||||
USART 0x20000078 Data 28 telecommande.o(.bss)
|
GPIOC9 0x20000060 Data 12 plateau.o(.bss)
|
||||||
GPIOA10 0x20000094 Data 12 telecommande.o(.bss)
|
GPIOB1 0x2000006c Data 12 plateau.o(.bss)
|
||||||
GPIOA9 0x200000a0 Data 12 telecommande.o(.bss)
|
GPIOC0 0x20000078 Data 12 batterie.o(.bss)
|
||||||
__initial_sp 0x200004b0 Data 0 startup_stm32f10x_md.o(STACK)
|
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
|
Image Entry point : 0x080000ed
|
||||||
|
|
||||||
Load Region LR_IROM1 (Base: 0x08000000, Size: 0x0000146c, Max: 0x00020000, ABSOLUTE)
|
Load Region LR_IROM1 (Base: 0x08000000, Size: 0x000017b8, Max: 0x00020000, ABSOLUTE)
|
||||||
|
|
||||||
Execution Region ER_IROM1 (Exec base: 0x08000000, Load base: 0x08000000, Size: 0x00001418, Max: 0x00020000, ABSOLUTE)
|
Execution Region ER_IROM1 (Exec base: 0x08000000, Load base: 0x08000000, Size: 0x00001758, Max: 0x00020000, ABSOLUTE)
|
||||||
|
|
||||||
Exec Addr Load Addr Size Type Attr Idx E Section Name Object
|
Exec Addr Load Addr Size Type Attr Idx E Section Name Object
|
||||||
|
|
||||||
0x08000000 0x08000000 0x000000ec Data RO 503 RESET startup_stm32f10x_md.o
|
0x08000000 0x08000000 0x000000ec Data RO 506 RESET startup_stm32f10x_md.o
|
||||||
0x080000ec 0x080000ec 0x00000000 Code RO 554 * .ARM.Collect$$$$00000000 mc_w.l(entry.o)
|
0x080000ec 0x080000ec 0x00000000 Code RO 574 * .ARM.Collect$$$$00000000 mc_w.l(entry.o)
|
||||||
0x080000ec 0x080000ec 0x00000004 Code RO 575 .ARM.Collect$$$$00000001 mc_w.l(entry2.o)
|
0x080000ec 0x080000ec 0x00000004 Code RO 595 .ARM.Collect$$$$00000001 mc_w.l(entry2.o)
|
||||||
0x080000f0 0x080000f0 0x00000004 Code RO 578 .ARM.Collect$$$$00000004 mc_w.l(entry5.o)
|
0x080000f0 0x080000f0 0x00000004 Code RO 598 .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 600 .ARM.Collect$$$$00000008 mc_w.l(entry7b.o)
|
||||||
0x080000f4 0x080000f4 0x00000000 Code RO 582 .ARM.Collect$$$$0000000A mc_w.l(entry8b.o)
|
0x080000f4 0x080000f4 0x00000000 Code RO 602 .ARM.Collect$$$$0000000A mc_w.l(entry8b.o)
|
||||||
0x080000f4 0x080000f4 0x00000008 Code RO 583 .ARM.Collect$$$$0000000B mc_w.l(entry9a.o)
|
0x080000f4 0x080000f4 0x00000008 Code RO 603 .ARM.Collect$$$$0000000B mc_w.l(entry9a.o)
|
||||||
0x080000fc 0x080000fc 0x00000004 Code RO 590 .ARM.Collect$$$$0000000E mc_w.l(entry12b.o)
|
0x080000fc 0x080000fc 0x00000004 Code RO 610 .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 605 .ARM.Collect$$$$0000000F mc_w.l(entry10a.o)
|
||||||
0x08000100 0x08000100 0x00000000 Code RO 587 .ARM.Collect$$$$00000011 mc_w.l(entry11a.o)
|
0x08000100 0x08000100 0x00000000 Code RO 607 .ARM.Collect$$$$00000011 mc_w.l(entry11a.o)
|
||||||
0x08000100 0x08000100 0x00000004 Code RO 576 .ARM.Collect$$$$00002712 mc_w.l(entry2.o)
|
0x08000100 0x08000100 0x00000004 Code RO 596 .ARM.Collect$$$$00002712 mc_w.l(entry2.o)
|
||||||
0x08000104 0x08000104 0x00000024 Code RO 504 .text startup_stm32f10x_md.o
|
0x08000104 0x08000104 0x00000024 Code RO 507 .text startup_stm32f10x_md.o
|
||||||
0x08000128 0x08000128 0x00000064 Code RO 557 .text mf_w.l(fmul.o)
|
0x08000128 0x08000128 0x00000064 Code RO 577 .text mf_w.l(fmul.o)
|
||||||
0x0800018c 0x0800018c 0x0000014e Code RO 559 .text mf_w.l(dadd.o)
|
0x0800018c 0x0800018c 0x0000014e Code RO 579 .text mf_w.l(dadd.o)
|
||||||
0x080002da 0x080002da 0x000000e4 Code RO 561 .text mf_w.l(dmul.o)
|
0x080002da 0x080002da 0x000000e4 Code RO 581 .text mf_w.l(dmul.o)
|
||||||
0x080003be 0x080003be 0x000000de Code RO 563 .text mf_w.l(ddiv.o)
|
0x080003be 0x080003be 0x000000de Code RO 583 .text mf_w.l(ddiv.o)
|
||||||
0x0800049c 0x0800049c 0x0000000a Code RO 565 .text mf_w.l(ffltui.o)
|
0x0800049c 0x0800049c 0x0000000a Code RO 585 .text mf_w.l(ffltui.o)
|
||||||
0x080004a6 0x080004a6 0x0000001a Code RO 567 .text mf_w.l(dfltui.o)
|
0x080004a6 0x080004a6 0x0000001a Code RO 587 .text mf_w.l(dfltui.o)
|
||||||
0x080004c0 0x080004c0 0x00000028 Code RO 569 .text mf_w.l(ffixui.o)
|
0x080004c0 0x080004c0 0x00000028 Code RO 589 .text mf_w.l(ffixui.o)
|
||||||
0x080004e8 0x080004e8 0x00000030 Code RO 571 .text mf_w.l(cdcmple.o)
|
0x080004e8 0x080004e8 0x00000030 Code RO 591 .text mf_w.l(cdcmple.o)
|
||||||
0x08000518 0x08000518 0x00000038 Code RO 573 .text mf_w.l(d2f.o)
|
0x08000518 0x08000518 0x00000038 Code RO 593 .text mf_w.l(d2f.o)
|
||||||
0x08000550 0x08000550 0x0000001e Code RO 591 .text mc_w.l(llshl.o)
|
0x08000550 0x08000550 0x0000001e Code RO 611 .text mc_w.l(llshl.o)
|
||||||
0x0800056e 0x0800056e 0x00000024 Code RO 593 .text mc_w.l(llsshr.o)
|
0x0800056e 0x0800056e 0x00000024 Code RO 613 .text mc_w.l(llsshr.o)
|
||||||
0x08000592 0x08000592 0x00000000 Code RO 595 .text mc_w.l(iusefp.o)
|
0x08000592 0x08000592 0x00000000 Code RO 615 .text mc_w.l(iusefp.o)
|
||||||
0x08000592 0x08000592 0x0000006e Code RO 596 .text mf_w.l(fepilogue.o)
|
0x08000592 0x08000592 0x0000006e Code RO 616 .text mf_w.l(fepilogue.o)
|
||||||
0x08000600 0x08000600 0x000000ba Code RO 598 .text mf_w.l(depilogue.o)
|
0x08000600 0x08000600 0x000000ba Code RO 618 .text mf_w.l(depilogue.o)
|
||||||
0x080006ba 0x080006ba 0x00000002 PAD
|
0x080006ba 0x080006ba 0x00000002 PAD
|
||||||
0x080006bc 0x080006bc 0x00000024 Code RO 600 .text mc_w.l(init.o)
|
0x080006bc 0x080006bc 0x00000024 Code RO 620 .text mc_w.l(init.o)
|
||||||
0x080006e0 0x080006e0 0x00000020 Code RO 602 .text mc_w.l(llushr.o)
|
0x080006e0 0x080006e0 0x00000020 Code RO 622 .text mc_w.l(llushr.o)
|
||||||
0x08000700 0x08000700 0x00000028 Code RO 289 i.EXTI0_IRQHandler mygirouette.o
|
0x08000700 0x08000700 0x00000028 Code RO 292 i.EXTI0_IRQHandler mygirouette.o
|
||||||
0x08000728 0x08000728 0x0000000e Code RO 290 i.Get_Angle mygirouette.o
|
0x08000728 0x08000728 0x0000000e Code RO 293 i.Get_Angle mygirouette.o
|
||||||
0x08000736 0x08000736 0x00000002 PAD
|
0x08000736 0x08000736 0x00000002 PAD
|
||||||
0x08000738 0x08000738 0x00000028 Code RO 412 i.Get_Batterie batterie.o
|
0x08000738 0x08000738 0x00000028 Code RO 415 i.Get_Batterie batterie.o
|
||||||
0x08000760 0x08000760 0x00000006 Code RO 97 i.Get_Max_Duty mytimer.o
|
0x08000760 0x08000760 0x00000006 Code RO 100 i.Get_Max_Duty mytimer.o
|
||||||
0x08000766 0x08000766 0x00000002 PAD
|
0x08000766 0x08000766 0x00000002 PAD
|
||||||
0x08000768 0x08000768 0x00000028 Code RO 413 i.Init_Batterie batterie.o
|
0x08000768 0x08000768 0x00000028 Code RO 416 i.Init_Batterie batterie.o
|
||||||
0x08000790 0x08000790 0x000000f4 Code RO 291 i.Init_Girouette mygirouette.o
|
0x08000790 0x08000790 0x000000f4 Code RO 294 i.Init_Girouette mygirouette.o
|
||||||
0x08000884 0x08000884 0x00000038 Code RO 449 i.Init_Message_Reception telecommande.o
|
0x08000884 0x08000884 0x00000038 Code RO 452 i.Init_Message_Reception telecommande.o
|
||||||
0x080008bc 0x080008bc 0x00000080 Code RO 363 i.Init_Plateau plateau.o
|
0x080008bc 0x080008bc 0x00000080 Code RO 366 i.Init_Plateau plateau.o
|
||||||
0x0800093c 0x0800093c 0x0000009c Code RO 450 i.Init_USART telecommande.o
|
0x0800093c 0x0800093c 0x0000009c Code RO 453 i.Init_USART telecommande.o
|
||||||
0x080009d8 0x080009d8 0x000000b4 Code RO 241 i.MyGPIO_Init driver_gpio.o
|
0x080009d8 0x080009d8 0x000000b4 Code RO 244 i.MyGPIO_Init driver_gpio.o
|
||||||
0x08000a8c 0x08000a8c 0x0000000e Code RO 243 i.MyGPIO_Reset driver_gpio.o
|
0x08000a8c 0x08000a8c 0x0000000e Code RO 246 i.MyGPIO_Reset driver_gpio.o
|
||||||
0x08000a9a 0x08000a9a 0x0000000c Code RO 244 i.MyGPIO_Set driver_gpio.o
|
0x08000a9a 0x08000a9a 0x0000000c Code RO 247 i.MyGPIO_Set driver_gpio.o
|
||||||
0x08000aa6 0x08000aa6 0x00000002 PAD
|
0x08000aa6 0x08000aa6 0x00000002 PAD
|
||||||
0x08000aa8 0x08000aa8 0x000000b0 Code RO 99 i.MyTimer_ActiveIT mytimer.o
|
0x08000aa8 0x08000aa8 0x00000030 Code RO 560 i.MySPI_Clear_NSS Lib_Com_Periph_2022.lib(myspi.o)
|
||||||
0x08000b58 0x08000b58 0x0000006c Code RO 100 i.MyTimer_Base_Init mytimer.o
|
0x08000ad8 0x08000ad8 0x000001f4 Code RO 561 i.MySPI_Init Lib_Com_Periph_2022.lib(myspi.o)
|
||||||
0x08000bc4 0x08000bc4 0x0000000a Code RO 101 i.MyTimer_Base_Start mytimer.o
|
0x08000ccc 0x08000ccc 0x00000054 Code RO 562 i.MySPI_Read Lib_Com_Periph_2022.lib(myspi.o)
|
||||||
0x08000bce 0x08000bce 0x00000002 PAD
|
0x08000d20 0x08000d20 0x00000050 Code RO 563 i.MySPI_Send Lib_Com_Periph_2022.lib(myspi.o)
|
||||||
0x08000bd0 0x08000bd0 0x000001e8 Code RO 103 i.MyTimer_PWM mytimer.o
|
0x08000d70 0x08000d70 0x0000002c Code RO 564 i.MySPI_Set_NSS Lib_Com_Periph_2022.lib(myspi.o)
|
||||||
0x08000db8 0x08000db8 0x00000028 Code RO 332 i.MyVoile_Init myvoile.o
|
0x08000d9c 0x08000d9c 0x000000b0 Code RO 102 i.MyTimer_ActiveIT mytimer.o
|
||||||
0x08000de0 0x08000de0 0x0000001c Code RO 451 i.Send_Char telecommande.o
|
0x08000e4c 0x08000e4c 0x0000006c Code RO 103 i.MyTimer_Base_Init mytimer.o
|
||||||
0x08000dfc 0x08000dfc 0x00000018 Code RO 452 i.Send_Message telecommande.o
|
0x08000eb8 0x08000eb8 0x0000000a Code RO 104 i.MyTimer_Base_Start mytimer.o
|
||||||
0x08000e14 0x08000e14 0x00000008 Code RO 511 i.SetSysClock system_stm32f10x.o
|
0x08000ec2 0x08000ec2 0x00000002 PAD
|
||||||
0x08000e1c 0x08000e1c 0x000000e0 Code RO 512 i.SetSysClockTo72 system_stm32f10x.o
|
0x08000ec4 0x08000ec4 0x000001e8 Code RO 106 i.MyTimer_PWM mytimer.o
|
||||||
0x08000efc 0x08000efc 0x00000028 Code RO 364 i.Set_Direction plateau.o
|
0x080010ac 0x080010ac 0x00000028 Code RO 335 i.MyVoile_Init myvoile.o
|
||||||
0x08000f24 0x08000f24 0x00000028 Code RO 104 i.Set_Duty_Cycle mytimer.o
|
0x080010d4 0x080010d4 0x0000001c Code RO 454 i.Send_Char telecommande.o
|
||||||
0x08000f4c 0x08000f4c 0x00000018 Code RO 365 i.Set_Moteur_Plateau plateau.o
|
0x080010f0 0x080010f0 0x00000018 Code RO 455 i.Send_Message telecommande.o
|
||||||
0x08000f64 0x08000f64 0x00000038 Code RO 105 i.Set_PWM_PRCT mytimer.o
|
0x08001108 0x08001108 0x00000008 Code RO 514 i.SetSysClock system_stm32f10x.o
|
||||||
0x08000f9c 0x08000f9c 0x00000020 Code RO 366 i.Set_Vitesse plateau.o
|
0x08001110 0x08001110 0x000000e0 Code RO 515 i.SetSysClockTo72 system_stm32f10x.o
|
||||||
0x08000fbc 0x08000fbc 0x000000ec Code RO 333 i.Set_Voile myvoile.o
|
0x080011f0 0x080011f0 0x00000028 Code RO 367 i.Set_Direction plateau.o
|
||||||
0x080010a8 0x080010a8 0x00000060 Code RO 514 i.SystemInit system_stm32f10x.o
|
0x08001218 0x08001218 0x00000028 Code RO 107 i.Set_Duty_Cycle mytimer.o
|
||||||
0x08001108 0x08001108 0x00000024 Code RO 106 i.TIM1_UP_IRQHandler mytimer.o
|
0x08001240 0x08001240 0x00000018 Code RO 368 i.Set_Moteur_Plateau plateau.o
|
||||||
0x0800112c 0x0800112c 0x00000024 Code RO 107 i.TIM2_IRQHandler mytimer.o
|
0x08001258 0x08001258 0x00000038 Code RO 108 i.Set_PWM_PRCT mytimer.o
|
||||||
0x08001150 0x08001150 0x00000024 Code RO 108 i.TIM3_IRQHandler mytimer.o
|
0x08001290 0x08001290 0x00000020 Code RO 369 i.Set_Vitesse plateau.o
|
||||||
0x08001174 0x08001174 0x00000024 Code RO 109 i.TIM4_IRQHandler mytimer.o
|
0x080012b0 0x080012b0 0x000000ec Code RO 336 i.Set_Voile myvoile.o
|
||||||
0x08001198 0x08001198 0x0000001c Code RO 453 i.USART1_IRQHandler telecommande.o
|
0x0800139c 0x0800139c 0x00000060 Code RO 517 i.SystemInit system_stm32f10x.o
|
||||||
0x080011b4 0x080011b4 0x0000000e Code RO 606 i.__scatterload_copy mc_w.l(handlers.o)
|
0x080013fc 0x080013fc 0x00000024 Code RO 109 i.TIM1_UP_IRQHandler mytimer.o
|
||||||
0x080011c2 0x080011c2 0x00000002 Code RO 607 i.__scatterload_null mc_w.l(handlers.o)
|
0x08001420 0x08001420 0x00000024 Code RO 110 i.TIM2_IRQHandler mytimer.o
|
||||||
0x080011c4 0x080011c4 0x0000000e Code RO 608 i.__scatterload_zeroinit mc_w.l(handlers.o)
|
0x08001444 0x08001444 0x00000024 Code RO 111 i.TIM3_IRQHandler mytimer.o
|
||||||
0x080011d2 0x080011d2 0x00000002 PAD
|
0x08001468 0x08001468 0x00000024 Code RO 112 i.TIM4_IRQHandler mytimer.o
|
||||||
0x080011d4 0x080011d4 0x00000040 Code RO 4 i.f main.o
|
0x0800148c 0x0800148c 0x0000001c Code RO 456 i.USART1_IRQHandler telecommande.o
|
||||||
0x08001214 0x08001214 0x000000c4 Code RO 5 i.handler main.o
|
0x080014a8 0x080014a8 0x0000000e Code RO 626 i.__scatterload_copy mc_w.l(handlers.o)
|
||||||
0x080012d8 0x080012d8 0x0000003c Code RO 202 i.initADC myadc.o
|
0x080014b6 0x080014b6 0x00000002 Code RO 627 i.__scatterload_null mc_w.l(handlers.o)
|
||||||
0x08001314 0x08001314 0x00000074 Code RO 6 i.main main.o
|
0x080014b8 0x080014b8 0x0000000e Code RO 628 i.__scatterload_zeroinit mc_w.l(handlers.o)
|
||||||
0x08001388 0x08001388 0x00000028 Code RO 203 i.read myadc.o
|
0x080014c6 0x080014c6 0x00000002 PAD
|
||||||
0x080013b0 0x080013b0 0x00000014 Code RO 204 i.startADC myadc.o
|
0x080014c8 0x080014c8 0x00000040 Code RO 4 i.f main.o
|
||||||
0x080013c4 0x080013c4 0x00000024 Data RO 292 .constdata mygirouette.o
|
0x08001508 0x08001508 0x000000c4 Code RO 5 i.handler main.o
|
||||||
0x080013e8 0x080013e8 0x00000008 Data RO 334 .constdata myvoile.o
|
0x080015cc 0x080015cc 0x0000003c Code RO 205 i.initADC myadc.o
|
||||||
0x080013f0 0x080013f0 0x00000008 Data RO 7 .conststring main.o
|
0x08001608 0x08001608 0x000000c0 Code RO 6 i.main main.o
|
||||||
0x080013f8 0x080013f8 0x00000020 Data RO 604 Region$$Table anon$$obj.o
|
0x080016c8 0x080016c8 0x00000028 Code RO 206 i.read myadc.o
|
||||||
|
0x080016f0 0x080016f0 0x00000014 Code RO 207 i.startADC myadc.o
|
||||||
|
0x08001704 0x08001704 0x00000024 Data RO 295 .constdata mygirouette.o
|
||||||
|
0x08001728 0x08001728 0x00000008 Data RO 337 .constdata myvoile.o
|
||||||
|
0x08001730 0x08001730 0x00000008 Data RO 7 .conststring main.o
|
||||||
|
0x08001738 0x08001738 0x00000020 Data RO 624 Region$$Table anon$$obj.o
|
||||||
|
|
||||||
|
|
||||||
Execution Region RW_IRAM1 (Exec base: 0x20000000, Load base: 0x08001418, Size: 0x000004b0, Max: 0x00005000, ABSOLUTE)
|
Execution Region RW_IRAM1 (Exec base: 0x20000000, Load base: 0x08001758, Size: 0x000004b8, Max: 0x00005000, ABSOLUTE)
|
||||||
|
|
||||||
Exec Addr Load Addr Size Type Attr Idx E Section Name Object
|
Exec Addr Load Addr Size Type Attr Idx E Section Name Object
|
||||||
|
|
||||||
0x20000000 0x08001418 0x00000024 Data RW 8 .data main.o
|
0x20000000 0x08001758 0x0000002c Data RW 8 .data main.o
|
||||||
0x20000024 0x0800143c 0x00000010 Data RW 110 .data mytimer.o
|
0x2000002c 0x08001784 0x00000010 Data RW 113 .data mytimer.o
|
||||||
0x20000034 0x0800144c 0x00000004 Data RW 293 .data mygirouette.o
|
0x2000003c 0x08001794 0x00000004 Data RW 296 .data mygirouette.o
|
||||||
0x20000038 0x08001450 0x00000010 Data RW 368 .data plateau.o
|
0x20000040 0x08001798 0x00000010 Data RW 371 .data plateau.o
|
||||||
0x20000048 0x08001460 0x00000004 Data RW 415 .data batterie.o
|
0x20000050 0x080017a8 0x00000004 Data RW 418 .data batterie.o
|
||||||
0x2000004c 0x08001464 0x00000008 Data RW 455 .data telecommande.o
|
0x20000054 0x080017ac 0x00000008 Data RW 458 .data telecommande.o
|
||||||
0x20000054 - 0x00000018 Zero RW 367 .bss plateau.o
|
0x2000005c 0x080017b4 0x00000004 Data RW 565 .data Lib_Com_Periph_2022.lib(myspi.o)
|
||||||
0x2000006c - 0x0000000c Zero RW 414 .bss batterie.o
|
0x20000060 - 0x00000018 Zero RW 370 .bss plateau.o
|
||||||
0x20000078 - 0x00000034 Zero RW 454 .bss telecommande.o
|
0x20000078 - 0x0000000c Zero RW 417 .bss batterie.o
|
||||||
0x200000ac 0x0800146c 0x00000004 PAD
|
0x20000084 - 0x00000034 Zero RW 457 .bss telecommande.o
|
||||||
0x200000b0 - 0x00000400 Zero RW 501 STACK startup_stm32f10x_md.o
|
0x200000b8 - 0x00000400 Zero RW 504 STACK startup_stm32f10x_md.o
|
||||||
|
|
||||||
|
|
||||||
==============================================================================
|
==============================================================================
|
||||||
|
@ -608,7 +643,7 @@ Image component sizes
|
||||||
|
|
||||||
80 12 0 4 12 1108 batterie.o
|
80 12 0 4 12 1108 batterie.o
|
||||||
206 14 0 0 0 1822 driver_gpio.o
|
206 14 0 0 0 1822 driver_gpio.o
|
||||||
376 102 8 36 0 209023 main.o
|
452 114 8 44 0 209146 main.o
|
||||||
120 22 0 0 0 1248 myadc.o
|
120 22 0 0 0 1248 myadc.o
|
||||||
298 32 36 4 0 1612 mygirouette.o
|
298 32 36 4 0 1612 mygirouette.o
|
||||||
1028 82 0 16 0 7434 mytimer.o
|
1028 82 0 16 0 7434 mytimer.o
|
||||||
|
@ -619,14 +654,15 @@ Image component sizes
|
||||||
292 54 0 8 52 3186 telecommande.o
|
292 54 0 8 52 3186 telecommande.o
|
||||||
|
|
||||||
----------------------------------------------------------------------
|
----------------------------------------------------------------------
|
||||||
3272 434 320 84 1116 231734 Object Totals
|
3348 446 320 92 1112 231857 Object Totals
|
||||||
0 0 32 0 0 0 (incl. Generated)
|
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
|
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 entry.o
|
||||||
0 0 0 0 0 0 entry10a.o
|
0 0 0 0 0 0 entry10a.o
|
||||||
0 0 0 0 0 0 entry11a.o
|
0 0 0 0 0 0 entry11a.o
|
||||||
|
@ -655,18 +691,19 @@ Image component sizes
|
||||||
100 0 0 0 0 76 fmul.o
|
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)
|
4 0 0 0 0 0 (incl. Padding)
|
||||||
|
|
||||||
----------------------------------------------------------------------
|
----------------------------------------------------------------------
|
||||||
|
|
||||||
Code (inc. data) RO Data RW Data ZI Data Debug Library Name
|
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
|
188 16 0 0 0 272 mc_w.l
|
||||||
1360 0 0 0 0 1132 mf_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
|
Code (inc. data) RO Data RW Data ZI Data Debug
|
||||||
|
|
||||||
4824 450 320 84 1116 230690 Grand Totals
|
5656 542 320 96 1112 230901 Grand Totals
|
||||||
4824 450 320 84 1116 230690 ELF Image Totals
|
5656 542 320 96 1112 230901 ELF Image Totals
|
||||||
4824 450 320 84 0 0 ROM Totals
|
5656 542 320 96 0 0 ROM Totals
|
||||||
|
|
||||||
==============================================================================
|
==============================================================================
|
||||||
|
|
||||||
Total RO Size (Code + RO Data) 5144 ( 5.02kB)
|
Total RO Size (Code + RO Data) 5976 ( 5.84kB)
|
||||||
Total RW Size (RW Data + ZI Data) 1200 ( 1.17kB)
|
Total RW Size (RW Data + ZI Data) 1208 ( 1.18kB)
|
||||||
Total ROM Size (Code + RO Data + RW Data) 5228 ( 5.11kB)
|
Total ROM Size (Code + RO Data + RW Data) 6072 ( 5.93kB)
|
||||||
|
|
||||||
==============================================================================
|
==============================================================================
|
||||||
|
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
Dependencies for Project 'Projet1', Target 'Réel': (DO NOT MODIFY !)
|
Dependencies for Project 'Projet1', Target 'Réel': (DO NOT MODIFY !)
|
||||||
CompilerVersion: 5060960::V5.06 update 7 (build 960)::.\ARMCC
|
CompilerVersion: 5060960::V5.06 update 7 (build 960)::.\ARMCC
|
||||||
F (.\Sources\main.c)(0x6380E896)(-c --cpu Cortex-M3 -D__EVAL -D__MICROLIB -g -O0 --apcs=interwork --split_sections -I .\FileInclude
-I.\RTE\Device\STM32F103RB
-I.\RTE\_R_el
-IC:\Programdata\Keil\Arm\Packs\ARM\CMSIS\5.7.0\CMSIS\Core\Include
-IC:\Programdata\Keil\Arm\Packs\Keil\STM32F1xx_DFP\2.3.0\Device\Include
-D__UVISION_VERSION="534" -D_RTE_ -DSTM32F10X_MD -D_RTE_
-o .\objects\main.o --omf_browse .\objects\main.crf --depend .\objects\main.d)
|
F (.\Sources\main.c)(0x6380FB44)(-c --cpu Cortex-M3 -D__EVAL -D__MICROLIB -g -O0 --apcs=interwork --split_sections -I .\FileInclude
-I.\RTE\Device\STM32F103RB
-I.\RTE\_R_el
-IC:\Programdata\Keil\Arm\Packs\ARM\CMSIS\5.7.0\CMSIS\Core\Include
-IC:\Programdata\Keil\Arm\Packs\Keil\STM32F1xx_DFP\2.3.0\Device\Include
-D__UVISION_VERSION="534" -D_RTE_ -DSTM32F10X_MD -D_RTE_
-o .\objects\main.o --omf_browse .\objects\main.crf --depend .\objects\main.d)
|
||||||
I (C:\Programdata\Keil\Arm\Packs\Keil\STM32F1xx_DFP\2.3.0\Device\Include\stm32f10x.h)(0x58258CCC)
|
I (C:\Programdata\Keil\Arm\Packs\Keil\STM32F1xx_DFP\2.3.0\Device\Include\stm32f10x.h)(0x58258CCC)
|
||||||
I (.\RTE\_R_el\RTE_Components.h)(0x6380E338)
|
I (.\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:\Programdata\Keil\Arm\Packs\ARM\CMSIS\5.7.0\CMSIS\Core\Include\core_cm3.h)(0x5E8F2582)
|
||||||
|
@ -17,6 +17,7 @@ I (.\FileInclude\Telecommande.h)(0x6380E338)
|
||||||
I (.\FileInclude\Batterie.h)(0x6380E338)
|
I (.\FileInclude\Batterie.h)(0x6380E338)
|
||||||
I (.\FileInclude\MyGirouette.h)(0x63727F20)
|
I (.\FileInclude\MyGirouette.h)(0x63727F20)
|
||||||
I (.\FileInclude\MyVoile.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)
|
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 (FileInclude\MyTimer.h)(0x6380E338)
|
||||||
I (C:\Programdata\Keil\Arm\Packs\Keil\STM32F1xx_DFP\2.3.0\Device\Include\stm32f10x.h)(0x58258CCC)
|
I (C:\Programdata\Keil\Arm\Packs\Keil\STM32F1xx_DFP\2.3.0\Device\Include\stm32f10x.h)(0x58258CCC)
|
||||||
|
@ -111,6 +112,7 @@ I (C:\Programdata\Keil\Arm\Packs\Keil\STM32F1xx_DFP\2.3.0\Device\Include\system_
|
||||||
I (FileInclude\Driver_GPIO.h)(0x6380E338)
|
I (FileInclude\Driver_GPIO.h)(0x6380E338)
|
||||||
I (FileInclude\Plateau.h)(0x6380E338)
|
I (FileInclude\Plateau.h)(0x6380E338)
|
||||||
I (FileInclude\Telecommande.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\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\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)
|
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)
|
||||||
|
|
Binary file not shown.
|
@ -27,19 +27,19 @@ Project File Date: 11/25/2022
|
||||||
<h2>Output:</h2>
|
<h2>Output:</h2>
|
||||||
*** Using Compiler 'V5.06 update 7 (build 960)', folder: 'C:\Keil_v5\ARM\ARMCC\Bin'
|
*** Using Compiler 'V5.06 update 7 (build 960)', folder: 'C:\Keil_v5\ARM\ARMCC\Bin'
|
||||||
Rebuild target 'Réel'
|
Rebuild target 'Réel'
|
||||||
compiling Driver_GPIO.c...
|
|
||||||
compiling MyVoile.c...
|
compiling MyVoile.c...
|
||||||
compiling MyADC.c...
|
compiling MyADC.c...
|
||||||
compiling Plateau.c...
|
compiling Driver_GPIO.c...
|
||||||
compiling MyTimer.c...
|
compiling MyTimer.c...
|
||||||
compiling MyGirouette.c...
|
compiling MyGirouette.c...
|
||||||
compiling main.c...
|
compiling main.c...
|
||||||
|
compiling Plateau.c...
|
||||||
assembling startup_stm32f10x_md.s...
|
assembling startup_stm32f10x_md.s...
|
||||||
compiling Batterie.c...
|
compiling Batterie.c...
|
||||||
compiling Telecommande.c...
|
|
||||||
compiling system_stm32f10x.c...
|
compiling system_stm32f10x.c...
|
||||||
|
compiling Telecommande.c...
|
||||||
linking...
|
linking...
|
||||||
Program Size: Code=4824 RO-data=320 RW-data=84 ZI-data=1116
|
Program Size: Code=5656 RO-data=320 RW-data=96 ZI-data=1112
|
||||||
".\Objects\Projet1_Simulation.axf" - 0 Error(s), 0 Warning(s).
|
".\Objects\Projet1_Simulation.axf" - 0 Error(s), 0 Warning(s).
|
||||||
|
|
||||||
<h2>Software Packages used:</h2>
|
<h2>Software Packages used:</h2>
|
||||||
|
|
|
@ -3,7 +3,7 @@
|
||||||
<title>Static Call Graph - [.\Objects\Projet1_Simulation.axf]</title></head>
|
<title>Static Call Graph - [.\Objects\Projet1_Simulation.axf]</title></head>
|
||||||
<body><HR>
|
<body><HR>
|
||||||
<H1>Static Call Graph for image .\Objects\Projet1_Simulation.axf</H1><HR>
|
<H1>Static Call Graph for image .\Objects\Projet1_Simulation.axf</H1><HR>
|
||||||
<BR><P>#<CALLGRAPH># ARM Linker, 5060960: Last Updated: Fri Nov 25 18:01:54 2022
|
<BR><P>#<CALLGRAPH># ARM Linker, 5060960: Last Updated: Fri Nov 25 18:28:39 2022
|
||||||
<BR><P>
|
<BR><P>
|
||||||
<H3>Maximum Stack Usage = 144 bytes + Unknown(Cycles, Untraceable Function Pointers)</H3><H3>
|
<H3>Maximum Stack Usage = 144 bytes + Unknown(Cycles, Untraceable Function Pointers)</H3><H3>
|
||||||
Call chain for Maximum Stack Depth:</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))
|
<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)
|
<BR>[Address Reference Count : 1]<UL><LI> startup_stm32f10x_md.o(.text)
|
||||||
</UL>
|
</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))
|
<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]">>></a> __scatterload
|
<BR><BR>[Calls]<UL><LI><a href="#[3b]">>></a> __scatterload
|
||||||
|
@ -102,17 +102,17 @@ Global Symbols
|
||||||
<BR><BR>[Called By]<UL><LI><a href="#[3b]">>></a> __scatterload
|
<BR><BR>[Called By]<UL><LI><a href="#[3b]">>></a> __scatterload
|
||||||
</UL>
|
</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))
|
<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)
|
<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))
|
<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)
|
<BR>[Address Reference Count : 1]<UL><LI> startup_stm32f10x_md.o(RESET)
|
||||||
</UL>
|
</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
|
<BR><BR>[Stack]<UL><LI>Max Depth = 8<LI>Call Chain = __aeabi_fmul
|
||||||
</UL>
|
</UL>
|
||||||
<BR>[Called By]<UL><LI><a href="#[63]">>></a> Set_Voile
|
<BR>[Called By]<UL><LI><a href="#[65]">>></a> Set_Voile
|
||||||
</UL>
|
</UL>
|
||||||
|
|
||||||
<P><STRONG><a name="[3c]"></a>__aeabi_dadd</STRONG> (Thumb, 322 bytes, Stack size 48 bytes, dadd.o(.text))
|
<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>
|
</UL>
|
||||||
<BR>[Calls]<UL><LI><a href="#[3c]">>></a> __aeabi_dadd
|
<BR>[Calls]<UL><LI><a href="#[3c]">>></a> __aeabi_dadd
|
||||||
</UL>
|
</UL>
|
||||||
<BR>[Called By]<UL><LI><a href="#[63]">>></a> Set_Voile
|
<BR>[Called By]<UL><LI><a href="#[65]">>></a> Set_Voile
|
||||||
</UL>
|
</UL>
|
||||||
|
|
||||||
<P><STRONG><a name="[43]"></a>__aeabi_dmul</STRONG> (Thumb, 228 bytes, Stack size 48 bytes, dmul.o(.text))
|
<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>
|
</UL>
|
||||||
<BR>[Calls]<UL><LI><a href="#[3f]">>></a> _double_epilogue
|
<BR>[Calls]<UL><LI><a href="#[3f]">>></a> _double_epilogue
|
||||||
</UL>
|
</UL>
|
||||||
<BR>[Called By]<UL><LI><a href="#[63]">>></a> Set_Voile
|
<BR>[Called By]<UL><LI><a href="#[65]">>></a> Set_Voile
|
||||||
</UL>
|
</UL>
|
||||||
|
|
||||||
<P><STRONG><a name="[44]"></a>__aeabi_ddiv</STRONG> (Thumb, 222 bytes, Stack size 32 bytes, ddiv.o(.text))
|
<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>
|
</UL>
|
||||||
<BR>[Calls]<UL><LI><a href="#[40]">>></a> _double_round
|
<BR>[Calls]<UL><LI><a href="#[40]">>></a> _double_round
|
||||||
</UL>
|
</UL>
|
||||||
<BR>[Called By]<UL><LI><a href="#[63]">>></a> Set_Voile
|
<BR>[Called By]<UL><LI><a href="#[65]">>></a> Set_Voile
|
||||||
</UL>
|
</UL>
|
||||||
|
|
||||||
<P><STRONG><a name="[45]"></a>__aeabi_ui2f</STRONG> (Thumb, 10 bytes, Stack size 0 bytes, ffltui.o(.text))
|
<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>
|
</UL>
|
||||||
<BR>[Calls]<UL><LI><a href="#[46]">>></a> _float_epilogue
|
<BR>[Calls]<UL><LI><a href="#[46]">>></a> _float_epilogue
|
||||||
</UL>
|
</UL>
|
||||||
<BR>[Called By]<UL><LI><a href="#[63]">>></a> Set_Voile
|
<BR>[Called By]<UL><LI><a href="#[65]">>></a> Set_Voile
|
||||||
</UL>
|
</UL>
|
||||||
|
|
||||||
<P><STRONG><a name="[47]"></a>__aeabi_ui2d</STRONG> (Thumb, 26 bytes, Stack size 16 bytes, dfltui.o(.text))
|
<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>
|
</UL>
|
||||||
<BR>[Calls]<UL><LI><a href="#[3f]">>></a> _double_epilogue
|
<BR>[Calls]<UL><LI><a href="#[3f]">>></a> _double_epilogue
|
||||||
</UL>
|
</UL>
|
||||||
<BR>[Called By]<UL><LI><a href="#[63]">>></a> Set_Voile
|
<BR>[Called By]<UL><LI><a href="#[65]">>></a> Set_Voile
|
||||||
</UL>
|
</UL>
|
||||||
|
|
||||||
<P><STRONG><a name="[67]"></a>__aeabi_f2uiz</STRONG> (Thumb, 40 bytes, Stack size 0 bytes, ffixui.o(.text))
|
<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="#[63]">>></a> Set_Voile
|
<BR><BR>[Called By]<UL><LI><a href="#[65]">>></a> Set_Voile
|
||||||
</UL>
|
</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))
|
<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="#[63]">>></a> Set_Voile
|
<BR><BR>[Called By]<UL><LI><a href="#[65]">>></a> Set_Voile
|
||||||
</UL>
|
</UL>
|
||||||
|
|
||||||
<P><STRONG><a name="[48]"></a>__aeabi_d2f</STRONG> (Thumb, 56 bytes, Stack size 8 bytes, d2f.o(.text))
|
<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>
|
</UL>
|
||||||
<BR>[Calls]<UL><LI><a href="#[49]">>></a> _float_round
|
<BR>[Calls]<UL><LI><a href="#[49]">>></a> _float_round
|
||||||
</UL>
|
</UL>
|
||||||
<BR>[Called By]<UL><LI><a href="#[63]">>></a> Set_Voile
|
<BR>[Called By]<UL><LI><a href="#[65]">>></a> Set_Voile
|
||||||
</UL>
|
</UL>
|
||||||
|
|
||||||
<P><STRONG><a name="[3d]"></a>__aeabi_llsl</STRONG> (Thumb, 30 bytes, Stack size 0 bytes, llshl.o(.text))
|
<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]">>></a> __aeabi_dadd
|
<LI><a href="#[3c]">>></a> __aeabi_dadd
|
||||||
</UL>
|
</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))
|
<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]">>></a> __aeabi_dadd
|
<BR><BR>[Called By]<UL><LI><a href="#[3c]">>></a> __aeabi_dadd
|
||||||
</UL>
|
</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))
|
<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]">>></a> __aeabi_d2f
|
<BR><BR>[Called By]<UL><LI><a href="#[48]">>></a> __aeabi_d2f
|
||||||
|
@ -426,18 +426,18 @@ Global Symbols
|
||||||
<BR>[Called By]<UL><LI><a href="#[3a]">>></a> _main_scatterload
|
<BR>[Called By]<UL><LI><a href="#[3a]">>></a> _main_scatterload
|
||||||
</UL>
|
</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))
|
<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]">>></a> _double_epilogue
|
<BR><BR>[Called By]<UL><LI><a href="#[3f]">>></a> _double_epilogue
|
||||||
</UL>
|
</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, 32 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)
|
<BR>[Address Reference Count : 1]<UL><LI> startup_stm32f10x_md.o(RESET)
|
||||||
</UL>
|
</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]">>></a> main
|
<BR><BR>[Called By]<UL><LI><a href="#[35]">>></a> main
|
||||||
</UL>
|
</UL>
|
||||||
|
|
||||||
|
@ -449,8 +449,8 @@ Global Symbols
|
||||||
<BR>[Called By]<UL><LI><a href="#[38]">>></a> handler
|
<BR>[Called By]<UL><LI><a href="#[38]">>></a> handler
|
||||||
</UL>
|
</UL>
|
||||||
|
|
||||||
<P><STRONG><a name="[65]"></a>Get_Max_Duty</STRONG> (Thumb, 6 bytes, Stack size 0 bytes, mytimer.o(i.Get_Max_Duty))
|
<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="#[63]">>></a> Set_Voile
|
<BR><BR>[Called By]<UL><LI><a href="#[65]">>></a> Set_Voile
|
||||||
</UL>
|
</UL>
|
||||||
|
|
||||||
<P><STRONG><a name="[4e]"></a>Init_Batterie</STRONG> (Thumb, 32 bytes, Stack size 8 bytes, batterie.o(i.Init_Batterie))
|
<P><STRONG><a name="[4e]"></a>Init_Batterie</STRONG> (Thumb, 32 bytes, Stack size 8 bytes, batterie.o(i.Init_Batterie))
|
||||||
|
@ -473,7 +473,7 @@ Global Symbols
|
||||||
<BR>[Called By]<UL><LI><a href="#[35]">>></a> main
|
<BR>[Called By]<UL><LI><a href="#[35]">>></a> main
|
||||||
</UL>
|
</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]">>></a> main
|
<BR><BR>[Called By]<UL><LI><a href="#[35]">>></a> main
|
||||||
</UL>
|
</UL>
|
||||||
|
|
||||||
|
@ -485,7 +485,7 @@ Global Symbols
|
||||||
<LI><a href="#[54]">>></a> MyTimer_Base_Start
|
<LI><a href="#[54]">>></a> MyTimer_Base_Start
|
||||||
<LI><a href="#[53]">>></a> MyTimer_Base_Init
|
<LI><a href="#[53]">>></a> MyTimer_Base_Init
|
||||||
</UL>
|
</UL>
|
||||||
<BR>[Called By]<UL><LI><a href="#[60]">>></a> Set_Moteur_Plateau
|
<BR>[Called By]<UL><LI><a href="#[62]">>></a> Set_Moteur_Plateau
|
||||||
<LI><a href="#[35]">>></a> main
|
<LI><a href="#[35]">>></a> main
|
||||||
</UL>
|
</UL>
|
||||||
|
|
||||||
|
@ -507,29 +507,54 @@ Global Symbols
|
||||||
<LI><a href="#[4e]">>></a> Init_Batterie
|
<LI><a href="#[4e]">>></a> Init_Batterie
|
||||||
</UL>
|
</UL>
|
||||||
|
|
||||||
<P><STRONG><a name="[5e]"></a>MyGPIO_Reset</STRONG> (Thumb, 14 bytes, Stack size 0 bytes, driver_gpio.o(i.MyGPIO_Reset))
|
<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="#[5d]">>></a> Set_Direction
|
<BR><BR>[Called By]<UL><LI><a href="#[5f]">>></a> Set_Direction
|
||||||
</UL>
|
</UL>
|
||||||
|
|
||||||
<P><STRONG><a name="[5f]"></a>MyGPIO_Set</STRONG> (Thumb, 12 bytes, Stack size 0 bytes, driver_gpio.o(i.MyGPIO_Set))
|
<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="#[5d]">>></a> Set_Direction
|
<BR><BR>[Called By]<UL><LI><a href="#[5f]">>></a> Set_Direction
|
||||||
</UL>
|
</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]">>></a> 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]">>></a> MySPI_Set_NSS
|
||||||
|
</UL>
|
||||||
|
<BR>[Called By]<UL><LI><a href="#[35]">>></a> 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]">>></a> 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]">>></a> 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]">>></a> MySPI_Init
|
||||||
|
<LI><a href="#[35]">>></a> 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
|
<BR><BR>[Stack]<UL><LI>Max Depth = 8<LI>Call Chain = MyTimer_ActiveIT
|
||||||
</UL>
|
</UL>
|
||||||
<BR>[Called By]<UL><LI><a href="#[35]">>></a> main
|
<BR>[Called By]<UL><LI><a href="#[35]">>></a> main
|
||||||
</UL>
|
</UL>
|
||||||
|
|
||||||
<P><STRONG><a name="[53]"></a>MyTimer_Base_Init</STRONG> (Thumb, 98 bytes, Stack size 0 bytes, mytimer.o(i.MyTimer_Base_Init))
|
<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]">>></a> MyVoile_Init
|
<BR><BR>[Called By]<UL><LI><a href="#[5a]">>></a> MyVoile_Init
|
||||||
<LI><a href="#[55]">>></a> Init_Plateau
|
<LI><a href="#[55]">>></a> Init_Plateau
|
||||||
<LI><a href="#[52]">>></a> Init_Girouette
|
<LI><a href="#[52]">>></a> Init_Girouette
|
||||||
<LI><a href="#[35]">>></a> main
|
<LI><a href="#[35]">>></a> main
|
||||||
</UL>
|
</UL>
|
||||||
|
|
||||||
<P><STRONG><a name="[54]"></a>MyTimer_Base_Start</STRONG> (Thumb, 10 bytes, Stack size 0 bytes, mytimer.o(i.MyTimer_Base_Start))
|
<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]">>></a> MyVoile_Init
|
<BR><BR>[Called By]<UL><LI><a href="#[5a]">>></a> MyVoile_Init
|
||||||
<LI><a href="#[55]">>></a> Init_Plateau
|
<LI><a href="#[55]">>></a> Init_Plateau
|
||||||
<LI><a href="#[52]">>></a> Init_Girouette
|
<LI><a href="#[52]">>></a> Init_Girouette
|
||||||
<LI><a href="#[35]">>></a> main
|
<LI><a href="#[35]">>></a> main
|
||||||
|
@ -540,11 +565,11 @@ Global Symbols
|
||||||
</UL>
|
</UL>
|
||||||
<BR>[Calls]<UL><LI><a href="#[4f]">>></a> MyGPIO_Init
|
<BR>[Calls]<UL><LI><a href="#[4f]">>></a> MyGPIO_Init
|
||||||
</UL>
|
</UL>
|
||||||
<BR>[Called By]<UL><LI><a href="#[58]">>></a> MyVoile_Init
|
<BR>[Called By]<UL><LI><a href="#[5a]">>></a> MyVoile_Init
|
||||||
<LI><a href="#[55]">>></a> Init_Plateau
|
<LI><a href="#[55]">>></a> Init_Plateau
|
||||||
</UL>
|
</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 ⇒ MyTimer_PWM ⇒ MyGPIO_Init
|
<BR><BR>[Stack]<UL><LI>Max Depth = 52<LI>Call Chain = MyVoile_Init ⇒ MyTimer_PWM ⇒ MyGPIO_Init
|
||||||
</UL>
|
</UL>
|
||||||
<BR>[Calls]<UL><LI><a href="#[56]">>></a> MyTimer_PWM
|
<BR>[Calls]<UL><LI><a href="#[56]">>></a> MyTimer_PWM
|
||||||
|
@ -554,69 +579,69 @@ Global Symbols
|
||||||
<BR>[Called By]<UL><LI><a href="#[35]">>></a> main
|
<BR>[Called By]<UL><LI><a href="#[35]">>></a> main
|
||||||
</UL>
|
</UL>
|
||||||
|
|
||||||
<P><STRONG><a name="[5a]"></a>Send_Char</STRONG> (Thumb, 22 bytes, Stack size 0 bytes, telecommande.o(i.Send_Char))
|
<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="#[59]">>></a> Send_Message
|
<BR><BR>[Called By]<UL><LI><a href="#[5b]">>></a> Send_Message
|
||||||
</UL>
|
</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
|
<BR><BR>[Stack]<UL><LI>Max Depth = 4<LI>Call Chain = Send_Message
|
||||||
</UL>
|
</UL>
|
||||||
<BR>[Calls]<UL><LI><a href="#[5a]">>></a> Send_Char
|
<BR>[Calls]<UL><LI><a href="#[5c]">>></a> Send_Char
|
||||||
</UL>
|
</UL>
|
||||||
<BR>[Called By]<UL><LI><a href="#[38]">>></a> handler
|
<BR>[Called By]<UL><LI><a href="#[38]">>></a> handler
|
||||||
</UL>
|
</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
|
<BR><BR>[Stack]<UL><LI>Max Depth = 8<LI>Call Chain = Set_Direction
|
||||||
</UL>
|
</UL>
|
||||||
<BR>[Calls]<UL><LI><a href="#[5f]">>></a> MyGPIO_Set
|
<BR>[Calls]<UL><LI><a href="#[61]">>></a> MyGPIO_Set
|
||||||
<LI><a href="#[5e]">>></a> MyGPIO_Reset
|
<LI><a href="#[60]">>></a> MyGPIO_Reset
|
||||||
</UL>
|
</UL>
|
||||||
<BR>[Called By]<UL><LI><a href="#[60]">>></a> Set_Moteur_Plateau
|
<BR>[Called By]<UL><LI><a href="#[62]">>></a> Set_Moteur_Plateau
|
||||||
</UL>
|
</UL>
|
||||||
|
|
||||||
<P><STRONG><a name="[68]"></a>Set_Duty_Cycle</STRONG> (Thumb, 40 bytes, Stack size 0 bytes, mytimer.o(i.Set_Duty_Cycle))
|
<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="#[63]">>></a> Set_Voile
|
<BR><BR>[Called By]<UL><LI><a href="#[65]">>></a> Set_Voile
|
||||||
</UL>
|
</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 ⇒ Init_Plateau ⇒ MyTimer_PWM ⇒ MyGPIO_Init
|
<BR><BR>[Stack]<UL><LI>Max Depth = 60<LI>Call Chain = Set_Moteur_Plateau ⇒ Init_Plateau ⇒ MyTimer_PWM ⇒ MyGPIO_Init
|
||||||
</UL>
|
</UL>
|
||||||
<BR>[Calls]<UL><LI><a href="#[61]">>></a> Set_Vitesse
|
<BR>[Calls]<UL><LI><a href="#[63]">>></a> Set_Vitesse
|
||||||
<LI><a href="#[5d]">>></a> Set_Direction
|
<LI><a href="#[5f]">>></a> Set_Direction
|
||||||
<LI><a href="#[55]">>></a> Init_Plateau
|
<LI><a href="#[55]">>></a> Init_Plateau
|
||||||
</UL>
|
</UL>
|
||||||
<BR>[Called By]<UL><LI><a href="#[39]">>></a> f
|
<BR>[Called By]<UL><LI><a href="#[39]">>></a> f
|
||||||
</UL>
|
</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
|
<BR><BR>[Stack]<UL><LI>Max Depth = 12<LI>Call Chain = Set_PWM_PRCT
|
||||||
</UL>
|
</UL>
|
||||||
<BR>[Called By]<UL><LI><a href="#[61]">>></a> Set_Vitesse
|
<BR>[Called By]<UL><LI><a href="#[63]">>></a> Set_Vitesse
|
||||||
</UL>
|
</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 ⇒ Set_PWM_PRCT
|
<BR><BR>[Stack]<UL><LI>Max Depth = 20<LI>Call Chain = Set_Vitesse ⇒ Set_PWM_PRCT
|
||||||
</UL>
|
</UL>
|
||||||
<BR>[Calls]<UL><LI><a href="#[62]">>></a> Set_PWM_PRCT
|
<BR>[Calls]<UL><LI><a href="#[64]">>></a> Set_PWM_PRCT
|
||||||
</UL>
|
</UL>
|
||||||
<BR>[Called By]<UL><LI><a href="#[60]">>></a> Set_Moteur_Plateau
|
<BR>[Called By]<UL><LI><a href="#[62]">>></a> Set_Moteur_Plateau
|
||||||
</UL>
|
</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 ⇒ __aeabi_drsub ⇒ __aeabi_dadd ⇒ _double_epilogue ⇒ _double_round
|
<BR><BR>[Stack]<UL><LI>Max Depth = 144<LI>Call Chain = Set_Voile ⇒ __aeabi_drsub ⇒ __aeabi_dadd ⇒ _double_epilogue ⇒ _double_round
|
||||||
</UL>
|
</UL>
|
||||||
<BR>[Calls]<UL><LI><a href="#[45]">>></a> __aeabi_ui2f
|
<BR>[Calls]<UL><LI><a href="#[45]">>></a> __aeabi_ui2f
|
||||||
<LI><a href="#[47]">>></a> __aeabi_ui2d
|
<LI><a href="#[47]">>></a> __aeabi_ui2d
|
||||||
<LI><a href="#[66]">>></a> __aeabi_fmul
|
<LI><a href="#[68]">>></a> __aeabi_fmul
|
||||||
<LI><a href="#[67]">>></a> __aeabi_f2uiz
|
<LI><a href="#[69]">>></a> __aeabi_f2uiz
|
||||||
<LI><a href="#[42]">>></a> __aeabi_drsub
|
<LI><a href="#[42]">>></a> __aeabi_drsub
|
||||||
<LI><a href="#[43]">>></a> __aeabi_dmul
|
<LI><a href="#[43]">>></a> __aeabi_dmul
|
||||||
<LI><a href="#[44]">>></a> __aeabi_ddiv
|
<LI><a href="#[44]">>></a> __aeabi_ddiv
|
||||||
<LI><a href="#[48]">>></a> __aeabi_d2f
|
<LI><a href="#[48]">>></a> __aeabi_d2f
|
||||||
<LI><a href="#[64]">>></a> __aeabi_cdcmple
|
<LI><a href="#[66]">>></a> __aeabi_cdcmple
|
||||||
<LI><a href="#[68]">>></a> Set_Duty_Cycle
|
<LI><a href="#[6a]">>></a> Set_Duty_Cycle
|
||||||
<LI><a href="#[65]">>></a> Get_Max_Duty
|
<LI><a href="#[67]">>></a> Get_Max_Duty
|
||||||
</UL>
|
</UL>
|
||||||
<BR>[Called By]<UL><LI><a href="#[35]">>></a> main
|
<BR>[Called By]<UL><LI><a href="#[35]">>></a> main
|
||||||
</UL>
|
</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))
|
<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 ⇒ SetSysClock ⇒ SetSysClockTo72
|
<BR><BR>[Stack]<UL><LI>Max Depth = 28<LI>Call Chain = SystemInit ⇒ SetSysClock ⇒ SetSysClockTo72
|
||||||
</UL>
|
</UL>
|
||||||
<BR>[Calls]<UL><LI><a href="#[5b]">>></a> SetSysClock
|
<BR>[Calls]<UL><LI><a href="#[5d]">>></a> SetSysClock
|
||||||
</UL>
|
</UL>
|
||||||
<BR>[Address Reference Count : 1]<UL><LI> startup_stm32f10x_md.o(.text)
|
<BR>[Address Reference Count : 1]<UL><LI> startup_stm32f10x_md.o(.text)
|
||||||
</UL>
|
</UL>
|
||||||
|
@ -653,23 +678,23 @@ Global Symbols
|
||||||
</UL>
|
</UL>
|
||||||
<BR>[Address Reference Count : 1]<UL><LI> startup_stm32f10x_md.o(RESET)
|
<BR>[Address Reference Count : 1]<UL><LI> startup_stm32f10x_md.o(RESET)
|
||||||
</UL>
|
</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))
|
<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 ⇒ Set_Moteur_Plateau ⇒ Init_Plateau ⇒ MyTimer_PWM ⇒ MyGPIO_Init
|
<BR><BR>[Stack]<UL><LI>Max Depth = 68<LI>Call Chain = f ⇒ Set_Moteur_Plateau ⇒ Init_Plateau ⇒ MyTimer_PWM ⇒ MyGPIO_Init
|
||||||
</UL>
|
</UL>
|
||||||
<BR>[Calls]<UL><LI><a href="#[60]">>></a> Set_Moteur_Plateau
|
<BR>[Calls]<UL><LI><a href="#[62]">>></a> Set_Moteur_Plateau
|
||||||
</UL>
|
</UL>
|
||||||
<BR>[Address Reference Count : 1]<UL><LI> main.o(i.main)
|
<BR>[Address Reference Count : 1]<UL><LI> main.o(i.main)
|
||||||
</UL>
|
</UL>
|
||||||
<P><STRONG><a name="[38]"></a>handler</STRONG> (Thumb, 126 bytes, Stack size 8 bytes, main.o(i.handler))
|
<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 ⇒ Get_Batterie ⇒ read
|
<BR><BR>[Stack]<UL><LI>Max Depth = 20<LI>Call Chain = handler ⇒ Get_Batterie ⇒ read
|
||||||
</UL>
|
</UL>
|
||||||
<BR>[Calls]<UL><LI><a href="#[59]">>></a> Send_Message
|
<BR>[Calls]<UL><LI><a href="#[5b]">>></a> Send_Message
|
||||||
<LI><a href="#[4c]">>></a> Get_Batterie
|
<LI><a href="#[4c]">>></a> Get_Batterie
|
||||||
</UL>
|
</UL>
|
||||||
<BR>[Address Reference Count : 1]<UL><LI> main.o(i.main)
|
<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]">>></a> Init_Batterie
|
<BR><BR>[Called By]<UL><LI><a href="#[4e]">>></a> Init_Batterie
|
||||||
</UL>
|
</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 ⇒ Set_Voile ⇒ __aeabi_drsub ⇒ __aeabi_dadd ⇒ _double_epilogue ⇒ _double_round
|
<BR><BR>[Stack]<UL><LI>Max Depth = 144<LI>Call Chain = main ⇒ Set_Voile ⇒ __aeabi_drsub ⇒ __aeabi_dadd ⇒ _double_epilogue ⇒ _double_round
|
||||||
</UL>
|
</UL>
|
||||||
<BR>[Calls]<UL><LI><a href="#[63]">>></a> Set_Voile
|
<BR>[Calls]<UL><LI><a href="#[65]">>></a> Set_Voile
|
||||||
<LI><a href="#[58]">>></a> MyVoile_Init
|
<LI><a href="#[5a]">>></a> MyVoile_Init
|
||||||
<LI><a href="#[54]">>></a> MyTimer_Base_Start
|
<LI><a href="#[54]">>></a> MyTimer_Base_Start
|
||||||
<LI><a href="#[53]">>></a> MyTimer_Base_Init
|
<LI><a href="#[53]">>></a> MyTimer_Base_Init
|
||||||
<LI><a href="#[69]">>></a> MyTimer_ActiveIT
|
<LI><a href="#[6b]">>></a> MyTimer_ActiveIT
|
||||||
|
<LI><a href="#[59]">>></a> MySPI_Set_NSS
|
||||||
|
<LI><a href="#[6e]">>></a> MySPI_Send
|
||||||
|
<LI><a href="#[6f]">>></a> MySPI_Read
|
||||||
|
<LI><a href="#[58]">>></a> MySPI_Init
|
||||||
|
<LI><a href="#[6d]">>></a> MySPI_Clear_NSS
|
||||||
<LI><a href="#[57]">>></a> Init_USART
|
<LI><a href="#[57]">>></a> Init_USART
|
||||||
<LI><a href="#[55]">>></a> Init_Plateau
|
<LI><a href="#[55]">>></a> Init_Plateau
|
||||||
<LI><a href="#[6a]">>></a> Init_Message_Reception
|
<LI><a href="#[6c]">>></a> Init_Message_Reception
|
||||||
<LI><a href="#[52]">>></a> Init_Girouette
|
<LI><a href="#[52]">>></a> Init_Girouette
|
||||||
<LI><a href="#[4e]">>></a> Init_Batterie
|
<LI><a href="#[4e]">>></a> Init_Batterie
|
||||||
<LI><a href="#[6b]">>></a> Get_Angle
|
<LI><a href="#[70]">>></a> Get_Angle
|
||||||
</UL>
|
</UL>
|
||||||
<BR>[Address Reference Count : 1]<UL><LI> entry9a.o(.ARM.Collect$$$$0000000B)
|
<BR>[Address Reference Count : 1]<UL><LI> entry9a.o(.ARM.Collect$$$$0000000B)
|
||||||
</UL>
|
</UL>
|
||||||
|
@ -711,18 +741,18 @@ Global Symbols
|
||||||
<H3>
|
<H3>
|
||||||
Local Symbols
|
Local Symbols
|
||||||
</H3>
|
</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 ⇒ SetSysClockTo72
|
<BR><BR>[Stack]<UL><LI>Max Depth = 20<LI>Call Chain = SetSysClock ⇒ SetSysClockTo72
|
||||||
</UL>
|
</UL>
|
||||||
<BR>[Calls]<UL><LI><a href="#[5c]">>></a> SetSysClockTo72
|
<BR>[Calls]<UL><LI><a href="#[5e]">>></a> SetSysClockTo72
|
||||||
</UL>
|
</UL>
|
||||||
<BR>[Called By]<UL><LI><a href="#[36]">>></a> SystemInit
|
<BR>[Called By]<UL><LI><a href="#[36]">>></a> SystemInit
|
||||||
</UL>
|
</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
|
<BR><BR>[Stack]<UL><LI>Max Depth = 12<LI>Call Chain = SetSysClockTo72
|
||||||
</UL>
|
</UL>
|
||||||
<BR>[Called By]<UL><LI><a href="#[5b]">>></a> SetSysClock
|
<BR>[Called By]<UL><LI><a href="#[5d]">>></a> SetSysClock
|
||||||
</UL>
|
</UL>
|
||||||
<P>
|
<P>
|
||||||
<H3>
|
<H3>
|
||||||
|
|
|
@ -8,6 +8,7 @@
|
||||||
".\objects\plateau.o"
|
".\objects\plateau.o"
|
||||||
".\objects\batterie.o"
|
".\objects\batterie.o"
|
||||||
".\objects\telecommande.o"
|
".\objects\telecommande.o"
|
||||||
|
".\FileInclude\Lib_Com_Periph_2022.lib"
|
||||||
".\objects\startup_stm32f10x_md.o"
|
".\objects\startup_stm32f10x_md.o"
|
||||||
".\objects\system_stm32f10x.o"
|
".\objects\system_stm32f10x.o"
|
||||||
--library_type=microlib --strict --scatter ".\Objects\Projet1_Simulation.sct"
|
--library_type=microlib --strict --scatter ".\Objects\Projet1_Simulation.sct"
|
||||||
|
|
Binary file not shown.
Binary file not shown.
BIN
Objects/main.crf
BIN
Objects/main.crf
Binary file not shown.
|
@ -15,3 +15,4 @@
|
||||||
.\objects\main.o: .\FileInclude\Batterie.h
|
.\objects\main.o: .\FileInclude\Batterie.h
|
||||||
.\objects\main.o: .\FileInclude\MyGirouette.h
|
.\objects\main.o: .\FileInclude\MyGirouette.h
|
||||||
.\objects\main.o: .\FileInclude\MyVoile.h
|
.\objects\main.o: .\FileInclude\MyVoile.h
|
||||||
|
.\objects\main.o: .\FileInclude\MySPI.h
|
||||||
|
|
BIN
Objects/main.o
BIN
Objects/main.o
Binary file not shown.
BIN
Objects/myadc.o
BIN
Objects/myadc.o
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
|
@ -386,6 +386,11 @@
|
||||||
<WinNumber>1</WinNumber>
|
<WinNumber>1</WinNumber>
|
||||||
<ItemText>x</ItemText>
|
<ItemText>x</ItemText>
|
||||||
</Ww>
|
</Ww>
|
||||||
|
<Ww>
|
||||||
|
<count>5</count>
|
||||||
|
<WinNumber>1</WinNumber>
|
||||||
|
<ItemText>ID_acc2</ItemText>
|
||||||
|
</Ww>
|
||||||
</WatchWindow1>
|
</WatchWindow1>
|
||||||
<Tracepoint>
|
<Tracepoint>
|
||||||
<THDelay>0</THDelay>
|
<THDelay>0</THDelay>
|
||||||
|
@ -561,6 +566,18 @@
|
||||||
<RteFlg>0</RteFlg>
|
<RteFlg>0</RteFlg>
|
||||||
<bShared>0</bShared>
|
<bShared>0</bShared>
|
||||||
</File>
|
</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>
|
||||||
|
|
||||||
<Group>
|
<Group>
|
||||||
|
|
|
@ -433,6 +433,11 @@
|
||||||
<FileType>1</FileType>
|
<FileType>1</FileType>
|
||||||
<FilePath>.\FileInclude\Telecommande.c</FilePath>
|
<FilePath>.\FileInclude\Telecommande.c</FilePath>
|
||||||
</File>
|
</File>
|
||||||
|
<File>
|
||||||
|
<FileName>Lib_Com_Periph_2022.lib</FileName>
|
||||||
|
<FileType>4</FileType>
|
||||||
|
<FilePath>.\FileInclude\Lib_Com_Periph_2022.lib</FilePath>
|
||||||
|
</File>
|
||||||
</Files>
|
</Files>
|
||||||
</Group>
|
</Group>
|
||||||
<Group>
|
<Group>
|
||||||
|
@ -870,6 +875,11 @@
|
||||||
<FileType>1</FileType>
|
<FileType>1</FileType>
|
||||||
<FilePath>.\FileInclude\Telecommande.c</FilePath>
|
<FilePath>.\FileInclude\Telecommande.c</FilePath>
|
||||||
</File>
|
</File>
|
||||||
|
<File>
|
||||||
|
<FileName>Lib_Com_Periph_2022.lib</FileName>
|
||||||
|
<FileType>4</FileType>
|
||||||
|
<FilePath>.\FileInclude\Lib_Com_Periph_2022.lib</FilePath>
|
||||||
|
</File>
|
||||||
</Files>
|
</Files>
|
||||||
</Group>
|
</Group>
|
||||||
<Group>
|
<Group>
|
||||||
|
|
|
@ -7,14 +7,14 @@
|
||||||
#include <Batterie.h>
|
#include <Batterie.h>
|
||||||
#include <MyGirouette.h>
|
#include <MyGirouette.h>
|
||||||
#include <MyVoile.h>
|
#include <MyVoile.h>
|
||||||
|
#include <MySPI.h>
|
||||||
|
|
||||||
/* Declarations */
|
/* Declarations */
|
||||||
int droite;
|
int droite;
|
||||||
int b;
|
int b;
|
||||||
int testBatterie ;
|
int testBatterie ;
|
||||||
int bat;
|
int bat;
|
||||||
|
int ID_acc,ID_acc2;
|
||||||
int counter = 0;
|
int counter = 0;
|
||||||
char* visuBatterie = "[-----]";
|
char* visuBatterie = "[-----]";
|
||||||
|
|
||||||
|
@ -89,6 +89,8 @@ void f (char a) {
|
||||||
int main (void)
|
int main (void)
|
||||||
{
|
{
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/* Configuration du Timer */
|
/* Configuration du Timer */
|
||||||
Data->Timer = TIM1;
|
Data->Timer = TIM1;
|
||||||
Data->ARR = 65535;
|
Data->ARR = 65535;
|
||||||
|
@ -104,9 +106,23 @@ int main (void)
|
||||||
Init_Girouette();
|
Init_Girouette();
|
||||||
MyVoile_Init();
|
MyVoile_Init();
|
||||||
|
|
||||||
|
MySPI_Init(SPI1);
|
||||||
|
MySPI_Clear_NSS();
|
||||||
|
MySPI_Send(0x2D);
|
||||||
|
MySPI_Send(1<<3);
|
||||||
|
MySPI_Set_NSS();
|
||||||
|
|
||||||
/* Batterie */
|
/* Batterie */
|
||||||
Init_Batterie();
|
Init_Batterie();
|
||||||
while (1) {
|
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());
|
Set_Voile(Get_Angle());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue