آموزش جامع تسلط بر پردازنده RISC-V برای برنامه‌نویسی سیستم‌های توکار - آخرین آپدیت

دانلود Mastering RISC-V Processor for Embedded Systems Programming

نکته: ممکن هست محتوای این صفحه بروز نباشد ولی دانلود دوره آخرین آپدیت می باشد.
نمونه ویدیوها:
توضیحات دوره:

آشنایی با معماری پردازنده RISC-V، برنامه نویسی C/Assembly برای CPU RISC-V، ویژگی‌های اصلی RISC-V، اشکال‌زدایی RISC-V

معماری پردازنده RISC-V را بشناسید

مجموعه دستورالعمل RISC-V و مدل برنامه‌نویسی آن را درک کنید

یادگیری نحوه نوشتن اولین برنامه RISC-V خود

کار عملی با بلوک‌های سخت‌افزاری RISC-V مانند PMP برای محافظت از حافظه، زنجیره ابزار مورد استفاده، وقفه‌ها

دریافت یک پروژه makefile نمونه RISC-V

پیش‌نیازها: دانش پایه در زمینه توسعه سیستم‌های توکار (Embedded Systems) و همچنین آشنایی اولیه با خانواده‌های پردازنده‌های موجود مانند X86 و ARM.

آیا کلمه کلیدی RISC-V برای شما آشناست یا آن را مدتی است که به صورت آنلاین دیده‌اید؟ آیا می‌خواهید معماری پردازنده RISC-V و تفاوت آن با سایر معماری‌های پردازنده‌ها مانند ARM را بیاموزید؟ آیا می‌خواهید اولین پروژه توکار RISC-V خود را بنویسید؟ خب، این دوره پاسخ تمام این سوالات و حتی بیشتر از آن است!


RISC-V فراتر از یک کلمه کلیدی ساده یا یک مفهوم ابتدایی است که یک بار آن را یاد بگیرید و فراموش کنید. معماری پردازنده RISC-V مجموعه‌ای جدید از پردازنده‌ها را تعریف می‌کند تا جایگزین پردازنده‌های موجود مانند ARM/X86 شود و با هزینه کم با آن‌ها رقابت کند؛ این معماری آمده تا بماند و فراموش نشود!


چه چیزی از این دوره به دست خواهید آورد؟

این دوره به شما کمک خواهد کرد تا:

  • درک معماری پردازنده RISC-V و تفاوت آن با سایر معماری‌های پردازنده‌ها.

  • مشاهده برخی از نتایج بنچمارک با خانواده‌های پردازنده‌های دیگر مانند ARM.

  • آشنایی با حالت‌های پشتیبانی شده RISC-V: Machine/Supervisor/User modes و نحوه جابجایی بین آن‌ها.

  • یادگیری مدیریت وقفه در پردازنده‌های RISC-V.

  • یادگیری انواع مختلف استثناها و نحوه تمایز RISC-V بین وقفه‌های خارجی (External Interrupts) و استثناهای داخلی (Internal Exceptions).

  • یادگیری مدیریت خطا و نحوه تجزیه و تحلیل استثناهای خطای مختلف در RISC-V.

  • آشنایی با معماری مجموعه دستورالعمل RISC-V (ISA).

  • درک بلوک سخت‌افزاری PMP (محافظت فیزیکی حافظه - Physical Memory Protection).

  • یادگیری نحوه ایجاد نواحی محافظت شده حافظه از نظر مجوزهای دسترسی با استفاده از بلوک سخت‌افزاری PMP.

  • یادگیری تفاوت بین حالت‌های رمزگذاری TOR و NAPORT برای تطابق آدرس که توسط بلوک PMP پشتیبانی می‌شوند، و همچنین نحوه رمزگذاری و برنامه‌ریزی صحیح رجیسترهای PMP با مرزهای ناحیه حافظه‌ای که می‌خواهید محافظت کنید.

  • یادگیری نحوه نوشتن کد C/Assembly برای پردازنده RISC-V خود.

  • یادگیری نحوه بوت شدن و اجرای کدهای شما توسط پردازنده RISC-V.


