SPI au debut
这个提交包含在:
父节点
19cd1a3dcf
当前提交
8205ae0ffc
共有 25 个文件被更改,包括 797 次插入 和 325 次删除
二进制
FileInclude/Lib_Com_Periph_2022.lib
普通文件
二进制
FileInclude/Lib_Com_Periph_2022.lib
普通文件
二进制文件未显示。
229
FileInclude/MyI2C.h
普通文件
229
FileInclude/MyI2C.h
普通文件
|
@ -0,0 +1,229 @@
|
|||
#ifndef _I2C_
|
||||
#define _I2C_
|
||||
|
||||
#include "stm32f10x.h"
|
||||
|
||||
/*************************************************************************************
|
||||
===================== By Periph team INSA GEI 2022 ===========================
|
||||
*************************************************************************************/
|
||||
|
||||
/*
|
||||
*************************************************************************************
|
||||
===================== I2C les IO STM32F103 =================================
|
||||
*************************************************************************************
|
||||
|
||||
Les IO sont pris en charge par la lib, pas besoin de faire les configurations Alt OD.
|
||||
|
||||
**I2C1**
|
||||
SCL PB6
|
||||
SDA PB7
|
||||
|
||||
**I2C2**
|
||||
SCL PB10
|
||||
SDA PB11
|
||||
|
||||
|
||||
*************************************************************************************
|
||||
==================== Fondamentaux I2C ==========================================
|
||||
*************************************************************************************
|
||||
- Bus synchrone Low speed (<100kHz) ou high speed (=400kHz), Ici Low speed 100kHz.
|
||||
- Transfert octet par octet, poids fort en premier, avec aquittement pour chaque octet
|
||||
- Deux lignes SDA et SCL (horloge) en open drain, repos '1'
|
||||
- bit "normal" = SDA stable lors du pulse SCL (ie durant l'état haut de SCL, SDA est stable)
|
||||
- bit Start/Stop/Restart = SDA non stable lorsque SCL vaut '1' (violation règle précédente)
|
||||
* Start : front descendant de SDA lorsque SCL vaut '1'
|
||||
* Stop : front montant de SDA lorsque SCL = '1'
|
||||
* Restart = Start en cours de trame (typiquement pour changer Write/read).
|
||||
- uC en Mode Master uniquement (c'est notre choix) : c'est le uC qui est maître de l'horloge SCL.
|
||||
- Le Slave a une @ 7 bits. On ajoute un bit LSB qui est /WR (donc 0 pour écriture, 1 pour lecture)
|
||||
- Une adresse s'écrit donc |a6 a5 a4 a3 a2 a1 a0 /WR| ce qui donne 8 bits. Elle indique une future
|
||||
lecture ou écriture.
|
||||
On parle d'@ 7 bits en regroupant |a6 a5 a4 a3 a2 a1 a0|
|
||||
On parle d'@ 8 bits en regroupant |a6 a5 a4 a3 a2 a1 a0 /WR| (donc une @ écriture, une @ lecture)
|
||||
NB : préférer le concept @7bits...c'est plus clair.
|
||||
|
||||
- On peut lire ou écrire une ou plusieurs données à la suite. C'est lors de l'envoie de l'adresse Slave
|
||||
par le Master que le sens à venir pour les datas est indiqué.
|
||||
- En écriture,
|
||||
* les Ack sont faits par le slave après chaque octet envoyé par le master (Ack = mise à 0 le bit 9).
|
||||
- En lecture,
|
||||
* dès que le l@ slave est transmise (/RW = 1), et le Ack réalisé, le slave positionne le bit 7
|
||||
du prochain octet à lire sur SDA par anticipation ,
|
||||
* le master enchaîne ses pulses (9), lors du pulse 9 (le dernier) c'est le master qui acquite.
|
||||
* Après chaque acquitement, le Slave amorce le prochain octet en positionnant son bit 7 sur SDA
|
||||
* Après le dernier octet, le Master génère un stop.
|
||||
* Pour pouvoir générer le stop, le Master doit piloter SDA, or ce n'est pas possible puisque
|
||||
le Slave positionne le futur bit 7 ... Pour régler ce problème :
|
||||
lors du dernier transfert, le Master N'acquitte PAS (NACK). Ainsi le Slave ne
|
||||
propose plus le bit 7 du prochain octet sur SDA et libère SDA. Le Master peut alors clôturer la
|
||||
communication avec un Stop.
|
||||
|
||||
|
||||
|
||||
|
||||
======= Echange typique avec un Slave ================================================================
|
||||
- Une lecture ou écriture se fait vers un Slave et à partir d'une adresse mémoire donnée (pointeur interne).
|
||||
Ce pointeur est automatiquement incrémenté dans le slave lors des accès écriture ou lecture.
|
||||
|
||||
- Ecriture de N octets , trame complète (@ = adresse slave, pt = valeur de chargement du pointeur interne)
|
||||
|Start Cond |@6|@5|@4|@3|@2|@1|@0| Wr =0 |Slave ACK|
|
||||
|pt7|pt6|pt5|pt4|pt3|pt2|pt1|pt0|Slave ACK|
|
||||
|d7|d6|d5|d4|d3|d2|d1|d0|Slave ACK| (data 1)
|
||||
.....
|
||||
|d7|d6|d5|d4|d3|d2|d1|d0|Salve ACK|Stop Cond| (data N)
|
||||
|
||||
- Lecture de N octets à partir d'une adresse de pointeur donnée
|
||||
|Start Cond |@6|@5|@4|@3|@2|@1|@0| Wr =0 |Slave ACK|
|
||||
|pt7|pt6|pt5|pt4|pt3|pt2|pt1|pt0|Slave ACK|
|
||||
|ReStart Cond |@6|@5|@4|@3|@2|@1|@0| Wr =1 |Slave ACK| (NB: restart nécessaire pour changer écriture / lecture)
|
||||
|d7|d6|d5|d4|d3|d2|d1|d0|Master ACK| (data 1)
|
||||
.....
|
||||
|d7|d6|d5|d4|d3|d2|d1|d0|Master ACK| (data N-1)
|
||||
|d7|d6|d5|d4|d3|d2|d1|d0|Master NACK|Stop Cond| (data N)
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
*************************************************************************************
|
||||
==================== La lib I2C ==========================================
|
||||
*************************************************************************************
|
||||
|
||||
3 fonctions essentielles :
|
||||
MyI2C_Init
|
||||
MyI2C_PutString
|
||||
MyI2C_GetString
|
||||
|
||||
1 fonction spéciale : MyI2C_Get_Error
|
||||
|
||||
Les fonctions Put/Get string fonctionnent sur le principe classique décrit précédemment
|
||||
(Slave@, Pter @, Data...).
|
||||
La fonction init prend parmi ses paramètres le nom d'une fct callback d'erreur.
|
||||
En fait, le driver gère en IT les erreurs possibles I2C. La fonction MyI2C_Get_Error permet de
|
||||
recevoir un code erreur.
|
||||
Il est conseillé d'utiliser ce callback. Si on tombe dedans, c'est qu'une erreur s'est produite.
|
||||
Si le code erreur est "inconnu", souvent c'est qu'il y a un soucis à l'adressage slave:
|
||||
Vérifier alors la connectique physique SDA/SCL ainsi que l'alimentation du slave ou tout simplement
|
||||
l'@ slave !
|
||||
|
||||
|
||||
==========================================================================================*/
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
/*=========================================================================================
|
||||
GESTION ERREURS
|
||||
========================================================================================= */
|
||||
typedef enum
|
||||
{
|
||||
OK,
|
||||
BusError, //
|
||||
AckFail, // Pas,d'ack
|
||||
TimeOut, // SCL est resté plus de 25ms à l'état bas
|
||||
UnknownError // IT erreur déclenchée mais pas de flag explicite ...
|
||||
} MyI2C_Err_Enum;
|
||||
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* @brief Retourne les erreurs I2C
|
||||
* @param I2Cx: where x can be 1 or 2 to select the I2C peripheral.
|
||||
* @retval Type d'erreur rencontrée , voir MyI2C_Err_Enum
|
||||
*/
|
||||
|
||||
MyI2C_Err_Enum MyI2C_Get_Error(I2C_TypeDef * I2Cx);
|
||||
|
||||
|
||||
|
||||
/*=========================================================================================
|
||||
INITIALISATION I2C
|
||||
========================================================================================= */
|
||||
|
||||
|
||||
/**
|
||||
* @brief Initialise l'interface I2C (1 ou 2)
|
||||
* @param I2Cx: where x can be 1 or 2 to select the I2C peripheral.
|
||||
* @param char IT_Prio_I2CErr 0 à 15 (utilisé en cas d'erreur, IT courte et non bloquante
|
||||
* @param *ITErr_function : callback à utiliser pour sortir d'un plantage transmission
|
||||
* @retval None
|
||||
* @Example MyI2C_Init(I2C1, 2,My_CallbackErr);
|
||||
|
||||
|
||||
|
||||
*/
|
||||
void MyI2C_Init(I2C_TypeDef * I2Cx, char IT_Prio_I2CErr, void (*ITErr_function) (void));
|
||||
|
||||
|
||||
|
||||
/*=========================================================================================
|
||||
EMISSION I2C : PutString
|
||||
========================================================================================= */
|
||||
|
||||
|
||||
// Structure de données pour l'émission ou la réception I2C :
|
||||
typedef struct
|
||||
{
|
||||
char SlaveAdress7bits; // l'adresse I2C du slave device
|
||||
char * Ptr_Data; // l'adresse du début de tableau char à recevoir/émettre (tableau en RAM uC)
|
||||
char Nb_Data; // le nbre d'octets à envoyer / recevoir
|
||||
}
|
||||
MyI2C_RecSendData_Typedef;
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* @brief|Start Cond |@6|@5|@4|@3|@2|@1|@0| Wr =0 |Slave ACK|
|
||||
|pt7|pt6|pt5|pt4|pt3|pt2|pt1|pt0|Slave ACK|
|
||||
|d7|d6|d5|d4|d3|d2|d1|d0|Slave ACK| (data 1)
|
||||
.....
|
||||
|d7|d6|d5|d4|d3|d2|d1|d0|Salve ACK|Stop Cond| (data N)
|
||||
|
||||
* @param I2Cx: where x can be 1 or 2 to select the I2C peripheral.
|
||||
* @param PteurAdress = adresse de démarrage écriture à l'interieur du slave I2C
|
||||
* @param DataToSend, adresse de la structure qui contient les informations à transmettre
|
||||
voir définition MyI2C_RecSendData_Typedef
|
||||
* @retval None
|
||||
* @Example MyI2C_PutString(I2C1,0xAA, &MyI2C_SendTimeData);
|
||||
* Ecrit dans le slave câblé sur I2C1 à partir de l'@ mémoire interne Slave 0xAA
|
||||
|
||||
*/
|
||||
void MyI2C_PutString(I2C_TypeDef * I2Cx, char PteurAdress, MyI2C_RecSendData_Typedef * DataToSend);
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
/*=========================================================================================
|
||||
Réception I2C : GetString
|
||||
========================================================================================= */
|
||||
|
||||
/**
|
||||
* @brief |Start Cond |@6|@5|@4|@3|@2|@1|@0| Wr =0 |Slave ACK|
|
||||
|pt7|pt6|pt5|pt4|pt3|pt2|pt1|pt0|Slave ACK|
|
||||
|ReStart Cond |@6|@5|@4|@3|@2|@1|@0| Wr =1 |Slave ACK|
|
||||
|d7|d6|d5|d4|d3|d2|d1|d0|Master ACK| (data 1)
|
||||
.....
|
||||
|d7|d6|d5|d4|d3|d2|d1|d0|Master NACK|Stop Cond| (data N)
|
||||
|
||||
* @param I2Cx: where x can be 1 or 2 to select the I2C peripheral.
|
||||
* @param PteurAdress = adresse de démarrage lecture à l'interieur du slave I2C
|
||||
* @param DataToSend, adresse de la structure qui contient les informations nécessaires à la
|
||||
réception des données voir définition MyI2C_RecSendData_Typedef
|
||||
* @retval None
|
||||
* @Example MyI2C_GetString(I2C1,0xAA, &MyI2C_RecevievedTimeData);
|
||||
Lit dans le slave câblé sur I2C1 à partir de l'@ mémoire interne Slave 0xAA
|
||||
*/
|
||||
void MyI2C_GetString(I2C_TypeDef * I2Cx, char PteurAdress, MyI2C_RecSendData_Typedef * DataToReceive);
|
||||
|
||||
|
||||
|
||||
|
||||
#endif
|
129
FileInclude/MySPI.h
普通文件
129
FileInclude/MySPI.h
普通文件
|
@ -0,0 +1,129 @@
|
|||
|
||||
#ifndef INC_MYSPI_H_
|
||||
#define INC_MYSPI_H_
|
||||
|
||||
#include "stm32f10x.h"
|
||||
|
||||
/*************************************************************************************
|
||||
===================== By Periph team INSA GEI 2022 ===========================
|
||||
*************************************************************************************/
|
||||
|
||||
/*
|
||||
*************************************************************************************
|
||||
===================== I2C les IO STM32F103 =================================
|
||||
*************************************************************************************
|
||||
Les IO sont pris en charge par la lib, pas besoin de faire les configurations
|
||||
|
||||
|
||||
Sur la Nucléo , le SPI1 est perturbé par la LED2 (PA5), mais doit pouvoir subir les front SCK qd même (LED clignote vite..)
|
||||
le SPI2 n'est pas utilisable car pin non connectées par défaut (sauf à modifier les SB). En fait la Nucléo fait un choix entre SPI1
|
||||
et SPI2 par soudage jumper (SB).
|
||||
|
||||
-> Utiliser SPI1 avec la carte Nucléo
|
||||
|
||||
* **IO SPI 1**
|
||||
SPI1_NSS PA4
|
||||
SPI1_SCK PA5
|
||||
SPI1_MISO PA6
|
||||
SPI1_MOSI PA7
|
||||
|
||||
**IO SPI 2**
|
||||
SPI2_NSS PB12
|
||||
SPI2_SCK PB13
|
||||
SPI2_MISO PB14
|
||||
SPI2_MOSI PB15
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
*************************************************************************************
|
||||
==================== Fondamentaux SPI ==========================================
|
||||
*************************************************************************************
|
||||
- Bus Synchrone, 4 fils (même si on peut l'utiliser en 3 fils)
|
||||
- Transfert à l'octet
|
||||
- Protocole entre un Master (contrôle SCK) et un Slave
|
||||
- SCK permet de synchroniser les bits de chaque octet. Il se configure par :
|
||||
* son niveau de repos : ici niveau '1'
|
||||
* le front actif de synchronisation pour chaque bit : ici front montant (front up durant bit stable)
|
||||
- /CS ou /NSS active le slave sur l'état bas
|
||||
- MOSI : Master Out Slave In (donc data circulant du Master vers le Slave, donc écriture dans le Slave)
|
||||
- MISO : Master In Slave Out (donc data circulant du Slave vers le Master, donc lecture du Slave)
|
||||
|
||||
Bien que la lib propose une fonction d'écriture et de lecture :
|
||||
* une écriture s'accompagne obligatoirement d'une lecture (bidon)
|
||||
* une lecture s'accompagne obligatoirement d'une écriture (bidon)
|
||||
La gestion /CS = /NSS se fait "à la main". On peut alors lire toute une série d'octets
|
||||
en laissant /CS à l'état bas pendant toute la durée de circulation des octets.
|
||||
|
||||
|
||||
*************************************************************************************
|
||||
==================== La lib SPI ==========================================
|
||||
*************************************************************************************
|
||||
|
||||
fonctions essentielles :
|
||||
|
||||
MySPI_Init
|
||||
MySPI_Send
|
||||
MySPI_Read
|
||||
MySPI_Set_NSS
|
||||
MySPI_Clear_NSS
|
||||
|
||||
|
||||
==========================================================================================*/
|
||||
|
||||
|
||||
|
||||
|
||||
/*=========================================================================================
|
||||
INITIALISATION SPI
|
||||
========================================================================================= */
|
||||
|
||||
/**
|
||||
* @brief Configure le SPI spécifié : FSCK = 281kHz, Repos SCK = '1', Front actif = up
|
||||
Gestion /CS logicielle à part, configure les 4 IO
|
||||
- SCK, MOSI : Out Alt push pull
|
||||
- MISO : floating input
|
||||
- /NSS (/CS) : Out push pull
|
||||
* @param SPI_TypeDef * SPI : SPI1 ou SPI2
|
||||
*/
|
||||
void MySPI_Init(SPI_TypeDef * SPI);
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* @brief Envoie un octet (/CS non géré, à faire logiciellement)
|
||||
Plus en détail, émission de l'octet souhaité sur MOSI
|
||||
Lecture en même temps d'un octet poubelle sur MISO (non exploité)
|
||||
* @param : char ByteToSend : l'octet à envoyer
|
||||
*/
|
||||
void MySPI_Send(char ByteToSend);
|
||||
|
||||
|
||||
/**
|
||||
* @brief Reçoit un octet (/CS non géré, à faire logiciellement)
|
||||
Plus en détail, émission d'un octet bidon sur MOSI (0x00)
|
||||
pour élaborer les 8 fronts sur SCK et donc piloter le slave en lecture
|
||||
qui répond sur MISO
|
||||
* @param : none
|
||||
* @retval : l'octet lu.
|
||||
*/
|
||||
char MySPI_Read(void);
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* @brief Positionne /CS = /NSS à '1'. A utiliser pour borner les octets à transmettre/recevoir
|
||||
* @param : none
|
||||
*/
|
||||
void MySPI_Set_NSS(void);
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* @brief Positionne /CS = /NSS à '0'. A utiliser pour borner les octets à transmettre/recevoir
|
||||
* @param :none
|
||||
*/
|
||||
void MySPI_Clear_NSS(void);
|
||||
|
||||
#endif
|
|
@ -17,7 +17,12 @@ Section Cross References
|
|||
main.o(i.main) refers to plateau.o(i.Init_Plateau) for Init_Plateau
|
||||
main.o(i.main) refers to mygirouette.o(i.Init_Girouette) for Init_Girouette
|
||||
main.o(i.main) refers to myvoile.o(i.MyVoile_Init) for MyVoile_Init
|
||||
main.o(i.main) refers to myspi.o(i.MySPI_Init) for MySPI_Init
|
||||
main.o(i.main) refers to myspi.o(i.MySPI_Clear_NSS) for MySPI_Clear_NSS
|
||||
main.o(i.main) refers to myspi.o(i.MySPI_Send) for MySPI_Send
|
||||
main.o(i.main) refers to myspi.o(i.MySPI_Set_NSS) for MySPI_Set_NSS
|
||||
main.o(i.main) refers to batterie.o(i.Init_Batterie) for Init_Batterie
|
||||
main.o(i.main) refers to myspi.o(i.MySPI_Read) for MySPI_Read
|
||||
main.o(i.main) refers to mygirouette.o(i.Get_Angle) for Get_Angle
|
||||
main.o(i.main) refers to myvoile.o(i.Set_Voile) for Set_Voile
|
||||
main.o(i.main) refers to main.o(.data) for Data
|
||||
|
@ -90,6 +95,12 @@ Section Cross References
|
|||
system_stm32f10x.o(i.SetSysClock) refers to system_stm32f10x.o(i.SetSysClockTo72) for SetSysClockTo72
|
||||
system_stm32f10x.o(i.SystemCoreClockUpdate) refers to system_stm32f10x.o(.data) for SystemCoreClock
|
||||
system_stm32f10x.o(i.SystemInit) refers to system_stm32f10x.o(i.SetSysClock) for SetSysClock
|
||||
myspi.o(i.MySPI_Clear_NSS) refers to myspi.o(.data) for ActiveSPI
|
||||
myspi.o(i.MySPI_Init) refers to myspi.o(i.MySPI_Set_NSS) for MySPI_Set_NSS
|
||||
myspi.o(i.MySPI_Init) refers to myspi.o(.data) for ActiveSPI
|
||||
myspi.o(i.MySPI_Read) refers to myspi.o(.data) for ActiveSPI
|
||||
myspi.o(i.MySPI_Send) refers to myspi.o(.data) for ActiveSPI
|
||||
myspi.o(i.MySPI_Set_NSS) refers to myspi.o(.data) for ActiveSPI
|
||||
entry.o(.ARM.Collect$$$$00000000) refers (Special) to entry10a.o(.ARM.Collect$$$$0000000F) for __rt_final_cpp
|
||||
entry.o(.ARM.Collect$$$$00000000) refers (Special) to entry11a.o(.ARM.Collect$$$$00000011) for __rt_final_exit
|
||||
entry.o(.ARM.Collect$$$$00000000) refers (Special) to entry12b.o(.ARM.Collect$$$$0000000E) for __rt_lib_shutdown_fini
|
||||
|
@ -168,8 +179,11 @@ Removing Unused input sections from the image.
|
|||
Removing system_stm32f10x.o(.rrx_text), (6 bytes).
|
||||
Removing system_stm32f10x.o(i.SystemCoreClockUpdate), (164 bytes).
|
||||
Removing system_stm32f10x.o(.data), (20 bytes).
|
||||
Removing myspi.o(.rev16_text), (4 bytes).
|
||||
Removing myspi.o(.revsh_text), (4 bytes).
|
||||
Removing myspi.o(.rrx_text), (6 bytes).
|
||||
|
||||
37 unused section(s) (total 876 bytes) removed from the image.
|
||||
40 unused section(s) (total 890 bytes) removed from the image.
|
||||
|
||||
==============================================================================
|
||||
|
||||
|
@ -179,35 +193,35 @@ Image Symbol Table
|
|||
|
||||
Symbol Name Value Ov Type Size Object(Section)
|
||||
|
||||
../clib/microlib/init/entry.s 0x00000000 Number 0 entry11a.o ABSOLUTE
|
||||
../clib/microlib/init/entry.s 0x00000000 Number 0 entry5.o ABSOLUTE
|
||||
../clib/microlib/init/entry.s 0x00000000 Number 0 entry7b.o ABSOLUTE
|
||||
../clib/microlib/init/entry.s 0x00000000 Number 0 entry.o ABSOLUTE
|
||||
../clib/microlib/init/entry.s 0x00000000 Number 0 entry9a.o ABSOLUTE
|
||||
../clib/microlib/init/entry.s 0x00000000 Number 0 entry9b.o ABSOLUTE
|
||||
../clib/microlib/init/entry.s 0x00000000 Number 0 entry10a.o ABSOLUTE
|
||||
../clib/microlib/init/entry.s 0x00000000 Number 0 entry10b.o ABSOLUTE
|
||||
../clib/microlib/init/entry.s 0x00000000 Number 0 entry12b.o ABSOLUTE
|
||||
../clib/microlib/init/entry.s 0x00000000 Number 0 entry12a.o ABSOLUTE
|
||||
../clib/microlib/init/entry.s 0x00000000 Number 0 entry11b.o ABSOLUTE
|
||||
../clib/microlib/init/entry.s 0x00000000 Number 0 entry7a.o ABSOLUTE
|
||||
../clib/microlib/init/entry.s 0x00000000 Number 0 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 entry12a.o ABSOLUTE
|
||||
../clib/microlib/init/entry.s 0x00000000 Number 0 entry.o ABSOLUTE
|
||||
../clib/microlib/init/entry.s 0x00000000 Number 0 entry11b.o ABSOLUTE
|
||||
../clib/microlib/init/entry.s 0x00000000 Number 0 entry11a.o ABSOLUTE
|
||||
../clib/microlib/init/entry.s 0x00000000 Number 0 entry7a.o ABSOLUTE
|
||||
../clib/microlib/init/entry.s 0x00000000 Number 0 entry5.o ABSOLUTE
|
||||
../clib/microlib/init/entry.s 0x00000000 Number 0 entry9a.o ABSOLUTE
|
||||
../clib/microlib/init/entry.s 0x00000000 Number 0 entry7b.o ABSOLUTE
|
||||
../clib/microlib/init/entry.s 0x00000000 Number 0 entry10b.o ABSOLUTE
|
||||
../clib/microlib/init/entry.s 0x00000000 Number 0 entry8a.o ABSOLUTE
|
||||
../clib/microlib/init/entry.s 0x00000000 Number 0 entry10a.o ABSOLUTE
|
||||
../clib/microlib/init/entry.s 0x00000000 Number 0 entry9b.o ABSOLUTE
|
||||
../clib/microlib/longlong.c 0x00000000 Number 0 llshl.o ABSOLUTE
|
||||
../clib/microlib/longlong.c 0x00000000 Number 0 llushr.o ABSOLUTE
|
||||
../clib/microlib/longlong.c 0x00000000 Number 0 llsshr.o ABSOLUTE
|
||||
../clib/microlib/longlong.c 0x00000000 Number 0 llshl.o ABSOLUTE
|
||||
../clib/microlib/stubs.s 0x00000000 Number 0 iusefp.o ABSOLUTE
|
||||
../fplib/microlib/d2f.c 0x00000000 Number 0 d2f.o ABSOLUTE
|
||||
../fplib/microlib/fpadd.c 0x00000000 Number 0 dadd.o ABSOLUTE
|
||||
../fplib/microlib/fpdiv.c 0x00000000 Number 0 ddiv.o ABSOLUTE
|
||||
../fplib/microlib/fpepilogue.c 0x00000000 Number 0 fepilogue.o ABSOLUTE
|
||||
../fplib/microlib/fpepilogue.c 0x00000000 Number 0 depilogue.o ABSOLUTE
|
||||
../fplib/microlib/fpepilogue.c 0x00000000 Number 0 fepilogue.o ABSOLUTE
|
||||
../fplib/microlib/fpfix.c 0x00000000 Number 0 ffixui.o ABSOLUTE
|
||||
../fplib/microlib/fpflt.c 0x00000000 Number 0 dfltui.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 dmul.o ABSOLUTE
|
||||
FileInclude\Batterie.c 0x00000000 Number 0 batterie.o ABSOLUTE
|
||||
FileInclude\Driver_GPIO.c 0x00000000 Number 0 driver_gpio.o ABSOLUTE
|
||||
FileInclude\MyADC.c 0x00000000 Number 0 myadc.o ABSOLUTE
|
||||
|
@ -222,6 +236,8 @@ Image Symbol Table
|
|||
FileInclude\\MyTimer.c 0x00000000 Number 0 mytimer.o ABSOLUTE
|
||||
FileInclude\\Plateau.c 0x00000000 Number 0 plateau.o ABSOLUTE
|
||||
FileInclude\\Telecommande.c 0x00000000 Number 0 telecommande.o ABSOLUTE
|
||||
MyDrivers\MySPI.c 0x00000000 Number 0 myspi.o ABSOLUTE
|
||||
MyDrivers\\MySPI.c 0x00000000 Number 0 myspi.o ABSOLUTE
|
||||
MyVoile.c 0x00000000 Number 0 myvoile.o ABSOLUTE
|
||||
MyVoile.c 0x00000000 Number 0 myvoile.o ABSOLUTE
|
||||
RTE\Device\STM32F103RB\startup_stm32f10x_md.s 0x00000000 Number 0 startup_stm32f10x_md.o ABSOLUTE
|
||||
|
@ -274,51 +290,57 @@ Image Symbol Table
|
|||
i.MyGPIO_Init 0x080009d8 Section 0 driver_gpio.o(i.MyGPIO_Init)
|
||||
i.MyGPIO_Reset 0x08000a8c Section 0 driver_gpio.o(i.MyGPIO_Reset)
|
||||
i.MyGPIO_Set 0x08000a9a Section 0 driver_gpio.o(i.MyGPIO_Set)
|
||||
i.MyTimer_ActiveIT 0x08000aa8 Section 0 mytimer.o(i.MyTimer_ActiveIT)
|
||||
i.MyTimer_Base_Init 0x08000b58 Section 0 mytimer.o(i.MyTimer_Base_Init)
|
||||
i.MyTimer_Base_Start 0x08000bc4 Section 0 mytimer.o(i.MyTimer_Base_Start)
|
||||
i.MyTimer_PWM 0x08000bd0 Section 0 mytimer.o(i.MyTimer_PWM)
|
||||
i.MyVoile_Init 0x08000db8 Section 0 myvoile.o(i.MyVoile_Init)
|
||||
i.Send_Char 0x08000de0 Section 0 telecommande.o(i.Send_Char)
|
||||
i.Send_Message 0x08000dfc Section 0 telecommande.o(i.Send_Message)
|
||||
i.SetSysClock 0x08000e14 Section 0 system_stm32f10x.o(i.SetSysClock)
|
||||
SetSysClock 0x08000e15 Thumb Code 8 system_stm32f10x.o(i.SetSysClock)
|
||||
i.SetSysClockTo72 0x08000e1c Section 0 system_stm32f10x.o(i.SetSysClockTo72)
|
||||
SetSysClockTo72 0x08000e1d Thumb Code 214 system_stm32f10x.o(i.SetSysClockTo72)
|
||||
i.Set_Direction 0x08000efc Section 0 plateau.o(i.Set_Direction)
|
||||
i.Set_Duty_Cycle 0x08000f24 Section 0 mytimer.o(i.Set_Duty_Cycle)
|
||||
i.Set_Moteur_Plateau 0x08000f4c Section 0 plateau.o(i.Set_Moteur_Plateau)
|
||||
i.Set_PWM_PRCT 0x08000f64 Section 0 mytimer.o(i.Set_PWM_PRCT)
|
||||
i.Set_Vitesse 0x08000f9c Section 0 plateau.o(i.Set_Vitesse)
|
||||
i.Set_Voile 0x08000fbc Section 0 myvoile.o(i.Set_Voile)
|
||||
i.SystemInit 0x080010a8 Section 0 system_stm32f10x.o(i.SystemInit)
|
||||
i.TIM1_UP_IRQHandler 0x08001108 Section 0 mytimer.o(i.TIM1_UP_IRQHandler)
|
||||
i.TIM2_IRQHandler 0x0800112c Section 0 mytimer.o(i.TIM2_IRQHandler)
|
||||
i.TIM3_IRQHandler 0x08001150 Section 0 mytimer.o(i.TIM3_IRQHandler)
|
||||
i.TIM4_IRQHandler 0x08001174 Section 0 mytimer.o(i.TIM4_IRQHandler)
|
||||
i.USART1_IRQHandler 0x08001198 Section 0 telecommande.o(i.USART1_IRQHandler)
|
||||
i.__scatterload_copy 0x080011b4 Section 14 handlers.o(i.__scatterload_copy)
|
||||
i.__scatterload_null 0x080011c2 Section 2 handlers.o(i.__scatterload_null)
|
||||
i.__scatterload_zeroinit 0x080011c4 Section 14 handlers.o(i.__scatterload_zeroinit)
|
||||
i.f 0x080011d4 Section 0 main.o(i.f)
|
||||
i.handler 0x08001214 Section 0 main.o(i.handler)
|
||||
i.initADC 0x080012d8 Section 0 myadc.o(i.initADC)
|
||||
i.main 0x08001314 Section 0 main.o(i.main)
|
||||
i.read 0x08001388 Section 0 myadc.o(i.read)
|
||||
i.startADC 0x080013b0 Section 0 myadc.o(i.startADC)
|
||||
.constdata 0x080013c4 Section 36 mygirouette.o(.constdata)
|
||||
.constdata 0x080013e8 Section 8 myvoile.o(.constdata)
|
||||
.conststring 0x080013f0 Section 8 main.o(.conststring)
|
||||
.data 0x20000000 Section 36 main.o(.data)
|
||||
.data 0x20000024 Section 16 mytimer.o(.data)
|
||||
.data 0x20000034 Section 4 mygirouette.o(.data)
|
||||
.data 0x20000038 Section 16 plateau.o(.data)
|
||||
.data 0x20000048 Section 4 batterie.o(.data)
|
||||
.data 0x2000004c Section 8 telecommande.o(.data)
|
||||
.bss 0x20000054 Section 24 plateau.o(.bss)
|
||||
.bss 0x2000006c Section 12 batterie.o(.bss)
|
||||
.bss 0x20000078 Section 52 telecommande.o(.bss)
|
||||
STACK 0x200000b0 Section 1024 startup_stm32f10x_md.o(STACK)
|
||||
i.MySPI_Clear_NSS 0x08000aa8 Section 0 myspi.o(i.MySPI_Clear_NSS)
|
||||
i.MySPI_Init 0x08000ad8 Section 0 myspi.o(i.MySPI_Init)
|
||||
i.MySPI_Read 0x08000ccc Section 0 myspi.o(i.MySPI_Read)
|
||||
i.MySPI_Send 0x08000d20 Section 0 myspi.o(i.MySPI_Send)
|
||||
i.MySPI_Set_NSS 0x08000d70 Section 0 myspi.o(i.MySPI_Set_NSS)
|
||||
i.MyTimer_ActiveIT 0x08000d9c Section 0 mytimer.o(i.MyTimer_ActiveIT)
|
||||
i.MyTimer_Base_Init 0x08000e4c Section 0 mytimer.o(i.MyTimer_Base_Init)
|
||||
i.MyTimer_Base_Start 0x08000eb8 Section 0 mytimer.o(i.MyTimer_Base_Start)
|
||||
i.MyTimer_PWM 0x08000ec4 Section 0 mytimer.o(i.MyTimer_PWM)
|
||||
i.MyVoile_Init 0x080010ac Section 0 myvoile.o(i.MyVoile_Init)
|
||||
i.Send_Char 0x080010d4 Section 0 telecommande.o(i.Send_Char)
|
||||
i.Send_Message 0x080010f0 Section 0 telecommande.o(i.Send_Message)
|
||||
i.SetSysClock 0x08001108 Section 0 system_stm32f10x.o(i.SetSysClock)
|
||||
SetSysClock 0x08001109 Thumb Code 8 system_stm32f10x.o(i.SetSysClock)
|
||||
i.SetSysClockTo72 0x08001110 Section 0 system_stm32f10x.o(i.SetSysClockTo72)
|
||||
SetSysClockTo72 0x08001111 Thumb Code 214 system_stm32f10x.o(i.SetSysClockTo72)
|
||||
i.Set_Direction 0x080011f0 Section 0 plateau.o(i.Set_Direction)
|
||||
i.Set_Duty_Cycle 0x08001218 Section 0 mytimer.o(i.Set_Duty_Cycle)
|
||||
i.Set_Moteur_Plateau 0x08001240 Section 0 plateau.o(i.Set_Moteur_Plateau)
|
||||
i.Set_PWM_PRCT 0x08001258 Section 0 mytimer.o(i.Set_PWM_PRCT)
|
||||
i.Set_Vitesse 0x08001290 Section 0 plateau.o(i.Set_Vitesse)
|
||||
i.Set_Voile 0x080012b0 Section 0 myvoile.o(i.Set_Voile)
|
||||
i.SystemInit 0x0800139c Section 0 system_stm32f10x.o(i.SystemInit)
|
||||
i.TIM1_UP_IRQHandler 0x080013fc Section 0 mytimer.o(i.TIM1_UP_IRQHandler)
|
||||
i.TIM2_IRQHandler 0x08001420 Section 0 mytimer.o(i.TIM2_IRQHandler)
|
||||
i.TIM3_IRQHandler 0x08001444 Section 0 mytimer.o(i.TIM3_IRQHandler)
|
||||
i.TIM4_IRQHandler 0x08001468 Section 0 mytimer.o(i.TIM4_IRQHandler)
|
||||
i.USART1_IRQHandler 0x0800148c Section 0 telecommande.o(i.USART1_IRQHandler)
|
||||
i.__scatterload_copy 0x080014a8 Section 14 handlers.o(i.__scatterload_copy)
|
||||
i.__scatterload_null 0x080014b6 Section 2 handlers.o(i.__scatterload_null)
|
||||
i.__scatterload_zeroinit 0x080014b8 Section 14 handlers.o(i.__scatterload_zeroinit)
|
||||
i.f 0x080014c8 Section 0 main.o(i.f)
|
||||
i.handler 0x08001508 Section 0 main.o(i.handler)
|
||||
i.initADC 0x080015cc Section 0 myadc.o(i.initADC)
|
||||
i.main 0x08001608 Section 0 main.o(i.main)
|
||||
i.read 0x080016c8 Section 0 myadc.o(i.read)
|
||||
i.startADC 0x080016f0 Section 0 myadc.o(i.startADC)
|
||||
.constdata 0x08001704 Section 36 mygirouette.o(.constdata)
|
||||
.constdata 0x08001728 Section 8 myvoile.o(.constdata)
|
||||
.conststring 0x08001730 Section 8 main.o(.conststring)
|
||||
.data 0x20000000 Section 44 main.o(.data)
|
||||
.data 0x2000002c Section 16 mytimer.o(.data)
|
||||
.data 0x2000003c Section 4 mygirouette.o(.data)
|
||||
.data 0x20000040 Section 16 plateau.o(.data)
|
||||
.data 0x20000050 Section 4 batterie.o(.data)
|
||||
.data 0x20000054 Section 8 telecommande.o(.data)
|
||||
.data 0x2000005c Section 4 myspi.o(.data)
|
||||
.bss 0x20000060 Section 24 plateau.o(.bss)
|
||||
.bss 0x20000078 Section 12 batterie.o(.bss)
|
||||
.bss 0x20000084 Section 52 telecommande.o(.bss)
|
||||
STACK 0x200000b8 Section 1024 startup_stm32f10x_md.o(STACK)
|
||||
|
||||
Global Symbols
|
||||
|
||||
|
@ -429,62 +451,70 @@ Image Symbol Table
|
|||
MyGPIO_Init 0x080009d9 Thumb Code 166 driver_gpio.o(i.MyGPIO_Init)
|
||||
MyGPIO_Reset 0x08000a8d Thumb Code 14 driver_gpio.o(i.MyGPIO_Reset)
|
||||
MyGPIO_Set 0x08000a9b Thumb Code 12 driver_gpio.o(i.MyGPIO_Set)
|
||||
MyTimer_ActiveIT 0x08000aa9 Thumb Code 148 mytimer.o(i.MyTimer_ActiveIT)
|
||||
MyTimer_Base_Init 0x08000b59 Thumb Code 98 mytimer.o(i.MyTimer_Base_Init)
|
||||
MyTimer_Base_Start 0x08000bc5 Thumb Code 10 mytimer.o(i.MyTimer_Base_Start)
|
||||
MyTimer_PWM 0x08000bd1 Thumb Code 472 mytimer.o(i.MyTimer_PWM)
|
||||
MyVoile_Init 0x08000db9 Thumb Code 32 myvoile.o(i.MyVoile_Init)
|
||||
Send_Char 0x08000de1 Thumb Code 22 telecommande.o(i.Send_Char)
|
||||
Send_Message 0x08000dfd Thumb Code 24 telecommande.o(i.Send_Message)
|
||||
Set_Direction 0x08000efd Thumb Code 34 plateau.o(i.Set_Direction)
|
||||
Set_Duty_Cycle 0x08000f25 Thumb Code 40 mytimer.o(i.Set_Duty_Cycle)
|
||||
Set_Moteur_Plateau 0x08000f4d Thumb Code 24 plateau.o(i.Set_Moteur_Plateau)
|
||||
Set_PWM_PRCT 0x08000f65 Thumb Code 56 mytimer.o(i.Set_PWM_PRCT)
|
||||
Set_Vitesse 0x08000f9d Thumb Code 22 plateau.o(i.Set_Vitesse)
|
||||
Set_Voile 0x08000fbd Thumb Code 210 myvoile.o(i.Set_Voile)
|
||||
SystemInit 0x080010a9 Thumb Code 78 system_stm32f10x.o(i.SystemInit)
|
||||
TIM1_UP_IRQHandler 0x08001109 Thumb Code 28 mytimer.o(i.TIM1_UP_IRQHandler)
|
||||
TIM2_IRQHandler 0x0800112d Thumb Code 32 mytimer.o(i.TIM2_IRQHandler)
|
||||
TIM3_IRQHandler 0x08001151 Thumb Code 28 mytimer.o(i.TIM3_IRQHandler)
|
||||
TIM4_IRQHandler 0x08001175 Thumb Code 28 mytimer.o(i.TIM4_IRQHandler)
|
||||
USART1_IRQHandler 0x08001199 Thumb Code 18 telecommande.o(i.USART1_IRQHandler)
|
||||
__scatterload_copy 0x080011b5 Thumb Code 14 handlers.o(i.__scatterload_copy)
|
||||
__scatterload_null 0x080011c3 Thumb Code 2 handlers.o(i.__scatterload_null)
|
||||
__scatterload_zeroinit 0x080011c5 Thumb Code 14 handlers.o(i.__scatterload_zeroinit)
|
||||
f 0x080011d5 Thumb Code 54 main.o(i.f)
|
||||
handler 0x08001215 Thumb Code 126 main.o(i.handler)
|
||||
initADC 0x080012d9 Thumb Code 50 myadc.o(i.initADC)
|
||||
main 0x08001315 Thumb Code 94 main.o(i.main)
|
||||
read 0x08001389 Thumb Code 34 myadc.o(i.read)
|
||||
startADC 0x080013b1 Thumb Code 14 myadc.o(i.startADC)
|
||||
Region$$Table$$Base 0x080013f8 Number 0 anon$$obj.o(Region$$Table)
|
||||
Region$$Table$$Limit 0x08001418 Number 0 anon$$obj.o(Region$$Table)
|
||||
MySPI_Clear_NSS 0x08000aa9 Thumb Code 30 myspi.o(i.MySPI_Clear_NSS)
|
||||
MySPI_Init 0x08000ad9 Thumb Code 480 myspi.o(i.MySPI_Init)
|
||||
MySPI_Read 0x08000ccd Thumb Code 70 myspi.o(i.MySPI_Read)
|
||||
MySPI_Send 0x08000d21 Thumb Code 68 myspi.o(i.MySPI_Send)
|
||||
MySPI_Set_NSS 0x08000d71 Thumb Code 28 myspi.o(i.MySPI_Set_NSS)
|
||||
MyTimer_ActiveIT 0x08000d9d Thumb Code 148 mytimer.o(i.MyTimer_ActiveIT)
|
||||
MyTimer_Base_Init 0x08000e4d Thumb Code 98 mytimer.o(i.MyTimer_Base_Init)
|
||||
MyTimer_Base_Start 0x08000eb9 Thumb Code 10 mytimer.o(i.MyTimer_Base_Start)
|
||||
MyTimer_PWM 0x08000ec5 Thumb Code 472 mytimer.o(i.MyTimer_PWM)
|
||||
MyVoile_Init 0x080010ad Thumb Code 32 myvoile.o(i.MyVoile_Init)
|
||||
Send_Char 0x080010d5 Thumb Code 22 telecommande.o(i.Send_Char)
|
||||
Send_Message 0x080010f1 Thumb Code 24 telecommande.o(i.Send_Message)
|
||||
Set_Direction 0x080011f1 Thumb Code 34 plateau.o(i.Set_Direction)
|
||||
Set_Duty_Cycle 0x08001219 Thumb Code 40 mytimer.o(i.Set_Duty_Cycle)
|
||||
Set_Moteur_Plateau 0x08001241 Thumb Code 24 plateau.o(i.Set_Moteur_Plateau)
|
||||
Set_PWM_PRCT 0x08001259 Thumb Code 56 mytimer.o(i.Set_PWM_PRCT)
|
||||
Set_Vitesse 0x08001291 Thumb Code 22 plateau.o(i.Set_Vitesse)
|
||||
Set_Voile 0x080012b1 Thumb Code 210 myvoile.o(i.Set_Voile)
|
||||
SystemInit 0x0800139d Thumb Code 78 system_stm32f10x.o(i.SystemInit)
|
||||
TIM1_UP_IRQHandler 0x080013fd Thumb Code 28 mytimer.o(i.TIM1_UP_IRQHandler)
|
||||
TIM2_IRQHandler 0x08001421 Thumb Code 32 mytimer.o(i.TIM2_IRQHandler)
|
||||
TIM3_IRQHandler 0x08001445 Thumb Code 28 mytimer.o(i.TIM3_IRQHandler)
|
||||
TIM4_IRQHandler 0x08001469 Thumb Code 28 mytimer.o(i.TIM4_IRQHandler)
|
||||
USART1_IRQHandler 0x0800148d Thumb Code 18 telecommande.o(i.USART1_IRQHandler)
|
||||
__scatterload_copy 0x080014a9 Thumb Code 14 handlers.o(i.__scatterload_copy)
|
||||
__scatterload_null 0x080014b7 Thumb Code 2 handlers.o(i.__scatterload_null)
|
||||
__scatterload_zeroinit 0x080014b9 Thumb Code 14 handlers.o(i.__scatterload_zeroinit)
|
||||
f 0x080014c9 Thumb Code 54 main.o(i.f)
|
||||
handler 0x08001509 Thumb Code 126 main.o(i.handler)
|
||||
initADC 0x080015cd Thumb Code 50 myadc.o(i.initADC)
|
||||
main 0x08001609 Thumb Code 158 main.o(i.main)
|
||||
read 0x080016c9 Thumb Code 34 myadc.o(i.read)
|
||||
startADC 0x080016f1 Thumb Code 14 myadc.o(i.startADC)
|
||||
Region$$Table$$Base 0x08001738 Number 0 anon$$obj.o(Region$$Table)
|
||||
Region$$Table$$Limit 0x08001758 Number 0 anon$$obj.o(Region$$Table)
|
||||
droite 0x20000000 Data 4 main.o(.data)
|
||||
b 0x20000004 Data 4 main.o(.data)
|
||||
testBatterie 0x20000008 Data 4 main.o(.data)
|
||||
bat 0x2000000c Data 4 main.o(.data)
|
||||
counter 0x20000010 Data 4 main.o(.data)
|
||||
visuBatterie 0x20000014 Data 4 main.o(.data)
|
||||
TIM 0x20000018 Data 8 main.o(.data)
|
||||
Data 0x20000020 Data 4 main.o(.data)
|
||||
ptr1 0x20000024 Data 4 mytimer.o(.data)
|
||||
ptr2 0x20000028 Data 4 mytimer.o(.data)
|
||||
ptr3 0x2000002c Data 4 mytimer.o(.data)
|
||||
ptr4 0x20000030 Data 4 mytimer.o(.data)
|
||||
x 0x20000034 Data 4 mygirouette.o(.data)
|
||||
channel 0x20000038 Data 1 plateau.o(.data)
|
||||
TIMPlateau 0x2000003c Data 8 plateau.o(.data)
|
||||
DataPlateau 0x20000044 Data 4 plateau.o(.data)
|
||||
nivBatterie 0x20000048 Data 4 batterie.o(.data)
|
||||
Usart 0x2000004c Data 4 telecommande.o(.data)
|
||||
ptr 0x20000050 Data 4 telecommande.o(.data)
|
||||
GPIOC9 0x20000054 Data 12 plateau.o(.bss)
|
||||
GPIOB1 0x20000060 Data 12 plateau.o(.bss)
|
||||
GPIOC0 0x2000006c Data 12 batterie.o(.bss)
|
||||
USART 0x20000078 Data 28 telecommande.o(.bss)
|
||||
GPIOA10 0x20000094 Data 12 telecommande.o(.bss)
|
||||
GPIOA9 0x200000a0 Data 12 telecommande.o(.bss)
|
||||
__initial_sp 0x200004b0 Data 0 startup_stm32f10x_md.o(STACK)
|
||||
ID_acc 0x20000010 Data 4 main.o(.data)
|
||||
ID_acc2 0x20000014 Data 4 main.o(.data)
|
||||
counter 0x20000018 Data 4 main.o(.data)
|
||||
visuBatterie 0x2000001c Data 4 main.o(.data)
|
||||
TIM 0x20000020 Data 8 main.o(.data)
|
||||
Data 0x20000028 Data 4 main.o(.data)
|
||||
ptr1 0x2000002c Data 4 mytimer.o(.data)
|
||||
ptr2 0x20000030 Data 4 mytimer.o(.data)
|
||||
ptr3 0x20000034 Data 4 mytimer.o(.data)
|
||||
ptr4 0x20000038 Data 4 mytimer.o(.data)
|
||||
x 0x2000003c Data 4 mygirouette.o(.data)
|
||||
channel 0x20000040 Data 1 plateau.o(.data)
|
||||
TIMPlateau 0x20000044 Data 8 plateau.o(.data)
|
||||
DataPlateau 0x2000004c Data 4 plateau.o(.data)
|
||||
nivBatterie 0x20000050 Data 4 batterie.o(.data)
|
||||
Usart 0x20000054 Data 4 telecommande.o(.data)
|
||||
ptr 0x20000058 Data 4 telecommande.o(.data)
|
||||
ActiveSPI 0x2000005c Data 4 myspi.o(.data)
|
||||
GPIOC9 0x20000060 Data 12 plateau.o(.bss)
|
||||
GPIOB1 0x2000006c Data 12 plateau.o(.bss)
|
||||
GPIOC0 0x20000078 Data 12 batterie.o(.bss)
|
||||
USART 0x20000084 Data 28 telecommande.o(.bss)
|
||||
GPIOA10 0x200000a0 Data 12 telecommande.o(.bss)
|
||||
GPIOA9 0x200000ac Data 12 telecommande.o(.bss)
|
||||
__initial_sp 0x200004b8 Data 0 startup_stm32f10x_md.o(STACK)
|
||||
|
||||
|
||||
|
||||
|
@ -494,109 +524,114 @@ Memory Map of the image
|
|||
|
||||
Image Entry point : 0x080000ed
|
||||
|
||||
Load Region LR_IROM1 (Base: 0x08000000, Size: 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
|
||||
|
||||
0x08000000 0x08000000 0x000000ec Data RO 503 RESET startup_stm32f10x_md.o
|
||||
0x080000ec 0x080000ec 0x00000000 Code RO 554 * .ARM.Collect$$$$00000000 mc_w.l(entry.o)
|
||||
0x080000ec 0x080000ec 0x00000004 Code RO 575 .ARM.Collect$$$$00000001 mc_w.l(entry2.o)
|
||||
0x080000f0 0x080000f0 0x00000004 Code RO 578 .ARM.Collect$$$$00000004 mc_w.l(entry5.o)
|
||||
0x080000f4 0x080000f4 0x00000000 Code RO 580 .ARM.Collect$$$$00000008 mc_w.l(entry7b.o)
|
||||
0x080000f4 0x080000f4 0x00000000 Code RO 582 .ARM.Collect$$$$0000000A mc_w.l(entry8b.o)
|
||||
0x080000f4 0x080000f4 0x00000008 Code RO 583 .ARM.Collect$$$$0000000B mc_w.l(entry9a.o)
|
||||
0x080000fc 0x080000fc 0x00000004 Code RO 590 .ARM.Collect$$$$0000000E mc_w.l(entry12b.o)
|
||||
0x08000100 0x08000100 0x00000000 Code RO 585 .ARM.Collect$$$$0000000F mc_w.l(entry10a.o)
|
||||
0x08000100 0x08000100 0x00000000 Code RO 587 .ARM.Collect$$$$00000011 mc_w.l(entry11a.o)
|
||||
0x08000100 0x08000100 0x00000004 Code RO 576 .ARM.Collect$$$$00002712 mc_w.l(entry2.o)
|
||||
0x08000104 0x08000104 0x00000024 Code RO 504 .text startup_stm32f10x_md.o
|
||||
0x08000128 0x08000128 0x00000064 Code RO 557 .text mf_w.l(fmul.o)
|
||||
0x0800018c 0x0800018c 0x0000014e Code RO 559 .text mf_w.l(dadd.o)
|
||||
0x080002da 0x080002da 0x000000e4 Code RO 561 .text mf_w.l(dmul.o)
|
||||
0x080003be 0x080003be 0x000000de Code RO 563 .text mf_w.l(ddiv.o)
|
||||
0x0800049c 0x0800049c 0x0000000a Code RO 565 .text mf_w.l(ffltui.o)
|
||||
0x080004a6 0x080004a6 0x0000001a Code RO 567 .text mf_w.l(dfltui.o)
|
||||
0x080004c0 0x080004c0 0x00000028 Code RO 569 .text mf_w.l(ffixui.o)
|
||||
0x080004e8 0x080004e8 0x00000030 Code RO 571 .text mf_w.l(cdcmple.o)
|
||||
0x08000518 0x08000518 0x00000038 Code RO 573 .text mf_w.l(d2f.o)
|
||||
0x08000550 0x08000550 0x0000001e Code RO 591 .text mc_w.l(llshl.o)
|
||||
0x0800056e 0x0800056e 0x00000024 Code RO 593 .text mc_w.l(llsshr.o)
|
||||
0x08000592 0x08000592 0x00000000 Code RO 595 .text mc_w.l(iusefp.o)
|
||||
0x08000592 0x08000592 0x0000006e Code RO 596 .text mf_w.l(fepilogue.o)
|
||||
0x08000600 0x08000600 0x000000ba Code RO 598 .text mf_w.l(depilogue.o)
|
||||
0x08000000 0x08000000 0x000000ec Data RO 506 RESET startup_stm32f10x_md.o
|
||||
0x080000ec 0x080000ec 0x00000000 Code RO 574 * .ARM.Collect$$$$00000000 mc_w.l(entry.o)
|
||||
0x080000ec 0x080000ec 0x00000004 Code RO 595 .ARM.Collect$$$$00000001 mc_w.l(entry2.o)
|
||||
0x080000f0 0x080000f0 0x00000004 Code RO 598 .ARM.Collect$$$$00000004 mc_w.l(entry5.o)
|
||||
0x080000f4 0x080000f4 0x00000000 Code RO 600 .ARM.Collect$$$$00000008 mc_w.l(entry7b.o)
|
||||
0x080000f4 0x080000f4 0x00000000 Code RO 602 .ARM.Collect$$$$0000000A mc_w.l(entry8b.o)
|
||||
0x080000f4 0x080000f4 0x00000008 Code RO 603 .ARM.Collect$$$$0000000B mc_w.l(entry9a.o)
|
||||
0x080000fc 0x080000fc 0x00000004 Code RO 610 .ARM.Collect$$$$0000000E mc_w.l(entry12b.o)
|
||||
0x08000100 0x08000100 0x00000000 Code RO 605 .ARM.Collect$$$$0000000F mc_w.l(entry10a.o)
|
||||
0x08000100 0x08000100 0x00000000 Code RO 607 .ARM.Collect$$$$00000011 mc_w.l(entry11a.o)
|
||||
0x08000100 0x08000100 0x00000004 Code RO 596 .ARM.Collect$$$$00002712 mc_w.l(entry2.o)
|
||||
0x08000104 0x08000104 0x00000024 Code RO 507 .text startup_stm32f10x_md.o
|
||||
0x08000128 0x08000128 0x00000064 Code RO 577 .text mf_w.l(fmul.o)
|
||||
0x0800018c 0x0800018c 0x0000014e Code RO 579 .text mf_w.l(dadd.o)
|
||||
0x080002da 0x080002da 0x000000e4 Code RO 581 .text mf_w.l(dmul.o)
|
||||
0x080003be 0x080003be 0x000000de Code RO 583 .text mf_w.l(ddiv.o)
|
||||
0x0800049c 0x0800049c 0x0000000a Code RO 585 .text mf_w.l(ffltui.o)
|
||||
0x080004a6 0x080004a6 0x0000001a Code RO 587 .text mf_w.l(dfltui.o)
|
||||
0x080004c0 0x080004c0 0x00000028 Code RO 589 .text mf_w.l(ffixui.o)
|
||||
0x080004e8 0x080004e8 0x00000030 Code RO 591 .text mf_w.l(cdcmple.o)
|
||||
0x08000518 0x08000518 0x00000038 Code RO 593 .text mf_w.l(d2f.o)
|
||||
0x08000550 0x08000550 0x0000001e Code RO 611 .text mc_w.l(llshl.o)
|
||||
0x0800056e 0x0800056e 0x00000024 Code RO 613 .text mc_w.l(llsshr.o)
|
||||
0x08000592 0x08000592 0x00000000 Code RO 615 .text mc_w.l(iusefp.o)
|
||||
0x08000592 0x08000592 0x0000006e Code RO 616 .text mf_w.l(fepilogue.o)
|
||||
0x08000600 0x08000600 0x000000ba Code RO 618 .text mf_w.l(depilogue.o)
|
||||
0x080006ba 0x080006ba 0x00000002 PAD
|
||||
0x080006bc 0x080006bc 0x00000024 Code RO 600 .text mc_w.l(init.o)
|
||||
0x080006e0 0x080006e0 0x00000020 Code RO 602 .text mc_w.l(llushr.o)
|
||||
0x08000700 0x08000700 0x00000028 Code RO 289 i.EXTI0_IRQHandler mygirouette.o
|
||||
0x08000728 0x08000728 0x0000000e Code RO 290 i.Get_Angle mygirouette.o
|
||||
0x080006bc 0x080006bc 0x00000024 Code RO 620 .text mc_w.l(init.o)
|
||||
0x080006e0 0x080006e0 0x00000020 Code RO 622 .text mc_w.l(llushr.o)
|
||||
0x08000700 0x08000700 0x00000028 Code RO 292 i.EXTI0_IRQHandler mygirouette.o
|
||||
0x08000728 0x08000728 0x0000000e Code RO 293 i.Get_Angle mygirouette.o
|
||||
0x08000736 0x08000736 0x00000002 PAD
|
||||
0x08000738 0x08000738 0x00000028 Code RO 412 i.Get_Batterie batterie.o
|
||||
0x08000760 0x08000760 0x00000006 Code RO 97 i.Get_Max_Duty mytimer.o
|
||||
0x08000738 0x08000738 0x00000028 Code RO 415 i.Get_Batterie batterie.o
|
||||
0x08000760 0x08000760 0x00000006 Code RO 100 i.Get_Max_Duty mytimer.o
|
||||
0x08000766 0x08000766 0x00000002 PAD
|
||||
0x08000768 0x08000768 0x00000028 Code RO 413 i.Init_Batterie batterie.o
|
||||
0x08000790 0x08000790 0x000000f4 Code RO 291 i.Init_Girouette mygirouette.o
|
||||
0x08000884 0x08000884 0x00000038 Code RO 449 i.Init_Message_Reception telecommande.o
|
||||
0x080008bc 0x080008bc 0x00000080 Code RO 363 i.Init_Plateau plateau.o
|
||||
0x0800093c 0x0800093c 0x0000009c Code RO 450 i.Init_USART telecommande.o
|
||||
0x080009d8 0x080009d8 0x000000b4 Code RO 241 i.MyGPIO_Init driver_gpio.o
|
||||
0x08000a8c 0x08000a8c 0x0000000e Code RO 243 i.MyGPIO_Reset driver_gpio.o
|
||||
0x08000a9a 0x08000a9a 0x0000000c Code RO 244 i.MyGPIO_Set driver_gpio.o
|
||||
0x08000768 0x08000768 0x00000028 Code RO 416 i.Init_Batterie batterie.o
|
||||
0x08000790 0x08000790 0x000000f4 Code RO 294 i.Init_Girouette mygirouette.o
|
||||
0x08000884 0x08000884 0x00000038 Code RO 452 i.Init_Message_Reception telecommande.o
|
||||
0x080008bc 0x080008bc 0x00000080 Code RO 366 i.Init_Plateau plateau.o
|
||||
0x0800093c 0x0800093c 0x0000009c Code RO 453 i.Init_USART telecommande.o
|
||||
0x080009d8 0x080009d8 0x000000b4 Code RO 244 i.MyGPIO_Init driver_gpio.o
|
||||
0x08000a8c 0x08000a8c 0x0000000e Code RO 246 i.MyGPIO_Reset driver_gpio.o
|
||||
0x08000a9a 0x08000a9a 0x0000000c Code RO 247 i.MyGPIO_Set driver_gpio.o
|
||||
0x08000aa6 0x08000aa6 0x00000002 PAD
|
||||
0x08000aa8 0x08000aa8 0x000000b0 Code RO 99 i.MyTimer_ActiveIT mytimer.o
|
||||
0x08000b58 0x08000b58 0x0000006c Code RO 100 i.MyTimer_Base_Init mytimer.o
|
||||
0x08000bc4 0x08000bc4 0x0000000a Code RO 101 i.MyTimer_Base_Start mytimer.o
|
||||
0x08000bce 0x08000bce 0x00000002 PAD
|
||||
0x08000bd0 0x08000bd0 0x000001e8 Code RO 103 i.MyTimer_PWM mytimer.o
|
||||
0x08000db8 0x08000db8 0x00000028 Code RO 332 i.MyVoile_Init myvoile.o
|
||||
0x08000de0 0x08000de0 0x0000001c Code RO 451 i.Send_Char telecommande.o
|
||||
0x08000dfc 0x08000dfc 0x00000018 Code RO 452 i.Send_Message telecommande.o
|
||||
0x08000e14 0x08000e14 0x00000008 Code RO 511 i.SetSysClock system_stm32f10x.o
|
||||
0x08000e1c 0x08000e1c 0x000000e0 Code RO 512 i.SetSysClockTo72 system_stm32f10x.o
|
||||
0x08000efc 0x08000efc 0x00000028 Code RO 364 i.Set_Direction plateau.o
|
||||
0x08000f24 0x08000f24 0x00000028 Code RO 104 i.Set_Duty_Cycle mytimer.o
|
||||
0x08000f4c 0x08000f4c 0x00000018 Code RO 365 i.Set_Moteur_Plateau plateau.o
|
||||
0x08000f64 0x08000f64 0x00000038 Code RO 105 i.Set_PWM_PRCT mytimer.o
|
||||
0x08000f9c 0x08000f9c 0x00000020 Code RO 366 i.Set_Vitesse plateau.o
|
||||
0x08000fbc 0x08000fbc 0x000000ec Code RO 333 i.Set_Voile myvoile.o
|
||||
0x080010a8 0x080010a8 0x00000060 Code RO 514 i.SystemInit system_stm32f10x.o
|
||||
0x08001108 0x08001108 0x00000024 Code RO 106 i.TIM1_UP_IRQHandler mytimer.o
|
||||
0x0800112c 0x0800112c 0x00000024 Code RO 107 i.TIM2_IRQHandler mytimer.o
|
||||
0x08001150 0x08001150 0x00000024 Code RO 108 i.TIM3_IRQHandler mytimer.o
|
||||
0x08001174 0x08001174 0x00000024 Code RO 109 i.TIM4_IRQHandler mytimer.o
|
||||
0x08001198 0x08001198 0x0000001c Code RO 453 i.USART1_IRQHandler telecommande.o
|
||||
0x080011b4 0x080011b4 0x0000000e Code RO 606 i.__scatterload_copy mc_w.l(handlers.o)
|
||||
0x080011c2 0x080011c2 0x00000002 Code RO 607 i.__scatterload_null mc_w.l(handlers.o)
|
||||
0x080011c4 0x080011c4 0x0000000e Code RO 608 i.__scatterload_zeroinit mc_w.l(handlers.o)
|
||||
0x080011d2 0x080011d2 0x00000002 PAD
|
||||
0x080011d4 0x080011d4 0x00000040 Code RO 4 i.f main.o
|
||||
0x08001214 0x08001214 0x000000c4 Code RO 5 i.handler main.o
|
||||
0x080012d8 0x080012d8 0x0000003c Code RO 202 i.initADC myadc.o
|
||||
0x08001314 0x08001314 0x00000074 Code RO 6 i.main main.o
|
||||
0x08001388 0x08001388 0x00000028 Code RO 203 i.read myadc.o
|
||||
0x080013b0 0x080013b0 0x00000014 Code RO 204 i.startADC myadc.o
|
||||
0x080013c4 0x080013c4 0x00000024 Data RO 292 .constdata mygirouette.o
|
||||
0x080013e8 0x080013e8 0x00000008 Data RO 334 .constdata myvoile.o
|
||||
0x080013f0 0x080013f0 0x00000008 Data RO 7 .conststring main.o
|
||||
0x080013f8 0x080013f8 0x00000020 Data RO 604 Region$$Table anon$$obj.o
|
||||
0x08000aa8 0x08000aa8 0x00000030 Code RO 560 i.MySPI_Clear_NSS Lib_Com_Periph_2022.lib(myspi.o)
|
||||
0x08000ad8 0x08000ad8 0x000001f4 Code RO 561 i.MySPI_Init Lib_Com_Periph_2022.lib(myspi.o)
|
||||
0x08000ccc 0x08000ccc 0x00000054 Code RO 562 i.MySPI_Read Lib_Com_Periph_2022.lib(myspi.o)
|
||||
0x08000d20 0x08000d20 0x00000050 Code RO 563 i.MySPI_Send Lib_Com_Periph_2022.lib(myspi.o)
|
||||
0x08000d70 0x08000d70 0x0000002c Code RO 564 i.MySPI_Set_NSS Lib_Com_Periph_2022.lib(myspi.o)
|
||||
0x08000d9c 0x08000d9c 0x000000b0 Code RO 102 i.MyTimer_ActiveIT mytimer.o
|
||||
0x08000e4c 0x08000e4c 0x0000006c Code RO 103 i.MyTimer_Base_Init mytimer.o
|
||||
0x08000eb8 0x08000eb8 0x0000000a Code RO 104 i.MyTimer_Base_Start mytimer.o
|
||||
0x08000ec2 0x08000ec2 0x00000002 PAD
|
||||
0x08000ec4 0x08000ec4 0x000001e8 Code RO 106 i.MyTimer_PWM mytimer.o
|
||||
0x080010ac 0x080010ac 0x00000028 Code RO 335 i.MyVoile_Init myvoile.o
|
||||
0x080010d4 0x080010d4 0x0000001c Code RO 454 i.Send_Char telecommande.o
|
||||
0x080010f0 0x080010f0 0x00000018 Code RO 455 i.Send_Message telecommande.o
|
||||
0x08001108 0x08001108 0x00000008 Code RO 514 i.SetSysClock system_stm32f10x.o
|
||||
0x08001110 0x08001110 0x000000e0 Code RO 515 i.SetSysClockTo72 system_stm32f10x.o
|
||||
0x080011f0 0x080011f0 0x00000028 Code RO 367 i.Set_Direction plateau.o
|
||||
0x08001218 0x08001218 0x00000028 Code RO 107 i.Set_Duty_Cycle mytimer.o
|
||||
0x08001240 0x08001240 0x00000018 Code RO 368 i.Set_Moteur_Plateau plateau.o
|
||||
0x08001258 0x08001258 0x00000038 Code RO 108 i.Set_PWM_PRCT mytimer.o
|
||||
0x08001290 0x08001290 0x00000020 Code RO 369 i.Set_Vitesse plateau.o
|
||||
0x080012b0 0x080012b0 0x000000ec Code RO 336 i.Set_Voile myvoile.o
|
||||
0x0800139c 0x0800139c 0x00000060 Code RO 517 i.SystemInit system_stm32f10x.o
|
||||
0x080013fc 0x080013fc 0x00000024 Code RO 109 i.TIM1_UP_IRQHandler mytimer.o
|
||||
0x08001420 0x08001420 0x00000024 Code RO 110 i.TIM2_IRQHandler mytimer.o
|
||||
0x08001444 0x08001444 0x00000024 Code RO 111 i.TIM3_IRQHandler mytimer.o
|
||||
0x08001468 0x08001468 0x00000024 Code RO 112 i.TIM4_IRQHandler mytimer.o
|
||||
0x0800148c 0x0800148c 0x0000001c Code RO 456 i.USART1_IRQHandler telecommande.o
|
||||
0x080014a8 0x080014a8 0x0000000e Code RO 626 i.__scatterload_copy mc_w.l(handlers.o)
|
||||
0x080014b6 0x080014b6 0x00000002 Code RO 627 i.__scatterload_null mc_w.l(handlers.o)
|
||||
0x080014b8 0x080014b8 0x0000000e Code RO 628 i.__scatterload_zeroinit mc_w.l(handlers.o)
|
||||
0x080014c6 0x080014c6 0x00000002 PAD
|
||||
0x080014c8 0x080014c8 0x00000040 Code RO 4 i.f main.o
|
||||
0x08001508 0x08001508 0x000000c4 Code RO 5 i.handler main.o
|
||||
0x080015cc 0x080015cc 0x0000003c Code RO 205 i.initADC myadc.o
|
||||
0x08001608 0x08001608 0x000000c0 Code RO 6 i.main main.o
|
||||
0x080016c8 0x080016c8 0x00000028 Code RO 206 i.read myadc.o
|
||||
0x080016f0 0x080016f0 0x00000014 Code RO 207 i.startADC myadc.o
|
||||
0x08001704 0x08001704 0x00000024 Data RO 295 .constdata mygirouette.o
|
||||
0x08001728 0x08001728 0x00000008 Data RO 337 .constdata myvoile.o
|
||||
0x08001730 0x08001730 0x00000008 Data RO 7 .conststring main.o
|
||||
0x08001738 0x08001738 0x00000020 Data RO 624 Region$$Table anon$$obj.o
|
||||
|
||||
|
||||
Execution Region RW_IRAM1 (Exec base: 0x20000000, Load base: 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
|
||||
|
||||
0x20000000 0x08001418 0x00000024 Data RW 8 .data main.o
|
||||
0x20000024 0x0800143c 0x00000010 Data RW 110 .data mytimer.o
|
||||
0x20000034 0x0800144c 0x00000004 Data RW 293 .data mygirouette.o
|
||||
0x20000038 0x08001450 0x00000010 Data RW 368 .data plateau.o
|
||||
0x20000048 0x08001460 0x00000004 Data RW 415 .data batterie.o
|
||||
0x2000004c 0x08001464 0x00000008 Data RW 455 .data telecommande.o
|
||||
0x20000054 - 0x00000018 Zero RW 367 .bss plateau.o
|
||||
0x2000006c - 0x0000000c Zero RW 414 .bss batterie.o
|
||||
0x20000078 - 0x00000034 Zero RW 454 .bss telecommande.o
|
||||
0x200000ac 0x0800146c 0x00000004 PAD
|
||||
0x200000b0 - 0x00000400 Zero RW 501 STACK startup_stm32f10x_md.o
|
||||
0x20000000 0x08001758 0x0000002c Data RW 8 .data main.o
|
||||
0x2000002c 0x08001784 0x00000010 Data RW 113 .data mytimer.o
|
||||
0x2000003c 0x08001794 0x00000004 Data RW 296 .data mygirouette.o
|
||||
0x20000040 0x08001798 0x00000010 Data RW 371 .data plateau.o
|
||||
0x20000050 0x080017a8 0x00000004 Data RW 418 .data batterie.o
|
||||
0x20000054 0x080017ac 0x00000008 Data RW 458 .data telecommande.o
|
||||
0x2000005c 0x080017b4 0x00000004 Data RW 565 .data Lib_Com_Periph_2022.lib(myspi.o)
|
||||
0x20000060 - 0x00000018 Zero RW 370 .bss plateau.o
|
||||
0x20000078 - 0x0000000c Zero RW 417 .bss batterie.o
|
||||
0x20000084 - 0x00000034 Zero RW 457 .bss telecommande.o
|
||||
0x200000b8 - 0x00000400 Zero RW 504 STACK startup_stm32f10x_md.o
|
||||
|
||||
|
||||
==============================================================================
|
||||
|
@ -608,7 +643,7 @@ Image component sizes
|
|||
|
||||
80 12 0 4 12 1108 batterie.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
|
||||
298 32 36 4 0 1612 mygirouette.o
|
||||
1028 82 0 16 0 7434 mytimer.o
|
||||
|
@ -619,14 +654,15 @@ Image component sizes
|
|||
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)
|
||||
8 0 0 0 4 0 (incl. Padding)
|
||||
8 0 0 0 0 0 (incl. Padding)
|
||||
|
||||
----------------------------------------------------------------------
|
||||
|
||||
Code (inc. data) RO Data RW Data ZI Data Debug Library Member Name
|
||||
|
||||
756 80 0 4 0 348 myspi.o
|
||||
0 0 0 0 0 0 entry.o
|
||||
0 0 0 0 0 0 entry10a.o
|
||||
0 0 0 0 0 0 entry11a.o
|
||||
|
@ -655,18 +691,19 @@ Image component sizes
|
|||
100 0 0 0 0 76 fmul.o
|
||||
|
||||
----------------------------------------------------------------------
|
||||
1552 16 0 0 0 1404 Library Totals
|
||||
2308 96 0 4 0 1752 Library Totals
|
||||
4 0 0 0 0 0 (incl. Padding)
|
||||
|
||||
----------------------------------------------------------------------
|
||||
|
||||
Code (inc. data) RO Data RW Data ZI Data Debug Library Name
|
||||
|
||||
756 80 0 4 0 348 Lib_Com_Periph_2022.lib
|
||||
188 16 0 0 0 272 mc_w.l
|
||||
1360 0 0 0 0 1132 mf_w.l
|
||||
|
||||
----------------------------------------------------------------------
|
||||
1552 16 0 0 0 1404 Library Totals
|
||||
2308 96 0 4 0 1752 Library Totals
|
||||
|
||||
----------------------------------------------------------------------
|
||||
|
||||
|
@ -675,15 +712,15 @@ Image component sizes
|
|||
|
||||
Code (inc. data) RO Data RW Data ZI Data Debug
|
||||
|
||||
4824 450 320 84 1116 230690 Grand Totals
|
||||
4824 450 320 84 1116 230690 ELF Image Totals
|
||||
4824 450 320 84 0 0 ROM Totals
|
||||
5656 542 320 96 1112 230901 Grand Totals
|
||||
5656 542 320 96 1112 230901 ELF Image Totals
|
||||
5656 542 320 96 0 0 ROM Totals
|
||||
|
||||
==============================================================================
|
||||
|
||||
Total RO Size (Code + RO Data) 5144 ( 5.02kB)
|
||||
Total RW Size (RW Data + ZI Data) 1200 ( 1.17kB)
|
||||
Total ROM Size (Code + RO Data + RW Data) 5228 ( 5.11kB)
|
||||
Total RO Size (Code + RO Data) 5976 ( 5.84kB)
|
||||
Total RW Size (RW Data + ZI Data) 1208 ( 1.18kB)
|
||||
Total ROM Size (Code + RO Data + RW Data) 6072 ( 5.93kB)
|
||||
|
||||
==============================================================================
|
||||
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
Dependencies for Project 'Projet1', Target 'Réel': (DO NOT MODIFY !)
|
||||
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 (.\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)
|
||||
|
@ -17,6 +17,7 @@ I (.\FileInclude\Telecommande.h)(0x6380E338)
|
|||
I (.\FileInclude\Batterie.h)(0x6380E338)
|
||||
I (.\FileInclude\MyGirouette.h)(0x63727F20)
|
||||
I (.\FileInclude\MyVoile.h)(0x63727F20)
|
||||
I (.\FileInclude\MySPI.h)(0x634E5AE0)
|
||||
F (.\FileInclude\MyTimer.c)(0x6380E338)(-c --cpu Cortex-M3 -D__EVAL -D__MICROLIB -g -O0 --apcs=interwork --split_sections -I .\FileInclude
-I.\RTE\Device\STM32F103RB
-I.\RTE\_R_el
-IC:\Programdata\Keil\Arm\Packs\ARM\CMSIS\5.7.0\CMSIS\Core\Include
-IC:\Programdata\Keil\Arm\Packs\Keil\STM32F1xx_DFP\2.3.0\Device\Include
-D__UVISION_VERSION="534" -D_RTE_ -DSTM32F10X_MD -D_RTE_
-o .\objects\mytimer.o --omf_browse .\objects\mytimer.crf --depend .\objects\mytimer.d)
|
||||
I (FileInclude\MyTimer.h)(0x6380E338)
|
||||
I (C:\Programdata\Keil\Arm\Packs\Keil\STM32F1xx_DFP\2.3.0\Device\Include\stm32f10x.h)(0x58258CCC)
|
||||
|
@ -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\Plateau.h)(0x6380E338)
|
||||
I (FileInclude\Telecommande.h)(0x6380E338)
|
||||
F (.\FileInclude\Lib_Com_Periph_2022.lib)(0x634E68C6)()
|
||||
F (RTE\Device\STM32F103RB\RTE_Device.h)(0x6380E338)()
|
||||
F (RTE\Device\STM32F103RB\startup_stm32f10x_md.s)(0x6380E338)(--cpu Cortex-M3 --pd "__EVAL SETA 1" -g --apcs=interwork --pd "__MICROLIB SETA 1"
-I.\RTE\Device\STM32F103RB
-I.\RTE\_R_el
-IC:\Programdata\Keil\Arm\Packs\ARM\CMSIS\5.7.0\CMSIS\Core\Include
-IC:\Programdata\Keil\Arm\Packs\Keil\STM32F1xx_DFP\2.3.0\Device\Include
--pd "__UVISION_VERSION SETA 534" --pd "_RTE_ SETA 1" --pd "STM32F10X_MD SETA 1" --pd "_RTE_ SETA 1"
--list .\listings\startup_stm32f10x_md.lst --xref -o .\objects\startup_stm32f10x_md.o --depend .\objects\startup_stm32f10x_md.d)
|
||||
F (RTE\Device\STM32F103RB\system_stm32f10x.c)(0x63727F21)(-c --cpu Cortex-M3 -D__EVAL -D__MICROLIB -g -O0 --apcs=interwork --split_sections -I .\FileInclude
-I.\RTE\Device\STM32F103RB
-I.\RTE\_R_el
-IC:\Programdata\Keil\Arm\Packs\ARM\CMSIS\5.7.0\CMSIS\Core\Include
-IC:\Programdata\Keil\Arm\Packs\Keil\STM32F1xx_DFP\2.3.0\Device\Include
-D__UVISION_VERSION="534" -D_RTE_ -DSTM32F10X_MD -D_RTE_
-o .\objects\system_stm32f10x.o --omf_browse .\objects\system_stm32f10x.crf --depend .\objects\system_stm32f10x.d)
|
||||
|
|
二进制文件未显示。
|
@ -27,19 +27,19 @@ Project File Date: 11/25/2022
|
|||
<h2>Output:</h2>
|
||||
*** Using Compiler 'V5.06 update 7 (build 960)', folder: 'C:\Keil_v5\ARM\ARMCC\Bin'
|
||||
Rebuild target 'Réel'
|
||||
compiling Driver_GPIO.c...
|
||||
compiling MyVoile.c...
|
||||
compiling MyADC.c...
|
||||
compiling Plateau.c...
|
||||
compiling Driver_GPIO.c...
|
||||
compiling MyTimer.c...
|
||||
compiling MyGirouette.c...
|
||||
compiling main.c...
|
||||
compiling Plateau.c...
|
||||
assembling startup_stm32f10x_md.s...
|
||||
compiling Batterie.c...
|
||||
compiling Telecommande.c...
|
||||
compiling system_stm32f10x.c...
|
||||
compiling Telecommande.c...
|
||||
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).
|
||||
|
||||
<h2>Software Packages used:</h2>
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
<title>Static Call Graph - [.\Objects\Projet1_Simulation.axf]</title></head>
|
||||
<body><HR>
|
||||
<H1>Static Call Graph for image .\Objects\Projet1_Simulation.axf</H1><HR>
|
||||
<BR><P>#<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>
|
||||
<H3>Maximum Stack Usage = 144 bytes + Unknown(Cycles, Untraceable Function Pointers)</H3><H3>
|
||||
Call chain for Maximum Stack Depth:</H3>
|
||||
|
@ -92,7 +92,7 @@ Global Symbols
|
|||
<P><STRONG><a name="[37]"></a>__main</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, entry.o(.ARM.Collect$$$$00000000))
|
||||
<BR>[Address Reference Count : 1]<UL><LI> startup_stm32f10x_md.o(.text)
|
||||
</UL>
|
||||
<P><STRONG><a name="[6c]"></a>_main_stk</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, entry2.o(.ARM.Collect$$$$00000001))
|
||||
<P><STRONG><a name="[71]"></a>_main_stk</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, entry2.o(.ARM.Collect$$$$00000001))
|
||||
|
||||
<P><STRONG><a name="[3a]"></a>_main_scatterload</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, entry5.o(.ARM.Collect$$$$00000004))
|
||||
<BR><BR>[Calls]<UL><LI><a href="#[3b]">>></a> __scatterload
|
||||
|
@ -102,17 +102,17 @@ Global Symbols
|
|||
<BR><BR>[Called By]<UL><LI><a href="#[3b]">>></a> __scatterload
|
||||
</UL>
|
||||
|
||||
<P><STRONG><a name="[6d]"></a>_main_clock</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, entry7b.o(.ARM.Collect$$$$00000008))
|
||||
<P><STRONG><a name="[72]"></a>_main_clock</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, entry7b.o(.ARM.Collect$$$$00000008))
|
||||
|
||||
<P><STRONG><a name="[6e]"></a>_main_cpp_init</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, entry8b.o(.ARM.Collect$$$$0000000A))
|
||||
<P><STRONG><a name="[73]"></a>_main_cpp_init</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, entry8b.o(.ARM.Collect$$$$0000000A))
|
||||
|
||||
<P><STRONG><a name="[6f]"></a>_main_init</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, entry9a.o(.ARM.Collect$$$$0000000B))
|
||||
<P><STRONG><a name="[74]"></a>_main_init</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, entry9a.o(.ARM.Collect$$$$0000000B))
|
||||
|
||||
<P><STRONG><a name="[70]"></a>__rt_lib_shutdown_fini</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, entry12b.o(.ARM.Collect$$$$0000000E))
|
||||
<P><STRONG><a name="[75]"></a>__rt_lib_shutdown_fini</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, entry12b.o(.ARM.Collect$$$$0000000E))
|
||||
|
||||
<P><STRONG><a name="[71]"></a>__rt_final_cpp</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, entry10a.o(.ARM.Collect$$$$0000000F))
|
||||
<P><STRONG><a name="[76]"></a>__rt_final_cpp</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, entry10a.o(.ARM.Collect$$$$0000000F))
|
||||
|
||||
<P><STRONG><a name="[72]"></a>__rt_final_exit</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, entry11a.o(.ARM.Collect$$$$00000011))
|
||||
<P><STRONG><a name="[77]"></a>__rt_final_exit</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, entry11a.o(.ARM.Collect$$$$00000011))
|
||||
|
||||
<P><STRONG><a name="[0]"></a>Reset_Handler</STRONG> (Thumb, 8 bytes, Stack size 0 bytes, startup_stm32f10x_md.o(.text))
|
||||
<BR>[Address Reference Count : 1]<UL><LI> startup_stm32f10x_md.o(RESET)
|
||||
|
@ -295,10 +295,10 @@ Global Symbols
|
|||
<P><STRONG><a name="[a]"></a>WWDG_IRQHandler</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, startup_stm32f10x_md.o(.text))
|
||||
<BR>[Address Reference Count : 1]<UL><LI> startup_stm32f10x_md.o(RESET)
|
||||
</UL>
|
||||
<P><STRONG><a name="[66]"></a>__aeabi_fmul</STRONG> (Thumb, 100 bytes, Stack size 8 bytes, fmul.o(.text))
|
||||
<P><STRONG><a name="[68]"></a>__aeabi_fmul</STRONG> (Thumb, 100 bytes, Stack size 8 bytes, fmul.o(.text))
|
||||
<BR><BR>[Stack]<UL><LI>Max Depth = 8<LI>Call Chain = __aeabi_fmul
|
||||
</UL>
|
||||
<BR>[Called By]<UL><LI><a href="#[63]">>></a> Set_Voile
|
||||
<BR>[Called By]<UL><LI><a href="#[65]">>></a> Set_Voile
|
||||
</UL>
|
||||
|
||||
<P><STRONG><a name="[3c]"></a>__aeabi_dadd</STRONG> (Thumb, 322 bytes, Stack size 48 bytes, dadd.o(.text))
|
||||
|
@ -322,7 +322,7 @@ Global Symbols
|
|||
</UL>
|
||||
<BR>[Calls]<UL><LI><a href="#[3c]">>></a> __aeabi_dadd
|
||||
</UL>
|
||||
<BR>[Called By]<UL><LI><a href="#[63]">>></a> Set_Voile
|
||||
<BR>[Called By]<UL><LI><a href="#[65]">>></a> Set_Voile
|
||||
</UL>
|
||||
|
||||
<P><STRONG><a name="[43]"></a>__aeabi_dmul</STRONG> (Thumb, 228 bytes, Stack size 48 bytes, dmul.o(.text))
|
||||
|
@ -330,7 +330,7 @@ Global Symbols
|
|||
</UL>
|
||||
<BR>[Calls]<UL><LI><a href="#[3f]">>></a> _double_epilogue
|
||||
</UL>
|
||||
<BR>[Called By]<UL><LI><a href="#[63]">>></a> Set_Voile
|
||||
<BR>[Called By]<UL><LI><a href="#[65]">>></a> Set_Voile
|
||||
</UL>
|
||||
|
||||
<P><STRONG><a name="[44]"></a>__aeabi_ddiv</STRONG> (Thumb, 222 bytes, Stack size 32 bytes, ddiv.o(.text))
|
||||
|
@ -338,7 +338,7 @@ Global Symbols
|
|||
</UL>
|
||||
<BR>[Calls]<UL><LI><a href="#[40]">>></a> _double_round
|
||||
</UL>
|
||||
<BR>[Called By]<UL><LI><a href="#[63]">>></a> Set_Voile
|
||||
<BR>[Called By]<UL><LI><a href="#[65]">>></a> Set_Voile
|
||||
</UL>
|
||||
|
||||
<P><STRONG><a name="[45]"></a>__aeabi_ui2f</STRONG> (Thumb, 10 bytes, Stack size 0 bytes, ffltui.o(.text))
|
||||
|
@ -346,7 +346,7 @@ Global Symbols
|
|||
</UL>
|
||||
<BR>[Calls]<UL><LI><a href="#[46]">>></a> _float_epilogue
|
||||
</UL>
|
||||
<BR>[Called By]<UL><LI><a href="#[63]">>></a> Set_Voile
|
||||
<BR>[Called By]<UL><LI><a href="#[65]">>></a> Set_Voile
|
||||
</UL>
|
||||
|
||||
<P><STRONG><a name="[47]"></a>__aeabi_ui2d</STRONG> (Thumb, 26 bytes, Stack size 16 bytes, dfltui.o(.text))
|
||||
|
@ -354,17 +354,17 @@ Global Symbols
|
|||
</UL>
|
||||
<BR>[Calls]<UL><LI><a href="#[3f]">>></a> _double_epilogue
|
||||
</UL>
|
||||
<BR>[Called By]<UL><LI><a href="#[63]">>></a> Set_Voile
|
||||
<BR>[Called By]<UL><LI><a href="#[65]">>></a> Set_Voile
|
||||
</UL>
|
||||
|
||||
<P><STRONG><a name="[67]"></a>__aeabi_f2uiz</STRONG> (Thumb, 40 bytes, Stack size 0 bytes, ffixui.o(.text))
|
||||
<BR><BR>[Called By]<UL><LI><a href="#[63]">>></a> Set_Voile
|
||||
<P><STRONG><a name="[69]"></a>__aeabi_f2uiz</STRONG> (Thumb, 40 bytes, Stack size 0 bytes, ffixui.o(.text))
|
||||
<BR><BR>[Called By]<UL><LI><a href="#[65]">>></a> Set_Voile
|
||||
</UL>
|
||||
|
||||
<P><STRONG><a name="[73]"></a>__aeabi_cdcmpeq</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, cdcmple.o(.text), UNUSED)
|
||||
<P><STRONG><a name="[78]"></a>__aeabi_cdcmpeq</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, cdcmple.o(.text), UNUSED)
|
||||
|
||||
<P><STRONG><a name="[64]"></a>__aeabi_cdcmple</STRONG> (Thumb, 48 bytes, Stack size 0 bytes, cdcmple.o(.text))
|
||||
<BR><BR>[Called By]<UL><LI><a href="#[63]">>></a> Set_Voile
|
||||
<P><STRONG><a name="[66]"></a>__aeabi_cdcmple</STRONG> (Thumb, 48 bytes, Stack size 0 bytes, cdcmple.o(.text))
|
||||
<BR><BR>[Called By]<UL><LI><a href="#[65]">>></a> Set_Voile
|
||||
</UL>
|
||||
|
||||
<P><STRONG><a name="[48]"></a>__aeabi_d2f</STRONG> (Thumb, 56 bytes, Stack size 8 bytes, d2f.o(.text))
|
||||
|
@ -372,7 +372,7 @@ Global Symbols
|
|||
</UL>
|
||||
<BR>[Calls]<UL><LI><a href="#[49]">>></a> _float_round
|
||||
</UL>
|
||||
<BR>[Called By]<UL><LI><a href="#[63]">>></a> Set_Voile
|
||||
<BR>[Called By]<UL><LI><a href="#[65]">>></a> Set_Voile
|
||||
</UL>
|
||||
|
||||
<P><STRONG><a name="[3d]"></a>__aeabi_llsl</STRONG> (Thumb, 30 bytes, Stack size 0 bytes, llshl.o(.text))
|
||||
|
@ -380,15 +380,15 @@ Global Symbols
|
|||
<LI><a href="#[3c]">>></a> __aeabi_dadd
|
||||
</UL>
|
||||
|
||||
<P><STRONG><a name="[74]"></a>_ll_shift_l</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, llshl.o(.text), UNUSED)
|
||||
<P><STRONG><a name="[79]"></a>_ll_shift_l</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, llshl.o(.text), UNUSED)
|
||||
|
||||
<P><STRONG><a name="[3e]"></a>__aeabi_lasr</STRONG> (Thumb, 36 bytes, Stack size 0 bytes, llsshr.o(.text))
|
||||
<BR><BR>[Called By]<UL><LI><a href="#[3c]">>></a> __aeabi_dadd
|
||||
</UL>
|
||||
|
||||
<P><STRONG><a name="[75]"></a>_ll_sshift_r</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, llsshr.o(.text), UNUSED)
|
||||
<P><STRONG><a name="[7a]"></a>_ll_sshift_r</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, llsshr.o(.text), UNUSED)
|
||||
|
||||
<P><STRONG><a name="[76]"></a>__I$use$fp</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, iusefp.o(.text), UNUSED)
|
||||
<P><STRONG><a name="[7b]"></a>__I$use$fp</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, iusefp.o(.text), UNUSED)
|
||||
|
||||
<P><STRONG><a name="[49]"></a>_float_round</STRONG> (Thumb, 18 bytes, Stack size 0 bytes, fepilogue.o(.text))
|
||||
<BR><BR>[Called By]<UL><LI><a href="#[48]">>></a> __aeabi_d2f
|
||||
|
@ -426,18 +426,18 @@ Global Symbols
|
|||
<BR>[Called By]<UL><LI><a href="#[3a]">>></a> _main_scatterload
|
||||
</UL>
|
||||
|
||||
<P><STRONG><a name="[77]"></a>__scatterload_rt2</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, init.o(.text), UNUSED)
|
||||
<P><STRONG><a name="[7c]"></a>__scatterload_rt2</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, init.o(.text), UNUSED)
|
||||
|
||||
<P><STRONG><a name="[4a]"></a>__aeabi_llsr</STRONG> (Thumb, 32 bytes, Stack size 0 bytes, llushr.o(.text))
|
||||
<BR><BR>[Called By]<UL><LI><a href="#[3f]">>></a> _double_epilogue
|
||||
</UL>
|
||||
|
||||
<P><STRONG><a name="[78]"></a>_ll_ushift_r</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, llushr.o(.text), UNUSED)
|
||||
<P><STRONG><a name="[7d]"></a>_ll_ushift_r</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, llushr.o(.text), UNUSED)
|
||||
|
||||
<P><STRONG><a name="[10]"></a>EXTI0_IRQHandler</STRONG> (Thumb, 32 bytes, Stack size 0 bytes, mygirouette.o(i.EXTI0_IRQHandler))
|
||||
<BR>[Address Reference Count : 1]<UL><LI> startup_stm32f10x_md.o(RESET)
|
||||
</UL>
|
||||
<P><STRONG><a name="[6b]"></a>Get_Angle</STRONG> (Thumb, 14 bytes, Stack size 0 bytes, mygirouette.o(i.Get_Angle))
|
||||
<P><STRONG><a name="[70]"></a>Get_Angle</STRONG> (Thumb, 14 bytes, Stack size 0 bytes, mygirouette.o(i.Get_Angle))
|
||||
<BR><BR>[Called By]<UL><LI><a href="#[35]">>></a> main
|
||||
</UL>
|
||||
|
||||
|
@ -449,8 +449,8 @@ Global Symbols
|
|||
<BR>[Called By]<UL><LI><a href="#[38]">>></a> handler
|
||||
</UL>
|
||||
|
||||
<P><STRONG><a name="[65]"></a>Get_Max_Duty</STRONG> (Thumb, 6 bytes, Stack size 0 bytes, mytimer.o(i.Get_Max_Duty))
|
||||
<BR><BR>[Called By]<UL><LI><a href="#[63]">>></a> Set_Voile
|
||||
<P><STRONG><a name="[67]"></a>Get_Max_Duty</STRONG> (Thumb, 6 bytes, Stack size 0 bytes, mytimer.o(i.Get_Max_Duty))
|
||||
<BR><BR>[Called By]<UL><LI><a href="#[65]">>></a> Set_Voile
|
||||
</UL>
|
||||
|
||||
<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
|
||||
</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
|
||||
</UL>
|
||||
|
||||
|
@ -485,7 +485,7 @@ Global Symbols
|
|||
<LI><a href="#[54]">>></a> MyTimer_Base_Start
|
||||
<LI><a href="#[53]">>></a> MyTimer_Base_Init
|
||||
</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
|
||||
</UL>
|
||||
|
||||
|
@ -507,29 +507,54 @@ Global Symbols
|
|||
<LI><a href="#[4e]">>></a> Init_Batterie
|
||||
</UL>
|
||||
|
||||
<P><STRONG><a name="[5e]"></a>MyGPIO_Reset</STRONG> (Thumb, 14 bytes, Stack size 0 bytes, driver_gpio.o(i.MyGPIO_Reset))
|
||||
<BR><BR>[Called By]<UL><LI><a href="#[5d]">>></a> Set_Direction
|
||||
<P><STRONG><a name="[60]"></a>MyGPIO_Reset</STRONG> (Thumb, 14 bytes, Stack size 0 bytes, driver_gpio.o(i.MyGPIO_Reset))
|
||||
<BR><BR>[Called By]<UL><LI><a href="#[5f]">>></a> Set_Direction
|
||||
</UL>
|
||||
|
||||
<P><STRONG><a name="[5f]"></a>MyGPIO_Set</STRONG> (Thumb, 12 bytes, Stack size 0 bytes, driver_gpio.o(i.MyGPIO_Set))
|
||||
<BR><BR>[Called By]<UL><LI><a href="#[5d]">>></a> Set_Direction
|
||||
<P><STRONG><a name="[61]"></a>MyGPIO_Set</STRONG> (Thumb, 12 bytes, Stack size 0 bytes, driver_gpio.o(i.MyGPIO_Set))
|
||||
<BR><BR>[Called By]<UL><LI><a href="#[5f]">>></a> Set_Direction
|
||||
</UL>
|
||||
|
||||
<P><STRONG><a name="[69]"></a>MyTimer_ActiveIT</STRONG> (Thumb, 148 bytes, Stack size 8 bytes, mytimer.o(i.MyTimer_ActiveIT))
|
||||
<P><STRONG><a name="[6d]"></a>MySPI_Clear_NSS</STRONG> (Thumb, 30 bytes, Stack size 0 bytes, myspi.o(i.MySPI_Clear_NSS))
|
||||
<BR><BR>[Called By]<UL><LI><a href="#[35]">>></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
|
||||
</UL>
|
||||
<BR>[Called By]<UL><LI><a href="#[35]">>></a> main
|
||||
</UL>
|
||||
|
||||
<P><STRONG><a name="[53]"></a>MyTimer_Base_Init</STRONG> (Thumb, 98 bytes, Stack size 0 bytes, mytimer.o(i.MyTimer_Base_Init))
|
||||
<BR><BR>[Called By]<UL><LI><a href="#[58]">>></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="#[52]">>></a> Init_Girouette
|
||||
<LI><a href="#[35]">>></a> main
|
||||
</UL>
|
||||
|
||||
<P><STRONG><a name="[54]"></a>MyTimer_Base_Start</STRONG> (Thumb, 10 bytes, Stack size 0 bytes, mytimer.o(i.MyTimer_Base_Start))
|
||||
<BR><BR>[Called By]<UL><LI><a href="#[58]">>></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="#[52]">>></a> Init_Girouette
|
||||
<LI><a href="#[35]">>></a> main
|
||||
|
@ -540,11 +565,11 @@ Global Symbols
|
|||
</UL>
|
||||
<BR>[Calls]<UL><LI><a href="#[4f]">>></a> MyGPIO_Init
|
||||
</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
|
||||
</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
|
||||
</UL>
|
||||
<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
|
||||
</UL>
|
||||
|
||||
<P><STRONG><a name="[5a]"></a>Send_Char</STRONG> (Thumb, 22 bytes, Stack size 0 bytes, telecommande.o(i.Send_Char))
|
||||
<BR><BR>[Called By]<UL><LI><a href="#[59]">>></a> Send_Message
|
||||
<P><STRONG><a name="[5c]"></a>Send_Char</STRONG> (Thumb, 22 bytes, Stack size 0 bytes, telecommande.o(i.Send_Char))
|
||||
<BR><BR>[Called By]<UL><LI><a href="#[5b]">>></a> Send_Message
|
||||
</UL>
|
||||
|
||||
<P><STRONG><a name="[59]"></a>Send_Message</STRONG> (Thumb, 24 bytes, Stack size 4 bytes, telecommande.o(i.Send_Message))
|
||||
<P><STRONG><a name="[5b]"></a>Send_Message</STRONG> (Thumb, 24 bytes, Stack size 4 bytes, telecommande.o(i.Send_Message))
|
||||
<BR><BR>[Stack]<UL><LI>Max Depth = 4<LI>Call Chain = Send_Message
|
||||
</UL>
|
||||
<BR>[Calls]<UL><LI><a href="#[5a]">>></a> Send_Char
|
||||
<BR>[Calls]<UL><LI><a href="#[5c]">>></a> Send_Char
|
||||
</UL>
|
||||
<BR>[Called By]<UL><LI><a href="#[38]">>></a> handler
|
||||
</UL>
|
||||
|
||||
<P><STRONG><a name="[5d]"></a>Set_Direction</STRONG> (Thumb, 34 bytes, Stack size 8 bytes, plateau.o(i.Set_Direction))
|
||||
<P><STRONG><a name="[5f]"></a>Set_Direction</STRONG> (Thumb, 34 bytes, Stack size 8 bytes, plateau.o(i.Set_Direction))
|
||||
<BR><BR>[Stack]<UL><LI>Max Depth = 8<LI>Call Chain = Set_Direction
|
||||
</UL>
|
||||
<BR>[Calls]<UL><LI><a href="#[5f]">>></a> MyGPIO_Set
|
||||
<LI><a href="#[5e]">>></a> MyGPIO_Reset
|
||||
<BR>[Calls]<UL><LI><a href="#[61]">>></a> MyGPIO_Set
|
||||
<LI><a href="#[60]">>></a> MyGPIO_Reset
|
||||
</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>
|
||||
|
||||
<P><STRONG><a name="[68]"></a>Set_Duty_Cycle</STRONG> (Thumb, 40 bytes, Stack size 0 bytes, mytimer.o(i.Set_Duty_Cycle))
|
||||
<BR><BR>[Called By]<UL><LI><a href="#[63]">>></a> Set_Voile
|
||||
<P><STRONG><a name="[6a]"></a>Set_Duty_Cycle</STRONG> (Thumb, 40 bytes, Stack size 0 bytes, mytimer.o(i.Set_Duty_Cycle))
|
||||
<BR><BR>[Called By]<UL><LI><a href="#[65]">>></a> Set_Voile
|
||||
</UL>
|
||||
|
||||
<P><STRONG><a name="[60]"></a>Set_Moteur_Plateau</STRONG> (Thumb, 24 bytes, Stack size 16 bytes, plateau.o(i.Set_Moteur_Plateau))
|
||||
<P><STRONG><a name="[62]"></a>Set_Moteur_Plateau</STRONG> (Thumb, 24 bytes, Stack size 16 bytes, plateau.o(i.Set_Moteur_Plateau))
|
||||
<BR><BR>[Stack]<UL><LI>Max Depth = 60<LI>Call Chain = Set_Moteur_Plateau ⇒ Init_Plateau ⇒ MyTimer_PWM ⇒ MyGPIO_Init
|
||||
</UL>
|
||||
<BR>[Calls]<UL><LI><a href="#[61]">>></a> Set_Vitesse
|
||||
<LI><a href="#[5d]">>></a> Set_Direction
|
||||
<BR>[Calls]<UL><LI><a href="#[63]">>></a> Set_Vitesse
|
||||
<LI><a href="#[5f]">>></a> Set_Direction
|
||||
<LI><a href="#[55]">>></a> Init_Plateau
|
||||
</UL>
|
||||
<BR>[Called By]<UL><LI><a href="#[39]">>></a> f
|
||||
</UL>
|
||||
|
||||
<P><STRONG><a name="[62]"></a>Set_PWM_PRCT</STRONG> (Thumb, 56 bytes, Stack size 12 bytes, mytimer.o(i.Set_PWM_PRCT))
|
||||
<P><STRONG><a name="[64]"></a>Set_PWM_PRCT</STRONG> (Thumb, 56 bytes, Stack size 12 bytes, mytimer.o(i.Set_PWM_PRCT))
|
||||
<BR><BR>[Stack]<UL><LI>Max Depth = 12<LI>Call Chain = Set_PWM_PRCT
|
||||
</UL>
|
||||
<BR>[Called By]<UL><LI><a href="#[61]">>></a> Set_Vitesse
|
||||
<BR>[Called By]<UL><LI><a href="#[63]">>></a> Set_Vitesse
|
||||
</UL>
|
||||
|
||||
<P><STRONG><a name="[61]"></a>Set_Vitesse</STRONG> (Thumb, 22 bytes, Stack size 8 bytes, plateau.o(i.Set_Vitesse))
|
||||
<P><STRONG><a name="[63]"></a>Set_Vitesse</STRONG> (Thumb, 22 bytes, Stack size 8 bytes, plateau.o(i.Set_Vitesse))
|
||||
<BR><BR>[Stack]<UL><LI>Max Depth = 20<LI>Call Chain = Set_Vitesse ⇒ Set_PWM_PRCT
|
||||
</UL>
|
||||
<BR>[Calls]<UL><LI><a href="#[62]">>></a> Set_PWM_PRCT
|
||||
<BR>[Calls]<UL><LI><a href="#[64]">>></a> Set_PWM_PRCT
|
||||
</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>
|
||||
|
||||
<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
|
||||
</UL>
|
||||
<BR>[Calls]<UL><LI><a href="#[45]">>></a> __aeabi_ui2f
|
||||
<LI><a href="#[47]">>></a> __aeabi_ui2d
|
||||
<LI><a href="#[66]">>></a> __aeabi_fmul
|
||||
<LI><a href="#[67]">>></a> __aeabi_f2uiz
|
||||
<LI><a href="#[68]">>></a> __aeabi_fmul
|
||||
<LI><a href="#[69]">>></a> __aeabi_f2uiz
|
||||
<LI><a href="#[42]">>></a> __aeabi_drsub
|
||||
<LI><a href="#[43]">>></a> __aeabi_dmul
|
||||
<LI><a href="#[44]">>></a> __aeabi_ddiv
|
||||
<LI><a href="#[48]">>></a> __aeabi_d2f
|
||||
<LI><a href="#[64]">>></a> __aeabi_cdcmple
|
||||
<LI><a href="#[68]">>></a> Set_Duty_Cycle
|
||||
<LI><a href="#[65]">>></a> Get_Max_Duty
|
||||
<LI><a href="#[66]">>></a> __aeabi_cdcmple
|
||||
<LI><a href="#[6a]">>></a> Set_Duty_Cycle
|
||||
<LI><a href="#[67]">>></a> Get_Max_Duty
|
||||
</UL>
|
||||
<BR>[Called By]<UL><LI><a href="#[35]">>></a> main
|
||||
</UL>
|
||||
|
@ -624,7 +649,7 @@ Global Symbols
|
|||
<P><STRONG><a name="[36]"></a>SystemInit</STRONG> (Thumb, 78 bytes, Stack size 8 bytes, system_stm32f10x.o(i.SystemInit))
|
||||
<BR><BR>[Stack]<UL><LI>Max Depth = 28<LI>Call Chain = SystemInit ⇒ SetSysClock ⇒ SetSysClockTo72
|
||||
</UL>
|
||||
<BR>[Calls]<UL><LI><a href="#[5b]">>></a> SetSysClock
|
||||
<BR>[Calls]<UL><LI><a href="#[5d]">>></a> SetSysClock
|
||||
</UL>
|
||||
<BR>[Address Reference Count : 1]<UL><LI> startup_stm32f10x_md.o(.text)
|
||||
</UL>
|
||||
|
@ -653,23 +678,23 @@ Global Symbols
|
|||
</UL>
|
||||
<BR>[Address Reference Count : 1]<UL><LI> startup_stm32f10x_md.o(RESET)
|
||||
</UL>
|
||||
<P><STRONG><a name="[79]"></a>__scatterload_copy</STRONG> (Thumb, 14 bytes, Stack size unknown bytes, handlers.o(i.__scatterload_copy), UNUSED)
|
||||
<P><STRONG><a name="[7e]"></a>__scatterload_copy</STRONG> (Thumb, 14 bytes, Stack size unknown bytes, handlers.o(i.__scatterload_copy), UNUSED)
|
||||
|
||||
<P><STRONG><a name="[7a]"></a>__scatterload_null</STRONG> (Thumb, 2 bytes, Stack size unknown bytes, handlers.o(i.__scatterload_null), UNUSED)
|
||||
<P><STRONG><a name="[7f]"></a>__scatterload_null</STRONG> (Thumb, 2 bytes, Stack size unknown bytes, handlers.o(i.__scatterload_null), UNUSED)
|
||||
|
||||
<P><STRONG><a name="[7b]"></a>__scatterload_zeroinit</STRONG> (Thumb, 14 bytes, Stack size unknown bytes, handlers.o(i.__scatterload_zeroinit), UNUSED)
|
||||
<P><STRONG><a name="[80]"></a>__scatterload_zeroinit</STRONG> (Thumb, 14 bytes, Stack size unknown bytes, handlers.o(i.__scatterload_zeroinit), UNUSED)
|
||||
|
||||
<P><STRONG><a name="[39]"></a>f</STRONG> (Thumb, 54 bytes, Stack size 8 bytes, main.o(i.f))
|
||||
<BR><BR>[Stack]<UL><LI>Max Depth = 68<LI>Call Chain = f ⇒ Set_Moteur_Plateau ⇒ Init_Plateau ⇒ MyTimer_PWM ⇒ MyGPIO_Init
|
||||
</UL>
|
||||
<BR>[Calls]<UL><LI><a href="#[60]">>></a> Set_Moteur_Plateau
|
||||
<BR>[Calls]<UL><LI><a href="#[62]">>></a> Set_Moteur_Plateau
|
||||
</UL>
|
||||
<BR>[Address Reference Count : 1]<UL><LI> main.o(i.main)
|
||||
</UL>
|
||||
<P><STRONG><a name="[38]"></a>handler</STRONG> (Thumb, 126 bytes, Stack size 8 bytes, main.o(i.handler))
|
||||
<BR><BR>[Stack]<UL><LI>Max Depth = 20<LI>Call Chain = handler ⇒ Get_Batterie ⇒ read
|
||||
</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
|
||||
</UL>
|
||||
<BR>[Address Reference Count : 1]<UL><LI> main.o(i.main)
|
||||
|
@ -678,20 +703,25 @@ Global Symbols
|
|||
<BR><BR>[Called By]<UL><LI><a href="#[4e]">>></a> Init_Batterie
|
||||
</UL>
|
||||
|
||||
<P><STRONG><a name="[35]"></a>main</STRONG> (Thumb, 94 bytes, Stack size 0 bytes, main.o(i.main))
|
||||
<P><STRONG><a name="[35]"></a>main</STRONG> (Thumb, 158 bytes, Stack size 0 bytes, main.o(i.main))
|
||||
<BR><BR>[Stack]<UL><LI>Max Depth = 144<LI>Call Chain = main ⇒ Set_Voile ⇒ __aeabi_drsub ⇒ __aeabi_dadd ⇒ _double_epilogue ⇒ _double_round
|
||||
</UL>
|
||||
<BR>[Calls]<UL><LI><a href="#[63]">>></a> Set_Voile
|
||||
<LI><a href="#[58]">>></a> MyVoile_Init
|
||||
<BR>[Calls]<UL><LI><a href="#[65]">>></a> Set_Voile
|
||||
<LI><a href="#[5a]">>></a> MyVoile_Init
|
||||
<LI><a href="#[54]">>></a> MyTimer_Base_Start
|
||||
<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="#[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="#[4e]">>></a> Init_Batterie
|
||||
<LI><a href="#[6b]">>></a> Get_Angle
|
||||
<LI><a href="#[70]">>></a> Get_Angle
|
||||
</UL>
|
||||
<BR>[Address Reference Count : 1]<UL><LI> entry9a.o(.ARM.Collect$$$$0000000B)
|
||||
</UL>
|
||||
|
@ -711,18 +741,18 @@ Global Symbols
|
|||
<H3>
|
||||
Local Symbols
|
||||
</H3>
|
||||
<P><STRONG><a name="[5b]"></a>SetSysClock</STRONG> (Thumb, 8 bytes, Stack size 8 bytes, system_stm32f10x.o(i.SetSysClock))
|
||||
<P><STRONG><a name="[5d]"></a>SetSysClock</STRONG> (Thumb, 8 bytes, Stack size 8 bytes, system_stm32f10x.o(i.SetSysClock))
|
||||
<BR><BR>[Stack]<UL><LI>Max Depth = 20<LI>Call Chain = SetSysClock ⇒ SetSysClockTo72
|
||||
</UL>
|
||||
<BR>[Calls]<UL><LI><a href="#[5c]">>></a> SetSysClockTo72
|
||||
<BR>[Calls]<UL><LI><a href="#[5e]">>></a> SetSysClockTo72
|
||||
</UL>
|
||||
<BR>[Called By]<UL><LI><a href="#[36]">>></a> SystemInit
|
||||
</UL>
|
||||
|
||||
<P><STRONG><a name="[5c]"></a>SetSysClockTo72</STRONG> (Thumb, 214 bytes, Stack size 12 bytes, system_stm32f10x.o(i.SetSysClockTo72))
|
||||
<P><STRONG><a name="[5e]"></a>SetSysClockTo72</STRONG> (Thumb, 214 bytes, Stack size 12 bytes, system_stm32f10x.o(i.SetSysClockTo72))
|
||||
<BR><BR>[Stack]<UL><LI>Max Depth = 12<LI>Call Chain = SetSysClockTo72
|
||||
</UL>
|
||||
<BR>[Called By]<UL><LI><a href="#[5b]">>></a> SetSysClock
|
||||
<BR>[Called By]<UL><LI><a href="#[5d]">>></a> SetSysClock
|
||||
</UL>
|
||||
<P>
|
||||
<H3>
|
||||
|
|
|
@ -8,6 +8,7 @@
|
|||
".\objects\plateau.o"
|
||||
".\objects\batterie.o"
|
||||
".\objects\telecommande.o"
|
||||
".\FileInclude\Lib_Com_Periph_2022.lib"
|
||||
".\objects\startup_stm32f10x_md.o"
|
||||
".\objects\system_stm32f10x.o"
|
||||
--library_type=microlib --strict --scatter ".\Objects\Projet1_Simulation.sct"
|
||||
|
|
二进制文件未显示。
二进制文件未显示。
二进制
Objects/main.crf
二进制
Objects/main.crf
二进制文件未显示。
|
@ -15,3 +15,4 @@
|
|||
.\objects\main.o: .\FileInclude\Batterie.h
|
||||
.\objects\main.o: .\FileInclude\MyGirouette.h
|
||||
.\objects\main.o: .\FileInclude\MyVoile.h
|
||||
.\objects\main.o: .\FileInclude\MySPI.h
|
||||
|
|
二进制
Objects/main.o
二进制
Objects/main.o
二进制文件未显示。
二进制
Objects/myadc.o
二进制
Objects/myadc.o
二进制文件未显示。
二进制文件未显示。
二进制文件未显示。
二进制文件未显示。
二进制文件未显示。
二进制文件未显示。
二进制文件未显示。
文件差异因一行或多行过长而隐藏
|
@ -386,6 +386,11 @@
|
|||
<WinNumber>1</WinNumber>
|
||||
<ItemText>x</ItemText>
|
||||
</Ww>
|
||||
<Ww>
|
||||
<count>5</count>
|
||||
<WinNumber>1</WinNumber>
|
||||
<ItemText>ID_acc2</ItemText>
|
||||
</Ww>
|
||||
</WatchWindow1>
|
||||
<Tracepoint>
|
||||
<THDelay>0</THDelay>
|
||||
|
@ -561,6 +566,18 @@
|
|||
<RteFlg>0</RteFlg>
|
||||
<bShared>0</bShared>
|
||||
</File>
|
||||
<File>
|
||||
<GroupNumber>2</GroupNumber>
|
||||
<FileNumber>10</FileNumber>
|
||||
<FileType>4</FileType>
|
||||
<tvExp>0</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
<bDave2>0</bDave2>
|
||||
<PathWithFileName>.\FileInclude\Lib_Com_Periph_2022.lib</PathWithFileName>
|
||||
<FilenameWithoutPath>Lib_Com_Periph_2022.lib</FilenameWithoutPath>
|
||||
<RteFlg>0</RteFlg>
|
||||
<bShared>0</bShared>
|
||||
</File>
|
||||
</Group>
|
||||
|
||||
<Group>
|
||||
|
|
|
@ -433,6 +433,11 @@
|
|||
<FileType>1</FileType>
|
||||
<FilePath>.\FileInclude\Telecommande.c</FilePath>
|
||||
</File>
|
||||
<File>
|
||||
<FileName>Lib_Com_Periph_2022.lib</FileName>
|
||||
<FileType>4</FileType>
|
||||
<FilePath>.\FileInclude\Lib_Com_Periph_2022.lib</FilePath>
|
||||
</File>
|
||||
</Files>
|
||||
</Group>
|
||||
<Group>
|
||||
|
@ -870,6 +875,11 @@
|
|||
<FileType>1</FileType>
|
||||
<FilePath>.\FileInclude\Telecommande.c</FilePath>
|
||||
</File>
|
||||
<File>
|
||||
<FileName>Lib_Com_Periph_2022.lib</FileName>
|
||||
<FileType>4</FileType>
|
||||
<FilePath>.\FileInclude\Lib_Com_Periph_2022.lib</FilePath>
|
||||
</File>
|
||||
</Files>
|
||||
</Group>
|
||||
<Group>
|
||||
|
|
|
@ -7,14 +7,14 @@
|
|||
#include <Batterie.h>
|
||||
#include <MyGirouette.h>
|
||||
#include <MyVoile.h>
|
||||
|
||||
#include <MySPI.h>
|
||||
|
||||
/* Declarations */
|
||||
int droite;
|
||||
int b;
|
||||
int testBatterie ;
|
||||
int bat;
|
||||
|
||||
int ID_acc,ID_acc2;
|
||||
int counter = 0;
|
||||
char* visuBatterie = "[-----]";
|
||||
|
||||
|
@ -89,6 +89,8 @@ void f (char a) {
|
|||
int main (void)
|
||||
{
|
||||
|
||||
|
||||
|
||||
/* Configuration du Timer */
|
||||
Data->Timer = TIM1;
|
||||
Data->ARR = 65535;
|
||||
|
@ -104,9 +106,23 @@ int main (void)
|
|||
Init_Girouette();
|
||||
MyVoile_Init();
|
||||
|
||||
MySPI_Init(SPI1);
|
||||
MySPI_Clear_NSS();
|
||||
MySPI_Send(0x2D);
|
||||
MySPI_Send(1<<3);
|
||||
MySPI_Set_NSS();
|
||||
|
||||
/* Batterie */
|
||||
Init_Batterie();
|
||||
while (1) {
|
||||
MySPI_Clear_NSS();
|
||||
MySPI_Send(0x37);
|
||||
MySPI_Set_NSS();
|
||||
|
||||
MySPI_Clear_NSS();
|
||||
ID_acc = MySPI_Read();
|
||||
ID_acc2 = MySPI_Read();
|
||||
MySPI_Set_NSS();
|
||||
Set_Voile(Get_Angle());
|
||||
}
|
||||
}
|
||||
|
|
正在加载…
在新工单中引用