Skip to content

Instantly share code, notes, and snippets.

@AlvarezKevinDaniel
Last active May 20, 2024 00:58
Show Gist options
  • Save AlvarezKevinDaniel/1bbb2f2c2c62be2e74e003305f960939 to your computer and use it in GitHub Desktop.
Save AlvarezKevinDaniel/1bbb2f2c2c62be2e74e003305f960939 to your computer and use it in GitHub Desktop.
3.1 Modularización

Investigacion 🌎

Alumno: Alvarez Garcia Kevin Daniel Ignacio

Ncontrol: #19211596

ARM toolchain 📌

Es un conjunto de herramientas de desarrollo de software diseñadas específicamente para trabajar con arquitecturas de procesadores ARM. Estas herramientas son esenciales para el desarrollo de software destinado a dispositivos que utilizan procesadores ARM, como teléfonos inteligentes, tabletas, sistemas embebidos y dispositivos IoT (Internet de las cosas). El ARM Toolchain generalmente incluye:

  • Compilador: El compilador traduce el código fuente escrito en lenguajes de programación como C, C++ o Rust en código máquina específico para la arquitectura ARM. Los compiladores populares incluyen GCC (GNU Compiler Collection) y LLVM/Clang.
  • Ensamblador (Assembler): El ensamblador traduce el código ensamblador, escrito en un lenguaje de bajo nivel que representa instrucciones de máquina, en código máquina ejecutable.
  • Enlazador (Linker): El enlazador combina varios archivos de código objeto generados por el compilador en un solo ejecutable o biblioteca compartida. También se encarga de resolver las referencias simbólicas entre los diferentes archivos objeto y bibliotecas.
  • Herramientas de Depuración: Estas herramientas ayudan a identificar y corregir errores en el código durante el desarrollo del software. Ejemplos de herramientas de depuración incluyen gdb (GNU Debugger) y herramientas de análisis estático de código.
  • Librerías Estándar: El ARM Toolchain incluye bibliotecas estándar que proporcionan funcionalidades comunes, como manipulación de cadenas, entrada/salida, matemáticas, etc., optimizadas para la arquitectura ARM.

Software y programas 📌

Los programas de software son secuencias de instrucciones codificadas que realizan una tarea específica en una computadora o dispositivo electrónico. Los programas pueden ser de diferentes tipos, como sistemas operativos, aplicaciones de usuario final, herramientas de desarrollo, utilidades de sistema, entre otros. El software se desarrolla utilizando herramientas de desarrollo como compiladores, editores de código, depuradores y otros.

GPT: Como funcionan 📌

GPT (Generative Pre-trained Transformer) es una arquitectura de modelo de aprendizaje profundo utilizada para tareas de generación de texto y procesamiento del lenguaje natural. GPT se basa en la arquitectura Transformer, que utiliza mecanismos de atención para procesar secuencias de entrada y generar secuencias de salida. GPT se pre-entrena en grandes conjuntos de datos utilizando tareas de autoregresión, como la predicción de la siguiente palabra en un texto dado, y luego se ajusta finamente a tareas específicas utilizando un conjunto de datos más pequeño y específico.

Diferencia entre as, ld. gcc 📌

  • as (ensamblador): Es la herramienta que traduce el código ensamblador a código máquina. El ensamblador toma archivos de texto que contienen instrucciones ensambladoras y las convierte en código objeto, que luego puede ser enlazado para formar un ejecutable.
  • ld (enlazador): El enlazador es una herramienta que toma uno o más archivos de código objeto generados por el compilador y los combina en un solo archivo ejecutable o en una biblioteca compartida. El enlazador también resuelve las referencias simbólicas entre los diferentes archivos objeto y bibliotecas.
  • gcc (GNU Compiler Collection): Es un conjunto de compiladores que incluye un compilador C (gcc), un compilador C++ (g++), un compilador Fortran (gfortran) y otros. GCC es una herramienta de compilación que traduce el código fuente en lenguajes como C o C++ en código objeto.

Cambios en MakeFile 📌

Un Makefile es un archivo utilizado por el programa Make para automatizar el proceso de compilación de un programa a partir de archivos fuente. Los Makefiles contienen reglas que especifican cómo se deben compilar los archivos fuente y cómo se deben vincular los archivos objeto resultantes. Los cambios en un Makefile pueden incluir la adición de nuevas dependencias, la modificación de opciones de compilación, la inclusión de nuevos archivos en el proceso de compilación, entre otros. Los Makefiles son fundamentales para proyectos de desarrollo de software de tamaño medio a grande, ya que permiten gestionar de manera eficiente y automatizada la compilación y el enlazado de múltiples archivos fuente.

@IoTeacher
Copy link

Gracias

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment