Witaj na Forum Linuxiarzy
Zanim zalogujesz się, by pisać na naszym forum, zapoznaj się z kilkoma zasadami savoir-vivre'u w dziale Administracja.
Wiadomości z problemami zamieszczone w wątku "Przywitaj się" oraz wszelkie reklamy na naszym forum będą usuwane.

Ubuntu 24.04 pod Windows 10 Pro z WSL ver 2.0, kompilacja attiny824.

Zaczęty przez spairo, Grudzień 07, 2025, 05:07:31 PM

Poprzedni wątek - Następny wątek

spairo

- jestem użytkownikem systemu Ubuntu od 2 godzin.
- na systemie win 10 Pro z pomocą wsl.exe ver 2.0 wgrałem Ubuntu ver 24.04.
- w ubuntu uaktualniłem pakiety, wgrane Python, PIP, działa.
- kod do kompilacji attiny824 jest kompilowany pod Ubuntu.
- poniższe komendy działają
sudo apt update
sudo apt install python3-pip

- kolejna zgłasza błąd
sudo apt install -y avr-gcc.
- komunikat podaje że nie widzi lokalizacji pakietu avr-gcc.
- wcześnie w instrukcji proszą o instalację GCC toolchain dla AVR-GCC
 [pymcuprog](https://github.com/microchip-pic-avr-tools/pymcuprog), etc.)
pymcuprog
- tego nie potrafię zainstalowac.
- przegladałem tutoriale z instalacji avr-gcc ale to wszystko były starsze wersje z avrdude,
- tutaj pymcuprog to chyba pythonowe skrypty.
- jak zainstalować ten pakiet z gcc toolchainem ?
 jeszcze jest komenda gdzie są instalowane pakiety w środowisku wirtualnym
pip3 install -r requirements.txt
- gdzie plik *.txt jest w katalogu attiny824
- czy może na forum były jakieś artykuły o instalacji pakietów producenta do poczytania.

linux4ever

@spairo U mnie to nazywa sie
Cytatgcc-avr - Kompilator GNU C (kompilator krzyżowy do avr)

https://github.com/m3y54m/start-avr

Cytatsudo apt-get install gcc build-essential
sudo apt-get install gcc-avr binutils-avr avr-libc gdb-avr
sudo apt-get install libusb-dev
sudo apt-get install avrdude

Co do githuba pymcuprog to tylko kod źródłowy programu a nie program wykonywalny.

Najszybciej zainstalujesz program wykonywalny przez pipx czyli sudo apt install pipx

Potem pipx install pymcuprog następnie pipx ensurepath następnie zamykasz okno i otwierasz je ponownie.

Po tych krokach pymcuprog będzie działał.









"Dawniej ludzie uczyli się dla samych siebie, dziś robią to na pokaz. "-Konfucjusz

pavbaranov

Cytat: spairo w Grudzień 07, 2025, 05:07:31 PM<CUT>
- kolejna zgłasza błąd
sudo apt install -y avr-gcc.
- komunikat podaje że nie widzi lokalizacji pakietu avr-gcc.
Pytanie: komenda apta oraz Twój potem komentarz jest z dokładnym przytoczeniem nazwy paczki?
Po pierwsze - jeśli tak, to chyba nie znam paczki linuksowej, której nazwa kończyłaby się kropką (".").
Po drugie - szukajka paczek w Ubuntu 24.04 podaje inną (odwrotna kolejność) nazwę tej paczki.
CachyOS (niekiedy mocno zmiksowany z Arch), Plasma (zawsze najnowsza, a niekiedy beta/RC). linux-cachyos.

spairo

- pisałem że jestem z linuksem od 2 godzin i od urodzenia z windowsem.
- naturalnie kropki nie powinno być, a pakiet ma nazwę gcc-avr, wielkie dzięki.
- tylko w tym pakiecie chyba brakuje attiny824.
Cytat(myenv) raid@MAG-Z3901:~/electronics$ sudo make
mkdir -p ./build
avr-gcc -std=gnu99 -Os -mmcu=attiny824 -DF_CPU=1250000  -DFW_VERSION=\"dev\" -Wall -Winline -Wstrict-prototypes -ffunction-sections -fdata-sections -I. -I./ -I../config -funsigned-char -fdiagnostics-color=always -c -o build/adc.o adc.c
avr-gcc: error: device-specs/specs-attiny824: No such file or directory
make: *** [Makefile:111: build/adc.o] Error 1
(myenv) raid@MAG-Z3901:~/electronics$

spairo

- jest 6 pakietów gcc-avr a tylko 3 z nich ma attiny824.
 jak zainstalowac pakiet "resolute".

Cytatjammy (22.04LTS) (devel): GNU C compiler (cross compiler for avr) [universe]
1:5.4.0+Atmel3.6.2-3: amd64 arm64 armhf ppc64el riscv64 s390x
noble (24.04LTS) (devel): GNU C compiler (cross compiler for avr) [universe]
1:7.3.0+Atmel3.7.0-1: amd64 arm64 armhf ppc64el riscv64 s390x
plucky (25.04) (devel): GNU C compiler (cross compiler for avr) [universe]
1:14.2.0-2: amd64 arm64 armhf ppc64el riscv64 s390x
questing (25.10) (devel): GNU C compiler (cross compiler for avr) [universe]
1:14.2.0-2: amd64 arm64 armhf ppc64el riscv64 s390x
resolute (devel): GNU C compiler (cross compiler for avr) [universe]
1:14.2.0-2: amd64 arm64 armhf ppc64el riscv64 s390x

linux4ever

Cytat: spairo w Grudzień 08, 2025, 08:31:24 PMJak zainstalowac pakiet "resolute".

Z tego co sprawdziłem resolute odwołuje się do wersji Ubuntu.

Cytat: spairo w Grudzień 08, 2025, 08:12:44 PMtylko w tym pakiecie chyba brakuje attiny824.

Faktycznie nie ma ale jest w AVRDUDE:

https://avrdudes.github.io/avrdude/7.3/avrdude_4.html

Cytatt824   ATtiny824

Z tym że avrdude kompiluje z Hexa a nie C.

https://github.com/avrdudes/avrdude

CytatUsing AVRDUDE

AVRDUDE is a command-line application. Run the command avrdude without any arguments for a list of options.

A typical command to program your HEX file into your AVR microcontroller looks like this:

avrdude -c <programmer> -p <part> -U flash:w:<file>:i

For instance, to program an Arduino Uno connected to the serial port COM1 with a HEX file called blink.hex, you would run the following command:

avrdude -c arduino -P COM1 -b 115200 -p atmega328p -D -U flash:w:objs/blink.hex:i

There are many different programmers and options that may be required for the programming to succeed.



I jest jeszcze to:

https://packs.download.microchip.com/#collapse-Microchip-ATtiny-DFP-pdsc

Jest w tym biblioteka do attiny 824

I wyjaśnienie z Githuba:

https://github.com/platformio/platform-atmelavr/issues/268

CytatHello,

i got it's working (to compile, i can't test if its wright)

