in Embedded Logs

Harlock v0.5.1

È con immenso piacere che annuncio il rilascio della versione 0.5.1 del linguaggio di scripting harlock!

Di seguito è possibile trovare i dettagli specifici della release, insieme agli installer per sistemi debian ed i binari per le architetture supportate.

Release note + artifacts @github/Abathargh/harlock

Compilare harlock v0.5.1 da sorgente

Qualora non vogliate un binario o la vostra specifica combinazione di sistema operativo/architettura non sia presente tra i binari pre-compilati, c’è sempre la possibilità di compilare il linguaggio da sorgente eseguendo:

go install github

o:

git clone https://github.com/Abathargh/harlock
make install

Dettagli sul rilascio

La versione v0.5.1 ha lo scopo di risolvere alcuni bug, solidificando l’uso di harlock all’interno di pipeline di build.

I principali problemi affrontati in questo rilascio sono i seguenti:

  • Gestire correttamente errori di runtime e nel motore di evaluation, quando questi arrivano ad essere innalzati fino al top-level scope. Questo problema causava il fallimento di alcune build in modo silenzioso, dato che gli error code di ritorno alle chiamate all’interprete erano sempre 0. Quando parlo di top-level scope parlo di codice eseguito nello script non all’interno del corpo di funzioni, ad esempio come questo:
var e = try open(elf_file, "elf")
var text_addr = try e.section_address(text)
var text_size = try e.section_size(text) 
  • Eliminare il supporto per le combinazioni di os/architetture non più supportate a partire da go 1.15, principalmente per sistemi 32-bit basati su darwin.
  • Aggiunta del suffisso “.exe” per eseguibili windows durante la cross-compilazione di questi su sistemi non-windows.
  • Fix minori sui file .gitignore e Makefile.

L’ultimo paio di rilasci hanno incluso un nuovo sistema della gestione degli errori che è stato testato approfonditamente e che smetterà di essere una sperimentale con la versione v0.6.0 del linguaggio. Rendere questo sistema più stabile è il principale motivo per questa v0.5.1.

Uso e nuovi sviluppi

Ho utilizzato harlock un bel po’ ultimamente, per progetti personali in cui avevo bisogno di firmware aggiornabile over the wire/air. L’ho anche usata per testare una libreria scritta in nim che mantengo, che potete trovare su github: @github.com/Abathargh/avr_io.

Un esempio esaustivo dell’uso di questa libreria e di harlock, può essere trovato nella cartella di esempi di avr_io, dove mostro come utilizzare la libreria, nim e harlock per costruire un bootloader per piattaforme embedded: avr_io/examples/bootloader.

Avevo già scritto un articolo su queste feature in passato su antima: potete trovare più dettagli in questo articolo. Approfondiremo il tema nel prossimo futuro qui su antima!

Per questo articolo è tutto, per eventuali approfondimenti o chiarimenti vi invito come al solito a commentare nella sezione qui sotto!

 

Scrivi un commento

Commento