Treinamento Freescale MQX RTOS

- por Sergio Prado

Categorias: Treinamentos Tags: , ,

Este mês a Embedded Labworks está lançando mais um treinamento, desta vez focado no sistema operacional de tempo real MQX.

O MQX é o RTOS disponibilizado pela Freescale para utilização com suas plataformas de hardware, incluindo Kinetis, Vybrid, ColdFire e Power Architecture. A grande vantagem do MQX perante outros RTOS’s é sua integração com o hardware, já que todos os drivers já vêm integrados ao kernel, além das pilhas de protocolo TCP/IP e implementações host/device USB.

mqx

O treinamento visa introduzir o participante nos conceitos de um sistema operacional de tempo real, cobrindo toda a API do MQX, incluindo:

  • Classificação de sistemas de tempo real, sistemas foreground, background e suas deficiências, kernel de tempo real e sistemas multitarefa, troca de contexto, escalonador e outros conceitos de um RTOS.
  • Apresentação do kit de desenvolvimento e da ferramenta de desenvolvimento.
  • Características do MQX, versões disponíveis, documentação e código-fonte.
  • Arquitetura de uma aplicação baseada em tarefas, template de tarefas, iniciando o MQX, criando e finalizando tarefas, definindo prioridades, políticas de escalonamento, tick interrupt, tarefas orientadas à eventos, os estados de uma tarefa, desenvolvendo tarefas periódicas com rotinas de delay, a tarefa idle.
  • Trocas de mensagens entre tarefas, messages e lightweight messages, message pools, private message queues e system message queues.
  • Mecanismos de sincronização no MQX, semaphores e lightweight semaphores, event flags e lightweight events, task queues e timers.
  • Desenvolvendo uma rotina de tratamento de interrução (ISR), sincronizando rotinas de tratamento de interrupção e tarefas, tratamento de interrupção no MQX, implementando a ISR do usuário, cuidados ao implementar uma ISR, prioridades das interrupções.
  • Gerenciando o acesso aos recursos da aplicação, critical sessions e mutual exclusion, desabilitando interrupções, desabilitando a preempção, usando semáforos e trabalhando com mutex, name component, inversão de prioridade e herança de prioridade, deadlock e tarefas Gatekeeper.
  • Alocação e desalocação de memória no MQX, pools de memória, lightweight memory manager, trabalhando com partitions, lendo o espaço disponível no heap, uso do stack e stack overflow, monitorando o stack de uma tarefa.
  • Dicas para integrar bibliotecas externas em um projeto com o MQX, selecionando bibliotecas, MQX I/O, MQX RTCS, MQX USB host/device, MQX MFS, bibliotecas da comunidade, integrando uma biblioteca com o MQX.
  • Logs da aplicação, lightweight logs, logs do kernel, run-time testing, watchdog de tarefas, task-aware debugging.
  • Como dividir uma aplicação em tarefas e definir as prioridades de cada tarefa, definindo o tamanho do stack de cada tarefa, identificando stack overflow, definindo o tamanho do heap da aplicação, comunicação entre tarefas e entre interrupção e tarefa, trabalhando com interrupções.
  • Recursos online, documentação, application notes, livros, comentários e dúvidas finais.

A página ofi­cial do treina­mento está disponível no site da Embedded Labworks.

A agenda e os slides do treina­mento também já estão disponíveis.

No momento o treinamento está sendo oferecido para empresas, e é bem provável que em breve faremos alguns Roadshows de MQX.

Qualquer dúvida é só entrar em contato por e-mail.

Um abraço,

Sergio Prado

Navegue
Creative Commons Este trabalho de Sergio Prado é licenciado pelo
Creative Commons BY-NC-SA 3.0.