Skocz do zawartości

Pomocna odpowiedź

Napisano (edytowany)

- chciałem programować (bez avrdude) attiny824 pod linuxem, nie zamierzam wgrywać linuxa obok win.
- pod Windowsem 10 Pro uruchomiłem WSL 2 i ze sklepu win wgrałem Ubuntu 24.04
- wgrałem update do Ubuntu, pythona, pip-a i resztę.
- wgrałem także gcc-avr   (noble 24.04LTS) ale tutaj podczas kompilacji pojawia się problem.

- jest 6 pakietów gcc-avr a tylko 3 z nich ma attiny824, naturalnie, że moja wersja nie ma attiny824.

- te pakiety gcc-avr są dla wyższej wersji Ubuntu, wyższej wersji od 24.04 nie ma w sklepie.
- pojawia się pytanie jak do mojej wersji Ubuntu 24.04 wgrać paczkę gcc-avr np. "Resolute". 

 

Cytat

PS C:\Windows\system32> wsl.exe --list --online
The following is a list of valid distributions that can be installed.
Install using 'wsl --install -d <Distro>'.

NAME                            FRIENDLY NAME
Ubuntu                          Ubuntu
Debian                          Debian GNU/Linux
kali-linux                      Kali Linux Rolling
Ubuntu-20.04                    Ubuntu 20.04 LTS
Ubuntu-22.04                    Ubuntu 22.04 LTS
Ubuntu-24.04                    Ubuntu 24.04 LTS
OracleLinux_7_9                 Oracle Linux 7.9
OracleLinux_8_10                Oracle Linux 8.10
OracleLinux_9_5                 Oracle Linux 9.5
openSUSE-Leap-15.6              openSUSE Leap 15.6
SUSE-Linux-Enterprise-15-SP6    SUSE Linux Enterprise 15 SP6
openSUSE-Tumbleweed             openSUSE Tumbleweed

 

 

 

Edytowano przez 99teki

- dzięki, tylko co dalej z tym fantem zrobić (linuxa mam od 8 godzin), tar, gz, gzipy to umiem, ale co i gdzie przesłać.

- a potem jak to wgrać.

 

(edytowany)

Wrzuć rozpakowany katalog "avr-gcc-15.2.0-x64-linux" np. do /opt:

sudo mv avr-gcc-15.2.0-x64-linux /opt/

Następnie dodaj w "~/.bashrc" linijkę:

export PATH="/opt/avr-gcc-15.2.0-x64-linux/bin:$PATH"

Przeładuj ".bashrc" w konsoli:

source ~/.bashrc

Być może trzeba będzie jeszcze odpalić z sudo zawarty plik "permissions.sh", żeby nadało uprawnienia, więc wejdź:

cd /opt/avr-gcc-15.2.0-x64-linux
sudo ./permissions.sh

Kompilację wywołujesz, np. dla pliku źródłowego "przyklad.c":

avr-gcc -mmcu=attiny824 -Os -o przyklad przyklad.c

 

W zasadzie aktualną paczkę możesz pobrać także stąd (działa).

 

Gdybyś chciał spróbować innych wersji kompilatora (jednocześnie), możesz włączyć aliasy w .bashrc (~/.bash_aliases), wtedy dopisujesz sobie alias:

alias avr-gcc-wersja-xxx='PATH="/opt/avr-gcc-15.2.0-x64-linux/bin:$PATH" avr-gcc'

Wywołujesz:

avr-gcc-wersja-xxx -mmcu=attiny824 -Os -o przyklad przyklad.c

 

Edytowano przez orb777
  • Pomogłeś! 1

@99teki, odnośnie reszty, zajrzyj np. tu (chociaż to wersja z avrdude, także nie wiem, czy dla ciebie przydatna). Do tematu automatyzacji kompilacji/wrzucania fw na uC w linuxie możesz podejść różnie, tj. przez skrypty, makefile, funkcje (np. zawarte w .bashrc lub .bash_aliases). Wtedy jedno polecenie wydane w terminalu zrobi za ciebie wszystko.

(edytowany)

- dzięki, na razie korzystam ze skryptu make.

- potem programuję eeprom, flash skryptami pythona.

