tdse-tp0_03-hw_sw_test

FIUBA - Electrónica - Taller de Sistemas Embebidos - Trabajo Práctico N°: 0 - Proyecto N°: 03
Index Commits Files Refs README
README.md (3006B)
   1 # Taller de Sistemas Embebidos
   2 
   3 ```console
   4 .
   5 |-- app
   6 |   |-- inc
   7 |   |   |-- app_commented_read.me
   8 |   |   |-- app.h
   9 |   |   |-- board.h
  10 |   |   |-- dwt.h
  11 |   |   |-- logger.h
  12 |   |   |-- systick.h
  13 |   |   |-- task_a.h
  14 |   |   |-- task_b.h
  15 |   |   `-- task_c.h
  16 |   |-- src
  17 |   |   |-- app.c
  18 |   |   |-- app_commented_read.me
  19 |   |   |-- logger.c
  20 |   |   |-- systick.c
  21 |   |   |-- task_a.c
  22 |   |   |-- task_a_commented_read.me
  23 |   |   |-- task_b.c
  24 |   |   |-- task_b_commented_read.me
  25 |   |   `-- task_c.c
  26 |   |-- app.txt
  27 |   |-- readme.txt
  28 |   `-- task_x.txt
  29 |-- Core
  30 |   |-- Inc
  31 |   |   |-- main.h
  32 |   |   |-- stm32f1xx_hal_conf.h
  33 |   |   `-- stm32f1xx_it.h
  34 |   |-- Src
  35 |   |   |-- main.c
  36 |   |   |-- stm32f1xx_hal_msp.c
  37 |   |   |-- stm32f1xx_it.c
  38 |   |   |-- syscalls.c
  39 |   |   |-- sysmem.c
  40 |   |   `-- system_stm32f1xx.c
  41 |   `-- Startup
  42 |       `-- startup_stm32f103rbtx.s
  43 |-- Debug
  44 |   |-- app
  45 |   |   `-- src
  46 |   |-- Core
  47 |   |   |-- Src
  48 |   |   `-- Startup
  49 |   |-- Drivers
  50 |   |   `-- STM32F1xx_HAL_Driver
  51 |   |-- makefile
  52 |   |-- objects.list
  53 |   |-- objects.mk
  54 |   |-- sources.mk
  55 |   |-- tdse-tp0_03-hw_sw_test.elf
  56 |   |-- tdse-tp0_03-hw_sw_test.list
  57 |   `-- tdse-tp0_03-hw_sw_test.map
  58 |-- Drivers
  59 |   |-- CMSIS
  60 |   |   |-- Device
  61 |   |   |-- Include
  62 |   |   `-- LICENSE.txt
  63 |   `-- STM32F1xx_HAL_Driver
  64 |       |-- Inc
  65 |       |-- Src
  66 |       `-- LICENSE.txt
  67 |-- README.md
  68 |-- STM32F103RBTX_FLASH.ld
  69 |-- tdse-tp0_03-hw_sw_test.cfg
  70 |-- tdse-tp0_03-hw_sw_test.ioc
  71 `-- tdse-tp0_03-hw_sw_test.launch
  72 
  73 23 directories, 45 files
  74 ```
  75 
  76 ## Archivo `Core/Startup/startup_stm32f103rbtx.s`
  77 
  78 Esta escrito en arm assembly y se ejecuta al resetear el microcontrolador, el
  79 propósito es inicializar los registros principales (como el stack pointer o el
  80 program counter) la memoria y periféricos, para finalmente transferir el
  81 control a la aplicación principal, la cual el punto de entrada es la función
  82 `main()`, esto se puede ver en la linea 100 del archivo, en la cual se ejecuta
  83 una instrucción `bl` (branch with link) y luego el símbolo `main`. El único tipo
  84 de dato utilizado es `word` que representa una variable de 4 bytes (o 32 bits).
  85 
  86 ## Archivo `Core/Src/main.c`
  87 
  88 El archivo `main.c` es un archivo escrito en C que contiene el punto de entrada
  89 del programa principal, este punto de entrada es invocado al momento de
  90 inicializar el microcontrolador, como se mencionó previamente. El patrón de
  91 diseño de este archivo es procedural, ya que la ejecución del programa se lleva
  92 a cabo mediante la invocación de diferentes funciones o subrutinas.
  93 
  94 Los métodos que se encuentran en este archivo además de la (función principal
  95 `main`) son: `initialise_monitor_handles`, `HAL_Init`, `SystemClock_Config`,
  96 `MX_GPIO_Init`, `MX_USART2_UART_Init`, `app_init`, `app_update`,
  97 `Error_Handler`.
  98 
  99 ## Archivo `Core/app/app.c`
 100 
 101 En este archivo se definen las funciones `app_init`,`app_update` que se invocan
 102 en la función `main`, y el callback `HAL_SYSTICK_Callback`, este ultimo es
 103 llamado automáticamente