Compare commits

..

5 commits

25 changed files with 629 additions and 281 deletions

View file

@ -1,7 +1,9 @@
{ {
"files.associations": { "files.associations": {
"stm32f10x.h": "c", "stm32f10x.h": "c",
"driver_gpio.h": "c" "driver_gpio.h": "c",
"atomic": "c",
"cstdint": "c"
}, },
"C_Cpp.errorSquiggles": "disabled" "C_Cpp.errorSquiggles": "disabled"
} }

3
drivers/Driver_ADC.c Normal file
View file

@ -0,0 +1,3 @@
#include "Driver_Timer.h"
// Todo

15
drivers/Driver_ADC.h Normal file
View file

@ -0,0 +1,15 @@
#ifndef MYADC_H
#define MYADC_H
#include "stm32f10x.h"
typedef struct {
ADC_TypeDef * ADC; // Pointeur vers la structure de regitre GPIO défini dans stm32f10x_gpio.h
char GPIO_Pin; //numero de 0 a 15
char GPIO_Conf; // voir ci dessous
} MyADC_Struct_TypeDef;
void MyADC_Init(MyADC_Struct_TypeDef *ADC);
uint16_t MyADC_Read(MyADC_Struct_TypeDef *ADC);
#endif

View file

@ -1,7 +1,9 @@
#include "Driver_GPIO.h" #include "Driver_GPIO.h"
#include "stm32f10x.h" #include "stm32f10x.h"
void MyGPIO_Init(MyGPIO_Struct_TypeDef * GPIOStructPtr) { void MyGPIO_Init(MyGPIO_Struct_TypeDef * GPIOStructPtr) {
// Activation de l'horloge correspondante au port GPIO // Activation de l'horloge correspondante au port GPIO
if (GPIOStructPtr->GPIO == GPIOA) { if (GPIOStructPtr->GPIO == GPIOA) {
RCC->APB2ENR |= RCC_APB2ENR_IOPAEN; RCC->APB2ENR |= RCC_APB2ENR_IOPAEN;
@ -13,21 +15,24 @@ void MyGPIO_Init(MyGPIO_Struct_TypeDef * GPIOStructPtr) {
RCC->APB2ENR |= RCC_APB2ENR_IOPDEN; RCC->APB2ENR |= RCC_APB2ENR_IOPDEN;
} }
// Configuration de la broche GPIO
if (GPIOStructPtr->GPIO_Pin < 8) { // CRL Configure les GPIO de 0 à 7
GPIOStructPtr->GPIO->CRL &= ~(0xF << (4 * GPIOStructPtr->GPIO_Pin)); // Efface les 4 bits correspondant à la broche GPIO, on calcule la position à partir du début en multipliant par 4 (eg. 4 * GPIO5 = 20), on fais un masque avec 0b1111 (0xF) ensuite pour mettre à 0 les bits présents
GPIOStructPtr->GPIO->CRL |= (GPIOStructPtr->GPIO_Conf << (4 * GPIOStructPtr->GPIO_Pin)); // Ajoute la configuration pour la broche GPIO
} else { // CRH Configure les GPIO de 8 à 15
GPIOStructPtr->GPIO->CRL &= ~(0xF << (4 * (GPIOStructPtr->GPIO_Pin - 8)));
GPIOStructPtr->GPIO->CRL |= (GPIOStructPtr->GPIO_Conf << (4 * (GPIOStructPtr->GPIO_Pin - 8))); // On soutrait de 8 car la première broche de CRH est la 8 (8 - 8 == 0)
}
// Configuration d'une résistance de pull-up ou pull-down si nécessaire // Configuration d'une résistance de pull-up ou pull-down si nécessaire
if (GPIOStructPtr->GPIO_Conf == In_PullUp) { if (GPIOStructPtr->GPIO_Conf == In_PullUp) {
GPIOStructPtr->GPIO->ODR |= (1 << GPIOStructPtr->GPIO_Pin); GPIOStructPtr->GPIO->ODR |= (1 << GPIOStructPtr->GPIO_Pin);
} else if (GPIOStructPtr->GPIO_Conf == In_PullDown) { } else if (GPIOStructPtr->GPIO_Conf == In_PullDown) {
GPIOStructPtr->GPIO->ODR &= ~(1 << GPIOStructPtr->GPIO_Pin); GPIOStructPtr->GPIO->ODR &= ~(1 << GPIOStructPtr->GPIO_Pin);
GPIOStructPtr->GPIO_Conf >>= 4; // Delete the F added to differenciate PullUp and PullDown (0x8F >>4 -> 0x8) to allow correct configuration
} }
// Configuration de la broche GPIO
if (GPIOStructPtr->GPIO_Pin < 8) { // CRL Configure les GPIO de 0 à 7
GPIOStructPtr->GPIO->CRL &= ~(0xF << (4 * GPIOStructPtr->GPIO_Pin)); // Efface les 4 bits correspondant à la broche GPIO, on calcule la position à partir du début en multipliant par 4 (eg. 4 * GPIO5 = 20), on fais un masque avec 0b1111 (0xF) ensuite pour mettre à 0 les bits présents
GPIOStructPtr->GPIO->CRL |= (GPIOStructPtr->GPIO_Conf << (4 * GPIOStructPtr->GPIO_Pin)); // Ajoute la configuration pour la broche GPIO
} else { // CRH Configure les GPIO de 8 à 15
GPIOStructPtr->GPIO->CRH &= ~(0xF << (4 * (GPIOStructPtr->GPIO_Pin - 8)));
GPIOStructPtr->GPIO->CRH |= (GPIOStructPtr->GPIO_Conf << (4 * (GPIOStructPtr->GPIO_Pin - 8))); // On soutrait de 8 car la première broche de CRH est la 8 (8 - 8 == 0)
}
} }
int MyGPIO_Read(GPIO_TypeDef * GPIO, char GPIO_Pin) { int MyGPIO_Read(GPIO_TypeDef * GPIO, char GPIO_Pin) {

View file

@ -10,8 +10,8 @@ typedef struct {
#define In_Floating 0x4 // 0x0100 #define In_Floating 0x4 // 0x0100
#define In_PullDown 0x8 // 0x1000
#define In_PullUp 0x8 // 0x1000 (même valeur que In_PullDown) #define In_PullUp 0x8 // 0x1000 (même valeur que In_PullDown)
#define In_PullDown 0x8F // 0x1000 //F added to differenciate PullUp and PullDown
#define In_Analog 0x0 // 0x0000 #define In_Analog 0x0 // 0x0000
#define Out_Ppull 0x1 // 0x0001 #define Out_Ppull 0x1 // 0x0001
#define Out_OD 0x5 // 0x0101 #define Out_OD 0x5 // 0x0101

View file

@ -0,0 +1,52 @@
#include "Driver_Timer.h"
void MyTimer_Init(MyTimer_Struct_TypeDef *Timer)
{
// Activation de l'horloge correspondante au Timer
if (Timer->Timer == TIM1) {
RCC->APB2ENR |= RCC_APB2ENR_TIM1EN; // Voir p140 du manual
} else if (Timer->Timer == TIM2) {
RCC->APB1ENR |= RCC_APB1ENR_TIM2EN;
} else if (Timer->Timer == TIM3) {
RCC->APB1ENR |= RCC_APB1ENR_TIM3EN;
} else if (Timer->Timer == TIM4) {
RCC->APB1ENR |= RCC_APB1ENR_TIM4EN;
}
// Configuration du Timer
// Le compteur du registre PSC commence à zéro, donc on soustrait 1 pour éviter les débordements.
Timer->Timer->PSC = Timer->PSC - 1; // Valeur du prescaler
Timer->Timer->ARR = Timer->ARR - 1; // Valeur de l'autoreload -> Quand cette valeur est atteinte le timer est réinitialisé
//Timer->Timer->CR1 |= TIM_CR1_ARPE; // Active "Autoreload preload" pour prendre en compte immédiatement les modifications de la valeur de l'autoreload (ARR) lors du prochain cycle de Timer -> Utile pour PWM Variable
}
void MyTimer_Start(MyTimer_Struct_TypeDef *Timer)
{
Timer->Timer->CR1 |= TIM_CR1_CEN; // Démarre le Timer
}
void MyTimer_Stop(MyTimer_Struct_TypeDef *Timer)
{
Timer->Timer->CR1 &= ~TIM_CR1_CEN; // Arrête le Timer
}
void MyTimer_EnableInterrupt(MyTimer_Struct_TypeDef *Timer) {
Timer->Timer->DIER |= TIM_DIER_UIE; // Active l'interruption "Update" du Timer
NVIC->ISER[Timer->IRQn / 32] = (1 << Timer->IRQn); // Pour que ce soit générique : On divise IRQn par 32 pour avoir le ISER[] correspondant. On fait également le modulo 32 de IRQn pour avoir un nombre entre 0 et 31 correspondant au setting
}
void MyTimer_SetPriority(MyTimer_Struct_TypeDef *Timer, uint8_t priority) {
NVIC->IP[Timer->IRQn] = (priority << 4); // Décalé vers la gauche de 4 selon la datasheet voir p125
}
void MyTimer_ConfigurePWM(MyTimer_Struct_TypeDef *Timer, uint16_t duty_cycle) { // ducy_cycle en %
// Configuration du PWM
Timer->Timer->CCMR1 |= TIM_CCMR1_OC1M_1 | TIM_CCMR1_OC1M_2; // Mode PWM1 sur le canal 1 (CC1)
Timer->Timer->CCER |= TIM_CCER_CC1E; // Activation du canal 1 (CC1)
// Configuration du registre CCR1 avec la valeur du rapport cyclique
Timer->Timer->CCR1 = (duty_cycle * Timer->ARR) / 100;
// MOE
}

View file

@ -6,14 +6,21 @@
typedef struct typedef struct
{ {
TIM_TypeDef * Timer; TIM_TypeDef * Timer;
unsigned short ARR; unsigned short ARR; // Valeur du registre ARR (auto-reload register) qui détermine la période du timer
unsigned short PSC; unsigned short PSC; // Valeur du registre PSC (prescaler) qui détermine le rapport de division de la fréquence d'horloge
IRQn_Type IRQn; // Numéro d'interruption correspondant au Timer
} MyTimer_Struct_TypeDef; } MyTimer_Struct_TypeDef;
void MyTimer_Base_Init(MyTimer_Struct_TypeDef * Timer);
#define MyTimer_Base_Start(Timer) void MyTimer_Base_Init(MyTimer_Struct_TypeDef * Timer);
#define MyTimer_Base_Stop(Timer) void MyTimer_Base_Start(MyTimer_Struct_TypeDef * Timer);
void MyTimer_Base_Stop(MyTimer_Struct_TypeDef * Timer);
void MyTimer_EnableInterrupt(MyTimer_Struct_TypeDef *Timer);
void MyTimer_SetPriority(MyTimer_Struct_TypeDef *Timer, uint8_t priority);
void MyTimer_ConfigurePWM(MyTimer_Struct_TypeDef *Timer, uint16_t duty_cycle);
//#define MyTimer_Base_Start(Timer)
//#define MyTimer_Base_Stop(Timer)
#endif #endif

View file

@ -4,18 +4,27 @@ Component: Arm Compiler for Embedded 6.19 Tool: armlink [5e73cb00]
Section Cross References Section Cross References
main.o(.ARM.exidx.text.delay) refers to main.o(.text.delay) for [Anonymous Symbol] main.o(.text.TIM2_IRQHandler) refers to driver_gpio.o(.text.MyGPIO_Toggle) for MyGPIO_Toggle
main.o(.ARM.exidx.text.TIM2_IRQHandler) refers to main.o(.text.TIM2_IRQHandler) for [Anonymous Symbol]
main.o(.text.main) refers to driver_gpio.o(.text.MyGPIO_Init) for MyGPIO_Init main.o(.text.main) refers to driver_gpio.o(.text.MyGPIO_Init) for MyGPIO_Init
main.o(.text.main) refers to driver_gpio.o(.text.MyGPIO_Read) for MyGPIO_Read main.o(.text.main) refers to driver_timer.o(.text.MyTimer_Init) for MyTimer_Init
main.o(.text.main) refers to driver_gpio.o(.text.MyGPIO_Toggle) for MyGPIO_Toggle main.o(.text.main) refers to driver_timer.o(.text.MyTimer_EnableInterrupt) for MyTimer_EnableInterrupt
main.o(.text.main) refers to driver_timer.o(.text.MyTimer_SetPriority) for MyTimer_SetPriority
main.o(.text.main) refers to driver_timer.o(.text.MyTimer_Start) for MyTimer_Start
main.o(.ARM.exidx.text.main) refers to main.o(.text.main) for [Anonymous Symbol] main.o(.ARM.exidx.text.main) refers to main.o(.text.main) for [Anonymous Symbol]
driver_gpio.o(.ARM.exidx.text.MyGPIO_Init) refers to driver_gpio.o(.text.MyGPIO_Init) for [Anonymous Symbol] driver_gpio.o(.ARM.exidx.text.MyGPIO_Init) refers to driver_gpio.o(.text.MyGPIO_Init) for [Anonymous Symbol]
driver_gpio.o(.ARM.exidx.text.MyGPIO_Read) refers to driver_gpio.o(.text.MyGPIO_Read) for [Anonymous Symbol] driver_gpio.o(.ARM.exidx.text.MyGPIO_Read) refers to driver_gpio.o(.text.MyGPIO_Read) for [Anonymous Symbol]
driver_gpio.o(.ARM.exidx.text.MyGPIO_Set) refers to driver_gpio.o(.text.MyGPIO_Set) for [Anonymous Symbol] driver_gpio.o(.ARM.exidx.text.MyGPIO_Set) refers to driver_gpio.o(.text.MyGPIO_Set) for [Anonymous Symbol]
driver_gpio.o(.ARM.exidx.text.MyGPIO_Reset) refers to driver_gpio.o(.text.MyGPIO_Reset) for [Anonymous Symbol] driver_gpio.o(.ARM.exidx.text.MyGPIO_Reset) refers to driver_gpio.o(.text.MyGPIO_Reset) for [Anonymous Symbol]
driver_gpio.o(.ARM.exidx.text.MyGPIO_Toggle) refers to driver_gpio.o(.text.MyGPIO_Toggle) for [Anonymous Symbol] driver_gpio.o(.ARM.exidx.text.MyGPIO_Toggle) refers to driver_gpio.o(.text.MyGPIO_Toggle) for [Anonymous Symbol]
driver_timer.o(.ARM.exidx.text.MyTimer_Init) refers to driver_timer.o(.text.MyTimer_Init) for [Anonymous Symbol]
driver_timer.o(.ARM.exidx.text.MyTimer_Start) refers to driver_timer.o(.text.MyTimer_Start) for [Anonymous Symbol]
driver_timer.o(.ARM.exidx.text.MyTimer_Stop) refers to driver_timer.o(.text.MyTimer_Stop) for [Anonymous Symbol]
driver_timer.o(.ARM.exidx.text.MyTimer_EnableInterrupt) refers to driver_timer.o(.text.MyTimer_EnableInterrupt) for [Anonymous Symbol]
driver_timer.o(.ARM.exidx.text.MyTimer_SetPriority) refers to driver_timer.o(.text.MyTimer_SetPriority) for [Anonymous Symbol]
startup_stm32f10x_md.o(RESET) refers to startup_stm32f10x_md.o(STACK) for __initial_sp startup_stm32f10x_md.o(RESET) refers to startup_stm32f10x_md.o(STACK) for __initial_sp
startup_stm32f10x_md.o(RESET) refers to startup_stm32f10x_md.o(.text) for Reset_Handler startup_stm32f10x_md.o(RESET) refers to startup_stm32f10x_md.o(.text) for Reset_Handler
startup_stm32f10x_md.o(RESET) refers to main.o(.text.TIM2_IRQHandler) for TIM2_IRQHandler
startup_stm32f10x_md.o(.text) refers to system_stm32f10x.o(.text.SystemInit) for SystemInit startup_stm32f10x_md.o(.text) refers to system_stm32f10x.o(.text.SystemInit) for SystemInit
startup_stm32f10x_md.o(.text) refers to entry.o(.ARM.Collect$$$$00000000) for __main startup_stm32f10x_md.o(.text) refers to entry.o(.ARM.Collect$$$$00000000) for __main
system_stm32f10x.o(.ARM.exidx.text.SystemInit) refers to system_stm32f10x.o(.text.SystemInit) for [Anonymous Symbol] system_stm32f10x.o(.ARM.exidx.text.SystemInit) refers to system_stm32f10x.o(.text.SystemInit) for [Anonymous Symbol]
@ -44,18 +53,26 @@ Section Cross References
Removing Unused input sections from the image. Removing Unused input sections from the image.
Removing main.o(.text), (0 bytes). Removing main.o(.text), (0 bytes).
Removing main.o(.text.delay), (2 bytes). Removing main.o(.ARM.exidx.text.TIM2_IRQHandler), (8 bytes).
Removing main.o(.ARM.exidx.text.delay), (8 bytes).
Removing main.o(.ARM.exidx.text.main), (8 bytes). Removing main.o(.ARM.exidx.text.main), (8 bytes).
Removing main.o(.ARM.use_no_argv), (4 bytes). Removing main.o(.ARM.use_no_argv), (4 bytes).
Removing driver_gpio.o(.text), (0 bytes). Removing driver_gpio.o(.text), (0 bytes).
Removing driver_gpio.o(.ARM.exidx.text.MyGPIO_Init), (8 bytes). Removing driver_gpio.o(.ARM.exidx.text.MyGPIO_Init), (8 bytes).
Removing driver_gpio.o(.text.MyGPIO_Read), (10 bytes).
Removing driver_gpio.o(.ARM.exidx.text.MyGPIO_Read), (8 bytes). Removing driver_gpio.o(.ARM.exidx.text.MyGPIO_Read), (8 bytes).
Removing driver_gpio.o(.text.MyGPIO_Set), (14 bytes). Removing driver_gpio.o(.text.MyGPIO_Set), (14 bytes).
Removing driver_gpio.o(.ARM.exidx.text.MyGPIO_Set), (8 bytes). Removing driver_gpio.o(.ARM.exidx.text.MyGPIO_Set), (8 bytes).
Removing driver_gpio.o(.text.MyGPIO_Reset), (10 bytes). Removing driver_gpio.o(.text.MyGPIO_Reset), (10 bytes).
Removing driver_gpio.o(.ARM.exidx.text.MyGPIO_Reset), (8 bytes). Removing driver_gpio.o(.ARM.exidx.text.MyGPIO_Reset), (8 bytes).
Removing driver_gpio.o(.ARM.exidx.text.MyGPIO_Toggle), (8 bytes). Removing driver_gpio.o(.ARM.exidx.text.MyGPIO_Toggle), (8 bytes).
Removing driver_timer.o(.text), (0 bytes).
Removing driver_timer.o(.ARM.exidx.text.MyTimer_Init), (8 bytes).
Removing driver_timer.o(.ARM.exidx.text.MyTimer_Start), (8 bytes).
Removing driver_timer.o(.text.MyTimer_Stop), (12 bytes).
Removing driver_timer.o(.ARM.exidx.text.MyTimer_Stop), (8 bytes).
Removing driver_timer.o(.ARM.exidx.text.MyTimer_EnableInterrupt), (8 bytes).
Removing driver_timer.o(.ARM.exidx.text.MyTimer_SetPriority), (8 bytes).
Removing driver_adc.o(.text), (0 bytes).
Removing startup_stm32f10x_md.o(HEAP), (512 bytes). Removing startup_stm32f10x_md.o(HEAP), (512 bytes).
Removing system_stm32f10x.o(.text), (0 bytes). Removing system_stm32f10x.o(.text), (0 bytes).
Removing system_stm32f10x.o(.ARM.exidx.text.SystemInit), (8 bytes). Removing system_stm32f10x.o(.ARM.exidx.text.SystemInit), (8 bytes).
@ -64,7 +81,7 @@ Removing Unused input sections from the image.
Removing system_stm32f10x.o(.data.SystemCoreClock), (4 bytes). Removing system_stm32f10x.o(.data.SystemCoreClock), (4 bytes).
Removing system_stm32f10x.o(.rodata.AHBPrescTable), (16 bytes). Removing system_stm32f10x.o(.rodata.AHBPrescTable), (16 bytes).
20 unused section(s) (total 744 bytes) removed from the image. 28 unused section(s) (total 804 bytes) removed from the image.
============================================================================== ==============================================================================
@ -87,7 +104,9 @@ Image Symbol Table
../clib/microlib/init/entry.s 0x00000000 Number 0 entry10b.o ABSOLUTE ../clib/microlib/init/entry.s 0x00000000 Number 0 entry10b.o ABSOLUTE
../clib/microlib/init/entry.s 0x00000000 Number 0 entry11a.o ABSOLUTE ../clib/microlib/init/entry.s 0x00000000 Number 0 entry11a.o ABSOLUTE
../clib/microlib/init/entry.s 0x00000000 Number 0 entry11b.o ABSOLUTE ../clib/microlib/init/entry.s 0x00000000 Number 0 entry11b.o ABSOLUTE
Driver_ADC.c 0x00000000 Number 0 driver_adc.o ABSOLUTE
Driver_GPIO.c 0x00000000 Number 0 driver_gpio.o ABSOLUTE Driver_GPIO.c 0x00000000 Number 0 driver_gpio.o ABSOLUTE
Driver_Timer.c 0x00000000 Number 0 driver_timer.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
dc.s 0x00000000 Number 0 dc.o ABSOLUTE dc.s 0x00000000 Number 0 dc.o ABSOLUTE
handlers.s 0x00000000 Number 0 handlers.o ABSOLUTE handlers.s 0x00000000 Number 0 handlers.o ABSOLUTE
@ -108,13 +127,17 @@ Image Symbol Table
.text 0x08000100 Section 36 startup_stm32f10x_md.o(.text) .text 0x08000100 Section 36 startup_stm32f10x_md.o(.text)
.text 0x08000124 Section 36 init.o(.text) .text 0x08000124 Section 36 init.o(.text)
[Anonymous Symbol] 0x08000148 Section 0 driver_gpio.o(.text.MyGPIO_Init) [Anonymous Symbol] 0x08000148 Section 0 driver_gpio.o(.text.MyGPIO_Init)
[Anonymous Symbol] 0x080001c8 Section 0 driver_gpio.o(.text.MyGPIO_Read) [Anonymous Symbol] 0x080001e8 Section 0 driver_gpio.o(.text.MyGPIO_Toggle)
[Anonymous Symbol] 0x080001d4 Section 0 driver_gpio.o(.text.MyGPIO_Toggle) [Anonymous Symbol] 0x080001f8 Section 0 driver_timer.o(.text.MyTimer_EnableInterrupt)
[Anonymous Symbol] 0x080001e4 Section 0 system_stm32f10x.o(.text.SystemInit) [Anonymous Symbol] 0x08000220 Section 0 driver_timer.o(.text.MyTimer_Init)
[Anonymous Symbol] 0x080002f4 Section 0 main.o(.text.main) [Anonymous Symbol] 0x080002b0 Section 0 driver_timer.o(.text.MyTimer_SetPriority)
i.__scatterload_copy 0x0800033a Section 14 handlers.o(i.__scatterload_copy) [Anonymous Symbol] 0x080002c4 Section 0 driver_timer.o(.text.MyTimer_Start)
i.__scatterload_null 0x08000348 Section 2 handlers.o(i.__scatterload_null) [Anonymous Symbol] 0x080002d0 Section 0 system_stm32f10x.o(.text.SystemInit)
i.__scatterload_zeroinit 0x0800034a Section 14 handlers.o(i.__scatterload_zeroinit) [Anonymous Symbol] 0x080003e0 Section 0 main.o(.text.TIM2_IRQHandler)
[Anonymous Symbol] 0x08000400 Section 0 main.o(.text.main)
i.__scatterload_copy 0x08000466 Section 14 handlers.o(i.__scatterload_copy)
i.__scatterload_null 0x08000474 Section 2 handlers.o(i.__scatterload_null)
i.__scatterload_zeroinit 0x08000476 Section 14 handlers.o(i.__scatterload_zeroinit)
STACK 0x20000000 Section 1024 startup_stm32f10x_md.o(STACK) STACK 0x20000000 Section 1024 startup_stm32f10x_md.o(STACK)
Global Symbols Global Symbols
@ -182,7 +205,6 @@ Image Symbol Table
TIM1_CC_IRQHandler 0x0800011b Thumb Code 0 startup_stm32f10x_md.o(.text) TIM1_CC_IRQHandler 0x0800011b Thumb Code 0 startup_stm32f10x_md.o(.text)
TIM1_TRG_COM_IRQHandler 0x0800011b Thumb Code 0 startup_stm32f10x_md.o(.text) TIM1_TRG_COM_IRQHandler 0x0800011b Thumb Code 0 startup_stm32f10x_md.o(.text)
TIM1_UP_IRQHandler 0x0800011b Thumb Code 0 startup_stm32f10x_md.o(.text) TIM1_UP_IRQHandler 0x0800011b Thumb Code 0 startup_stm32f10x_md.o(.text)
TIM2_IRQHandler 0x0800011b Thumb Code 0 startup_stm32f10x_md.o(.text)
TIM3_IRQHandler 0x0800011b Thumb Code 0 startup_stm32f10x_md.o(.text) TIM3_IRQHandler 0x0800011b Thumb Code 0 startup_stm32f10x_md.o(.text)
TIM4_IRQHandler 0x0800011b Thumb Code 0 startup_stm32f10x_md.o(.text) TIM4_IRQHandler 0x0800011b Thumb Code 0 startup_stm32f10x_md.o(.text)
USART1_IRQHandler 0x0800011b Thumb Code 0 startup_stm32f10x_md.o(.text) USART1_IRQHandler 0x0800011b Thumb Code 0 startup_stm32f10x_md.o(.text)
@ -194,16 +216,20 @@ Image Symbol Table
WWDG_IRQHandler 0x0800011b Thumb Code 0 startup_stm32f10x_md.o(.text) WWDG_IRQHandler 0x0800011b Thumb Code 0 startup_stm32f10x_md.o(.text)
__scatterload 0x08000125 Thumb Code 28 init.o(.text) __scatterload 0x08000125 Thumb Code 28 init.o(.text)
__scatterload_rt2 0x08000125 Thumb Code 0 init.o(.text) __scatterload_rt2 0x08000125 Thumb Code 0 init.o(.text)
MyGPIO_Init 0x08000149 Thumb Code 112 driver_gpio.o(.text.MyGPIO_Init) MyGPIO_Init 0x08000149 Thumb Code 144 driver_gpio.o(.text.MyGPIO_Init)
MyGPIO_Read 0x080001c9 Thumb Code 10 driver_gpio.o(.text.MyGPIO_Read) MyGPIO_Toggle 0x080001e9 Thumb Code 14 driver_gpio.o(.text.MyGPIO_Toggle)
MyGPIO_Toggle 0x080001d5 Thumb Code 14 driver_gpio.o(.text.MyGPIO_Toggle) MyTimer_EnableInterrupt 0x080001f9 Thumb Code 38 driver_timer.o(.text.MyTimer_EnableInterrupt)
SystemInit 0x080001e5 Thumb Code 272 system_stm32f10x.o(.text.SystemInit) MyTimer_Init 0x08000221 Thumb Code 144 driver_timer.o(.text.MyTimer_Init)
main 0x080002f5 Thumb Code 70 main.o(.text.main) MyTimer_SetPriority 0x080002b1 Thumb Code 18 driver_timer.o(.text.MyTimer_SetPriority)
__scatterload_copy 0x0800033b Thumb Code 14 handlers.o(i.__scatterload_copy) MyTimer_Start 0x080002c5 Thumb Code 12 driver_timer.o(.text.MyTimer_Start)
__scatterload_null 0x08000349 Thumb Code 2 handlers.o(i.__scatterload_null) SystemInit 0x080002d1 Thumb Code 272 system_stm32f10x.o(.text.SystemInit)
__scatterload_zeroinit 0x0800034b Thumb Code 14 handlers.o(i.__scatterload_zeroinit) TIM2_IRQHandler 0x080003e1 Thumb Code 32 main.o(.text.TIM2_IRQHandler)
Region$$Table$$Base 0x08000358 Number 0 anon$$obj.o(Region$$Table) main 0x08000401 Thumb Code 102 main.o(.text.main)
Region$$Table$$Limit 0x08000368 Number 0 anon$$obj.o(Region$$Table) __scatterload_copy 0x08000467 Thumb Code 14 handlers.o(i.__scatterload_copy)
__scatterload_null 0x08000475 Thumb Code 2 handlers.o(i.__scatterload_null)
__scatterload_zeroinit 0x08000477 Thumb Code 14 handlers.o(i.__scatterload_zeroinit)
Region$$Table$$Base 0x08000484 Number 0 anon$$obj.o(Region$$Table)
Region$$Table$$Limit 0x08000494 Number 0 anon$$obj.o(Region$$Table)
__initial_sp 0x20000400 Data 0 startup_stm32f10x_md.o(STACK) __initial_sp 0x20000400 Data 0 startup_stm32f10x_md.o(STACK)
@ -214,47 +240,52 @@ Memory Map of the image
Image Entry point : 0x08000101 Image Entry point : 0x08000101
Load Region LR_1 (Base: 0x08000000, Size: 0x00000368, Max: 0xffffffff, ABSOLUTE) Load Region LR_1 (Base: 0x08000000, Size: 0x00000494, Max: 0xffffffff, ABSOLUTE)
Execution Region ER_RO (Exec base: 0x08000000, Load base: 0x08000000, Size: 0x00000368, Max: 0xffffffff, ABSOLUTE) Execution Region ER_RO (Exec base: 0x08000000, Load base: 0x08000000, Size: 0x00000494, Max: 0xffffffff, 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 33 RESET startup_stm32f10x_md.o 0x08000000 0x08000000 0x000000ec Data RO 52 RESET startup_stm32f10x_md.o
0x080000ec 0x080000ec 0x00000000 Code RO 54 * .ARM.Collect$$$$00000000 mc_w.l(entry.o) 0x080000ec 0x080000ec 0x00000000 Code RO 73 * .ARM.Collect$$$$00000000 mc_w.l(entry.o)
0x080000ec 0x080000ec 0x00000004 Code RO 57 .ARM.Collect$$$$00000001 mc_w.l(entry2.o) 0x080000ec 0x080000ec 0x00000004 Code RO 76 .ARM.Collect$$$$00000001 mc_w.l(entry2.o)
0x080000f0 0x080000f0 0x00000004 Code RO 60 .ARM.Collect$$$$00000004 mc_w.l(entry5.o) 0x080000f0 0x080000f0 0x00000004 Code RO 79 .ARM.Collect$$$$00000004 mc_w.l(entry5.o)
0x080000f4 0x080000f4 0x00000000 Code RO 62 .ARM.Collect$$$$00000008 mc_w.l(entry7b.o) 0x080000f4 0x080000f4 0x00000000 Code RO 81 .ARM.Collect$$$$00000008 mc_w.l(entry7b.o)
0x080000f4 0x080000f4 0x00000000 Code RO 64 .ARM.Collect$$$$0000000A mc_w.l(entry8b.o) 0x080000f4 0x080000f4 0x00000000 Code RO 83 .ARM.Collect$$$$0000000A mc_w.l(entry8b.o)
0x080000f4 0x080000f4 0x00000008 Code RO 65 .ARM.Collect$$$$0000000B mc_w.l(entry9a.o) 0x080000f4 0x080000f4 0x00000008 Code RO 84 .ARM.Collect$$$$0000000B mc_w.l(entry9a.o)
0x080000fc 0x080000fc 0x00000000 Code RO 67 .ARM.Collect$$$$0000000D mc_w.l(entry10a.o) 0x080000fc 0x080000fc 0x00000000 Code RO 86 .ARM.Collect$$$$0000000D mc_w.l(entry10a.o)
0x080000fc 0x080000fc 0x00000000 Code RO 69 .ARM.Collect$$$$0000000F mc_w.l(entry11a.o) 0x080000fc 0x080000fc 0x00000000 Code RO 88 .ARM.Collect$$$$0000000F mc_w.l(entry11a.o)
0x080000fc 0x080000fc 0x00000004 Code RO 58 .ARM.Collect$$$$00002712 mc_w.l(entry2.o) 0x080000fc 0x080000fc 0x00000004 Code RO 77 .ARM.Collect$$$$00002712 mc_w.l(entry2.o)
0x08000100 0x08000100 0x00000024 Code RO 34 * .text startup_stm32f10x_md.o 0x08000100 0x08000100 0x00000024 Code RO 53 * .text startup_stm32f10x_md.o
0x08000124 0x08000124 0x00000024 Code RO 71 .text mc_w.l(init.o) 0x08000124 0x08000124 0x00000024 Code RO 90 .text mc_w.l(init.o)
0x08000148 0x08000148 0x00000080 Code RO 14 .text.MyGPIO_Init driver_gpio.o 0x08000148 0x08000148 0x000000a0 Code RO 14 .text.MyGPIO_Init driver_gpio.o
0x080001c8 0x080001c8 0x0000000a Code RO 16 .text.MyGPIO_Read driver_gpio.o 0x080001e8 0x080001e8 0x0000000e Code RO 22 .text.MyGPIO_Toggle driver_gpio.o
0x080001d2 0x080001d2 0x00000002 PAD 0x080001f6 0x080001f6 0x00000002 PAD
0x080001d4 0x080001d4 0x0000000e Code RO 22 .text.MyGPIO_Toggle driver_gpio.o 0x080001f8 0x080001f8 0x00000026 Code RO 38 .text.MyTimer_EnableInterrupt driver_timer.o
0x080001e2 0x080001e2 0x00000002 PAD 0x0800021e 0x0800021e 0x00000002 PAD
0x080001e4 0x080001e4 0x00000110 Code RO 41 .text.SystemInit system_stm32f10x.o 0x08000220 0x08000220 0x00000090 Code RO 32 .text.MyTimer_Init driver_timer.o
0x080002f4 0x080002f4 0x00000046 Code RO 4 .text.main main.o 0x080002b0 0x080002b0 0x00000012 Code RO 40 .text.MyTimer_SetPriority driver_timer.o
0x0800033a 0x0800033a 0x0000000e Code RO 75 i.__scatterload_copy mc_w.l(handlers.o) 0x080002c2 0x080002c2 0x00000002 PAD
0x08000348 0x08000348 0x00000002 Code RO 76 i.__scatterload_null mc_w.l(handlers.o) 0x080002c4 0x080002c4 0x0000000c Code RO 34 .text.MyTimer_Start driver_timer.o
0x0800034a 0x0800034a 0x0000000e Code RO 77 i.__scatterload_zeroinit mc_w.l(handlers.o) 0x080002d0 0x080002d0 0x00000110 Code RO 60 .text.SystemInit system_stm32f10x.o
0x08000358 0x08000358 0x00000010 Data RO 74 Region$$Table anon$$obj.o 0x080003e0 0x080003e0 0x00000020 Code RO 2 .text.TIM2_IRQHandler main.o
0x08000400 0x08000400 0x00000066 Code RO 4 .text.main main.o
0x08000466 0x08000466 0x0000000e Code RO 94 i.__scatterload_copy mc_w.l(handlers.o)
0x08000474 0x08000474 0x00000002 Code RO 95 i.__scatterload_null mc_w.l(handlers.o)
0x08000476 0x08000476 0x0000000e Code RO 96 i.__scatterload_zeroinit mc_w.l(handlers.o)
0x08000484 0x08000484 0x00000010 Data RO 93 Region$$Table anon$$obj.o
Execution Region ER_RW (Exec base: 0x20000000, Load base: 0x08000368, Size: 0x00000000, Max: 0xffffffff, ABSOLUTE) Execution Region ER_RW (Exec base: 0x20000000, Load base: 0x08000494, Size: 0x00000000, Max: 0xffffffff, ABSOLUTE)
**** No section assigned to this execution region **** **** No section assigned to this execution region ****
Execution Region ER_ZI (Exec base: 0x20000000, Load base: 0x08000368, Size: 0x00000400, Max: 0xffffffff, ABSOLUTE) Execution Region ER_ZI (Exec base: 0x20000000, Load base: 0x08000494, Size: 0x00000400, Max: 0xffffffff, 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 - 0x00000400 Zero RW 31 STACK startup_stm32f10x_md.o 0x20000000 - 0x00000400 Zero RW 50 STACK startup_stm32f10x_md.o
============================================================================== ==============================================================================
@ -264,15 +295,16 @@ Image component sizes
Code (inc. data) RO Data RW Data ZI Data Debug Object Name Code (inc. data) RO Data RW Data ZI Data Debug Object Name
152 16 0 0 0 2207 driver_gpio.o 174 16 0 0 0 2117 driver_gpio.o
70 0 0 0 0 1168 main.o 212 0 0 0 0 4392 driver_timer.o
134 0 0 0 0 3305 main.o
36 8 236 0 1024 840 startup_stm32f10x_md.o 36 8 236 0 1024 840 startup_stm32f10x_md.o
272 0 0 0 0 2793 system_stm32f10x.o 272 0 0 0 0 2793 system_stm32f10x.o
---------------------------------------------------------------------- ----------------------------------------------------------------------
534 24 252 0 1024 7008 Object Totals 834 24 252 0 1024 13447 Object Totals
0 0 16 0 0 0 (incl. Generated) 0 0 16 0 0 0 (incl. Generated)
4 0 0 0 0 0 (incl. Padding) 6 0 0 0 0 0 (incl. Padding)
---------------------------------------------------------------------- ----------------------------------------------------------------------
@ -309,15 +341,15 @@ Image component sizes
Code (inc. data) RO Data RW Data ZI Data Debug Code (inc. data) RO Data RW Data ZI Data Debug
620 40 252 0 1024 7188 Grand Totals 920 40 252 0 1024 13607 Grand Totals
620 40 252 0 1024 7188 ELF Image Totals 920 40 252 0 1024 13607 ELF Image Totals
620 40 252 0 0 0 ROM Totals 920 40 252 0 0 0 ROM Totals
============================================================================== ==============================================================================
Total RO Size (Code + RO Data) 872 ( 0.85kB) Total RO Size (Code + RO Data) 1172 ( 1.14kB)
Total RW Size (RW Data + ZI Data) 1024 ( 1.00kB) Total RW Size (RW Data + ZI Data) 1024 ( 1.00kB)
Total ROM Size (Code + RO Data + RW Data) 872 ( 0.85kB) Total ROM Size (Code + RO Data + RW Data) 1172 ( 1.14kB)
============================================================================== ==============================================================================

View file

@ -0,0 +1,9 @@
./objects/driver_adc.o: ..\drivers\Driver_ADC.c ..\drivers\Driver_Timer.h \
C:\Users\robin\AppData\Local\Arm\Packs\Keil\STM32F1xx_DFP\2.4.0\Device\Include\stm32f10x.h \
RTE\_board\RTE_Components.h \
C:\Users\robin\AppData\Local\Arm\Packs\ARM\CMSIS\5.9.0\CMSIS\Core\Include\core_cm3.h \
C:\Keil_v5\ARM\ARMCLANG\Bin\..\include\stdint.h \
C:\Users\robin\AppData\Local\Arm\Packs\ARM\CMSIS\5.9.0\CMSIS\Core\Include\cmsis_version.h \
C:\Users\robin\AppData\Local\Arm\Packs\ARM\CMSIS\5.9.0\CMSIS\Core\Include\cmsis_compiler.h \
C:\Users\robin\AppData\Local\Arm\Packs\ARM\CMSIS\5.9.0\CMSIS\Core\Include\cmsis_armclang.h \
C:\Users\robin\AppData\Local\Arm\Packs\Keil\STM32F1xx_DFP\2.4.0\Device\Include\system_stm32f10x.h

Binary file not shown.

Binary file not shown.

View file

@ -0,0 +1,10 @@
./objects/driver_timer.o: ..\drivers\Driver_Timer.c \
..\drivers\Driver_Timer.h \
C:\Users\robin\AppData\Local\Arm\Packs\Keil\STM32F1xx_DFP\2.4.0\Device\Include\stm32f10x.h \
RTE\_board\RTE_Components.h \
C:\Users\robin\AppData\Local\Arm\Packs\ARM\CMSIS\5.9.0\CMSIS\Core\Include\core_cm3.h \
C:\Keil_v5\ARM\ARMCLANG\Bin\..\include\stdint.h \
C:\Users\robin\AppData\Local\Arm\Packs\ARM\CMSIS\5.9.0\CMSIS\Core\Include\cmsis_version.h \
C:\Users\robin\AppData\Local\Arm\Packs\ARM\CMSIS\5.9.0\CMSIS\Core\Include\cmsis_compiler.h \
C:\Users\robin\AppData\Local\Arm\Packs\ARM\CMSIS\5.9.0\CMSIS\Core\Include\cmsis_armclang.h \
C:\Users\robin\AppData\Local\Arm\Packs\Keil\STM32F1xx_DFP\2.4.0\Device\Include\system_stm32f10x.h

Binary file not shown.

View file

@ -7,4 +7,5 @@
C:\Users\robin\AppData\Local\Arm\Packs\ARM\CMSIS\5.9.0\CMSIS\Core\Include\cmsis_compiler.h \ C:\Users\robin\AppData\Local\Arm\Packs\ARM\CMSIS\5.9.0\CMSIS\Core\Include\cmsis_compiler.h \
C:\Users\robin\AppData\Local\Arm\Packs\ARM\CMSIS\5.9.0\CMSIS\Core\Include\cmsis_armclang.h \ C:\Users\robin\AppData\Local\Arm\Packs\ARM\CMSIS\5.9.0\CMSIS\Core\Include\cmsis_armclang.h \
C:\Users\robin\AppData\Local\Arm\Packs\Keil\STM32F1xx_DFP\2.4.0\Device\Include\system_stm32f10x.h \ C:\Users\robin\AppData\Local\Arm\Packs\Keil\STM32F1xx_DFP\2.4.0\Device\Include\system_stm32f10x.h \
..\drivers\Driver_GPIO.h ..\drivers\Driver_GPIO.h ..\drivers\Driver_Timer.h \
..\drivers\Driver_ADC.h

BIN
projet_1/Objects/main.o Normal file

Binary file not shown.

View file

@ -1,6 +1,6 @@
Dependencies for Project 'tp', Target 'board': (DO NOT MODIFY !) Dependencies for Project 'tp', Target 'board': (DO NOT MODIFY !)
CompilerVersion: 6190000::V6.19::ARMCLANG CompilerVersion: 6190000::V6.19::ARMCLANG
F (.\src\main.c)(0x64174EF9)(-xc -std=c90 --target=arm-arm-none-eabi -mcpu=cortex-m3 -c -fno-rtti -funsigned-char -fshort-enums -fshort-wchar -D__EVAL -D__MICROLIB -gdwarf-4 -O1 -ffunction-sections -Wno-packed -Wno-missing-variable-declarations -Wno-missing-prototypes -Wno-missing-noreturn -Wno-sign-conversion -Wno-nonportable-include-path -Wno-reserved-id-macro -Wno-unused-macros -Wno-documentation-unknown-command -Wno-documentation -Wno-license-management -Wno-parentheses-equality -Wno-reserved-identifier -I ./src -I ../drivers -I./RTE/Device/STM32F103RB -I./RTE/_board -IC:/Users/robin/AppData/Local/Arm/Packs/ARM/CMSIS/5.9.0/CMSIS/Core/Include -IC:/Users/robin/AppData/Local/Arm/Packs/Keil/STM32F1xx_DFP/2.4.0/Device/Include -D__UVISION_VERSION="538" -D_RTE_ -DSTM32F10X_MD -D_RTE_ -o ./objects/main.o -MD) F (.\src\main.c)(0x641A292B)(-xc -std=c90 --target=arm-arm-none-eabi -mcpu=cortex-m3 -c -fno-rtti -funsigned-char -fshort-enums -fshort-wchar -D__EVAL -D__MICROLIB -gdwarf-4 -O1 -ffunction-sections -Wno-packed -Wno-missing-variable-declarations -Wno-missing-prototypes -Wno-missing-noreturn -Wno-sign-conversion -Wno-nonportable-include-path -Wno-reserved-id-macro -Wno-unused-macros -Wno-documentation-unknown-command -Wno-documentation -Wno-license-management -Wno-parentheses-equality -Wno-reserved-identifier -I ./src -I ../drivers -I./RTE/Device/STM32F103RB -I./RTE/_board -IC:/Users/robin/AppData/Local/Arm/Packs/ARM/CMSIS/5.9.0/CMSIS/Core/Include -IC:/Users/robin/AppData/Local/Arm/Packs/Keil/STM32F1xx_DFP/2.4.0/Device/Include -D__UVISION_VERSION="538" -D_RTE_ -DSTM32F10X_MD -D_RTE_ -o ./objects/main.o -MD)
I (C:\Users\robin\AppData\Local\Arm\Packs\Keil\STM32F1xx_DFP\2.4.0\Device\Include\stm32f10x.h)(0x61ADDBCE) I (C:\Users\robin\AppData\Local\Arm\Packs\Keil\STM32F1xx_DFP\2.4.0\Device\Include\stm32f10x.h)(0x61ADDBCE)
I (RTE\_board\RTE_Components.h)(0x6415C72E) I (RTE\_board\RTE_Components.h)(0x6415C72E)
I (C:\Users\robin\AppData\Local\Arm\Packs\ARM\CMSIS\5.9.0\CMSIS\Core\Include\core_cm3.h)(0x626FAD4E) I (C:\Users\robin\AppData\Local\Arm\Packs\ARM\CMSIS\5.9.0\CMSIS\Core\Include\core_cm3.h)(0x626FAD4E)
@ -9,9 +9,11 @@ I (C:\Users\robin\AppData\Local\Arm\Packs\ARM\CMSIS\5.9.0\CMSIS\Core\Include\cms
I (C:\Users\robin\AppData\Local\Arm\Packs\ARM\CMSIS\5.9.0\CMSIS\Core\Include\cmsis_compiler.h)(0x626FAD4E) I (C:\Users\robin\AppData\Local\Arm\Packs\ARM\CMSIS\5.9.0\CMSIS\Core\Include\cmsis_compiler.h)(0x626FAD4E)
I (C:\Users\robin\AppData\Local\Arm\Packs\ARM\CMSIS\5.9.0\CMSIS\Core\Include\cmsis_armclang.h)(0x626FAD4E) I (C:\Users\robin\AppData\Local\Arm\Packs\ARM\CMSIS\5.9.0\CMSIS\Core\Include\cmsis_armclang.h)(0x626FAD4E)
I (C:\Users\robin\AppData\Local\Arm\Packs\Keil\STM32F1xx_DFP\2.4.0\Device\Include\system_stm32f10x.h)(0x61ADDBCE) I (C:\Users\robin\AppData\Local\Arm\Packs\Keil\STM32F1xx_DFP\2.4.0\Device\Include\system_stm32f10x.h)(0x61ADDBCE)
I (..\drivers\Driver_GPIO.h)(0x641736B7) I (..\drivers\Driver_GPIO.h)(0x6418B324)
F (..\drivers\Driver_GPIO.c)(0x64173933)(-xc -std=c90 --target=arm-arm-none-eabi -mcpu=cortex-m3 -c -fno-rtti -funsigned-char -fshort-enums -fshort-wchar -D__EVAL -D__MICROLIB -gdwarf-4 -O1 -ffunction-sections -Wno-packed -Wno-missing-variable-declarations -Wno-missing-prototypes -Wno-missing-noreturn -Wno-sign-conversion -Wno-nonportable-include-path -Wno-reserved-id-macro -Wno-unused-macros -Wno-documentation-unknown-command -Wno-documentation -Wno-license-management -Wno-parentheses-equality -Wno-reserved-identifier -I ./src -I ../drivers -I./RTE/Device/STM32F103RB -I./RTE/_board -IC:/Users/robin/AppData/Local/Arm/Packs/ARM/CMSIS/5.9.0/CMSIS/Core/Include -IC:/Users/robin/AppData/Local/Arm/Packs/Keil/STM32F1xx_DFP/2.4.0/Device/Include -D__UVISION_VERSION="538" -D_RTE_ -DSTM32F10X_MD -D_RTE_ -o ./objects/driver_gpio.o -MD) I (..\drivers\Driver_Timer.h)(0x641A1BC2)
I (..\drivers\Driver_GPIO.h)(0x641736B7) I (..\drivers\Driver_ADC.h)(0x641A2645)
F (..\drivers\Driver_GPIO.c)(0x6418B3FF)(-xc -std=c90 --target=arm-arm-none-eabi -mcpu=cortex-m3 -c -fno-rtti -funsigned-char -fshort-enums -fshort-wchar -D__EVAL -D__MICROLIB -gdwarf-4 -O1 -ffunction-sections -Wno-packed -Wno-missing-variable-declarations -Wno-missing-prototypes -Wno-missing-noreturn -Wno-sign-conversion -Wno-nonportable-include-path -Wno-reserved-id-macro -Wno-unused-macros -Wno-documentation-unknown-command -Wno-documentation -Wno-license-management -Wno-parentheses-equality -Wno-reserved-identifier -I ./src -I ../drivers -I./RTE/Device/STM32F103RB -I./RTE/_board -IC:/Users/robin/AppData/Local/Arm/Packs/ARM/CMSIS/5.9.0/CMSIS/Core/Include -IC:/Users/robin/AppData/Local/Arm/Packs/Keil/STM32F1xx_DFP/2.4.0/Device/Include -D__UVISION_VERSION="538" -D_RTE_ -DSTM32F10X_MD -D_RTE_ -o ./objects/driver_gpio.o -MD)
I (..\drivers\Driver_GPIO.h)(0x6418B324)
I (C:\Users\robin\AppData\Local\Arm\Packs\Keil\STM32F1xx_DFP\2.4.0\Device\Include\stm32f10x.h)(0x61ADDBCE) I (C:\Users\robin\AppData\Local\Arm\Packs\Keil\STM32F1xx_DFP\2.4.0\Device\Include\stm32f10x.h)(0x61ADDBCE)
I (RTE\_board\RTE_Components.h)(0x6415C72E) I (RTE\_board\RTE_Components.h)(0x6415C72E)
I (C:\Users\robin\AppData\Local\Arm\Packs\ARM\CMSIS\5.9.0\CMSIS\Core\Include\core_cm3.h)(0x626FAD4E) I (C:\Users\robin\AppData\Local\Arm\Packs\ARM\CMSIS\5.9.0\CMSIS\Core\Include\core_cm3.h)(0x626FAD4E)
@ -20,7 +22,29 @@ I (C:\Users\robin\AppData\Local\Arm\Packs\ARM\CMSIS\5.9.0\CMSIS\Core\Include\cms
I (C:\Users\robin\AppData\Local\Arm\Packs\ARM\CMSIS\5.9.0\CMSIS\Core\Include\cmsis_compiler.h)(0x626FAD4E) I (C:\Users\robin\AppData\Local\Arm\Packs\ARM\CMSIS\5.9.0\CMSIS\Core\Include\cmsis_compiler.h)(0x626FAD4E)
I (C:\Users\robin\AppData\Local\Arm\Packs\ARM\CMSIS\5.9.0\CMSIS\Core\Include\cmsis_armclang.h)(0x626FAD4E) I (C:\Users\robin\AppData\Local\Arm\Packs\ARM\CMSIS\5.9.0\CMSIS\Core\Include\cmsis_armclang.h)(0x626FAD4E)
I (C:\Users\robin\AppData\Local\Arm\Packs\Keil\STM32F1xx_DFP\2.4.0\Device\Include\system_stm32f10x.h)(0x61ADDBCE) I (C:\Users\robin\AppData\Local\Arm\Packs\Keil\STM32F1xx_DFP\2.4.0\Device\Include\system_stm32f10x.h)(0x61ADDBCE)
F (..\drivers\Driver_GPIO.h)(0x641736B7)() F (..\drivers\Driver_GPIO.h)(0x6418B324)()
F (..\drivers\Driver_Timer.c)(0x641A2797)(-xc -std=c90 --target=arm-arm-none-eabi -mcpu=cortex-m3 -c -fno-rtti -funsigned-char -fshort-enums -fshort-wchar -D__EVAL -D__MICROLIB -gdwarf-4 -O1 -ffunction-sections -Wno-packed -Wno-missing-variable-declarations -Wno-missing-prototypes -Wno-missing-noreturn -Wno-sign-conversion -Wno-nonportable-include-path -Wno-reserved-id-macro -Wno-unused-macros -Wno-documentation-unknown-command -Wno-documentation -Wno-license-management -Wno-parentheses-equality -Wno-reserved-identifier -I ./src -I ../drivers -I./RTE/Device/STM32F103RB -I./RTE/_board -IC:/Users/robin/AppData/Local/Arm/Packs/ARM/CMSIS/5.9.0/CMSIS/Core/Include -IC:/Users/robin/AppData/Local/Arm/Packs/Keil/STM32F1xx_DFP/2.4.0/Device/Include -D__UVISION_VERSION="538" -D_RTE_ -DSTM32F10X_MD -D_RTE_ -o ./objects/driver_timer.o -MD)
I (..\drivers\Driver_Timer.h)(0x641A1BC2)
I (C:\Users\robin\AppData\Local\Arm\Packs\Keil\STM32F1xx_DFP\2.4.0\Device\Include\stm32f10x.h)(0x61ADDBCE)
I (RTE\_board\RTE_Components.h)(0x6415C72E)
I (C:\Users\robin\AppData\Local\Arm\Packs\ARM\CMSIS\5.9.0\CMSIS\Core\Include\core_cm3.h)(0x626FAD4E)
I (C:\Keil_v5\ARM\ARMCLANG\include\stdint.h)(0x6388AB78)
I (C:\Users\robin\AppData\Local\Arm\Packs\ARM\CMSIS\5.9.0\CMSIS\Core\Include\cmsis_version.h)(0x626FAD4E)
I (C:\Users\robin\AppData\Local\Arm\Packs\ARM\CMSIS\5.9.0\CMSIS\Core\Include\cmsis_compiler.h)(0x626FAD4E)
I (C:\Users\robin\AppData\Local\Arm\Packs\ARM\CMSIS\5.9.0\CMSIS\Core\Include\cmsis_armclang.h)(0x626FAD4E)
I (C:\Users\robin\AppData\Local\Arm\Packs\Keil\STM32F1xx_DFP\2.4.0\Device\Include\system_stm32f10x.h)(0x61ADDBCE)
F (..\drivers\Driver_Timer.h)(0x641A1BC2)()
F (..\drivers\Driver_ADC.c)(0x64182F1D)(-xc -std=c90 --target=arm-arm-none-eabi -mcpu=cortex-m3 -c -fno-rtti -funsigned-char -fshort-enums -fshort-wchar -D__EVAL -D__MICROLIB -gdwarf-4 -O1 -ffunction-sections -Wno-packed -Wno-missing-variable-declarations -Wno-missing-prototypes -Wno-missing-noreturn -Wno-sign-conversion -Wno-nonportable-include-path -Wno-reserved-id-macro -Wno-unused-macros -Wno-documentation-unknown-command -Wno-documentation -Wno-license-management -Wno-parentheses-equality -Wno-reserved-identifier -I ./src -I ../drivers -I./RTE/Device/STM32F103RB -I./RTE/_board -IC:/Users/robin/AppData/Local/Arm/Packs/ARM/CMSIS/5.9.0/CMSIS/Core/Include -IC:/Users/robin/AppData/Local/Arm/Packs/Keil/STM32F1xx_DFP/2.4.0/Device/Include -D__UVISION_VERSION="538" -D_RTE_ -DSTM32F10X_MD -D_RTE_ -o ./objects/driver_adc.o -MD)
I (..\drivers\Driver_Timer.h)(0x641A1BC2)
I (C:\Users\robin\AppData\Local\Arm\Packs\Keil\STM32F1xx_DFP\2.4.0\Device\Include\stm32f10x.h)(0x61ADDBCE)
I (RTE\_board\RTE_Components.h)(0x6415C72E)
I (C:\Users\robin\AppData\Local\Arm\Packs\ARM\CMSIS\5.9.0\CMSIS\Core\Include\core_cm3.h)(0x626FAD4E)
I (C:\Keil_v5\ARM\ARMCLANG\include\stdint.h)(0x6388AB78)
I (C:\Users\robin\AppData\Local\Arm\Packs\ARM\CMSIS\5.9.0\CMSIS\Core\Include\cmsis_version.h)(0x626FAD4E)
I (C:\Users\robin\AppData\Local\Arm\Packs\ARM\CMSIS\5.9.0\CMSIS\Core\Include\cmsis_compiler.h)(0x626FAD4E)
I (C:\Users\robin\AppData\Local\Arm\Packs\ARM\CMSIS\5.9.0\CMSIS\Core\Include\cmsis_armclang.h)(0x626FAD4E)
I (C:\Users\robin\AppData\Local\Arm\Packs\Keil\STM32F1xx_DFP\2.4.0\Device\Include\system_stm32f10x.h)(0x61ADDBCE)
F (..\drivers\Driver_ADC.h)(0x641A2645)()
F (RTE/Device/STM32F103RB/RTE_Device.h)(0x5FC0B25A)() F (RTE/Device/STM32F103RB/RTE_Device.h)(0x5FC0B25A)()
F (RTE/Device/STM32F103RB/startup_stm32f10x_md.s)(0x61ADDBCE)(--target=arm-arm-none-eabi -mcpu=cortex-m3 -masm=auto -Wa,armasm,--diag_suppress=A1950W -c -gdwarf-4 -Wa,armasm,--pd,"__MICROLIB SETA 1" -Wa,armasm,--pd,"__EVAL SETA 1" -I./RTE/Device/STM32F103RB -I./RTE/_board -IC:/Users/robin/AppData/Local/Arm/Packs/ARM/CMSIS/5.9.0/CMSIS/Core/Include -IC:/Users/robin/AppData/Local/Arm/Packs/Keil/STM32F1xx_DFP/2.4.0/Device/Include -Wa,armasm,--pd,"__UVISION_VERSION SETA 538" -Wa,armasm,--pd,"_RTE_ SETA 1" -Wa,armasm,--pd,"STM32F10X_MD SETA 1" -Wa,armasm,--pd,"_RTE_ SETA 1" -o ./objects/startup_stm32f10x_md.o) F (RTE/Device/STM32F103RB/startup_stm32f10x_md.s)(0x61ADDBCE)(--target=arm-arm-none-eabi -mcpu=cortex-m3 -masm=auto -Wa,armasm,--diag_suppress=A1950W -c -gdwarf-4 -Wa,armasm,--pd,"__MICROLIB SETA 1" -Wa,armasm,--pd,"__EVAL SETA 1" -I./RTE/Device/STM32F103RB -I./RTE/_board -IC:/Users/robin/AppData/Local/Arm/Packs/ARM/CMSIS/5.9.0/CMSIS/Core/Include -IC:/Users/robin/AppData/Local/Arm/Packs/Keil/STM32F1xx_DFP/2.4.0/Device/Include -Wa,armasm,--pd,"__UVISION_VERSION SETA 538" -Wa,armasm,--pd,"_RTE_ SETA 1" -Wa,armasm,--pd,"STM32F10X_MD SETA 1" -Wa,armasm,--pd,"_RTE_ SETA 1" -o ./objects/startup_stm32f10x_md.o)
F (RTE/Device/STM32F103RB/system_stm32f10x.c)(0x61ADDBCE)(-xc -std=c90 --target=arm-arm-none-eabi -mcpu=cortex-m3 -c -fno-rtti -funsigned-char -fshort-enums -fshort-wchar -D__EVAL -D__MICROLIB -gdwarf-4 -O1 -ffunction-sections -Wno-packed -Wno-missing-variable-declarations -Wno-missing-prototypes -Wno-missing-noreturn -Wno-sign-conversion -Wno-nonportable-include-path -Wno-reserved-id-macro -Wno-unused-macros -Wno-documentation-unknown-command -Wno-documentation -Wno-license-management -Wno-parentheses-equality -Wno-reserved-identifier -I ./src -I ../drivers -I./RTE/Device/STM32F103RB -I./RTE/_board -IC:/Users/robin/AppData/Local/Arm/Packs/ARM/CMSIS/5.9.0/CMSIS/Core/Include -IC:/Users/robin/AppData/Local/Arm/Packs/Keil/STM32F1xx_DFP/2.4.0/Device/Include -D__UVISION_VERSION="538" -D_RTE_ -DSTM32F10X_MD -D_RTE_ -o ./objects/system_stm32f10x.o -MD) F (RTE/Device/STM32F103RB/system_stm32f10x.c)(0x61ADDBCE)(-xc -std=c90 --target=arm-arm-none-eabi -mcpu=cortex-m3 -c -fno-rtti -funsigned-char -fshort-enums -fshort-wchar -D__EVAL -D__MICROLIB -gdwarf-4 -O1 -ffunction-sections -Wno-packed -Wno-missing-variable-declarations -Wno-missing-prototypes -Wno-missing-noreturn -Wno-sign-conversion -Wno-nonportable-include-path -Wno-reserved-id-macro -Wno-unused-macros -Wno-documentation-unknown-command -Wno-documentation -Wno-license-management -Wno-parentheses-equality -Wno-reserved-identifier -I ./src -I ../drivers -I./RTE/Device/STM32F103RB -I./RTE/_board -IC:/Users/robin/AppData/Local/Arm/Packs/ARM/CMSIS/5.9.0/CMSIS/Core/Include -IC:/Users/robin/AppData/Local/Arm/Packs/Keil/STM32F1xx_DFP/2.4.0/Device/Include -D__UVISION_VERSION="538" -D_RTE_ -DSTM32F10X_MD -D_RTE_ -o ./objects/system_stm32f10x.o -MD)

BIN
projet_1/Objects/tp_sim.axf Normal file

Binary file not shown.

View file

@ -22,44 +22,20 @@ Dialog DLL: TCM.DLL V1.56.4.0
<h2>Project:</h2> <h2>Project:</h2>
C:\Users\robin\OneDrive\Documents\Dev\tp\projet_1\tp.uvprojx C:\Users\robin\OneDrive\Documents\Dev\tp\projet_1\tp.uvprojx
Project File Date: 03/19/2023 Project File Date: 03/20/2023
<h2>Output:</h2> <h2>Output:</h2>
*** Using Compiler 'V6.19', folder: 'C:\Keil_v5\ARM\ARMCLANG\Bin' *** Using Compiler 'V6.19', folder: 'C:\Keil_v5\ARM\ARMCLANG\Bin'
Rebuild target 'board' Rebuild target 'board'
assembling startup_stm32f10x_md.s... compiling Driver_Timer.c...
src/main.c(12): error: use of undeclared identifier 'RCC_APB1Periph_TIM2'
RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM2, ENABLE);
^
src/main.c(14): error: use of undeclared identifier 'TIM_TimeBaseInitTypeDef'
TIM_TimeBaseInitTypeDef timer_init;
^
src/main.c(15): error: use of undeclared identifier 'timer_init'
timer_init.TIM_Period = 4999; // ARR = Période - 1
^
src/main.c(16): error: use of undeclared identifier 'timer_init'
timer_init.TIM_Prescaler = 7199; // PSC = Fréquence d'horloge / Fréquence de comptage - 1
^
src/main.c(17): error: use of undeclared identifier 'timer_init'
timer_init.TIM_ClockDivision = TIM_CKD_DIV1;
^
src/main.c(17): error: use of undeclared identifier 'TIM_CKD_DIV1'
timer_init.TIM_ClockDivision = TIM_CKD_DIV1;
^
src/main.c(18): error: use of undeclared identifier 'timer_init'
timer_init.TIM_CounterMode = TIM_CounterMode_Up;
^
src/main.c(18): error: use of undeclared identifier 'TIM_CounterMode_Up'
timer_init.TIM_CounterMode = TIM_CounterMode_Up;
^
src/main.c(19): error: use of undeclared identifier 'timer_init'
TIM_TimeBaseInit(TIM2, &timer_init);
^
9 errors generated.
compiling main.c...
compiling Driver_GPIO.c... compiling Driver_GPIO.c...
compiling Driver_ADC.c...
assembling startup_stm32f10x_md.s...
compiling main.c...
compiling system_stm32f10x.c... compiling system_stm32f10x.c...
".\Objects\tp_sim.axf" - 9 Error(s), 0 Warning(s). linking...
Program Size: Code=920 RO-data=252 RW-data=0 ZI-data=1024
".\Objects\tp_sim.axf" - 0 Error(s), 0 Warning(s).
<h2>Software Packages used:</h2> <h2>Software Packages used:</h2>
@ -90,8 +66,7 @@ Package Vendor: Keil
Include file: RTE_Driver/Config/RTE_Device.h Include file: RTE_Driver/Config/RTE_Device.h
Source file: Device/Source/ARM/STM32F1xx_OPT.s Source file: Device/Source/ARM/STM32F1xx_OPT.s
Source file: Device/Source/system_stm32f10x.c Source file: Device/Source/system_stm32f10x.c
Target not created. Build Time Elapsed: 00:00:01
Build Time Elapsed: 00:00:00
</pre> </pre>
</body> </body>
</html> </html>

View file

@ -1,9 +1,53 @@
Dependencies for Project 'tp', Target 'sim': (DO NOT MODIFY !) Dependencies for Project 'tp', Target 'sim': (DO NOT MODIFY !)
CompilerVersion: 6190000::V6.19::ARMCLANG CompilerVersion: 6190000::V6.19::ARMCLANG
F (.\src\main.c)(0x6415C655)(-xc -std=c90 --target=arm-arm-none-eabi -mcpu=cortex-m3 -c -fno-rtti -funsigned-char -fshort-enums -fshort-wchar -D__EVAL -D__MICROLIB -gdwarf-4 -O1 -ffunction-sections -Wno-packed -Wno-missing-variable-declarations -Wno-missing-prototypes -Wno-missing-noreturn -Wno-sign-conversion -Wno-nonportable-include-path -Wno-reserved-id-macro -Wno-unused-macros -Wno-documentation-unknown-command -Wno-documentation -Wno-license-management -Wno-parentheses-equality -Wno-reserved-identifier -I ./src -I ./include -I./RTE/Device/STM32F103RB -I./RTE/_sim -IC:/Users/robin/AppData/Local/Arm/Packs/ARM/CMSIS/5.9.0/CMSIS/Core/Include -IC:/Users/robin/AppData/Local/Arm/Packs/Keil/STM32F1xx_DFP/2.4.0/Device/Include -D__UVISION_VERSION="538" -D_RTE_ -DSTM32F10X_MD -D_RTE_ -o ./objects/main.o -MD) F (.\src\main.c)(0x641A28AC)(-xc -std=c90 --target=arm-arm-none-eabi -mcpu=cortex-m3 -c -fno-rtti -funsigned-char -fshort-enums -fshort-wchar -D__EVAL -D__MICROLIB -gdwarf-4 -O1 -ffunction-sections -Wno-packed -Wno-missing-variable-declarations -Wno-missing-prototypes -Wno-missing-noreturn -Wno-sign-conversion -Wno-nonportable-include-path -Wno-reserved-id-macro -Wno-unused-macros -Wno-documentation-unknown-command -Wno-documentation -Wno-license-management -Wno-parentheses-equality -Wno-reserved-identifier -I ./src -I ./include -I ../drivers -I./RTE/Device/STM32F103RB -I./RTE/_sim -IC:/Users/robin/AppData/Local/Arm/Packs/ARM/CMSIS/5.9.0/CMSIS/Core/Include -IC:/Users/robin/AppData/Local/Arm/Packs/Keil/STM32F1xx_DFP/2.4.0/Device/Include -D__UVISION_VERSION="538" -D_RTE_ -DSTM32F10X_MD -D_RTE_ -o ./objects/main.o -MD)
F (RTE/Device/STM32F103RB/RTE_Device.h)(0x5FC0B25A)() I (C:\Users\robin\AppData\Local\Arm\Packs\Keil\STM32F1xx_DFP\2.4.0\Device\Include\stm32f10x.h)(0x61ADDBCE)
F (RTE/Device/STM32F103RB/startup_stm32f10x_md.s)(0x61ADDBCE)(--target=arm-arm-none-eabi -mcpu=cortex-m3 -masm=auto -Wa,armasm,--diag_suppress=A1950W -c -gdwarf-4 -Wa,armasm,--pd,"__MICROLIB SETA 1" -Wa,armasm,--pd,"__EVAL SETA 1" -I./RTE/Device/STM32F103RB -I./RTE/_sim -IC:/Users/robin/AppData/Local/Arm/Packs/ARM/CMSIS/5.9.0/CMSIS/Core/Include -IC:/Users/robin/AppData/Local/Arm/Packs/Keil/STM32F1xx_DFP/2.4.0/Device/Include -Wa,armasm,--pd,"__UVISION_VERSION SETA 538" -Wa,armasm,--pd,"_RTE_ SETA 1" -Wa,armasm,--pd,"STM32F10X_MD SETA 1" -Wa,armasm,--pd,"_RTE_ SETA 1" -o ./objects/startup_stm32f10x_md.o) I (RTE\_sim\RTE_Components.h)(0x6415C555)
F (RTE/Device/STM32F103RB/system_stm32f10x.c)(0x61ADDBCE)(-xc -std=c90 --target=arm-arm-none-eabi -mcpu=cortex-m3 -c -fno-rtti -funsigned-char -fshort-enums -fshort-wchar -D__EVAL -D__MICROLIB -gdwarf-4 -O1 -ffunction-sections -Wno-packed -Wno-missing-variable-declarations -Wno-missing-prototypes -Wno-missing-noreturn -Wno-sign-conversion -Wno-nonportable-include-path -Wno-reserved-id-macro -Wno-unused-macros -Wno-documentation-unknown-command -Wno-documentation -Wno-license-management -Wno-parentheses-equality -Wno-reserved-identifier -I ./src -I ./include -I./RTE/Device/STM32F103RB -I./RTE/_sim -IC:/Users/robin/AppData/Local/Arm/Packs/ARM/CMSIS/5.9.0/CMSIS/Core/Include -IC:/Users/robin/AppData/Local/Arm/Packs/Keil/STM32F1xx_DFP/2.4.0/Device/Include -D__UVISION_VERSION="538" -D_RTE_ -DSTM32F10X_MD -D_RTE_ -o ./objects/system_stm32f10x.o -MD) I (C:\Users\robin\AppData\Local\Arm\Packs\ARM\CMSIS\5.9.0\CMSIS\Core\Include\core_cm3.h)(0x626FAD4E)
I (C:\Keil_v5\ARM\ARMCLANG\include\stdint.h)(0x6388AB78)
I (C:\Users\robin\AppData\Local\Arm\Packs\ARM\CMSIS\5.9.0\CMSIS\Core\Include\cmsis_version.h)(0x626FAD4E)
I (C:\Users\robin\AppData\Local\Arm\Packs\ARM\CMSIS\5.9.0\CMSIS\Core\Include\cmsis_compiler.h)(0x626FAD4E)
I (C:\Users\robin\AppData\Local\Arm\Packs\ARM\CMSIS\5.9.0\CMSIS\Core\Include\cmsis_armclang.h)(0x626FAD4E)
I (C:\Users\robin\AppData\Local\Arm\Packs\Keil\STM32F1xx_DFP\2.4.0\Device\Include\system_stm32f10x.h)(0x61ADDBCE)
I (..\drivers\Driver_GPIO.h)(0x6418B324)
I (..\drivers\Driver_Timer.h)(0x641A1BC2)
I (..\drivers\Driver_ADC.h)(0x641A2645)
F (..\drivers\Driver_GPIO.c)(0x6418B3FF)(-xc -std=c90 --target=arm-arm-none-eabi -mcpu=cortex-m3 -c -fno-rtti -funsigned-char -fshort-enums -fshort-wchar -D__EVAL -D__MICROLIB -gdwarf-4 -O1 -ffunction-sections -Wno-packed -Wno-missing-variable-declarations -Wno-missing-prototypes -Wno-missing-noreturn -Wno-sign-conversion -Wno-nonportable-include-path -Wno-reserved-id-macro -Wno-unused-macros -Wno-documentation-unknown-command -Wno-documentation -Wno-license-management -Wno-parentheses-equality -Wno-reserved-identifier -I ./src -I ./include -I ../drivers -I./RTE/Device/STM32F103RB -I./RTE/_sim -IC:/Users/robin/AppData/Local/Arm/Packs/ARM/CMSIS/5.9.0/CMSIS/Core/Include -IC:/Users/robin/AppData/Local/Arm/Packs/Keil/STM32F1xx_DFP/2.4.0/Device/Include -D__UVISION_VERSION="538" -D_RTE_ -DSTM32F10X_MD -D_RTE_ -o ./objects/driver_gpio.o -MD)
I (..\drivers\Driver_GPIO.h)(0x6418B324)
I (C:\Users\robin\AppData\Local\Arm\Packs\Keil\STM32F1xx_DFP\2.4.0\Device\Include\stm32f10x.h)(0x61ADDBCE)
I (RTE\_sim\RTE_Components.h)(0x6415C555)
I (C:\Users\robin\AppData\Local\Arm\Packs\ARM\CMSIS\5.9.0\CMSIS\Core\Include\core_cm3.h)(0x626FAD4E)
I (C:\Keil_v5\ARM\ARMCLANG\include\stdint.h)(0x6388AB78)
I (C:\Users\robin\AppData\Local\Arm\Packs\ARM\CMSIS\5.9.0\CMSIS\Core\Include\cmsis_version.h)(0x626FAD4E)
I (C:\Users\robin\AppData\Local\Arm\Packs\ARM\CMSIS\5.9.0\CMSIS\Core\Include\cmsis_compiler.h)(0x626FAD4E)
I (C:\Users\robin\AppData\Local\Arm\Packs\ARM\CMSIS\5.9.0\CMSIS\Core\Include\cmsis_armclang.h)(0x626FAD4E)
I (C:\Users\robin\AppData\Local\Arm\Packs\Keil\STM32F1xx_DFP\2.4.0\Device\Include\system_stm32f10x.h)(0x61ADDBCE)
F (..\drivers\Driver_GPIO.h)(0x6418B324)()
F (..\drivers\Driver_Timer.c)(0x641A2797)(-xc -std=c90 --target=arm-arm-none-eabi -mcpu=cortex-m3 -c -fno-rtti -funsigned-char -fshort-enums -fshort-wchar -D__EVAL -D__MICROLIB -gdwarf-4 -O1 -ffunction-sections -Wno-packed -Wno-missing-variable-declarations -Wno-missing-prototypes -Wno-missing-noreturn -Wno-sign-conversion -Wno-nonportable-include-path -Wno-reserved-id-macro -Wno-unused-macros -Wno-documentation-unknown-command -Wno-documentation -Wno-license-management -Wno-parentheses-equality -Wno-reserved-identifier -I ./src -I ./include -I ../drivers -I./RTE/Device/STM32F103RB -I./RTE/_sim -IC:/Users/robin/AppData/Local/Arm/Packs/ARM/CMSIS/5.9.0/CMSIS/Core/Include -IC:/Users/robin/AppData/Local/Arm/Packs/Keil/STM32F1xx_DFP/2.4.0/Device/Include -D__UVISION_VERSION="538" -D_RTE_ -DSTM32F10X_MD -D_RTE_ -o ./objects/driver_timer.o -MD)
I (..\drivers\Driver_Timer.h)(0x641A1BC2)
I (C:\Users\robin\AppData\Local\Arm\Packs\Keil\STM32F1xx_DFP\2.4.0\Device\Include\stm32f10x.h)(0x61ADDBCE)
I (RTE\_sim\RTE_Components.h)(0x6415C555)
I (C:\Users\robin\AppData\Local\Arm\Packs\ARM\CMSIS\5.9.0\CMSIS\Core\Include\core_cm3.h)(0x626FAD4E)
I (C:\Keil_v5\ARM\ARMCLANG\include\stdint.h)(0x6388AB78)
I (C:\Users\robin\AppData\Local\Arm\Packs\ARM\CMSIS\5.9.0\CMSIS\Core\Include\cmsis_version.h)(0x626FAD4E)
I (C:\Users\robin\AppData\Local\Arm\Packs\ARM\CMSIS\5.9.0\CMSIS\Core\Include\cmsis_compiler.h)(0x626FAD4E)
I (C:\Users\robin\AppData\Local\Arm\Packs\ARM\CMSIS\5.9.0\CMSIS\Core\Include\cmsis_armclang.h)(0x626FAD4E)
I (C:\Users\robin\AppData\Local\Arm\Packs\Keil\STM32F1xx_DFP\2.4.0\Device\Include\system_stm32f10x.h)(0x61ADDBCE)
F (..\drivers\Driver_Timer.h)(0x641A1BC2)()
F (..\drivers\Driver_ADC.c)(0x64182F1D)(-xc -std=c90 --target=arm-arm-none-eabi -mcpu=cortex-m3 -c -fno-rtti -funsigned-char -fshort-enums -fshort-wchar -D__EVAL -D__MICROLIB -gdwarf-4 -O1 -ffunction-sections -Wno-packed -Wno-missing-variable-declarations -Wno-missing-prototypes -Wno-missing-noreturn -Wno-sign-conversion -Wno-nonportable-include-path -Wno-reserved-id-macro -Wno-unused-macros -Wno-documentation-unknown-command -Wno-documentation -Wno-license-management -Wno-parentheses-equality -Wno-reserved-identifier -I ./src -I ./include -I ../drivers -I./RTE/Device/STM32F103RB -I./RTE/_sim -IC:/Users/robin/AppData/Local/Arm/Packs/ARM/CMSIS/5.9.0/CMSIS/Core/Include -IC:/Users/robin/AppData/Local/Arm/Packs/Keil/STM32F1xx_DFP/2.4.0/Device/Include -D__UVISION_VERSION="538" -D_RTE_ -DSTM32F10X_MD -D_RTE_ -o ./objects/driver_adc.o -MD)
I (..\drivers\Driver_Timer.h)(0x641A1BC2)
I (C:\Users\robin\AppData\Local\Arm\Packs\Keil\STM32F1xx_DFP\2.4.0\Device\Include\stm32f10x.h)(0x61ADDBCE)
I (RTE\_sim\RTE_Components.h)(0x6415C555)
I (C:\Users\robin\AppData\Local\Arm\Packs\ARM\CMSIS\5.9.0\CMSIS\Core\Include\core_cm3.h)(0x626FAD4E)
I (C:\Keil_v5\ARM\ARMCLANG\include\stdint.h)(0x6388AB78)
I (C:\Users\robin\AppData\Local\Arm\Packs\ARM\CMSIS\5.9.0\CMSIS\Core\Include\cmsis_version.h)(0x626FAD4E)
I (C:\Users\robin\AppData\Local\Arm\Packs\ARM\CMSIS\5.9.0\CMSIS\Core\Include\cmsis_compiler.h)(0x626FAD4E)
I (C:\Users\robin\AppData\Local\Arm\Packs\ARM\CMSIS\5.9.0\CMSIS\Core\Include\cmsis_armclang.h)(0x626FAD4E)
I (C:\Users\robin\AppData\Local\Arm\Packs\Keil\STM32F1xx_DFP\2.4.0\Device\Include\system_stm32f10x.h)(0x61ADDBCE)
F (..\drivers\Driver_ADC.h)(0x641A2645)()
F (RTE/Device/STM32F103RB/RTE_Device.h)(0x5FC0B25A)()
F (RTE/Device/STM32F103RB/startup_stm32f10x_md.s)(0x61ADDBCE)(--target=arm-arm-none-eabi -mcpu=cortex-m3 -masm=auto -Wa,armasm,--diag_suppress=A1950W -c -gdwarf-4 -Wa,armasm,--pd,"__MICROLIB SETA 1" -Wa,armasm,--pd,"__EVAL SETA 1" -I./RTE/Device/STM32F103RB -I./RTE/_sim -IC:/Users/robin/AppData/Local/Arm/Packs/ARM/CMSIS/5.9.0/CMSIS/Core/Include -IC:/Users/robin/AppData/Local/Arm/Packs/Keil/STM32F1xx_DFP/2.4.0/Device/Include -Wa,armasm,--pd,"__UVISION_VERSION SETA 538" -Wa,armasm,--pd,"_RTE_ SETA 1" -Wa,armasm,--pd,"STM32F10X_MD SETA 1" -Wa,armasm,--pd,"_RTE_ SETA 1" -o ./objects/startup_stm32f10x_md.o)
F (RTE/Device/STM32F103RB/system_stm32f10x.c)(0x61ADDBCE)(-xc -std=c90 --target=arm-arm-none-eabi -mcpu=cortex-m3 -c -fno-rtti -funsigned-char -fshort-enums -fshort-wchar -D__EVAL -D__MICROLIB -gdwarf-4 -O1 -ffunction-sections -Wno-packed -Wno-missing-variable-declarations -Wno-missing-prototypes -Wno-missing-noreturn -Wno-sign-conversion -Wno-nonportable-include-path -Wno-reserved-id-macro -Wno-unused-macros -Wno-documentation-unknown-command -Wno-documentation -Wno-license-management -Wno-parentheses-equality -Wno-reserved-identifier -I ./src -I ./include -I ../drivers -I./RTE/Device/STM32F103RB -I./RTE/_sim -IC:/Users/robin/AppData/Local/Arm/Packs/ARM/CMSIS/5.9.0/CMSIS/Core/Include -IC:/Users/robin/AppData/Local/Arm/Packs/Keil/STM32F1xx_DFP/2.4.0/Device/Include -D__UVISION_VERSION="538" -D_RTE_ -DSTM32F10X_MD -D_RTE_ -o ./objects/system_stm32f10x.o -MD)
I (C:\Users\robin\AppData\Local\Arm\Packs\Keil\STM32F1xx_DFP\2.4.0\Device\Include\stm32f10x.h)(0x61ADDBCE) I (C:\Users\robin\AppData\Local\Arm\Packs\Keil\STM32F1xx_DFP\2.4.0\Device\Include\stm32f10x.h)(0x61ADDBCE)
I (RTE\_sim\RTE_Components.h)(0x6415C555) I (RTE\_sim\RTE_Components.h)(0x6415C555)
I (C:\Users\robin\AppData\Local\Arm\Packs\ARM\CMSIS\5.9.0\CMSIS\Core\Include\core_cm3.h)(0x626FAD4E) I (C:\Users\robin\AppData\Local\Arm\Packs\ARM\CMSIS\5.9.0\CMSIS\Core\Include\core_cm3.h)(0x626FAD4E)

View file

@ -3,9 +3,9 @@
<title>Static Call Graph - [.\Objects\tp_sim.axf]</title></head> <title>Static Call Graph - [.\Objects\tp_sim.axf]</title></head>
<body><HR> <body><HR>
<H1>Static Call Graph for image .\Objects\tp_sim.axf</H1><HR> <H1>Static Call Graph for image .\Objects\tp_sim.axf</H1><HR>
<BR><P>#&#060CALLGRAPH&#062# ARM Linker, 6190004: Last Updated: Sun Mar 19 17:05:57 2023 <BR><P>#&#060CALLGRAPH&#062# ARM Linker, 6190004: Last Updated: Tue Mar 21 23:01:30 2023
<BR><P> <BR><P>
<H3>Maximum Stack Usage = 16 bytes + Unknown(Cycles, Untraceable Function Pointers)</H3><H3> <H3>Maximum Stack Usage = 32 bytes + Unknown(Cycles, Untraceable Function Pointers)</H3><H3>
Call chain for Maximum Stack Depth:</H3> Call chain for Maximum Stack Depth:</H3>
main &rArr; MyGPIO_Init main &rArr; MyGPIO_Init
<P> <P>
@ -69,7 +69,7 @@ Function Pointers
<LI><a href="#[25]">TIM1_CC_IRQHandler</a> from startup_stm32f10x_md.o(.text) referenced from startup_stm32f10x_md.o(RESET) <LI><a href="#[25]">TIM1_CC_IRQHandler</a> from startup_stm32f10x_md.o(.text) referenced from startup_stm32f10x_md.o(RESET)
<LI><a href="#[24]">TIM1_TRG_COM_IRQHandler</a> from startup_stm32f10x_md.o(.text) referenced from startup_stm32f10x_md.o(RESET) <LI><a href="#[24]">TIM1_TRG_COM_IRQHandler</a> from startup_stm32f10x_md.o(.text) referenced from startup_stm32f10x_md.o(RESET)
<LI><a href="#[23]">TIM1_UP_IRQHandler</a> from startup_stm32f10x_md.o(.text) referenced from startup_stm32f10x_md.o(RESET) <LI><a href="#[23]">TIM1_UP_IRQHandler</a> from startup_stm32f10x_md.o(.text) referenced from startup_stm32f10x_md.o(RESET)
<LI><a href="#[26]">TIM2_IRQHandler</a> from startup_stm32f10x_md.o(.text) referenced from startup_stm32f10x_md.o(RESET) <LI><a href="#[26]">TIM2_IRQHandler</a> from main.o(.text.TIM2_IRQHandler) referenced from startup_stm32f10x_md.o(RESET)
<LI><a href="#[27]">TIM3_IRQHandler</a> from startup_stm32f10x_md.o(.text) referenced from startup_stm32f10x_md.o(RESET) <LI><a href="#[27]">TIM3_IRQHandler</a> from startup_stm32f10x_md.o(.text) referenced from startup_stm32f10x_md.o(RESET)
<LI><a href="#[28]">TIM4_IRQHandler</a> from startup_stm32f10x_md.o(.text) referenced from startup_stm32f10x_md.o(RESET) <LI><a href="#[28]">TIM4_IRQHandler</a> from startup_stm32f10x_md.o(.text) referenced from startup_stm32f10x_md.o(RESET)
<LI><a href="#[2f]">USART1_IRQHandler</a> from startup_stm32f10x_md.o(.text) referenced from startup_stm32f10x_md.o(RESET) <LI><a href="#[2f]">USART1_IRQHandler</a> from startup_stm32f10x_md.o(.text) referenced from startup_stm32f10x_md.o(RESET)
@ -90,7 +90,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="[3e]"></a>_main_stk</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, entry2.o(.ARM.Collect$$$$00000001)) <P><STRONG><a name="[41]"></a>_main_stk</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, entry2.o(.ARM.Collect$$$$00000001))
<P><STRONG><a name="[38]"></a>_main_scatterload</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, entry5.o(.ARM.Collect$$$$00000004)) <P><STRONG><a name="[38]"></a>_main_scatterload</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, entry5.o(.ARM.Collect$$$$00000004))
<BR><BR>[Calls]<UL><LI><a href="#[39]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__scatterload <BR><BR>[Calls]<UL><LI><a href="#[39]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__scatterload
@ -100,15 +100,15 @@ Global Symbols
<BR><BR>[Called By]<UL><LI><a href="#[39]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__scatterload <BR><BR>[Called By]<UL><LI><a href="#[39]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__scatterload
</UL> </UL>
<P><STRONG><a name="[3f]"></a>_main_clock</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, entry7b.o(.ARM.Collect$$$$00000008)) <P><STRONG><a name="[42]"></a>_main_clock</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, entry7b.o(.ARM.Collect$$$$00000008))
<P><STRONG><a name="[40]"></a>_main_cpp_init</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, entry8b.o(.ARM.Collect$$$$0000000A)) <P><STRONG><a name="[43]"></a>_main_cpp_init</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, entry8b.o(.ARM.Collect$$$$0000000A))
<P><STRONG><a name="[41]"></a>_main_init</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, entry9a.o(.ARM.Collect$$$$0000000B)) <P><STRONG><a name="[44]"></a>_main_init</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, entry9a.o(.ARM.Collect$$$$0000000B))
<P><STRONG><a name="[42]"></a>__rt_final_cpp</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, entry10a.o(.ARM.Collect$$$$0000000D)) <P><STRONG><a name="[45]"></a>__rt_final_cpp</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, entry10a.o(.ARM.Collect$$$$0000000D))
<P><STRONG><a name="[43]"></a>__rt_final_exit</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, entry11a.o(.ARM.Collect$$$$0000000F)) <P><STRONG><a name="[46]"></a>__rt_final_exit</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, entry11a.o(.ARM.Collect$$$$0000000F))
<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)
@ -279,9 +279,6 @@ Global Symbols
<P><STRONG><a name="[23]"></a>TIM1_UP_IRQHandler</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, startup_stm32f10x_md.o(.text)) <P><STRONG><a name="[23]"></a>TIM1_UP_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="[26]"></a>TIM2_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="[27]"></a>TIM3_IRQHandler</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, startup_stm32f10x_md.o(.text)) <P><STRONG><a name="[27]"></a>TIM3_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>
@ -315,19 +312,31 @@ Global Symbols
<BR>[Called By]<UL><LI><a href="#[38]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_main_scatterload <BR>[Called By]<UL><LI><a href="#[38]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_main_scatterload
</UL> </UL>
<P><STRONG><a name="[44]"></a>__scatterload_rt2</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, init.o(.text), UNUSED) <P><STRONG><a name="[47]"></a>__scatterload_rt2</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, init.o(.text), UNUSED)
<P><STRONG><a name="[3b]"></a>MyGPIO_Init</STRONG> (Thumb, 112 bytes, Stack size 8 bytes, driver_gpio.o(.text.MyGPIO_Init)) <P><STRONG><a name="[3c]"></a>MyGPIO_Init</STRONG> (Thumb, 144 bytes, Stack size 8 bytes, driver_gpio.o(.text.MyGPIO_Init))
<BR><BR>[Stack]<UL><LI>Max Depth = 8<LI>Call Chain = MyGPIO_Init <BR><BR>[Stack]<UL><LI>Max Depth = 8<LI>Call Chain = MyGPIO_Init
</UL> </UL>
<BR>[Called By]<UL><LI><a href="#[35]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;main <BR>[Called By]<UL><LI><a href="#[35]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;main
</UL> </UL>
<P><STRONG><a name="[3c]"></a>MyGPIO_Read</STRONG> (Thumb, 10 bytes, Stack size 0 bytes, driver_gpio.o(.text.MyGPIO_Read)) <P><STRONG><a name="[3b]"></a>MyGPIO_Toggle</STRONG> (Thumb, 14 bytes, Stack size 0 bytes, driver_gpio.o(.text.MyGPIO_Toggle))
<BR><BR>[Called By]<UL><LI><a href="#[26]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;TIM2_IRQHandler
</UL>
<P><STRONG><a name="[3e]"></a>MyTimer_EnableInterrupt</STRONG> (Thumb, 38 bytes, Stack size 0 bytes, driver_timer.o(.text.MyTimer_EnableInterrupt))
<BR><BR>[Called By]<UL><LI><a href="#[35]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;main <BR><BR>[Called By]<UL><LI><a href="#[35]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;main
</UL> </UL>
<P><STRONG><a name="[3d]"></a>MyGPIO_Toggle</STRONG> (Thumb, 14 bytes, Stack size 0 bytes, driver_gpio.o(.text.MyGPIO_Toggle)) <P><STRONG><a name="[3d]"></a>MyTimer_Init</STRONG> (Thumb, 144 bytes, Stack size 0 bytes, driver_timer.o(.text.MyTimer_Init))
<BR><BR>[Called By]<UL><LI><a href="#[35]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;main
</UL>
<P><STRONG><a name="[3f]"></a>MyTimer_SetPriority</STRONG> (Thumb, 18 bytes, Stack size 0 bytes, driver_timer.o(.text.MyTimer_SetPriority))
<BR><BR>[Called By]<UL><LI><a href="#[35]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;main
</UL>
<P><STRONG><a name="[40]"></a>MyTimer_Start</STRONG> (Thumb, 12 bytes, Stack size 0 bytes, driver_timer.o(.text.MyTimer_Start))
<BR><BR>[Called By]<UL><LI><a href="#[35]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;main <BR><BR>[Called By]<UL><LI><a href="#[35]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;main
</UL> </UL>
@ -336,20 +345,29 @@ Global Symbols
</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>
<P><STRONG><a name="[35]"></a>main</STRONG> (Thumb, 70 bytes, Stack size 8 bytes, main.o(.text.main)) <P><STRONG><a name="[26]"></a>TIM2_IRQHandler</STRONG> (Thumb, 32 bytes, Stack size 8 bytes, main.o(.text.TIM2_IRQHandler))
<BR><BR>[Stack]<UL><LI>Max Depth = 16<LI>Call Chain = main &rArr; MyGPIO_Init <BR><BR>[Stack]<UL><LI>Max Depth = 8<LI>Call Chain = TIM2_IRQHandler
</UL> </UL>
<BR>[Calls]<UL><LI><a href="#[3d]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;MyGPIO_Toggle <BR>[Calls]<UL><LI><a href="#[3b]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;MyGPIO_Toggle
<LI><a href="#[3c]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;MyGPIO_Read </UL>
<LI><a href="#[3b]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;MyGPIO_Init <BR>[Address Reference Count : 1]<UL><LI> startup_stm32f10x_md.o(RESET)
</UL>
<P><STRONG><a name="[35]"></a>main</STRONG> (Thumb, 102 bytes, Stack size 24 bytes, main.o(.text.main))
<BR><BR>[Stack]<UL><LI>Max Depth = 32<LI>Call Chain = main &rArr; MyGPIO_Init
</UL>
<BR>[Calls]<UL><LI><a href="#[40]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;MyTimer_Start
<LI><a href="#[3f]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;MyTimer_SetPriority
<LI><a href="#[3e]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;MyTimer_EnableInterrupt
<LI><a href="#[3d]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;MyTimer_Init
<LI><a href="#[3c]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;MyGPIO_Init
</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>
<P><STRONG><a name="[45]"></a>__scatterload_copy</STRONG> (Thumb, 14 bytes, Stack size unknown bytes, handlers.o(i.__scatterload_copy), UNUSED) <P><STRONG><a name="[48]"></a>__scatterload_copy</STRONG> (Thumb, 14 bytes, Stack size unknown bytes, handlers.o(i.__scatterload_copy), UNUSED)
<P><STRONG><a name="[46]"></a>__scatterload_null</STRONG> (Thumb, 2 bytes, Stack size unknown bytes, handlers.o(i.__scatterload_null), UNUSED) <P><STRONG><a name="[49]"></a>__scatterload_null</STRONG> (Thumb, 2 bytes, Stack size unknown bytes, handlers.o(i.__scatterload_null), UNUSED)
<P><STRONG><a name="[47]"></a>__scatterload_zeroinit</STRONG> (Thumb, 14 bytes, Stack size unknown bytes, handlers.o(i.__scatterload_zeroinit), UNUSED) <P><STRONG><a name="[4a]"></a>__scatterload_zeroinit</STRONG> (Thumb, 14 bytes, Stack size unknown bytes, handlers.o(i.__scatterload_zeroinit), UNUSED)
<P> <P>
<H3> <H3>
Local Symbols Local Symbols

