mirror of
https://github.com/isometimes/rpi4-osdev
synced 2024-11-24 19:20:40 +00:00
Added other backlinks
This commit is contained in:
parent
b8f3f159f8
commit
9716f950b8
14 changed files with 29 additions and 1 deletions
|
@ -1,6 +1,8 @@
|
||||||
Writing a "bare metal" operating system for Raspberry Pi 4 (Part 10)
|
Writing a "bare metal" operating system for Raspberry Pi 4 (Part 10)
|
||||||
====================================================================
|
====================================================================
|
||||||
|
|
||||||
|
[< Go back to part9-sound](../part9-sound)
|
||||||
|
|
||||||
Using multiple CPU cores
|
Using multiple CPU cores
|
||||||
------------------------
|
------------------------
|
||||||
Instead of a background DMA transfer, I suggested that we might use a second CPU core to play the audio whilst our main core continues on. I also said it would be hard on the Raspberry Pi 4... and it is.
|
Instead of a background DMA transfer, I suggested that we might use a second CPU core to play the audio whilst our main core continues on. I also said it would be hard on the Raspberry Pi 4... and it is.
|
||||||
|
@ -158,4 +160,4 @@ _As you run this, you'll see that these functions run in parallel on their respe
|
||||||
|
|
||||||
Coming up in part 11, we'll put all of this work together for a multi-core version of our Breakout game.
|
Coming up in part 11, we'll put all of this work together for a multi-core version of our Breakout game.
|
||||||
|
|
||||||
[Go to part11-breakout-smp>](../part11-breakout-smp)
|
[Go to part11-breakout-smp >](../part11-breakout-smp)
|
||||||
|
|
|
@ -1,6 +1,8 @@
|
||||||
Writing a "bare metal" operating system for Raspberry Pi 4 (Part 11)
|
Writing a "bare metal" operating system for Raspberry Pi 4 (Part 11)
|
||||||
====================================================================
|
====================================================================
|
||||||
|
|
||||||
|
[< Go back to part10-multicore](../part10-multicore)
|
||||||
|
|
||||||
Putting it all together
|
Putting it all together
|
||||||
-----------------------
|
-----------------------
|
||||||
Frankly, I'm unlikely to write much documentation for this part. I'm also only providing a Clang _Makefile_ for now. If you're using gcc, have a go at putting your own _Makefile_ together, referencing the previous parts.
|
Frankly, I'm unlikely to write much documentation for this part. I'm also only providing a Clang _Makefile_ for now. If you're using gcc, have a go at putting your own _Makefile_ together, referencing the previous parts.
|
||||||
|
|
|
@ -1,6 +1,8 @@
|
||||||
Writing a "bare metal" operating system for Raspberry Pi 4 (Part 12)
|
Writing a "bare metal" operating system for Raspberry Pi 4 (Part 12)
|
||||||
====================================================================
|
====================================================================
|
||||||
|
|
||||||
|
[< Go back to part11-breakout-smp](../part11-breakout-smp)
|
||||||
|
|
||||||
Porting the WordUp Graphics Toolkit
|
Porting the WordUp Graphics Toolkit
|
||||||
-----------------------------------
|
-----------------------------------
|
||||||
Back in the mid-1990s (when I was young!), programmers who wanted to build their own games didn't have rich frameworks like Unity. Perhaps the closest we got was the WordUp Graphics Toolkit, which I came across on the Hot Sound & Vision CD-ROM - a BBS archive. If you have a moment, perhaps use Google to see what "bulletin board systems" were... nostaglia awaits!
|
Back in the mid-1990s (when I was young!), programmers who wanted to build their own games didn't have rich frameworks like Unity. Perhaps the closest we got was the WordUp Graphics Toolkit, which I came across on the Hot Sound & Vision CD-ROM - a BBS archive. If you have a moment, perhaps use Google to see what "bulletin board systems" were... nostaglia awaits!
|
||||||
|
|
|
@ -1,6 +1,8 @@
|
||||||
Writing a "bare metal" operating system for Raspberry Pi 4 (Part 13)
|
Writing a "bare metal" operating system for Raspberry Pi 4 (Part 13)
|
||||||
====================================================================
|
====================================================================
|
||||||
|
|
||||||
|
[< Go back to part12-wgt](../part12-wgt)
|
||||||
|
|
||||||
What are interrupts?
|
What are interrupts?
|
||||||
--------------------
|
--------------------
|
||||||
If you've spent any time looking at the Bluetooth code in these tutorials, you'll notice we're always "polling" for updates. In fact, in _part11-breakout-smp_ we tie up an entire core just waiting around for something to happen. This clearly isn't the best use of CPU time. Fortunately, the world solved that problem for us years ago with _interrupts_.
|
If you've spent any time looking at the Bluetooth code in these tutorials, you'll notice we're always "polling" for updates. In fact, in _part11-breakout-smp_ we tie up an entire core just waiting around for something to happen. This clearly isn't the best use of CPU time. Fortunately, the world solved that problem for us years ago with _interrupts_.
|
||||||
|
|
|
@ -1,6 +1,8 @@
|
||||||
Writing a "bare metal" operating system for Raspberry Pi 4 (Part 14)
|
Writing a "bare metal" operating system for Raspberry Pi 4 (Part 14)
|
||||||
====================================================================
|
====================================================================
|
||||||
|
|
||||||
|
[< Go back to part13-interrupts](../part13-interrupts)
|
||||||
|
|
||||||
Bare metal Ethernet for under £10
|
Bare metal Ethernet for under £10
|
||||||
---------------------------------
|
---------------------------------
|
||||||
It's exciting to build your own OS, but until you give it the ability to communicate with the outside world, your possibilities are limited. Indeed, our simple Bluetooth comms got us up and running - but if we're to do anything meaningful then we need proper networking.
|
It's exciting to build your own OS, but until you give it the ability to communicate with the outside world, your possibilities are limited. Indeed, our simple Bluetooth comms got us up and running - but if we're to do anything meaningful then we need proper networking.
|
||||||
|
|
|
@ -1,6 +1,8 @@
|
||||||
Writing a "bare metal" operating system for Raspberry Pi 4 (Part 15)
|
Writing a "bare metal" operating system for Raspberry Pi 4 (Part 15)
|
||||||
====================================================================
|
====================================================================
|
||||||
|
|
||||||
|
[< Go back to part14-spi-ethernet](../part14-spi-ethernet)
|
||||||
|
|
||||||
Adding a TCP/IP stack
|
Adding a TCP/IP stack
|
||||||
---------------------
|
---------------------
|
||||||
Having achieved "proof of life" from our Ethernet module in _part14-spi-ethernet_, you're doubtless wondering how to go from there to serving web pages, posting tweets on Twitter or perhaps even just simply responding to a ping!
|
Having achieved "proof of life" from our Ethernet module in _part14-spi-ethernet_, you're doubtless wondering how to go from there to serving web pages, posting tweets on Twitter or perhaps even just simply responding to a ping!
|
||||||
|
|
|
@ -1,6 +1,8 @@
|
||||||
Writing a "bare metal" operating system for Raspberry Pi 4 (Part 2)
|
Writing a "bare metal" operating system for Raspberry Pi 4 (Part 2)
|
||||||
===================================================================
|
===================================================================
|
||||||
|
|
||||||
|
[< Go back to part1-bootstrapping](./part1-bootstrapping/)
|
||||||
|
|
||||||
Making a makefile
|
Making a makefile
|
||||||
-----------------
|
-----------------
|
||||||
|
|
||||||
|
|
|
@ -1,6 +1,8 @@
|
||||||
Writing a "bare metal" operating system for Raspberry Pi 4 (Part 3)
|
Writing a "bare metal" operating system for Raspberry Pi 4 (Part 3)
|
||||||
===================================================================
|
===================================================================
|
||||||
|
|
||||||
|
[< Go back to part2-building](../part2-building)
|
||||||
|
|
||||||
Making something happen
|
Making something happen
|
||||||
-----------------------
|
-----------------------
|
||||||
|
|
||||||
|
|
|
@ -1,6 +1,8 @@
|
||||||
Writing a "bare metal" operating system for Raspberry Pi 4 (Part 4)
|
Writing a "bare metal" operating system for Raspberry Pi 4 (Part 4)
|
||||||
===================================================================
|
===================================================================
|
||||||
|
|
||||||
|
[< Go back to part3-helloworld](../part3-helloworld)
|
||||||
|
|
||||||
Memory-Mapped I/O
|
Memory-Mapped I/O
|
||||||
-----------------
|
-----------------
|
||||||
|
|
||||||
|
|
|
@ -1,6 +1,8 @@
|
||||||
Writing a "bare metal" operating system for Raspberry Pi 4 (Part 5)
|
Writing a "bare metal" operating system for Raspberry Pi 4 (Part 5)
|
||||||
===================================================================
|
===================================================================
|
||||||
|
|
||||||
|
[< Go back to part4-miniuart](../part4-miniuart)
|
||||||
|
|
||||||
Working with the screen
|
Working with the screen
|
||||||
-----------------------
|
-----------------------
|
||||||
|
|
||||||
|
|
|
@ -1,6 +1,8 @@
|
||||||
Writing a "bare metal" operating system for Raspberry Pi 4 (Part 6)
|
Writing a "bare metal" operating system for Raspberry Pi 4 (Part 6)
|
||||||
===================================================================
|
===================================================================
|
||||||
|
|
||||||
|
[< Go back to part5-framebuffer](../part5-framebuffer)
|
||||||
|
|
||||||
Introducing Breakout
|
Introducing Breakout
|
||||||
--------------------
|
--------------------
|
||||||
|
|
||||||
|
|
|
@ -1,6 +1,8 @@
|
||||||
Writing a "bare metal" operating system for Raspberry Pi 4 (Part 7)
|
Writing a "bare metal" operating system for Raspberry Pi 4 (Part 7)
|
||||||
===================================================================
|
===================================================================
|
||||||
|
|
||||||
|
[< Go back to part6-breakout](../part6-breakout)
|
||||||
|
|
||||||
Getting Bluetooth up
|
Getting Bluetooth up
|
||||||
--------------------
|
--------------------
|
||||||
|
|
||||||
|
|
|
@ -1,6 +1,8 @@
|
||||||
Writing a "bare metal" operating system for Raspberry Pi 4 (Part 8)
|
Writing a "bare metal" operating system for Raspberry Pi 4 (Part 8)
|
||||||
===================================================================
|
===================================================================
|
||||||
|
|
||||||
|
[< Go back to part7-bluetooth](../part7-bluetooth)
|
||||||
|
|
||||||
Receiving Bluetooth data
|
Receiving Bluetooth data
|
||||||
------------------------
|
------------------------
|
||||||
So we've mastered advertising and we're broadcasting data out into the World. But that's only half the story! In this part, we'll be exploring how to receive data from an external source. This is much more exciting as we can begin to use other devices as remote controllers.
|
So we've mastered advertising and we're broadcasting data out into the World. But that's only half the story! In this part, we'll be exploring how to receive data from an external source. This is much more exciting as we can begin to use other devices as remote controllers.
|
||||||
|
|
|
@ -1,6 +1,8 @@
|
||||||
Writing a "bare metal" operating system for Raspberry Pi 4 (Part 9)
|
Writing a "bare metal" operating system for Raspberry Pi 4 (Part 9)
|
||||||
===================================================================
|
===================================================================
|
||||||
|
|
||||||
|
[< Go back to part8-breakout-ble](../part8-breakout-ble)
|
||||||
|
|
||||||
Playing sound from the audio jack
|
Playing sound from the audio jack
|
||||||
---------------------------------
|
---------------------------------
|
||||||
One thing our game is missing is the excitement of sound! Some beeps and squeaks would be a wonderful addition to make the gameplay more compelling. Let's work to do just that!
|
One thing our game is missing is the excitement of sound! Some beeps and squeaks would be a wonderful addition to make the gameplay more compelling. Let's work to do just that!
|
||||||
|
|
Loading…
Reference in a new issue