- powoli do przodu, to co uzyskałem do tej pory, widzi attiny824 i walczę z prawami

- często w katalogach, plikach mam na końcu nazwy pliku *, co to za licho

Cytat

raid@MAG-Z3901:~/tmp$ avr-gcc -mmcu=attiny824 -o przyklad przyklad.c
raid@MAG-Z3901:~/tmp$ ll
total 76
drwxr-xr-x 2 raid raid  4096 Dec  9 16:44 ./
drwxr-x--- 6 raid raid  4096 Dec  9 15:08 ../
-rwxr-xr-x 1 raid raid 30456 Dec  9 16:43 a.out*           // co to jest *
-rwxr-xr-x 1 raid raid 30456 Dec  9 16:44 przyklad*     // * plik skompresowany ?
-rw-r--r-- 1 raid raid    45 Dec  9 15:09 przyklad.c
raid@MAG-Z3901:~/tmp$

 

Edytowano przez 99teki
(edytowany)

@99teki, używasz "ll" do listowania, więc "*" to oznaczenie pliku wykonywalnego. Np. "ls -la" nie pokaże ci tego, tamto pierwsze to alias.

Zajrzyj do ~/.bashrc

# some more ls aliases
alias ll='ls -alF'
alias la='ls -A'
alias l='ls -CF'

 

Edytowano przez orb777
  • Pomogłeś! 1

- dzięki a już się martwiłem.

- właśnie zrobiłem swoją dużą kompilacje (mam pliki hex), juto będę programował procki.

 

  • Lubię! 1

- raczej składam i przeprogramowuję.

- to jest BMS dla ogniwa tantalowego, trzy LTO są połączone równolegle czyli 3S1P.

- razem maja 3.900 mAh

- dwa takie moduły połączone szeregowo zasilają meshtastic na esp32.

- te ogniwa LTO były przewidziane do pracy z uP pobierającymi 10 -20 mA podczas pracy.

- esp32 w czasie trybu jałowego pobiera 50- 60 mA.

- aby skorygować parametry BMS trzeba trochę doprogramować, albo zmienić zawartość eepromu.

- wcześniej korzystałem z AVRDUDES v 2.20 tylko on mi pozmieniał fusebity a zawartość eepromu to był kosmos.

- dlatego przeniosłem się na skrypty Pythona.

- ot i cała tajemnica, którą mogę wyjawić.

ogniwo.thumb.jpg.1fc98b3b72ebaa9312a16de486c5cbcb.jpg

  • Lubię! 1

- ja używam Meshtastic w wersji fabrycznej, gotowej na esp32, pracujące z BT.

- gotowe, kolejne oprogramowanie jest w plikach *.hex.

- na razie softem się nie zajmuję, będzie potem na to czas.

- teraz ważne dla mnie jest aby przeprowadzić testy na esp32 i porównać to z meshem na   nrf52840.

- esp32 był bardziej preferowany, ma więcej RAM-u, Flash-a i wyższą czestotliwość.

RA4631.thumb.jpg.17e8de80b78bd2e56a17c6cb97932844.jpg

  • Lubię! 1
(edytowany)

- do mego Ubuntu na WSL podłączyłem Arduino Uno, pracuje na COM5.

- na Ubuntu chyba nie mam usb chociaz zaistalowałem 

Cytat

sudo apt install usbutils

- robię "lsusb" nic, cisza, jest nowa linia.

- kilka razy już restartowałem Ubuntu, jeszcze PC.

 

 

Edytowano przez 99teki
5 minut temu, 99teki napisał:

- robię "lsusb" nic, cisza, jest nowa linia.

A myszę i klawiaturę gdzie masz wtyknięte?

Raczej nie ma możliwości żeby lsusb nic nie pokazywał (bo nawet jeśli nic nie wtykłeś to root hub powinien się pojawić). Daj mu na wszelki wypadek:

sudo lsusb

 

Bądź aktywny - zaloguj się lub utwórz konto!

Tylko zarejestrowani użytkownicy mogą komentować zawartość tej strony

Utwórz konto w ~20 sekund!

Zarejestruj nowe konto, to proste!

Zarejestruj się »

Zaloguj się

Posiadasz własne konto? Użyj go!

Zaloguj się »
×
×
  • Utwórz nowe...