Nieuws:

Ubuntu-NL weer online!

Na een periode van technische problemen en een overbelaste server zijn we eindelijk weer bereikbaar.
Samen met Hobbynet, onze sponsor en hostingpartner, hebben we een oplossing gevonden zodat alles weer soepel draait.

Bedankt voor jullie geduld en begrip. We hopen nu weer verder te gaan waar we gebleven waren.

Het team van Ubuntu-NL

Welkom, Gast. Alsjeblieft inloggen of registreren.
Heb je de activerings-mail niet ontvangen?

Auteur Topic: Segmentaion fault.  (gelezen 1870 keer)

Segmentaion fault.
« Gepost op: 2023/07/02, 17:24:14 »
Ik probeer wat (zeer) oude kennis over assembly op te halen.
Het gaat hier over een Raspberry pi 2 met een BCM2835-Broadcom chip.

Op github ( https://github.com/lowlevellearning/raspberry-pi-baremetal) vind ik dit programma:  (start.s)
.global _start

.equ GPIO_BASE, 0x3f200000
.equ GPFSEL2, 0x08

.equ GPIO_21_OUTPUT, 0x8 ;//# 1 << 3

.equ GPFSET0, 0x1c
.equ GPFCLR0, 0x28

.equ GPIOVAL, 0x200000 ;//# 1 << 21

_start:

;//# base of our GPIO structure
ldr r0, =GPIO_BASE

;//# set the GPIO 21 function as output
ldr r1, =GPIO_21_OUTPUT
str r1, [r0, #GPFSEL2]

# set counter
ldr r2, =0x800000

loop:
# turn on the LED
ldr r1, =GPIOVAL ;//# value to write to set register
str r1, [r0, #GPFSET0] ;//# store in set register

# wait for some time, delay
eor r10, r10, r10
delay1:
add r10, r10, #1
cmp r10, r2
bne delay1

# turn off the LED
ldr r1, =GPIOVAL ;//# value to write to set register
str r1, [r0, #GPFCLR0] ;//# store in set register

# wait for some time, delay
eor r10, r10, r10
delay2:
add r10, r10, #1
cmp r10, r2
bne delay2

b loop


Ik maak een executable met:
as -o blinkLED.o blinkLED.s
ld -o blinkLED blinkLED.o

Dat gaat zonder fouten.   ^-^

Als ik het prgramma probeer uit te voeren:
$  ./blinkLED

krijg ik:   Segmentation fault.   :(

Ondanks dat internet vol staat met Segmentaion fault fouten, heb ik het nog niet kunnen oplossen.

(p.s. het programma laat een LED blinken op GPIO poort 21)
« Laatst bewerkt op: 2023/07/02, 18:03:12 door henkoegema »
𝕸𝖎𝖘𝖈𝖊𝖗𝖊 𝖚𝖙𝖎𝖑𝖊 𝖉𝖚𝖑𝖈𝖎. (Ter leering ende vermaeck)
𝕹𝖎𝖑 𝖛𝖔𝖑𝖊𝖓𝖙𝖎𝖇𝖚𝖘 𝖆𝖗𝖉𝖚𝖚𝖒. (Niets is moeilijk voor hen die willen)
https://henk.oegema.com  (Op RaspberryPi2)
Registered linux user 520520.  In gebruik: Ubuntu  24.04 Hobby's: Radio Amateur callsign: PA2HO.  Interesses: Raspberry Pi & Arduino & TELLO drone (voor AI)

Re: Segmentaion fault.
« Reactie #1 Gepost op: 2023/07/03, 22:51:18 »
Ik heb ondertussen al 4 verschillende programma's gekregen van ChatGPT4 (die me toch heel vaak op het goede spoor heeft gezet)
Ze geven allemaal dezelfde foutmelding: Segmentation fault.   :(

Krijg sterk de indruk dat het iets met memory location(s) of syscalls te maken heeft.
Maar heb nog geen idee hoe of wat.   :rolleyes:

𝕸𝖎𝖘𝖈𝖊𝖗𝖊 𝖚𝖙𝖎𝖑𝖊 𝖉𝖚𝖑𝖈𝖎. (Ter leering ende vermaeck)
𝕹𝖎𝖑 𝖛𝖔𝖑𝖊𝖓𝖙𝖎𝖇𝖚𝖘 𝖆𝖗𝖉𝖚𝖚𝖒. (Niets is moeilijk voor hen die willen)
https://henk.oegema.com  (Op RaspberryPi2)
Registered linux user 520520.  In gebruik: Ubuntu  24.04 Hobby's: Radio Amateur callsign: PA2HO.  Interesses: Raspberry Pi & Arduino & TELLO drone (voor AI)

Offline peer

  • Lid
Re: Segmentaion fault.
« Reactie #2 Gepost op: 2023/07/04, 09:04:30 »
misschien eens vragen aan chatgpt???? (sorry voor dit grapje, ligt wel heel erg voor de hand)

Ik heb helaas geen idee voor een oplossing

Re: Segmentaion fault.
« Reactie #3 Gepost op: 2023/07/04, 10:02:15 »
misschien eens vragen aan chatgpt???? (sorry voor dit grapje, ligt wel heel erg voor de hand)

Ik heb helaas geen idee voor een oplossing

Een grapje kan ik altijd waarderen. :)

Maar wat jij zegt heb ik inderdaad gedaan.
Als ChatGPT een oplossing gaf die niet werkte kreeg ik: Sorry for the confusion........ en kreeg ik een nieuwe oplossing met hetzelfde resultaat.  :(
𝕸𝖎𝖘𝖈𝖊𝖗𝖊 𝖚𝖙𝖎𝖑𝖊 𝖉𝖚𝖑𝖈𝖎. (Ter leering ende vermaeck)
𝕹𝖎𝖑 𝖛𝖔𝖑𝖊𝖓𝖙𝖎𝖇𝖚𝖘 𝖆𝖗𝖉𝖚𝖚𝖒. (Niets is moeilijk voor hen die willen)
https://henk.oegema.com  (Op RaspberryPi2)
Registered linux user 520520.  In gebruik: Ubuntu  24.04 Hobby's: Radio Amateur callsign: PA2HO.  Interesses: Raspberry Pi & Arduino & TELLO drone (voor AI)

Re: Segmentaion fault.
« Reactie #4 Gepost op: 2023/07/11, 14:25:43 »
De uiteindelijke verklaring voor de segmentation fault komt van:  https://www.youtube.com/watch?v=LKHNHvDedf0
𝕸𝖎𝖘𝖈𝖊𝖗𝖊 𝖚𝖙𝖎𝖑𝖊 𝖉𝖚𝖑𝖈𝖎. (Ter leering ende vermaeck)
𝕹𝖎𝖑 𝖛𝖔𝖑𝖊𝖓𝖙𝖎𝖇𝖚𝖘 𝖆𝖗𝖉𝖚𝖚𝖒. (Niets is moeilijk voor hen die willen)
https://henk.oegema.com  (Op RaspberryPi2)
Registered linux user 520520.  In gebruik: Ubuntu  24.04 Hobby's: Radio Amateur callsign: PA2HO.  Interesses: Raspberry Pi & Arduino & TELLO drone (voor AI)