1. RISC-V ALE Exercise Book
  2. Introduction
  3. 1. Getting Started
    1. 1.1. Code Generation Tools
    2. 1.2. Automating the compilation process with Makefiles
  4. 2. Getting Started with the Simulator
    1. 2.1. Running the Hello World program
    2. 2.2. Using the Assistant to check a Simple Symbol Calculator program
    3. 2.3. Debugging a program
  5. 3. Data Representation on Modern Computers
    1. 3.1. Number Base Conversion in C
  6. 4. Assembly, object and executable files
    1. 4.1. Organization of an ELF file
  7. 5. Bit Manipulation and Instruction Encoding
    1. 5.1. Bit Masking and Shift Operations
    2. 5.2. RISC-V Instruction Encoding
  8. 6. Assembly User-level Programming
    1. 6.1. Square Root
    2. 6.2. GPS
    3. 6.3. Hamming Code
    4. 6.4. Image on Canvas
    5. 6.5. Applying a Filter to an Image
    6. 6.6. Custom Search on a Linked List
    7. 6.7. ABI-compliant Linked List Custom Search
    8. 6.8. ABI-compliant Recursive Binary Tree Search
  9. 7. Assembly System-level Programming
    1. 7.1. Accessing Peripherals - Controlling the Car
    2. 7.2. Accessing Peripherals - Using Serial Port
    3. 7.3. External Interrupts - MIDI Player
    4. 7.4. Software Interrupts - Controlling the Car
  10. 8. Complementary Short Exercises
    1. 8.1. ABI Compliance
    2. 8.2. Data Organization on the Memory
  11. 9. Final Projects
    1. 9.1. Driving Through the City
  12. 10. Appendix
    1. 10.1. ALE Peripherals MMIO Manual

RISC-V ALE Exercise Book v1.3.2

Appendix

  • ALE Peripherals MMIO Manual