View file

@ -1,6 +1,8 @@
--cpu Cortex-M3 --cpu Cortex-M3
".\objects\main.o" ".\objects\main.o"
".\objects\driver_gpio.o" ".\objects\driver_gpio.o"
".\objects\driver_timer.o"
".\objects\driver_adc.o"
".\objects\startup_stm32f10x_md.o" ".\objects\startup_stm32f10x_md.o"
".\objects\system_stm32f10x.o" ".\objects\system_stm32f10x.o"
--library_type=microlib --ro-base 0x08000000 --entry 0x08000000 --rw-base 0x20000000 --entry Reset_Handler --first __Vectors --strict --summary_stderr --info summarysizes --map --load_addr_map_info --xref --callgraph --symbols --library_type=microlib --ro-base 0x08000000 --entry 0x08000000 --rw-base 0x20000000 --entry Reset_Handler --first __Vectors --strict --summary_stderr --info summarysizes --map --load_addr_map_info --xref --callgraph --symbols

View file

@ -1,11 +1,15 @@
#include "stm32f10x.h" #include "stm32f10x.h"
#include "Driver_GPIO.h" #include "Driver_GPIO.h"
#include "Driver_Timer.h"
#include "Driver_ADC.h"
void delay() { void TIM2_IRQHandler(void)
int i = 0; {
for(i = 0; i < 1000000; i++); MyGPIO_Toggle(GPIOA, 5);
TIM2->SR &= ~TIM_SR_UIF; // Reset le flag d'interruption
} }
int main(void) { int main(void) {
// Configure la broche PA5 en sortie // Configure la broche PA5 en sortie
@ -21,16 +25,21 @@ int main(void) {
GPIO_InitStructure.GPIO = GPIOC; GPIO_InitStructure.GPIO = GPIOC;
MyGPIO_Init(&GPIO_InitStructure); MyGPIO_Init(&GPIO_InitStructure);
MyTimer_Struct_TypeDef Timer;
Timer.Timer = TIM2;
Timer.PSC = 7200; // Prescaler = 7200, donc chaque tick d'horloge prend 0,1ms (10 MHz)
Timer.ARR = 5000; // Autoreload = 5000, donc le timer compte jusqu'à 5000, ce qui prend 500ms (0,1ms * 5000)
Timer.IRQn = TIM2_IRQn; // Numéro d'interruption correspondant au Timer 2 (28)
MyTimer_Init(&Timer); // Initialise le Timer 2
MyTimer_EnableInterrupt(&Timer); // Active l'interruption du Timer
MyTimer_SetPriority(&Timer, 0); // Set la priorité du Timer
MyTimer_Start(&Timer); // Démarre le Timer
while(1) { while(1) {
// Vérifie si le bouton est pressé
if(MyGPIO_Read(GPIOC, 13) == 0) {
// Toggle la LED
MyGPIO_Toggle(GPIOA, 5);
// Delay pour éviter les rebonds du au ressort du bouton
delay();
}
} }
} }

File diff suppressed because one or more lines are too long

View file

@ -117,6 +117,21 @@
<pMon>BIN\UL2CM3.DLL</pMon> <pMon>BIN\UL2CM3.DLL</pMon>
</DebugOpt> </DebugOpt>
<TargetDriverDllRegistry> <TargetDriverDllRegistry>
<SetRegEntry>
<Number>0</Number>
<Key>ARMRTXEVENTFLAGS</Key>
<Name>-L70 -Z18 -C0 -M0 -T1</Name>
</SetRegEntry>
<SetRegEntry>
<Number>0</Number>
<Key>DLGDARM</Key>
<Name>(1010=-1,-1,-1,-1,0)(1007=-1,-1,-1,-1,0)(1008=-1,-1,-1,-1,0)(1009=-1,-1,-1,-1,0)(100=-1,-1,-1,-1,0)(110=-1,-1,-1,-1,0)(111=-1,-1,-1,-1,0)(1011=60,88,594,449,0)(180=-1,-1,-1,-1,0)(120=652,104,1073,531,0)(121=75,104,496,531,0)(122=798,193,1219,620,0)(123=-1,-1,-1,-1,0)(140=-1,-1,-1,-1,0)(240=-1,-1,-1,-1,0)(190=-1,-1,-1,-1,0)(200=-1,-1,-1,-1,0)(170=-1,-1,-1,-1,0)(130=-1,-1,-1,-1,0)(131=1007,148,1601,899,1)(132=614,253,1208,1004,0)(133=599,230,1193,981,0)(160=-1,-1,-1,-1,0)(161=-1,-1,-1,-1,0)(162=-1,-1,-1,-1,0)(210=-1,-1,-1,-1,0)(211=-1,-1,-1,-1,0)(220=-1,-1,-1,-1,0)(221=-1,-1,-1,-1,0)(230=-1,-1,-1,-1,0)(234=-1,-1,-1,-1,0)(231=-1,-1,-1,-1,0)(232=-1,-1,-1,-1,0)(233=-1,-1,-1,-1,0)(150=-1,-1,-1,-1,0)(151=-1,-1,-1,-1,0)</Name>
</SetRegEntry>
<SetRegEntry>
<Number>0</Number>
<Key>ARMDBGFLAGS</Key>
<Name>-T0</Name>
</SetRegEntry>
<SetRegEntry> <SetRegEntry>
<Number>0</Number> <Number>0</Number>
<Key>UL2CM3</Key> <Key>UL2CM3</Key>
@ -130,12 +145,12 @@
<DebugFlag> <DebugFlag>
<trace>0</trace> <trace>0</trace>
<periodic>1</periodic> <periodic>1</periodic>
<aLwin>0</aLwin> <aLwin>1</aLwin>
<aCover>0</aCover> <aCover>0</aCover>
<aSer1>0</aSer1> <aSer1>0</aSer1>
<aSer2>0</aSer2> <aSer2>0</aSer2>
<aPa>0</aPa> <aPa>0</aPa>
<viewmode>0</viewmode> <viewmode>1</viewmode>
<vrSel>0</vrSel> <vrSel>0</vrSel>
<aSym>0</aSym> <aSym>0</aSym>
<aTbox>0</aTbox> <aTbox>0</aTbox>
@ -351,6 +366,10 @@
<Name>System Viewer\GPIOA</Name> <Name>System Viewer\GPIOA</Name>
<WinId>35905</WinId> <WinId>35905</WinId>
</Entry> </Entry>
<Entry>
<Name>System Viewer\TIM2</Name>
<WinId>35904</WinId>
</Entry>
</SystemViewers> </SystemViewers>
<DebugDescription> <DebugDescription>
<Enable>1</Enable> <Enable>1</Enable>
@ -412,6 +431,54 @@
<RteFlg>0</RteFlg> <RteFlg>0</RteFlg>
<bShared>0</bShared> <bShared>0</bShared>
</File> </File>
<File>
<GroupNumber>2</GroupNumber>
<FileNumber>4</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
<bDave2>0</bDave2>
<PathWithFileName>..\drivers\Driver_Timer.c</PathWithFileName>
<FilenameWithoutPath>Driver_Timer.c</FilenameWithoutPath>
<RteFlg>0</RteFlg>
<bShared>0</bShared>
</File>
<File>
<GroupNumber>2</GroupNumber>
<FileNumber>5</FileNumber>
<FileType>5</FileType>
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
<bDave2>0</bDave2>
<PathWithFileName>..\drivers\Driver_Timer.h</PathWithFileName>
<FilenameWithoutPath>Driver_Timer.h</FilenameWithoutPath>
<RteFlg>0</RteFlg>
<bShared>0</bShared>
</File>
<File>
<GroupNumber>2</GroupNumber>
<FileNumber>6</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
<bDave2>0</bDave2>
<PathWithFileName>..\drivers\Driver_ADC.c</PathWithFileName>
<FilenameWithoutPath>Driver_ADC.c</FilenameWithoutPath>
<RteFlg>0</RteFlg>
<bShared>0</bShared>
</File>
<File>
<GroupNumber>2</GroupNumber>
<FileNumber>7</FileNumber>
<FileType>5</FileType>
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
<bDave2>0</bDave2>
<PathWithFileName>..\drivers\Driver_ADC.h</PathWithFileName>
<FilenameWithoutPath>Driver_ADC.h</FilenameWithoutPath>
<RteFlg>0</RteFlg>
<bShared>0</bShared>
</File>
</Group> </Group>
<Group> <Group>

View file

@ -340,7 +340,7 @@
<MiscControls></MiscControls> <MiscControls></MiscControls>
<Define></Define> <Define></Define>
<Undefine></Undefine> <Undefine></Undefine>
<IncludePath>.\src;.\include</IncludePath> <IncludePath>.\src;.\include;..\drivers</IncludePath>
</VariousControls> </VariousControls>
</Cads> </Cads>
<Aads> <Aads>
@ -404,6 +404,26 @@
<FileType>5</FileType> <FileType>5</FileType>
<FilePath>..\drivers\Driver_GPIO.h</FilePath> <FilePath>..\drivers\Driver_GPIO.h</FilePath>
</File> </File>
<File>
<FileName>Driver_Timer.c</FileName>
<FileType>1</FileType>
<FilePath>..\drivers\Driver_Timer.c</FilePath>
</File>
<File>
<FileName>Driver_Timer.h</FileName>
<FileType>5</FileType>
<FilePath>..\drivers\Driver_Timer.h</FilePath>
</File>
<File>
<FileName>Driver_ADC.c</FileName>
<FileType>1</FileType>
<FilePath>..\drivers\Driver_ADC.c</FilePath>
</File>
<File>
<FileName>Driver_ADC.h</FileName>
<FileType>5</FileType>
<FilePath>..\drivers\Driver_ADC.h</FilePath>
</File>
</Files> </Files>
</Group> </Group>
<Group> <Group>
@ -812,6 +832,26 @@
<FileType>5</FileType> <FileType>5</FileType>
<FilePath>..\drivers\Driver_GPIO.h</FilePath> <FilePath>..\drivers\Driver_GPIO.h</FilePath>
</File> </File>
<File>
<FileName>Driver_Timer.c</FileName>
<FileType>1</FileType>
<FilePath>..\drivers\Driver_Timer.c</FilePath>
</File>
<File>
<FileName>Driver_Timer.h</FileName>
<FileType>5</FileType>
<FilePath>..\drivers\Driver_Timer.h</FilePath>
</File>
<File>
<FileName>Driver_ADC.c</FileName>
<FileType>1</FileType>
<FilePath>..\drivers\Driver_ADC.c</FilePath>
</File>
<File>
<FileName>Driver_ADC.h</FileName>
<FileType>5</FileType>
<FilePath>..\drivers\Driver_ADC.h</FilePath>
</File>
</Files> </Files>
</Group> </Group>
<Group> <Group>