Photo by Jonathan Borba on Unsplash — Acredito que esta seja uma boa forma de chamar atenção.
Nesta parte farei algumas anotações a respeito dos primeiros capítulos do livro Mastering The FreeRTOS Kernel, pré v9, continuando a primeira parte desta série.
Capítulo 1 — A distribuição FreeRTOS
Alguns dos termos que usaremos nesta parte são originários do inglês e por uma questão de facilidade, serão listados e definidos aqui (como um header):
Port: Um port é uma transposição de uma tecnologia, de um sistema para outro, por exemplo: existe uma distribuição do FreeRTOS para x86, bem como uma para o ESP32(o queridinho daqui!), e tantas outras para PIC’s, AVR, CORTEX e outros. Não confundir com o significado programático de port, que pode se referir a uma porta, como a 80 para internet, ou pino ou algum outro recurso de um microcontrolador. O livro diz que o FreeRTOS pode ser compilado em mais de vinte compiladores e rodar em mais de trinta arquiteturas diferentes, logo, cada combinação de compilador+arquitetura é um port.
Queue: As queues, ou filas, são estruturas que permitem a inserção/extração de objetos na forma First In First Out, ou FIFO, ou quem entra primeiro, sai primeiro, como a fila num caixa. No contexto do FreeRTOS não é muito diferente, mas se pode entender como um lugar onde podemos armazenar dados para troca entre tasks.
Timers:Timers são, como o nome sugere fortemente, temporizadores, e sua função é contar tempo. Não especificamente tempo cronológico, pois poderia ser tempo de máquina, mas ainda tempo.
O FreeRTOS é distribuido como um único arquivo zip que contém todos os ports oficiais e um vasto número de aplicações pré-configuradas para demonstração.
Internamente…
Temos neste bloco a visualização dos principais diretórios, contendo na raíz os diretórios FreeRTOS e FreeRTOS-Plus , onde em cada diretório Source temos os arquivos de fonte e nas Demo temos exemplos completos. O diretório FreeRTOS-Plus contém componentes do ecossistema FreeRTOS.
FreeRTOS
│ │
│ ├─Source
│ │
│ └─Demo
│
FreeRTOS-Plus
│
├─Source
│
└─Demo
Existem alguns arquivos comuns a todos os ports do FreeRTOS, que são:
**tasks.c **Este arquivo fornece funcionalidades de tarefas.Sempre é requerido.
**lists.c **A descrição deste aqui ainda não está pronta, mas adicionarei assim que possível.
*queue.c **Este arquivo fornece funcionalidades de semáforos e *queues. Quase sempre é requerido.
timers.c Este aqui provê funcionalidades de timers lógicos. Precisa ser incluído caso se utilizem software timers.
event_groups.c* Este nos fornece funcionalidades de eventos de grupo, como pretendo estudar *à posteriori. Necessário se eventos de grupo forem utilizados.
**croutine.c **Este arquivo contém as co-rotinas. que são utilizadas somente em microcontroladores muito pequenos. Não serão abordadas aqui. No site, na v10, já estão descontinuadas.
Na listagem abaixo podemos ver como isso fica em forma de árvore.
FreeRTOS
│
└─Source
│
├─tasks.c
├─list.c
├─queue.c
├─timers.c
├─event_groups.c
└─croutine.c
Admito que neste artigo não agreguei conteúdo na quantidade que gostaria nesta parte, mas para não misturarmos assuntos, e porque estou extremamente cansado hoje, vamos encerrar por aqui e na próxima trarei mais. Desde já meus agradecimentos prévios por sua atenção. Até a próxima.
Top comments (0)