به عنوان بخشی از پروژه، موارد زیر را دریافت خواهید کرد:

  • یک پروژه توکار RISC-V مبتنی بر makefile که می‌توانید آن را کامپایل کرده و در دستگاه RISC-V خود بارگذاری کنید.

  • این پروژه روی برد HiFive1 از شرکت SiFive که دارای CPU G002 (نوع پردازنده RISC-V RV32) است، کامپایل و اجرا خواهد شد.

  • مجموعه‌ای از ابزارهای مورد نیاز برای کامپایل، بارگذاری و اشکال‌زدایی پروژه و مثال‌های RISC-V شما.

  • مجموعه‌ای از مثال‌های عملی، که هر یک مفاهیم/اصطلاحات پوشش داده شده در این دوره را شامل می‌شود.

  • یادگیری نحوه بارگذاری و اشکال‌زدایی پروژه توکار RISC-V خود در برد SiFive HiFive1.

  • آشنایی با رجیسترهای عمومی پردازنده RISC-V و همچنین رجیسترهای CSR با قابلیت‌های خاص.


این دوره تنها درباره پردازنده RISC-V نیست، بلکه همچنین درباره نحوه نوشتن و توسعه یک پروژه توکار بر روی پلتفرم مبتنی بر RISC-V است!


سرفصل ها و درس ها

RISCV Architecture Overview

  • بررسی اجمالی بازار پردازنده‌ها Processors Market Overview

  • معیارهای پردازنده Processor Criteria

  • طراحی دستورالعمل‌ها بر اساس CISC در مقابل RISC CISC vs RISC based Instructions Design

  • معیارگذاری (Benchmarking) CISC در مقابل RISC CISC vs RISC Benchmarking

  • معماری پردازنده‌های ARM در مقابل X86 ARM vs X86 Processors Architectures

  • معماری ARM در مقابل RISCV ARM Vs RISCV Architecture

  • ARM و RISCV به عنوان طراحی SOC ناهمگن ARM and RISCV as Heterogeneous SOC Design

RISCV ISA (معماری مجموعه دستورالعمل) RISCV ISA (Instruction Set Architecture)

  • مجموعه دستورالعمل‌های RISCV: خطوط پایه دستورالعمل‌ها RISCV Instructions Set: Instructions Base Lines

  • مجموعه دستورالعمل‌های RISCV: توسعه‌های دستورالعمل‌ها RISCV Instructions Set: Instructions Extensions

  • دستورالعمل‌های شبه (Pseudo) اسمبلی RISCV RISCV Assembly Pseudo Instructions

  • خلاصه مجموعه دستورالعمل‌های RISCV RISCV Instructions Set Summary

  • دستورالعمل‌های RISCV: عملیات حسابی RISCV Instructions: Arithmetic Operations

  • دستورالعمل‌های RISCV: عملیات منطقی RISCV Instructions: Logical Operations

  • دستورالعمل‌های RISCV: عملیات حافظه بارگذاری/ذخیره RISCV Instructions: Load/Store Memory Operations

  • دستورالعمل‌های RISCV: عملیات پرش/انتقال شرطی RISCV Instructions: Branch/Jump Operations

  • رمزگذاری فرمت دستورالعمل RISCV RISCV Instruction Format Encoding

