Compartilhe:
Início > NXP MQX RTOS

NXP MQX RTOS

Este treina­mento visa introduzir o participante no desenvolvimento de aplicações com o sistema operacional de tempo real MQX da NXP.

Através de uma abordagem prática, 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.

Para mais detal­hes sobre o con­teúdo, você pode consultar a agenda e os slides do treina­mento.

Os slides deste treinamento são liberados sob a licença Creative Commons BY-SA 3.0, e os fontes podem ser baixados aqui.

Algumas fotos dos treinamentos já realizados podem ser visualizadas aqui.

Público-alvo

Estu­dantes, engen­heiros, desen­volve­dores e líderes de equipes de desen­volvi­mento de soft­ware para sis­temas embar­ca­dos.

Pré-requisitos

Conhecimentos intermediários de linguagem C e desenvolvimento de firmware para microcontroladores.

Equipa­men­tos

Todos os equipa­men­tos necessários são forneci­dos pela Embedded Lab­works.

Mate­r­ial de estudo

O mate­r­ial de estudo é com­posto pelos slides das apre­sen­tações, o livro de ativi­dades e exer­cí­cios, os guias de refer­ên­cia e doc­u­men­tos de estudo adi­cionais. Todo o mate­r­ial será fornecido de forma eletrônica no iní­cio do treina­mento.

Kit de desenvolvimento

Neste treinamento será utilizada a plataforma Freedom da NXP (FRDM-KL46Z), composta por um microcontrolador Kinetis KL46 (ARM Cortex-M0+) e diversas interfaces de comunicação e controle. Para mais informações sobre esta plataforma, clique aqui.

Turmas abertas

Os treinamentos em turmas abertas são realizados em um ambiente agradável, com um laboratório devidamente equipado e acesso à Internet. As aulas são normalmente ministradas em período integral, com uma parada para o almoço e um coffee-break pela manhã.

Caso esteja interessado em participar do treinamento e não exista uma turma aberta, faça a pré-inscrição clicando aqui. Entraremos em contato assim que uma nova turma for aberta.

Treinamentos in-company

Se você planeja capacitar a sua equipe, considere um treinamento na sua empresa.

Turmas fechadas para treinamento in-company possuem as mesmas características de uma turma aberta. Neste modelo, a empresa é responsável por fornecer os recursos necessários para a realização do treinamento, incluindo sala, datashow e as máquinas de desenvolvimento. Esse modelo também traz grande economia para a empresa, já que o custo do transporte e estadia de vários funcionários é reduzido apenas ao do instrutor.

Se sua empresa tem uma necessidade especial, podemos estudar um programa que atenda sua necessidade de forma direcionada, como preparar o treinamento para uma plataforma de hardware específica ou desenvolver um conteúdo adicional. Não hesite em entrar em contato por e-mail ou pela página de contato.

Treinamentos na sua cidade

Você pode levar os treina­mentos para sua comu­nidade, em qual­quer cidade do Brasil.

Você não tem condições de realizar o curso em São Paulo? Você tem um grupo de estu­dos e quer aprender mais sobre determinada tecnologia? Você coor­dena ou par­tic­ipa da coor­de­nação de algum curso na sua uni­ver­si­dade e gostaria de treinar seus alunos? Você tem um espaço, quer reunir os ami­gos e pas­sar agradáveis horas apren­dendo sobre sistemas embar­cados?

Mande um e-mail ou uma mensagem para nós. Informe seu curso de interesse e também a sua cidade. Se conseguirmos formar uma turma, poderemos levar o treinamento para a sua cidade!

Ainda tem dúvidas?

Em caso de dúvidas, críticas ou sugestões, envie um e-mail ou deixe uma mensagem na página de contato.

Entre em contato