martes, 11 de mayo de 2021

 

4.3.2 Protección contra sobre escritura

Como se pudo observar en la Figura 4.13, se protege el bloque donde se almacena el salto al bootloader con “Dirección +16” y “Borrar primer bloque”. La protección del arrancador se lleva a cabo con “¿Dirección límite +1?”, esta toma de decisión revisa que no se grabe sobre el bootloader ya que la dirección límite es un bloque anterior al que se almacena.

El sumar 16 a la dirección es básicamente el mismo principio que el de eliminar el primer bloque del fichero, solo que en vez de ignorar las primeras dos líneas, el sumar 16 las recorre. Si se desea ocupar el grabado genérico hay que tener en cuenta que:

·         El desplazamiento de la grabación puede ocasionar que los saltos no se realicen correctamente.

·         Los fuses CONFIG no pueden ser modificados.

·         La configuración del fuse del oscilador es HS.

El desplazamiento puede ser solucionado con la función NOP en el caso de ASM, o haciendo el desplazamiento desde el entorno de programación para que los saltos se realicen correctamente.

Los fuses CONFIG no pueden ser modificados para mantener la integridad del bootloader, por lo que el pin 1 será RESET y el oscilador funcionará en HS, como se mencionó, además no se podrá incluir WatchDog ya que este está desactivado.

 

4.3.3 Transmisión de bytes.

El  protocolo de escritura del PIC toma un tiempo considerable, por lo que la aplicación también requiere esperar para transmitir el siguiente valor. 

Tomando en cuenta que el PIC ocupa cuatro ciclos de reloj por cada instrucción y se ocupa un oscilador de 20Mhz, el tiempo de ejecución por cada instrucción es de 200ns [21]. 

 

Teniendo en cuenta que el proceso de grabación y su regreso a la espera de un dato recibido es de 36 instrucciones, el tiempo que deberá esperar la aplicación para transmitir cada byte es de 7.2ms, sin embargo, se programó con un tiempo de espera de 10ms mediante el método Sleep de la clase Thread la cual permite retardos sin necesidad de saturar al procesador con saltos [24].

No hay comentarios:

Publicar un comentario