Deep Dive w/Scott: ARMv8A MMU #adafruit

Subscribers:
446,000
Published on ● Video Link: https://www.youtube.com/watch?v=Cv1HEFcL4Hw



Duration: 1:56:30
1,802 views
45


Join Scott as he continues his quest to get TinyUSB running on the Raspberry Pi 4 and answers questions folks have. Support Adafruit, and by extension me, by purchasing hardware from https://adafruit.com
Chat with me and lot of others on the Adafruit Discord at https://adafru.it/discord.

No stream next week!


Latest code is here: https://github.com/tannewt/tinyusb/tree/rpi

0:00 Getting started
0:01:30 audio debrief from last week
0:03:28 housekeeping
0:08:00 First time watching your live stream. What are we learning today?
0:09:10 Cortex A / MMU
0:10:20 ​If you learn original python on a pc, is it then easy to go from there to circuit python?
0:11:10 qemu further progress
0:13:40 board init()
0:15:30 unaligned access
0:17:30 What model of Pi will this run on? And will it be ARM32 or 64?
0:19:10 if you run CP on metal RPI4, is there the need for 32 bits?
0:21:15 local setup on desk
0:22:30 OSH Park Pi Development v1 project to eliminate all the wires above
0:25:00 https://github.com/chickadee-tech/pi-developer
0:25:45 catch the exceptions in boot.s
0:27:40 load VBAR_EL1 with virtual vector table address
0:29:00 arm stub switches from EL3? to EL2
0:29:40 4-way split terminal tinyusb, serial, gdb
0:32:22 cortex-a.py (in gdb)
0:32:47 ARM Cortex-A Programmers Guide for ARMv8-A pdf (MMU overview)
0:34:15 TTBR0_EL0 (EL2)
0:35:10 Arm architecture reference DDIO487G_b_armv8_arm.pdf
0:35:51 ESR_EL2 register
0:38:42 cortex-a.py - decode exception code
0:40:15 Python pattern matching in python 3.10 (match switch)
0:41:45 What other information can we extract from the exception
0:42:25 FAR ( fault address register? ) / extend the decoding
0:50:45 ashw.io/blog/arm64-pgtable-tool - and youtube video
0:54:00 decoding virtual address ( from BruceS )
0:56:20 pi4 address map from bcm2711-peripherals(1).pdf
0:58:00 setup_mmu_flat_map() in mmu.c
1:00:10 Level 1 access flag fault
1:02:00 Translation fault level 1
1:03:30 access flag fault level 1
1:06:20 Long-descriptor level 1 and level 2 descriptor formats
1:10:00 github ashwio/arm64-pgtable-tool python code
1:14:10 “The Access flag” , ok, add the MM_DESCRIPTOR_ACCESS_FLAG
1:17:10 got a little further - maybe try it out on the hardware (instead of qemu)
1:22:30 decode the Data Abort further - translation fault level 1
1:27:50 we have uart output!
1:29:00 summary - flags in translation table needed to get access flag set to 1
1:39:00 dcd_init()
1:39:58 What side projects are you looking forward to diving deeper into in the coming weeks?
1:42:00 Did you ever ask adafruit to manufacture your old board?
1:44:04 UPS truck arrived - (new iPhone? ) Be right back
1:45:58 back - unboxing
1:51:45 recap - MMU / fixed table lookup / added access flag / used python to decode information about access fault / uart output
1:53:00 next steps
1:53:54 wrap up
1:55:50 - see you in two week

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-09-28JP's Product Pick of the Week: NeoMatrix 64 RGBW RECAP @adafruit @johnedgarpark #adafruit
2021-09-28JP’s Product Pick of the Week 9/28/21 NeoMatrix 8x8 RGBW @adafruit @johnedgarpark #adafruit
2021-09-28The Great Search: High G Accelerometer Replacement for ADXL377 #TheGreatSearch #DigiKey @DigiKey
2021-09-28Welcome to WipperSnapper #adafruit
2021-09-28Header Snap Jig #Timelapse #3DPrinting #adafruit
2021-09-27Key Rollover - Collin’s Lab Notes #adafruit #collinslabnotes
2021-09-27CircuitPython Weekly for September 27th, 2021 #circuitpython @circuitpython #adafruit
2021-09-27Made in NYC 9/22/2021 Featuring LED Glasses
2021-09-27Desk of Ladyada - Revisiting some forgotten and 'twinsie' STEMMA QT's
2021-09-24Opamp Interchangeability - Collin’s Lab Notes #adafruit #collinslabnotes
2021-09-24Deep Dive w/Scott: ARMv8A MMU #adafruit
2021-09-24John Park's CircuitPython Parsec: Servo Animation List @adafruit @johnedgarpark #circuitpython
2021-09-24New Products 9/22/21 feat. #Adafruit LED Glasses Driver - nRF52840 Sensor Board!
2021-09-23Key Ghosting - Collin’s Lab Notes #adafruit #collinslabnotes
2021-09-23Fusion 360 Tutorial – Slide Switch Holders for Enclosures
2021-09-23JOHN PARK'S WORKSHOP LIVE 9/23/21 Inductive LED Model Building @adafruit @johnedgarpark #adafruit
2021-09-23EYE ON NPI - Broadcom 3W 3535 Surface-Mount UV LEDs #EYEonNPI #DigiKey @DigiKey @Adafruit
2021-09-23Adafruit Top Secret! September 22, 2021 #Adafruit #AdafruitTopSecret @Adafruit
2021-09-23Python on Hardware weekly video 150 #CircuitPython #Python #MicroPython @Adafruit
2021-09-23ASK AN ENGINEER 9/22/2021 LIVE!
2021-09-23SHOW and TELL 9/22/2021 #ShowandTell



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