Sorry, this page is no longer available
We may earn an affiliate commission when you visit our partners.
Course image
Eduardo Corpeño and Marissa Siliezar

Learn about the RISC-V Instruction Set Architecture by creating applications in an actual RISC-V microcontroller. See many applications developed on a RISC-V embedded microcontroller board. We've chosen an inexpensive board so you may follow along if you want.

This course is part of a hands-on curriculum where you'll get some basic experience on the design and development of embedded applications using a RISC-V core. This curriculum contains the following courses:

Read more

Learn about the RISC-V Instruction Set Architecture by creating applications in an actual RISC-V microcontroller. See many applications developed on a RISC-V embedded microcontroller board. We've chosen an inexpensive board so you may follow along if you want.

This course is part of a hands-on curriculum where you'll get some basic experience on the design and development of embedded applications using a RISC-V core. This curriculum contains the following courses:

  1. Part 1: The Where you'll learn about the RISC-V Instruction Set Architecture.

  2. Part 2: Embedded Applications. Where you'll learn how to create basic applications using the on-chip peripherals.

  3. Part 3: Real Time Operating Systems. Where you'll learn how to create RTOS applications with an industry standard RTOS.

  4. Part 4: The Journey inside an RTOS. Where you'll learn how an RTOS works, now that you know how to use them.

The purpose of this first course is to get you acquainted with the RISC-V Instruction Set Architecture, covering the following topics, and more:

  1. About RISC-V

    1. The RISC philosophy.

    2. The RISC-V foundation.

  2. The RISC-V Instruction Set Architecture Details.

    1. CPU Registers.

    2. Addressing Modes.

    3. The Modular Instruction Set Variants.

      1. Base (Integer) Instruction Set.

      2. Multiplication Instruction Set.

      3. Atomic Operation Instruction Set.

      4. Compressed Instruction Set.

      5. Floating Point Instruction Set.

        1. Hands-On Boot Camp

  3. The GD32 Board, by Seeed Studio

  4. Segger Embedded Studio

    1. Creating a Project

    2. Compiling your Code

  5. Debugging

  6. Disassembled Code

Enroll now

What's inside

Learning objectives

  • How to design an embedded system of your own.
  • The steps to take when you have an embedded system in mind.
  • Tips and tricks in several steps of the design and implementation process.
  • How the risc-v architecture is organized.
  • The risc-v philosophy.

Syllabus

Introduction
Motivation 1: Become a part of the RISC-V community!
Motivation 2: Learn Computer Architecture
Motivation 3: Get over the Arduino!
Read more

Traffic lights

Read about what's good
what should give you pause
and possible dealbreakers
Provides hands-on experience with the RISC-V architecture using an inexpensive microcontroller board, allowing learners to apply concepts directly
Explores the RISC-V Instruction Set Architecture in detail, covering CPU registers, addressing modes, and instruction set variants, which are fundamental concepts
Uses Segger Embedded Studio, a professional-grade IDE, to create, compile, and debug code, which is essential for real-world embedded development
Belongs to a four-part curriculum that covers the RISC-V ISA, embedded applications, real-time operating systems, and the inner workings of an RTOS
Requires the GD32VF103 board by Seeed Studio, which may require an additional purchase for learners who want to follow along with the hands-on exercises
Includes optional crash courses on computer architecture, which may be helpful for learners without a strong background in the field

Save this course

Create your own learning path. Save this course to your list so you can find it easily later.
Save

Reviews summary

Intro to risc-v isa & embedded

