README.md with corrections/improvements

pull/151/head
zanez 2 years ago
parent da305ff04a
commit 6b17b91fba

@ -2,16 +2,16 @@
## tl;dr
* Introduciendo la macro global `print!()` para habilitar "printf debugging" lo más pronto posible.
* Para mantener una duración razonable en este tutorial, imprimir funciones por el momento "abusa" una propiedad de QEMU que nos permite hacer uso del `UART` de la Raspberry sin haberla configurado apropiadamente.
* Usar el hardware real de `UART` se habilitará paso por paso en los siguientes tutoriales.
* Se añade la macro global `print!()` para habilitar la "depuración basada en printf" ("printf debugging") lo más pronto posible.
* Para mantener una duración razonable en este tutorial, las funciones de impresión por el momento "abusan" una propiedad de QEMU que nos permite hacer uso del `UART` de la Raspberry sin haberla configurado apropiadamente.
* El uso del hardware real de `UART` se habilitará paso por paso en los siguientes tutoriales.
## Adiciones notables
* `src/console.rs` introduce la interfaz `Traits` para comandos de consola.
* `src/console.rs` introduce una interfaz con `Trait`s para comandos de consola.
* `src/bsp/raspberrypi/console.rs` implementa la interfaz para que QEMU pueda crear una emulación de UART.
* El *panic handler* (manipulador de pánico) hace uso de la nueva macro `print!()` para mostrar mensajes de error del usuario.
* Hay un nuevo objetivo Makefile, `make test`, destinado a la automatización de pruebas. Este comando inicia el kernel (núcleo) compilado en `QEMU`, y busca una cadena específica que ha sido producida por el kernel (núcleo).
* El *panic handler* (manejador de pánico) hace uso de la nueva macro `print!()` para mostrar mensajes de error del usuario.
* Hay un nuevo objetivo en el Makefile: `make test`, destinado a la automatización de pruebas. Este comando inicia el kernel (núcleo) compilado en `QEMU`, y busca una cadena de texto específica en la salida que ha sido producida por el kernel (núcleo).
* En este tutorial, se buscará la cadena `Stopping here`, que es creada por la macro `panic!()` al final del archivo `main.rs`.
## Pruébalo
@ -29,8 +29,11 @@ Kernel panic: Stopping here.
### Diccionario
* *Hacky:* Solución torpe o poco elegante para un problema.
* *Debugging:* Proceso para identificar y corregir errores de programación.
* *printf debugging:* Usado para describir el trabajo de *debugging* poniendo comandos que dan una salida en consola, como el de "printf", en diferentes lugares del programa; observando la información y tratando de deducir qué está mal en el programa basandose en la información que nos da nuestros comandos.
* *printf debugging:* Usado para describir el trabajo de depuración (*debugging*) poniendo comandos que dan una salida en consola, como el de "printf", en diferentes lugares del programa; observando la información y tratando de deducir qué está mal en el programa basándose en la información que nos dan nuestros comandos.
* *Traits:* Un *trait* le hace saber al compilador de Rust acerca de una funcionalidad que tiene un tipo de dato particular y que puede compartir con otros tipos de datos.
> NOTA: Los *traits* son similares a una característica que se le conoce comúnmente como *interfaces* en otros lenguajes, aunque con algunas diferencias.

@ -35,8 +35,8 @@ Stopping here.
```
## Diff to previous
```diff
```diff
diff -uNr 02_runtime_init/Cargo.toml 03_hacky_hello_world/Cargo.toml
--- 02_runtime_init/Cargo.toml
+++ 03_hacky_hello_world/Cargo.toml
@ -358,5 +358,4 @@ diff -uNr 02_runtime_init/tests/boot_test_string.rb 03_hacky_hello_world/tests/b
+# frozen_string_literal: true
+
+EXPECTED_PRINT = 'Stopping here'
```

Loading…
Cancel
Save