- 20
- 57 626
Will Thomas
Приєднався 2 сер 2022
RP2040 - Baremetal Assembly - Interrupts and Alarms
documentation
datasheets.raspberrypi.com/rp2040/rp2040-datasheet.pdf
datasheets.raspberrypi.com/pico/pico-datasheet.pdf
developer.arm.com/documentation/ddi0419/e/
tools
github.com/willth7/au
github.com/willth7/zn
github.com/willth7/binhex
github.com/willth7/binuf2
find me @
github.com/willth7
youtube.com/@willth8
datasheets.raspberrypi.com/rp2040/rp2040-datasheet.pdf
datasheets.raspberrypi.com/pico/pico-datasheet.pdf
developer.arm.com/documentation/ddi0419/e/
tools
github.com/willth7/au
github.com/willth7/zn
github.com/willth7/binhex
github.com/willth7/binuf2
find me @
github.com/willth7
youtube.com/@willth8
Переглядів: 2 506
Відео
RP2040 - Baremetal Assembly - Bootrom and Flash
Переглядів 1,5 тис.2 роки тому
documentation datasheets.raspberrypi.com/rp2040/rp2040-datasheet.pdf datasheets.raspberrypi.com/pico/pico-datasheet.pdf developer.arm.com/documentation/ddi0419/e/ tools github.com/willth7/au github.com/willth7/zn github.com/willth7/binhex github.com/willth7/binuf2 find me @ github.com/willth7 youtube.com/@willth8
RP2040 - Baremetal Assembly - Boot Sequence and Watchdog
Переглядів 2,5 тис.2 роки тому
documentation datasheets.raspberrypi.com/rp2040/rp2040-datasheet.pdf datasheets.raspberrypi.com/pico/pico-datasheet.pdf developer.arm.com/documentation/ddi0419/e/ tools github.com/willth7/au github.com/willth7/zn github.com/willth7/binhex github.com/willth7/binuf2 find me @ github.com/willth7 youtube.com/@willth8
RP2040 - Baremetal Assembly - UART
Переглядів 1 тис.2 роки тому
documentation datasheets.raspberrypi.com/rp2040/rp2040-datasheet.pdf datasheets.raspberrypi.com/pico/pico-datasheet.pdf developer.arm.com/documentation/ddi0419/e/ tools github.com/willth7/au github.com/willth7/zn github.com/willth7/binhex github.com/willth7/binuf2 find me @ github.com/willth7 youtube.com/@willth8
RP2040 - Baremetal Assembly - Dividers, Spinlocks, and the SIO
Переглядів 7522 роки тому
documentation datasheets.raspberrypi.com/rp2040/rp2040-datasheet.pdf datasheets.raspberrypi.com/pico/pico-datasheet.pdf developer.arm.com/documentation/ddi0419/e/ tools github.com/willth7/au github.com/willth7/zn github.com/willth7/binhex github.com/willth7/binuf2 find me @ github.com/willth7 youtube.com/@willth8
RP2040 - Baremetal Assembly - SRAM
Переглядів 8752 роки тому
documentation datasheets.raspberrypi.com/rp2040/rp2040-datasheet.pdf datasheets.raspberrypi.com/pico/pico-datasheet.pdf developer.arm.com/documentation/ddi0419/e/ tools github.com/willth7/au github.com/willth7/zn github.com/willth7/binhex github.com/willth7/binuf2 find me @ github.com/willth7 youtube.com/@willth8
RP2040 - Baremetal Assembly - Oscillators, Clocks, and the PLL
Переглядів 1,6 тис.2 роки тому
documentation datasheets.raspberrypi.com/rp2040/rp2040-datasheet.pdf datasheets.raspberrypi.com/pico/pico-datasheet.pdf developer.arm.com/documentation/ddi0419/e/ tools github.com/willth7/au github.com/willth7/zn github.com/willth7/binhex github.com/willth7/binuf2 find me @ github.com/willth7 youtube.com/@willth8
RP2040 - Baremetal Assembly - Subsystem Resets and the GPIO
Переглядів 3 тис.2 роки тому
documentation datasheets.raspberrypi.com/rp2040/rp2040-datasheet.pdf datasheets.raspberrypi.com/pico/pico-datasheet.pdf developer.arm.com/documentation/ddi0419/e/ tools github.com/willth7/au github.com/willth7/zn github.com/willth7/binhex github.com/willth7/binuf2 find me @ github.com/willth7 youtube.com/@willth8
RP2040 - Baremetal Assembly - Introduction, Development Environment, and the Bus
Переглядів 13 тис.2 роки тому
documentation datasheets.raspberrypi.com/rp2040/rp2040-datasheet.pdf datasheets.raspberrypi.com/pico/pico-datasheet.pdf developer.arm.com/documentation/ddi0419/e/ tools github.com/willth7/au github.com/willth7/zn github.com/willth7/binhex github.com/willth7/binuf2 find me @ github.com/willth7 youtube.com/@willth8
On Functionalism
Переглядів 4382 роки тому
the video in question ua-cam.com/video/8XjuE-2k1z8/v-deo.html find me @ github.com/willth7 youtube.com/@willth8
bare metal multi core programming on the raspberry pi
Переглядів 8382 роки тому
information regarding the mailboxes forums.raspberrypi.com/viewtopic.php?t=193286 github.com/dwelch67/raspberrypi/tree/master/multi00
arch and wayland on the raspberry pi
Переглядів 1 тис.2 роки тому
install: archlinuxarm.org/platforms/armv8/broadcom/raspberry-pi-zero-2
manually load and execute memory on linux - processes, threads, and memory mapping
Переглядів 3262 роки тому
source: github.com/willth7/execbin
blink an led on the raspberry pi zero 2 with baremetal assembly
Переглядів 1,8 тис.2 роки тому
blink an led on the raspberry pi zero 2 with baremetal assembly
unleash the full power of your pico with the second core
Переглядів 5012 роки тому
unleash the full power of your pico with the second core
blink the led on the raspberry pi pico with bare metal assembly
Переглядів 9 тис.2 роки тому
blink the led on the raspberry pi pico with bare metal assembly
Sat, December 7. 12:41AM.
Very helpful, thank you! The fact that you were able to do this so smoothly live is really impressive
the Broadcom GPU is the bane of my existence
Would it be too complicated to use a baremetal approach to make an OTA of firmware, such as the micopython firmware?
zero to window would be without wayland-client...
Liked and subscribed. I'm going to go back and watch all your bare metal videos on the RPi Zero and Pico!! I hope you return to make more videos.
exactly what i just searched for on google, can't believe that it actually could come up with a result this good
A bit reckless imo with the ring counter oscillator overclocking. I am convinced you can do much better. Keep up the good work. Thank you otherwise for great instruction. I'll be lurking if it matters.
It is a shame that there is no assembly editor like asm-one was back then in good old Amiga times… coding never been so much fun in any ide since then. 30 yrs later all we have msdos-like ugly windows and that’s all. Kinda frustrating. Anyway it is a great idea to make an asm series for the pico. But I disagree in terms of thumb mode superiority. I think in thumb mode you don’t have the those conditional commands like the movne addle and so on which was a killer feature. We coded ppc in asm back in early 2000’s and then we made a nintendo gba demo for a competiton in arm asm. (We used goldroad assembly which was pretty cool and we used sublime text for editor and we added the python script which did the build to the f1 key. It was a more sophysticated way but far from the asm-one..) and those commands of the arm oh boy that was a game changer. We succeded to make the code almost without a single branching by using those conditional commands. Arm has the best assembly imho.
NMI is not "nested mask interrupt" it is Non Maskable Interrupt. A vector is a quantity with direction and length which indicates a destination's position from an origin. If you don't understand what a vector is , that may explain why you think it is not a good name. I don't get the feeling you are in a position to teach this subject. I'm outta here.
I agree, he's definitely lost and I don't think he's a great teacher. A loop is Something having a shape, order, or path of motion that is circular or curved over on itself. It definitely can't have a different meaning. I just had to dislike the video...
idk if wayland is the way to go there are still so many applications where wayland cant handle them nativly and need to go through XWayland I think xcb is still the way to go
One problem is this: it becomes progressively impossible to understand how the linux works by inspecting the source code.. cleanup is really necessary.
cannot agree more.. linux source code must be cleaned..
I need to run a c# Desktop application using weston on ubuntu??
no
Hey can you tell how you got kernel image? i have been trying to get this to work but can't seem to figure out how to convert the .s file to .img @willth8
Excellent! Thank you.
Thanks for sharing. Have not worked in assembly since the 80’s. Beings back fond memories.
Great explanation, but your volume is a little low.
cant hear or see
What is your IDE name ?
vim
Gigahert. You're so cute. Anyway, cool stuff. Assembly looks like a real ballache. All those registers. God bless.
Hello, nice video. I believe that you built you kernel image yourself, containing your binary ? Can you explain how you do that, since you made a loop in your program, did you just compiled you ASM program into an ELF and renamed it kernel.img ?
Thank you so much! This will come in handy in the future when I'll try to build my own GUI library! Please, consider updating in 2-3 years, in case Wayland changes its architecture!
Props for making this series. It's unfortunate you aren't using the toolchain people will probably want to use for this. NiH is great for learning, but not great for a tutorials for a general audience.
amazing video
I would love to see you using dual core
I'm the thousandth subscriber!
how are you theming your setup???
HI! can you explain exactly which IDE do you use for programming in assembly language? (and all tools for loading of internal SRAM memory) DO you use SWD picoprobe or SWD DEBUG PROBE? (for loading internal SRAM) DO you have possibility of debug your program - step by step in internal SRAM? (sorry for my very weak english)
Are you using external libs like wlroots?
"wlroots" is used to create a Wayland compositor, not a client.
Really good tutorial, looking forward for more wayland tutorials from you
80 minutes for a barely functional window 😂 Wayland is a joke!
well winapi is worse honestly
as it should be
Your color scheme makes it hard to read your code (#include is near invisible).
can relate too much @ 29:08
Hahahaha! Me too! The language I design will have no imports and everything will be automatically searched ;)
f* callback hell
I have a dso with a frequency of 100 MHz, and I use Thonny IDE and Micro Python with a Rp2040 system clock of 125 MHz. I also know the pwm frequency, which is 62.5 MHz. I have to make a pwm in an RP2040 at 25 MHz in PIO, thus here's my code: import machine import utime import rp2 # Define the PIO program for PWM @rp2.asm_pio(set_init=rp2.PIO.OUT_LOW) def pwm_prog(): wrap_target() set(pins, 1) [1] set(pins, 0) [1] wrap() # Create a PIO state machine with the PWM program sm = rp2.StateMachine(0, pwm_prog, freq=25_000_000, set_base=machine.Pin(0)) sm.active(1) I want a square wave, however the PWM produced noises and ripples with this code. And I want to use this method in PIO Thus, how can I lessen the noise and ripples? Help me please sir
the thing people still do not seem to understand is, that "wayland" actually does nothing. it does not exist, it is not a piece of software. its a specification, and just that. wayland describes how you talk to _A_ compositor, it is not one of on its own. its just the description of an api. basically the complete introduction of this video is factually wrong.
Wayland exists as a server for the compositor. You are correct to an extent that Wayland is almost entirely a specification for communication between the individual applications and the compositor, and I shouldn't have said "Wayland is a compositor", though I'd still argue that Wayland "exists" and "runs" as the network of the clients and servers.
Excellent tutorial! I lost it every time you yelled f**k when the compiler complained
"How to set a variable in the time it takes you to write an entire application in C"
6:36 "It is never a waste of time to deepen your understanding." Amen, brother. _Amen_.
Your vids are great, hope you still have some inspiration to do more. They're being viewed and thought about. And no cringe re systemd.
Worked through it, highly recommend. Great walkthrough. I hope others find this, it should be linked in the fd.o docs along with the book. Nice work! Thank you.
“ If it doesn’t need to exist it shouldn’t “ Google Maps: “ your attention can divert away from driving and on to your phone to clear a message offering you no actionable choices, possibly something completely irrelevant, and we will give a time bar to make you wait a few seconds just to make sure you were fully attendant to our useless alerts
This is so refreshing to hear. I think a lot of this is innate, you either have that burning curiosity and passion or you don’t. When I listen to your tutorials, I feel like I’m accessing something rare and powerful, unlike a lot of the over produced crap out there. Please make more low level videos
@12:38 - I had to look that up. lsl = Logical Shift Left (immediate) shifts a register value left by an immediate number of bits, shifting in zeros, and writes the result to the destination register.
❤
I am more impressed with your ability at mental math in bit-shifting and such, than anything else. Would love a video on the techniques you use.
I've tried to start an OS on the B+ it was somewhat simple with fasmarm, the documentation is horrible. I have gotten as far as getting text on the screen, and typing with a ps/2 keyboard (sure as hell not figuring out the usb standard lol) it was fun, i wish i continued it. I guess i burned out. wish there were more devices like this with the intention of baremetal in mind. guess i wanted to make a cluster of raspberry pis and have them each running different parts of my OS. too much for one person though lol. but it was fun while it lasted. I feel like arm is great for learning though, and their new documentation is pretty nice.
It's funny, as bad as X11 is, somehow Wayland's API manages to be 10x more incomprehensible. An hour and 20 mins to set up a not even a fully featured window is ridiculous. The state of programming is depressing.
Well it would clearly be easier if he used a toolkit like GTK, but the point of the video is to show how the Wayland protocol is used under the hood.
@@an0nsaiko890 and it's not good. 15 years of development and it's still not ready for most people. ridiculous
@@plasmahvh I would say that it's not as bad as it may seem. It clearly lacks some features which are getting worked on. I believe the lack of wide adaptation is a huge reason for its slow development and bugs. It was only this year that mainline distros announced pure use of Wayland (no longer being the second option)
Having an easier API doesn’t make your protocol or server better
@@thebatchicle3429easier and comprehensible are two different things.
Why don't you have your editor and pdf on the same screen instead of constantly switching back and forth?