O exemplo de design microC/OS-II Mutex demonstra o uso de semáforos de exclusão mútua MicroC/OS-II (mutex). Ele também serve como um bom ponto de partida para projetos usando MicroC/OS-II com Nios® II processadores. Os mutexes MicroC/OS-II são muito semelhantes aos semáforos e geralmente são usados para proteger recursos compartilhados e/ou facilitar a sincronização de tarefas. A principal diferença entre um mutex e um semáforo regular é que um mutex tem o conceito de elevar a prioridade de uma tarefa que possui o mutex.
Neste exemplo de projeto mutex MicroC/OS-II, duas tarefas diferentes estão acessando um recurso compartilhado, que, neste caso, é um monitor LCD.
A tarefa chamada task1() imprime o status da conexão UART do Joint Task Action Group (JTAG) na linha superior do LCD. Um "1" significa que o JTAG UART detecta uma conexão válida com o programa nios2-terminal. Um "0" significa que o JTAG UART não tem mais conexão com o programa nios2-terminal. Após a inicialização com STDOUT definida como JTAG UART, é detectada uma conexão válida. Se o programa nios2-terminal for interrompido ou o cabo JTAG estiver desconectado, o estado da conexão mudará alguns segundos depois. A tarefa chamada task2() imprime há quanto tempo o sistema está sendo executado na linha inferior do LCD.
Usando este exemplo de projeto
Certifique-se de ter instalado um kit Nios II de desenvolvimento. Baixe o exemplo de design microC/OS-II Mutex e descompacte os arquivos em um diretório sob o caminho do kit <Nios II>/exemplos/software (por exemplo, caminho do kit de <Nios II>/exemplos/software/ucosII_mutex). Se instalado neste diretório, o exemplo de projeto estará disponível como um modelo de projeto Nios II ambiente de desenvolvimento integrado (IDE). O exemplo de design do MicroC/OS-II Mutex inclui as configurações do projeto necessárias para executar este exemplo de projeto na configuração de hardware de destino suportada. Para usar o exemplo de projeto Mutex MicroC/OS-II, basta criar um novo projeto de aplicativo C/C++ no IDE e escolher o modelo de projeto desejado.
O uso deste design é regido por, e sujeito, aos termos e condições do Contrato de licença de exemplo de projeto Intel®.
Requisitos de hardware
O exemplo de projeto MicroC/OS-II exige que os seguintes dispositivos esteja presente no design de hardware de destino:
- Exibição de caracteres LCD
- JTAG UART
- Timer
Você pode executar este exemplo de projeto nos seguintes exemplos Nios® II de design de hardware:
- Stratix® exemplos de projeto II
- Padrão
- Destaque completo
- Cyclone® exemplos de design II
- Padrão
- Destaque completo