Thank you very much!
(Here is a kind of tutorial for those who don't want to use the IDE
)
I was afraid to brick my Digipark...
I thus wrote a small 'blink.c' program :
#include <avr/io.h>
#define F_CPU 16000000UL
#include <util/delay.h>
int main(void)
{
DDRB |= _BV(PB3);
while(1)
{
_delay_ms(1000);
PORTB ^= _BV(PB3);
}
}
(edit: As PB3 is used by USB, PB1 is probably a better option (and is the board LED)) and did
$ avr-gcc -mmcu=attiny85 -Os -o blink.elf blink.c
$ avr-objcopy -j .text -j .data -O ihex blink.elf blink.hex
$ micronucleus --run blink.hex
And got a blinking LED on P3 (and was still able to reflash it with another delay or another program).
I was a little bit surprised the clock speed was 16 MHz but it is explained on
https://digistump.com/wiki/digispark/tricks .
(I think I just needed
$ sudo apt-get install gcc-avr binutils-avr avr-libc
$ git clone https://github.com/micronucleus/micronucleus.git
$ ...
(I am not quite sure because I already apt-get install arduino))
So, it is easy (easier for me than using the (modified) Arduino IDE) and (probably) foolproof (?). In fact, I don't know/understand yet how the power-on-reset boot process works on such an AVR but I understand that control is ever given to the micronucleus bootloader firmware and that I can not change that by mistake using micronucleus (as it is an intricate process, if possible at all (?) or needs 'avrdude' and involves ISP programming).