本帖最后由 木林森X 于 2015-3-26 16:40 编辑
Raspberry Pi
Downloads
This page contains download links for the GNU toolchains, as well as the model answers to each lesson. Contents - 1 GNU Toolchain
- 1.1 Microsoft Windows
- 1.2 Mac OS X
- 1.3 Linux
- 2 OS Template
- 3 Lesson Solutions
- 3.1 Lesson 1: OK01
- 3.2 Lesson 2: OK02
- 3.3 Lesson 3: OK03
- 3.4 Lesson 4: OK04
- 3.5 Lesson 5: OK05
- 3.6 Lesson 6: Screen01
- 3.7 Lesson 7: Screen02
- 3.8 Lesson 8: Screen03
- 3.9 Lesson 9: Screen04
- 3.10 Lesson 10: Input01
- 3.11 Lesson 11: Input02
- 4 Example Operating Systems
- 5 Fonts
- 5.1 Monospace, Monochrome 8x16
- 6 USB driver (CSUD) Source
|
1 GNU Toolchain1.1 Microsoft Windows For Microsoft Windows, I use the YAGARTO and MinGW packages. Please visit the YAGARTO website and download and install YAGARTO Tools and YAGARTO GNU ARM toolchain for Windows. MinGW can be downloaded from here. You may need to restart your computer for this to work (honestly). Note: YAGARTO must be installed to a path with no spaces, e.g. 'C:\YAGARTO\' not 'C:\Program ***\YAGARTO\'. 1.2 Mac OS X For Mac OS X, I use the YAGARTO packages. Please visit the YAGARTO website and download and install YAGARTO GNU ARM toolchain for Mac OS X. 1.3 Linux Use the following commands: $ wget http://www.cl.cam.ac.uk/freshers ... m-none-eabi.tar.bz2--2012-08-16 18:26:29-- http://www.cl.cam.ac.uk/freshers ... bi.tar.bz2Resolving www.cl.cam.ac.uk (www.cl.cam.ac.uk)... 128.232.0.20, 2001:630:212:267::80:14Connecting to www.cl.cam.ac.uk (www.cl.cam.ac.uk)|128.232.0.20|:80... connected.HTTP request sent, awaiting response... 200 OKLength: 32108070 (31M) [application/x-bzip2]Saving to: `arm-none-eabi.tar.bz2'100%[======================================>] 32,108,070 668K/s in 67s2012-08-16 18:27:39 (467 KB/s) - `arm-none-eabi.tar.bz2' saved [32108070/32108070]$ tar xjvf arm-none-eabi.tar.bz2arm-2008q3/arm-none-eabi/arm-2008q3/arm-none-eabi/lib/arm-2008q3/arm-none-eabi/lib/libsupc++.aarm-2008q3/arm-none-eabi/lib/libcs3arm.a...arm-2008q3/share/doc/arm-arm-none-eabi/info/gprof.infoarm-2008q3/share/doc/arm-arm-none-eabi/info/cppinternals.infoarm-2008q3/share/doc/arm-arm-none-eabi/LICENSE.txt$ export PATH=$PATH HOME/arm-2008q3/bin2 OS Template The OS Template file is one I have created which contains enough instructions for the compiler to create a basic Operating System for the Raspberry Pi. It contains no actual assembly code, just a Makefile script and a Linker script. Download Template for USB Operating System.
3 Lesson Solutions3.1 Lesson 1: OK01 Full Solution
3.2 Lesson 2: OK02 Full Solution
3.3 Lesson 3: OK03 Extension Solution
3.4 Lesson 4: OK04 Full Solution
3.5 Lesson 5: OK05 Full Solution
3.6 Lesson 6: Screen01 Full Solution
3.7 Lesson 7: Screen02 Full Solution
3.8 Lesson 8: Screen03 Full Solution
3.9 Lesson 9: Screen04 Full Solution
3.10 Lesson 10: Input01 Full Solution
3.11 Lesson 11: Input02 Full Solution
4 Example Operating Systems [size=0.75em]Here are some example operating systems for you to learn from. If you've coded an operating system that you think others could benefit from, please email me at awc32@cam.ac.uk. Table 4.1 Example Operating Systems[td]| Name | Author | Description | | Coloured CLI
| Alex Chadwick | This example is a small extension to Input01, featuring a coloured text terminal, rather than a black and white one. Special characters are used to change the colour. | | Pascal OSs | Marten van der Honing | A few small OSs written is Pascal based on this course, and beyond. | | 5 Fonts Below are some fonts for you to use in your Operating Systems. 5.1 Monospace, Monochrome 8x16 These fonts are the simplest ones available. They use a 1 to represent a white pixel, a 0 to represent a black pixel, and having representations for the first 128 ASCII characters. The use 16 bytes per character, arranged such that each byte is one complete row, going right to left with higher bits, going top to bottom with later bytes. The tutorial used to suggest these fonts were stored in the opposite direction along the rows. The lowest bit is the rightmost pixel, the highest bit is the leftmost. Table 5.1.1 Monospace, Monochrome 8x16 Fonts[td]| Font | Image | License | Monospace Default
| ![]() | Free to use/redistribute commercially. Cannot be titled 'Bitstream' or 'Vera'. | | Liberation Mono | ![]() | SIL Open Font License. | | Liberation Serif Mono | ![]() | SIL Open Font License. | 3个字体文件:
6 USB driver (CSUD) Source The source code for CSUD (Chadderz's Simple USB driver) used in the tutorials is available here:https://github.com/Chadderz121/csud.
|