رجیسترهای داخلی RISCV RISCV Internal Registers

  • رجیسترهای عمومی (General Purpose) RISCV: رجیسترهای Zero, SP, RA, GP, TP RISCV General Purpose Registers: Zero, SP, RA, GP, TP Registers

  • رجیسترهای عمومی RISCV: رجیسترهای موقت (Caller Registers) RISCV General Purpose Registers: Temporary Registers (Caller Registers)

  • رجیسترهای عمومی RISCV: رجیسترهای ذخیره‌شده (Callee Registers) RISCV General Purpose Registers: Saved Registers (Callee Registers)

  • رجیسترهای عمومی RISCV: رجیسترهای آرگومان‌های تابع RISCV General Purpose Registers: Function Arguments Registers

  • رجیسترهای عمومی RISCV: رجیسترهای مقدار بازگشتی RISCV General Purpose Registers: Return Value Registers

  • رجیسترهای CSR در RISCV RISCV CSR Registers

  • رجیسترهای CSR در RISCV: دستورالعمل‌های دسترسی به رجیسترهای CSR RISCV CSR Registers: Instructions to Access CSR Registers

حالت‌های مختلف سطح امتیاز (Privilege Modes) در RISCV RISCV Different Privilege Modes

  • بررسی اجمالی حالت‌های RISCV RISCV Modes Overview

  • حالت‌های RISCV: حالت ماشین (Machine Mode) RISCV Modes : Machine Mode

  • حالت‌های RISCV: حالت سرپرست (Supervisor Mode) RISCV Modes : Supervisor Mode

  • حالت‌های RISCV: حالت کاربر (User Mode) RISCV Modes : User Mode

  • نحوه تعیین حالت‌های سطح امتیاز (Privilege Modes) اجرایی فعلی RISCV How to Determine the Current RISCV Execution Privilege Modes

  • نحوه سوئیچ بین حالت‌های مختلف سطح امتیاز (Privilege Modes) در RISCV How to Switch Between Different RISCV Privilege Modes

  • تنظیمات حالت‌های سطح امتیاز (Privilege Modes) در RISCV RISCV Privilege Modes Configurations

RISCV PMP (حفاظت حافظه فیزیکی) RISCV PMP (Physical Memory Protection)

  • بررسی اجمالی قابلیت‌های PMP PMP Functionalities Overview

  • تعریف و ایجاد ناحیه حافظه PMP PMP Memory Region Definition and Creation

  • مدل برنامه‌نویسی PMP و اولویت‌های نواحی PMP Programming Model and Regions Priorities

  • بررسی اجمالی رجیسترهای پیکربندی ناحیه PMP PMP Region Configuration Registers Overview

  • توضیح بیت‌های رجیسترهای پیکربندی ناحیه PMP PMP Region Configuration Registers bits Description

  • رجیستر آدرس ناحیه PMP PMP Region Address Register

  • حالت‌های مختلف تطبیق آدرس در PMP PMP Different Address Matching Modes

  • حالت تطبیق آدرس TOR در PMP PMP TOR Address Matching Mode

  • حالت تطبیق آدرس NAPOT در PMP PMP NAPOT Address Matching Mode

  • مثال 1 از حالت تطبیق آدرس NAPOT در PMP PMP NAPOT Address Matching Mode Example 1

  • مثال 2 از حالت تطبیق آدرس NAPOT در PMP PMP NAPOT Address Matching Mode Example 2

  • مکانیزم قفل‌گذاری پیکربندی ناحیه PMP PMP Region Configuration Locking Mechanism

مدیریت وقفه‌ها (Interrupts) و استثناها (Exceptions) در RISCV RISCV Interrupts and Exception Handling

  • مقدمه درس Lecture Introduction

  • انواع مختلف وقفه‌ها و استثناها در RISCV RISCV Different Interrupts and Exceptions Types

  • فلو (جریان) مدیریت وقفه در RISCV RISCV Interrupt Handling Flow

  • جدول بردار وقفه (Interrupt Vector Table) Interrupt Vector Table

  • تفاوت بین مدیریت وقفه‌های مستقیم و برداری Difference between Direct and Vectored Interrupts handling

  • ساختار جدول بردار در حالت برداری Vector Table Structure in Vectored Mode

  • مدیریت وقفه‌ها در RISCV در حالت سرپرست RISCV Interrupts Handling in Supervisor Mode

  • قابلیت واگذاری (Delegation) وقفه‌ها و استثناها در حالت سرپرست Supervisor Mode Interrupts and Exceptions Delegation Feature

  • جریان اجرای وقفه‌ها و استثناهای واگذار شده در حالت سرپرست Delegated Interrupts and Exceptions Execution Flow in Supervisor Mode

  • پیکربندی برای فعال‌سازی گیراندازی (Trapping) وقفه و استثنا Configuration to Enable Interrupt and Exception Trapping

  • توضیح رجیستر (m/s)cause در RISCV RISCV (m/s)cause Register Description

