Padrão de interface de software do microcontrolador Cortex

Padrão de interface de software do microcontrolador Cortex

O CMSIS permite um suporte de dispositivo consistente e interfaces de software simples para o processador e seus periféricos, simplificando a reutilização de software, reduzindo a curva de aprendizado para desenvolvedores de microcontroladores e reduzindo o tempo de mercado para novos dispositivos.


Visão geral

A partir do CMSIS-CORE, uma camada de abstração de hardware independente do fornecedor para os processadores Cortex-M, o CMSIS expandiu-se para áreas como o gerenciamento de componentes de software e as interfaces de depurador de referência. A criação de software é um fator de custo importante na indústria incorporada. A padronização das interfaces de software em todos os produtos do fornecedor de silício Cortex-M, especialmente ao criar novos projetos ou a migrar o software existente para um novo dispositivo, significa redução significativa de custos.

O CMSIS é definido em estreita cooperação com vários fornecedores de silício e software e fornece uma abordagem comum para a interface para periféricos, sistemas operacionais em tempo real e componentes de middleware. Isso simplifica a reutilização de software, reduzindo a curva de aprendizado para novos desenvolvedores de microcontroladores e reduzindo o tempo de colocação no mercado para dispositivos.


Componentes do CMSIS

CMSIS-CORE: inicialização consistente do sistema e acesso periférico

A inicialização do sistema, o acesso ao núcleo do processador e as definições periféricas são essenciais para cada aplicativo incorporado. O CMSIS-CORE padronizado é implementado para mais de 3900 dispositivos diferentes e facilita a introdução de um novo dispositivo ou migra software em microcontroladores.

CMSIS versão 5

O CMSIS é desenvolvido publicamente no GitHub. A última versão pode ser baixada aqui:

CMSIS-RTOS: Execução determinista de software em tempo real

Um conceito de super-loop só é adequado para aplicativos embutidos simples. Os microcontroladores Cortex-M são projetados para sistemas operacionais em tempo real que oferecem controle de recursos e tempo.

O CMSIS-RTOS é uma API que permite camadas de software consistentes com componentes de middleware e biblioteca. O CMSIS-RTOS RTX é executado em todos os dispositivos Cortex-M e é a implementação de referência comprovada que é fácil de aprender e usar.

CMSIS-DSP: implementação rápida de processamento de sinal digital

O desenvolvimento de um sistema de processamento de sinais digitais em tempo real (DSP) não é trivial, já que os algoritmos DSP dependem fortemente de operações matemáticas complexas que são mesmo críticos para o tempo.

A biblioteca CMSIS-DSP é uma rica coleção de funções DSP que o Arm optimizou para os vários núcleos de processadores Cortex-M. O CMSIS-DSP é amplamente utilizado na indústria e também permite a geração de código C otimizada a partir de várias ferramentas de terceiros.

CMSIS-Driver: interfaces periféricas genéricas para middleware e código de aplicativo

Interfacing microcontroller periféricos com middleware ou código genérico de aplicação pode ser um desafio, pois cada dispositivo é diferente. As interfaces CMSIS-Driver prontas para usar estão disponíveis para muitas famílias de microcontroladores e evitam a portabilidade do driver pesada e demorada.

CMSIS-Pack: acesso fácil a componentes de software reutilizáveis

Anteriormente, os módulos de software eram difíceis de integrar, pois os arquivos de origem e de cabeçalho tinham requisitos pouco claros, documentação inconsistente ou informações de licença perdidas.

Como o CMSIS-Pack define a estrutura de um pacote de software que contém componentes de software, esses problemas são abordados. Os componentes de software são facilmente selecionáveis ​​e todas as dependências de outros softwares são destacadas.

CMSIS-SVD: visão consistente para dispositivos e periféricos

Para cada microcontrolador suportado, os depuradores podem fornecer visualizações detalhadas aos periféricos do dispositivo que exibem o estado do registro atual.

Os arquivos CMSIS-SVD permitem essas visualizações e garantem que a exibição do depurador coincida com a implementação real dos periféricos do dispositivo.

CMSIS-DAP: conectividade para hardware de avaliação de baixo custo

Planos de desenvolvimento baratos estão disponíveis em muitos fornecedores de microcontroladores. Freqüentemente, uma unidade de depuração de baixo custo está incluída, mas interfaces diferentes precisam de uma configuração de ferramenta específica.

O CMSIS-DAP é uma interface padronizada para a Porta de Acesso de Depuração Cortex (DAP) e é usado por muitos kits de inicialização e é suportado por vários depuradores.

CMSIS-NN: kernels de rede neural eficiente

As soluções baseadas em rede neural estão se tornando cada vez mais populares para aplicações de aprendizado de máquinas incorporadas.

O CMSIS-NN é uma coleção de kernels de redes neurais eficientes desenvolvidos para maximizar o desempenho e minimizar a pegada de memória de redes neurais nos núcleos de processadores Cortex-M.

 

Fonte:  https://developer.arm.com/embedded/cmsis

https://developer.arm.com/products/system-design/development-boards

https://developer.arm.com/products/system-design/development-boards/logictile-express

https://community.arm.com/b/carlosdelfino/posts/facilitando-o-desenvolvimento-para-a-proxima-geracao-de-embarcados-inteligentes-e-conectados

Anúncios

Pacote WEKA – Análise de Dados para Aprendizagem de Máquina

O pacote de software Weka (Waikato Environment for Knowledge Analysis) começou a ser escrito em 1993, usando Java, na Universidade de Waikato, Nova Zelândia sendo adquirido posteriormente por uma empresa no final de 2006. O Weka encontra-se licenciado ao abrigo da General Public License sendo portanto possível estudar e alterar o respectivo código fonte.

O Weka tem como objetivo agregar algoritmos provenientes de diferentes abordagens/paradigmas na sub-área da inteligência artificial dedicada ao estudo de aprendizagem de máquina.

Essa sub-área pretende desenvolver algoritmos e técnicas que permitam a um computador “aprender” (no sentido de obter novo conhecimento) quer indutiva quer dedutivamente.

O Weka procede à análise computacional e estatística dos dados fornecidos recorrendo a técnicas de mineração de dados tentando, indutivamente, a partir dos padrões encontrados gerar hipóteses para soluções e no extremos inclusive teorias sobre os dados em questão.

Fontes:

https://www.cs.waikato.ac.nz/ml/weka/