According to learners, this course serves as a solid foundation for understanding the RISC-V Instruction Set Architecture and diving into embedded systems development using a real board. Many students found the hands-on labs and demos to be a major strength, helping them solidify theoretical concepts, especially when transitioning from simpler platforms like Arduino. The overview of computer architecture principles was also appreciated. However, some reviewers highlighted that the development environment setup with Segger Embedded Studio and the specific hardware could be challenging, sometimes requiring troubleshooting or reliance on workarounds. Overall, students view it as a valuable, practical introduction.
Background knowledge is highly recommended.
"Having some prior C/assembly knowledge is definitely helpful to follow along smoothly."
"I think this course might be challenging without a basic computer architecture background."
"I struggled a bit in certain parts because I lacked some of the suggested prerequisites."
Good for those moving beyond basic MCUs.
"This course feels like a perfect next step after working with Arduino or other microcontrollers."
"It helps bridge the gap to more low-level, professional embedded development."
"Coming from Arduino, this course opened my eyes to the possibilities and complexities of RISC-V."
Practical labs reinforce learning effectively.
"The hands-on labs with the GD32 board are incredibly useful, making abstract concepts concrete."
"Seeing the code run on actual hardware makes a big difference in understanding how things work."
"I appreciate the practical examples and demos shown; they really help solidify the learning."
Provides a strong introduction to the ISA.
"The course provides a very clear explanation of the RISC-V ISA, covering the base integer set and extensions well."
"I learned the core concepts of the instruction set which was my main goal for taking this course."
"I feel like I got a great foundation on the RISC-V architecture itself from this module."
Some sections might feel rushed.
"Some sections felt rushed, especially the debugging part, I had to rewatch them."
"I wish some complex topics were explained in more depth with more examples."
"Pacing was inconsistent for me; sometimes it felt too slow, sometimes it moved too fast."
Setting up tools and board can be difficult.
"Getting the Segger Embedded Studio set up correctly was a bit frustrating and took longer than expected."
"The instructions for the board setup needed extra troubleshooting on my end."
"I had to find workarounds for some of the hardware and software issues I encountered during setup."

Activities

Be better prepared before your course. Deepen your understanding during and after it. Supplement your coursework and achieve mastery of the topics covered in Embedded Fun with RISC-V, Part 1: The RISC-V ISA with these activities:
Review Computer Architecture Fundamentals
Reinforce your understanding of computer architecture concepts, including CPU structure, memory organization, and instruction execution, to better grasp the RISC-V ISA.
Browse courses on Computer Architecture
Show steps
  • Review basic CPU components like ALU, registers, and control unit.
  • Study memory hierarchy and addressing modes.
  • Understand instruction cycle and execution flow.
Read 'RISC-V Reader: An Open Architecture Atlas'
Gain a deeper understanding of the RISC-V ISA by studying this comprehensive guide.
Show steps
  • Read the chapters related to the base integer instruction set.
  • Study the different instruction formats and addressing modes.
  • Compare the information in the book with the course material.
Read 'Computer Organization and Design RISC-V Edition'
Deepen your understanding of RISC-V architecture by studying a comprehensive textbook on computer organization and design.
Show steps
  • Read the chapters related to instruction set architecture and CPU design.
  • Work through the examples and exercises in the book.
  • Compare the concepts presented in the book with the course material.
Four other activities
Expand to see all activities and additional details
Show all seven activities
Write Assembly Code for Simple Tasks
Practice writing RISC-V assembly code for basic tasks like arithmetic operations, data movement, and control flow to solidify your understanding of the instruction set.
Show steps
  • Write assembly code to add two numbers and store the result in memory.
  • Write assembly code to copy data from one memory location to another.
  • Write assembly code to implement a simple loop.
  • Test your code using the debugger.
Create a RISC-V Instruction Set Cheat Sheet
Compile a concise cheat sheet summarizing the most commonly used RISC-V instructions, their syntax, and their purpose for quick reference.
Show steps
  • List the core RISC-V instructions (RV32I).
  • Include instructions from the M, F, and C extensions.
  • Organize the cheat sheet by instruction type (e.g., arithmetic, memory, branch).
  • Add a brief description of each instruction's function.
Implement a Simple Calculator in RISC-V Assembly
Develop a basic calculator application in RISC-V assembly language that performs addition, subtraction, multiplication, and division operations.
Show steps
  • Design the calculator's user interface (input/output).
  • Write assembly code to handle user input and perform calculations.
  • Implement error handling (e.g., division by zero).
  • Test the calculator thoroughly.
