Artigos e White Papers

Padrões de design para comunicação interprocessos (2/3) (Artigo)

Padrões de design para comunicação interprocessos (1/3) (Artigo)

A IPC é apresentada como uma solução para os problemas advindos do fenômeno da Concorrência entre processos. O conceito de Unidade Concorrente é introduzido para analisar o problema fundamental que a IPC 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.