Treinamento Freescale MQX RTOS
- por Sergio Prado
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.
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 oficial do treinamento está disponível no site da Embedded Labworks.
A agenda e os slides do treinamento 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
Sem Comentários
Nenhum comentário até agora... é a sua chance de ser o primeiro a comentar!