Contribute to a RISC-V Open Source Project
Contribute to an existing RISC-V open-source project, such as a software library, a toolchain, or a hardware design, to gain practical experience and collaborate with other developers.
Show steps
  • Find a RISC-V open-source project on GitHub or GitLab.
  • Read the project's documentation and contribution guidelines.
  • Identify a bug to fix or a feature to implement.
  • Submit a pull request with your changes.

Career center

Learners who complete Embedded Fun with RISC-V, Part 1: The RISC-V ISA will develop knowledge and skills that may be useful to these careers:
Embedded Systems Engineer
An embedded systems engineer designs, develops, and tests software and hardware for embedded systems. The work involves creating applications for microcontrollers, integrating hardware components, and ensuring the system meets performance requirements. A course focusing on the RISC-V Instruction Set Architecture is incredibly valuable as it provides a deep understanding of the core principles underlying modern embedded systems. Focusing on the RISC-V ISA helps build a foundation for working effectively with a wide array of embedded processors. This course, with its emphasis on RISC-V architecture and hands-on application development, is an ideal starting point for aspiring embedded systems engineers.
Firmware Engineer
A firmware engineer specializes in developing low-level software that controls hardware devices. This includes writing code for microcontrollers, debugging hardware interactions, and optimizing performance. This course, explaining the RISC-V Instruction Set Architecture, is directly relevant to this role, as firmware engineers frequently work with these architectures. By learning about CPU registers, addressing modes, and instruction set variants, such as those covered in this course, you are one step closer to understanding how to write efficient and reliable firmware. The hands-on experience with the GD32 board and Segger Embedded Studio also directly translates to real-world firmware development workflows.
Hardware Engineer
Hardware engineers design, develop, and test computer systems and components. They work on everything from circuit boards to processors. While hardware engineers might not always delve into instruction set architectures, understanding the RISC-V ISA can provide valuable insights into how software interacts with hardware. Knowledge of the RISC-V architecture, as taught in this course, helps you understand how the hardware executes instructions and manages data. Furthermore, the course’s exploration of bus architectures, memory subsystems, and input/output subsystems helps hardware engineers design more efficient and effective systems.
Internet of Things Engineer
Internet of Things engineers design and develop connected devices that can communicate with each other and the internet. These devices often rely on embedded systems and microcontrollers with RISC-V architecture. This course, explaining the RISC-V Instruction Set Architecture, is beneficial to Internet of Things engineers as it provides a comprehensive foundation in the underlying architecture of many Internet of Things devices. This course may improve their ability to design and implement efficient and secure Internet of Things solutions.
Systems Architect
A systems architect designs and oversees the implementation of complex computer systems, ensuring that all components work together effectively. A deep understanding of instruction set architectures, like RISC-V, plays a pivotal role in system performance. This course’s detailed exploration of the RISC-V Instruction Set Architecture, including CPU registers, addressing modes, and instruction set variants, helps examine the fundamental building blocks of system design. By understanding the principles of RISC-V, a systems architect can make informed decisions about hardware and software choices. In this way, they optimize the overall performance and efficiency of the system.
Computer Architect
A computer architect designs and develops the architecture of computer systems, including processors, memory systems, and communication networks. This often requires a deep understanding of instruction set architectures and their implications. This course offers a dedicated introduction to the RISC-V Instruction Set Architecture, including CPU registers, addressing modes, and instruction set variants. For anyone interested in becoming a computer architect, this course helps examine the fundamental building blocks of modern processor design. Given the growing adoption of RISC-V, especially, this course may be quite useful.
Cryptography Engineer
Cryptography engineers design and implement secure communication systems and cryptographic algorithms. Understanding the underlying hardware and software architectures is crucial for ensuring the security of these systems. This course may be useful for cryptography engineers who are working with embedded systems based on the RISC-V architecture. By gaining a deeper understanding of the RISC-V Instruction Set Architecture, cryptography engineers can better design and implement secure cryptographic solutions for embedded devices.
Robotics Engineer
Robotics engineers design, build, and program robots for a variety of applications. This often involves working with embedded systems and microcontrollers. This course may be useful for robotic engineers as it explores the RISC-V Instruction Set Architecture and its implementation in embedded systems. The knowledge gained from this course of RISC-V architecture, along with Segger Embedded Studio, can be applied to programming and controlling robots.
Signal Processing Engineer
Signal processing engineers develop algorithms and systems for processing signals, such as audio, images, and video. Many signal processing applications are implemented on embedded systems, making knowledge of instruction set architectures valuable. This course may be useful for signal processing engineers who are working with embedded systems based on the RISC-V architecture. This helps them optimize their algorithms for the specific hardware platform and improve performance.
Software Engineer
Software engineers design, develop, and test software applications. While this role is broad, understanding computer architecture can provide a deeper understanding of how software interacts with hardware. Though a software engineer is often not concerned with instruction set architecture, they can benefit from understanding ISA. This course provides a solid introduction to the RISC-V Instruction Set Architecture. This course may be useful to software engineers by helping them optimize their code for specific hardware platforms and troubleshoot performance issues.
Academic Researcher
Academic researchers investigate new scientific principles. Often, this requires significant understanding of computer architecture and the impact of computer architecture. This course may be helpful to academic researchers because it explores topics such as microprocessor-based systems, along with ISA. Given its exploration of RISC-V architecture, the knowledge gained from this course may also help academic individuals stay more informed.
Research and Development Engineer
Research and development engineers conduct research and develop new technologies in various fields. This often involves exploring emerging architectures and technologies. This course may be beneficial for research and development engineers interested in exploring the RISC-V architecture and its potential applications. The knowledge gained from this course helps research and development engineers stay at the forefront of technological innovation.
Test Engineer
Test engineers design and implement tests to ensure the quality and reliability of hardware and software systems. Understanding the underlying architecture of a system is crucial for developing effective tests. This course may be helpful for test engineers working with embedded systems based on the RISC-V architecture. The knowledge gained from this course helps test engineers create targeted tests that can identify potential issues and improve the overall quality of the system.
Application Engineer
Application engineers provide technical support and guidance to customers using a company's products. This may require understanding the underlying hardware and software architectures. This course may be useful for application engineers supporting embedded systems based on the RISC-V architecture. By gaining a deeper understanding of the RISC-V Instruction Set Architecture, application engineers can better assist customers with their technical issues and help them effectively use the company's products.
Technical Consultant
A technical consultant provides expert advice and guidance to companies on technology-related issues. This often requires a broad understanding of various technologies and their applications. This course may be useful for technical consultants who need to advise clients on embedded systems or RISC-V architecture. The knowledge gained from this course helps technical consultants provide informed recommendations and guidance to their clients.