فلو (جریان) مدیریت خطا (Fault) در RISCV RISCV Fault Handling Flow

  • مقدمه درس Lecture Introduction

  • انواع مختلف استثناهای خطا (Fault Exceptions) در RISCV Different RISCV Fault Exceptions Types

  • مراحل تحلیل استثنای خطا (Fault Exception) Steps to Analyze Fault Exception

  • نحوه بازیابی از استثنای خطا (Fault Exception) How to Recover from Fault Exception

راه‌اندازی محیط Setup Environment

  • شناسایی وابستگی‌های ابزار پروژه ما Identify Our Project Tooling Dependencies

  • دایرکتوری مقصد منحصر به فرد ابزارها Tools Unique Destination Directory

  • نصب بسته GnuWin32 GnuWin32 Package Installation

  • نصب بسته Cygwin64 Cygwin64 Package Installation

  • نصب ابزار زنجیره‌ای (Toolchain) و کامپایلر riscv32-unknown-elf-gcc riscv32-unknown-elf-gcc Toolchain and Compiler Installation

  • نصب IDE Segger Ozone Segger Ozone IDE Installation

  • معرفی برد SiFive HiFive1 G002 SiFive HiFive1 G002 Board Introduction

  • اتصال ابزارها Tools Attachment

مثال‌های عملی RISCV RISCV Practical Examples

  • مقدمه پروژه Project Introduction

  • نحوه ساخت پروژه How to Build the Project

  • مثال 00: فلو (جریان) بوت CPU RISCV در برد HiFive1 G002 Example 00: RISCV CPU boot flow in HiFive1 G002 Board

  • مثال 01: سوئیچ از حالت ماشین به حالت کاربر Example 01: Machine mode to User mode switch

  • مثال 02: سوئیچ از حالت کاربر به حالت ماشین Example 02: User mode to Machine mode switch

  • مثال 03 بخش 1: شرایط گیراندازی وقفه در CPU RISCV Example 03 Part1: Conditions to Trap Interrupt on RISCV CPU

  • مثال 03 بخش 2: توضیح مفصل مدیریت وقفه در RISCV Example 03 Part2: RISCV Interrupt Handling Explained in Details

  • مثال 04 بخش 1: توضیح درایور PMP Example 04 Part1: PMP Driver Explained

  • مثال 04 بخش 2: حالت رمزگذاری PMP TOR Example 04 Part2: PMP TOR Encoding Mode

  • مثال 05: حالت رمزگذاری PMP NAPOT Example 05: PMP NAPOT Encoding Mode

  • پیوست و مستندات Attachment and Documentation

نمایش نظرات

آموزش جامع تسلط بر پردازنده RISC-V برای برنامه‌نویسی سیستم‌های توکار
جزییات دوره
5.5 hours
76
Udemy (یودمی) Udemy (یودمی)
(آخرین آپدیت)
296
4.6 از 5
دارد
دارد
دارد
جهت دریافت آخرین اخبار و آپدیت ها در کانال تلگرام عضو شوید.

Google Chrome Browser

Internet Download Manager

Pot Player

Winrar

Wadix Technologies Wadix Technologies

آموزش سیستم های نهفته | وادیکس تکنولوژی