i have changed the platformio.ini to:

[env:ATtiny824]
; platform = atmelavr
platform = https://github.com/platformio/platform-atmelmegaavr.git
; board = attiny45
board = ATtiny824
; framework = arduino

BUILD_FLAGS =
     -Battiny_dfp/gcc/dev/attiny824
     -Iattiny_dfp/include/

extra_scripts = extra_script.py


in the dir where platformio.ini is located i create extra_script.py with
this content:

Import("env")

#
# Dump build environment (for debug)
# print(env.Dump())
#

env.Append(
   LINKFLAGS=[
       "-Battiny_dfp/gcc/dev/attiny824"
   ]
)


i go to https://packs.download.microchip.com/ and download the pack for
Microchip ATtiny Series Device Support

i rename the extension from ".atpack" to ".zip"
now i unzip the pack.
i rename the dir with the pack to attiny_dfp
i move this dir (attiny_dfp) to the dir where platformio.ini is located

now i can compile

Processing ATtiny824 (platform:
https://github.com/platformio/platform-atmelmegaavr.git; board:
ATtiny824)
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------Verbose
mode can be enabled via `-v, --verbose` option
CONFIGURATION:
https://docs.platformio.org/page/boards/atmelmegaavr/ATtiny824.html
PLATFORM: Atmel megaAVR (1.5.0+sha.de9877b) > ATtiny824
HARDWARE: ATTINY824 16MHz, 1KB RAM, 8KB Flash
PACKAGES:
  - toolchain-atmelavr 1.70300.191015 (7.3.0)
LDF: Library Dependency Finder -> https://bit.ly/configure-pio-ldf
LDF Modes: Finder ~ chain, Compatibility ~ soft
Found 0 compatible libraries
Scanning dependencies...
No dependencies
Building in release mode
Checking size .pio\build\ATtiny824\firmware.elf
Advanced Memory Usage is available via "PlatformIO Home > Project
Inspect"
RAM:   [          ]   0.4% (used 4 bytes from 1024 bytes)
Flash: [          ]   3.1% (used 254 bytes from 8192 bytes)
=======================================================================
[SUCCESS] Took 1.23 seconds
=======================================================================


woodymgh
on Jan 26, 2022 via email · edited by woodymgh
Author
I have forgot:

i have changed the ldscript (because it's wrong)
in the file .platformio/packages/toolchain-atmelavr(version what you use)/avr/lib/ldscripts/avrxmega3.xn

replace
    data   (rw!x) : ORIGIN = 0x802000, LENGTH = __DATA_REGION_LENGTH__

with
   data   (rw!x) : ORIGIN = __DATA_REGION_ORIGIN__, LENGTH = __DATA_REGION_LENGTH__


https://docs.platformio.org/en/latest/projectconf/index.html

https://registry.platformio.org/platforms/platformio/atmelmegaavr/installation
"Dawniej ludzie uczyli się dla samych siebie, dziś robią to na pokaz. "-Konfucjusz

Zobacz najnowsze wiadomości na forum