segunda-feira, 9 de dezembro de 2024

MILK-V - UTILIZANDO ZIG PARA PROGRAMAR DUO S

 

ZIG

Home ⚡ Zig Programming Language

A linguagem Zig é uma linguagem de programação de sistemas projetada para ser robusta, otimizada e simples. Criada por Andrew Kelley, Zig se destaca por seu foco em segurança, desempenho e controle sobre o hardware

https://ninelabs.blog/introducao-a-linguagem-de-programacao-zig/.

Principais Características do Zig:

1. Eficiência de Desempenho: Zig oferece desempenho próximo ao do C, mas com uma linguagem moderna e recursos adicionais. Não utiliza coletor de lixo, dando ao desenvolvedor controle total sobre a alocação e liberação de memória

https://ninelabs.blog/introducao-a-linguagem-de-programacao-zig/.

2. Segurança e Robustez: Inclui várias verificações de segurança em tempo de compilação, como verificação de limites de array e análise estática, ajudando a prevenir erros comuns que podem levar a falhas de segurança

https://ninelabs.blog/introducao-a-linguagem-de-programacao-zig/.

3. Compatibilidade com C: Zig é totalmente compatível com C, permitindo a integração de código Zig em projetos existentes em C ou o uso de bibliotecas C diretamente no Zig

https://ninelabs.blog/introducao-a-linguagem-de-programacao-zig/.

4. Gerenciamento de Pacotes e Construção: Possui um gerenciador de pacotes e um sistema de construção integrados, simplificando o processo de dependências e construção de projetos

https://ninelabs.blog/introducao-a-linguagem-de-programacao-zig/.

5. Compilação Cruzada: Facilita a compilação cruzada para diferentes plataformas e arquiteturas, sem a complexidade usual de configuração de compiladores cruzados

https://ninelabs.blog/introducao-a-linguagem-de-programacao-zig/.

Casos de Uso do Zig:

•  Desenvolvimento de Sistemas Operacionais: Ideal para criar sistemas operacionais devido ao seu controle sobre o hardware e eficiência.

•  Desenvolvimento de Drivers: Excelente para escrever drivers, graças à sua capacidade de interagir diretamente com o hardware.

•  Aplicações de Tempo Real: Adequado para sistemas que exigem respostas rápidas e determinísticas, como sistemas embarcados.

•  Ferramentas de Linha de Comando: Simplicidade e eficiência fazem de Zig uma boa escolha para ferramentas rápidas e leves

https://ninelabs.blog/introducao-a-linguagem-de-programacao-zig/.

const std = @import("std"); pub fn main() !void { const stdout = std.io.getStdOut().writer(); try stdout.writeAll("Hello from Zig\n"); }








BLINK

const std = @import("std"); const wx = @cImport({ @cInclude("wiringx.h"); }); pub fn main() !void { const stdout = std.io.getStdOut().writer(); try stdout.writeAll("LED BLINKING WITH Zig\n"); const DUO_LED = 26; var board = "milkv_duo256m".*; _ = wx.wiringXSetup(&board, null); _ = wx.pinMode(DUO_LED, wx.PINMODE_OUTPUT); while (true) { try stdout.print("Duo LED GPIO (wiringX) {d}: High\n", .{DUO_LED}); _ = wx.digitalWrite(DUO_LED, wx.HIGH); std.time.sleep(1000000000); try stdout.print("Duo LED GPIO (wiringX) {d}: Low\n", .{DUO_LED}); _ = wx.digitalWrite(DUO_LED, wx.LOW); std.time.sleep(1000000000); } }









zig build-exe wiringx.zig -target riscv64-linux-musl -lc -I. -lwiringx -L.

Transferindo e executando no DUO S


Referências:

tgschultz/Npp-ziglang-UDL: Notepad++ UDL for Zig
Install Zig from a Package Manager · ziglang/zig Wiki

A SMARTCORE FORNECE CHIPS E MÓDULOS PARA IOT, COMUNICAÇÃO WIRELESS, BIOMETRIA, CONECTIVIDADE, RASTREAMENTO E AUTOMAÇÃO. NOSSO PORTFÓLIO INCLUI MODEM 2G/3G/4G/NB-IOT, SATELITAL, MÓDULOS WIFI, BLUETOOTH, GPS, SIGFOX, LORA, LEITOR DE CARTÃO, LEITOR QR CCODE, MECANISMO DE IMPRESSÃO, MINI-BOARD PC, ANTENA, PIGTAIL, BATERIA, REPETIDOR GPS E SENSORES.

Nenhum comentário:

Postar um comentário