Padrões de design para comunicação interprocessos (2/3) (Artigo)
Padrões de design para comunicação interprocessos (1/3) (Artigo)
O conceito de Unidade Concorrente é introduzido para analisar o problema fundamental que a comunicação interprocessos soluciona. Padrões de design são descritos, representados em UML e em menor parte em C.
Separando espaços de usuário e supervisor no ARM Cortex-M3 (White Paper)
Continuação da publicação anterior. Desta vez espaços de usuário e supervisor são delimitados, o que exige mudanças no desenho e implementação do scheduler. Além disso, mecanismos para entrada e saída do modo supervisor (system calls) são implementados com Supervisor Calls.
Um primeiro kernel preemptivo para o ARM Cortex M3 (White Paper)
Demonstra o design e implementação de um kernel mínimo que escalona as tarefas em formato Round Robin, em um processador com arquitetura ARM Cortex M3.
SOA para a diminuição da hardware-dependência (Artigo)
Modela e demonstra snippets de meta-padrão orientado a objetos em C para diminuir o acoplamento entre hardware e software, e por conseguinte otimizar a reusabilidade de componentes de software em sistemas embarcados.
Abordagens para projeto low-power (2/2) (Artigo)
Continuando a discussão anterior, mais algumas técnicas para a diminuição do consumo no projeto de SoCs são pinceladas, desta vez em nível arquitetural.
Abordagens para projeto low-power (1/2) (Artigo)
A ideia de arquitetura de systems on chip é discutida e seus níveis de abstrações mais comuns são expostos para comentar técnicas de redução de consumo em nível de sistema.
Escalonamento Cooperativo em Software Embarcado (2/2) (Artigo)
Os conceitos anteriores são estendidos e aplicados na criação de um scheduler cooperativo com critérios temporais em um Atmega 328p.
Escalonamento Cooperativo em Software Embarcado (1/2) (Artigo)
Introduz conceitos de escalonamento de tarefas em multitasking/threading em software embarcado.
Operando números negativos em computadores (Artigo)
Análise da matemática que fundamenta a implementação de números negativos (relativos) em computadores.