Deep Dive w/Scott: CircuitPython on a Raspberry Pi #adafruit

Deep Dive w/Scott: CircuitPython on a Raspberry Pi #adafruit

Subscribers:
458,000
Published on ● Video Link: https://www.youtube.com/watch?v=3f13Jl72cL4



Duration: 2:22:21
1,613 views
33


Join Scott as he works on bringing CircuitPython to the Raspberry Pi. Work on USB has stalled so he's taking a break by working on getting CircuitPython working over UART.

Chat with Scott and lot of others on the Adafruit Discord at https://adafru.it/discord.

Deep Dive happens every week. Normally Fridays at 2pm Pacific but occasionally shifted to Thursday at 2pm. Typically goes for two hours or more. Questions are welcome.
Next week is on Friday.

0:00 Getting started
0:03:25 Hello everyone / Housekeeping
0:05:51 Today - working on Arm Cortex A as bare metal micro (raspberry pi 4)
0:06:37 last week: interrupts / tiny usb
0:07:29 Exception Levels. EL3, EL2 (hypervisor), EL1 (OS), EL0 (applications)
0:09:13 Last week - EL2 hypervisor bits needed to be set
0:10:47 Looked into ARM architecture reference manual HCR_EL2 (64 bit register)
0:12:39 TGE bit Trap General Exception
0:16:19 D1.13 asynchronous exception type, routing, masking and priorities
0:18:09 Non-secure mode, SCR, TDE “C - interrupt remains pending” TGE bit set to 1
0:19:44 the magic bit that needed to be set in broadcom peripherals repo
0:21:00 NVM3722 ARM and AUX_IRQhandler
0:23:25 Pointer boxing ( using ‘extra’ bits in 64 bit pointer )
0:24:10 Open OCD, Gdb, and uart screens
0:25:06 CP repl on Rasbperry Pi
0:25:33 print(“hello world”) hangs / next week HDMI output, but first fix this bug
0:28:21 ARM exception decoding using cortex-a.py arm8a-exception
0:29:40 pointer greater than 32 bits - probably a problem
0:30:30 Memory mapping ( only the first ‘gig’ of memory mapped )
0:37:19 question: can a zero 1.3 use with any lcd???
0:40:55 aapcs arm call stack research / Procedure call standard for the Arm Architecture
0:43:51 decode failing - irq_entry and irq_exit call stack creation
0:45:20 Frame pointer
0:50:58 ARM ABI
0:53:40 Microsoft arm arch 64 ABI documentation - very similar
0:54:54 experiment with h=”hello world”
0:55:58 gdb) info frame
1:02:25 typical C function call
1:05:28 exceptions should save the ‘callers’ state
1:06:13 ‘101’ review of memory ( heap and stack )
1:25:00 disassemble mp_obj_print_helper to look at use of frame pointer
1:28:00 back to github libunwind
1:34:35 Unwinding frames in python
1:35:10 CP uses PIO for neopixels on RP2040
1:37:52 aarch64-unwind.h
1:41:10 does it come down to the exception entry code needing to update frame pointer (x29) to be stored on the stack to a GDB "correct" value, rather than storing the previous frame pointer value when exception occurs?
1:51:20 Digikey has a small number of the LED glasses and nRF driver boards available
1:54:00 stack-unwind-samples
1:56:10 greyed out command completion from fish shell
1:59:08 code is compiled for 64 bit ARM
2:00:43 oh, my fish extension - otherwise it’s pretty standard .fishrc (omf and bobthefish)
2:02:44 looking at github rsta2/circle for examples
2:03:51 exception stub
2:04:32 edc/bass to use bash utilities in fish shell
2:05:12 circle irq handler - might like what we want “exceptionstub64.S”
2:16:23 trying out the experiment - it’s worse :-(
2:18:55 wrap up - shop at adafruit.com or digikey.com if not in stock
2:20:47 wake the cat - and catch the links at github tannewt rpi branch
2:21:55 bye spook

Visit the Adafruit shop online - http://www.adafruit.com

-----------------------------------------
LIVE CHAT IS HERE! http://adafru.it/discord

Adafruit on Instagram: https://www.instagram.com/adafruit

Subscribe to Adafruit on YouTube: http://adafru.it/subscribe

New tutorials on the Adafruit Learning System: http://learn.adafruit.com/
-----------------------------------------




Other Videos By Adafruit Industries


2021-10-19Wireless LED Lego Bricks #adafruit #3DPrinting
2021-10-19Fritzing - Collin’s Lab Notes #adafruit #collinslabnotes
2021-10-19JP's Product Pick of the Week: DRV2605L Haptic Motor Controller RECAP @adafruit @johnedgarpark
2021-10-19JP’s Product Pick of the Week 10/19/21 DRV2506L Haptic Motor Controller @adafruit @johnedgarpark
2021-10-19The Great Search: A Small Heatsink for a Camera Module #TheGreatSearch #DigiKey @DigiKey @Adafruit
2021-10-18Denture Bit Holder #Timelapse #3DPrinting #adafruit
2021-10-18CircuitPython Weekly Meeting for October 18, 2021 @circuitpython #circuitpython #adafruit
2021-10-17Desk of Ladyada - Camera Breakout + Autofocusing Firmware
2021-10-17Autofocus mode working on OV5640 camera module in CircuitPython
2021-10-15Logic Level Shifter - Collin’s Lab Notes #adafruit #collinslabnotes
2021-10-15Deep Dive w/Scott: CircuitPython on a Raspberry Pi #adafruit
2021-10-14New Products 10/13/21 feat. Kitty's Flowers - Pair of Bluetooth Wearable Brooches - Art byPhysicis!
2021-10-14Analog Feedback Servo - Collin’s Lab Notes #adafruit #collinslabnotes
2021-10-14John Park's CircuitPython Parsec: boot.py @adafruit @johnedgarpark #adafruit #circuitpython
2021-10-14JOHN PARK'S WORKSHOP LIVE 10/14/21 Window Cat @adafruit @johnedgarpark #adafruit
2021-10-14EYE ON NPI - C&K's KLS Series Illuminated Pushbuttons #EYEonNPI @DigiKey @ckswitches @adafruit
2021-10-14Python on Hardware weekly video 153 #CircuitPython #Python #MicroPython @Adafruit
2021-10-14Made in NYC 10/13/2021 Featuring Monster M4sks in the Pick 'n Place Machine
2021-10-13ASK AN ENGINEER 10/13/2021 LIVE!
2021-10-13SHOW and TELL 10/13/2021 #ShowandTell #adafruit #diy
2021-10-133D Hangouts – LED Glasses and Front Man Mask



Tags:
adafruit
electronics
diy
arduino
hardware
opensource
projects
raspberry
pi
computer
raspberrypi
microcontrollers
limor
limorfried
ladyada
STEAM
STEM
python
microbit
circuitpython
neopixel
neopixels
raspberry pi
circuitplaygound
nyc
make
makers
micro:bit
adafrit
adafruit promo code
ada fruit
adafruit coupons
raspberry pi zero
micropython
machine learning
ai
tensorflow