Reading list

We've selected two books that we think will supplement your learning. Use these to develop background knowledge, enrich your coursework, and gain a deeper understanding of the topics covered in Embedded Fun with RISC-V, Part 1: The RISC-V ISA.
Provides a comprehensive overview of computer organization and design, with a specific focus on the RISC-V architecture. It covers topics such as instruction set design, pipelining, memory systems, and I/O. This book is commonly used as a textbook at academic institutions. Reading this book will provide a deeper understanding of the concepts covered in the course and prepare you for more advanced topics.
Provides a detailed overview of the RISC-V instruction set architecture. It covers the base integer instruction set, as well as several extensions. This book valuable resource for anyone who wants to learn more about RISC-V. It is particularly useful for understanding the different instruction formats and addressing modes.

Share

Help others find this course page by sharing it with your friends and followers:

Similar courses

Similar courses are unavailable at this time. Please try again later.
Our mission

OpenCourser helps millions of learners each year. People visit us to learn workspace skills, ace their exams, and nurture their curiosity.

Our extensive catalog contains over 50,000 courses and twice as many books. Browse by search, by topic, or even by career interests. We'll match you to the right resources quickly.

Find this site helpful? Tell a friend about us.

Affiliate disclosure

We're supported by our community of learners. When you purchase or subscribe to courses and programs or purchase books, we may earn a commission from our partners.

Your purchases help us maintain our catalog and keep our servers humming without ads.

Thank you for supporting OpenCourser.

© 2016 - 2025 OpenCourser