Nieuws:

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

Auteur Topic: Segmentaion fault.  (gelezen 1790 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)