آموزش برنامه نویسی درایور دستگاه لینوکس با استفاده از Beaglebone Black (LDD1)

Linux Device Driver Programming Using Beaglebone Black(LDD1)

نکته: آخرین آپدیت رو دریافت میکنید حتی اگر این محتوا بروز نباشد.
توضیحات دوره: دوره آموزشی پایه برنامه نویسی عملی درایور دستگاه لینوکس مبانی ماژول هسته لینوکس و نحو نوشتن Makefile و LKM اجرای درایور دستگاه کاراکتر گذرگاه پلتفرم، دستگاه پلتفرم و درایور پلت فرم مفاهیم پیاده سازی درایور پلت فرم آموزش درخت دستگاه از ابتدا سینتکس گره درخت دستگاه، ویژگی های گره های درختی دستگاه هسته API برای پردازش گره های درختی دستگاه نمونه سازی دستگاه از طریق گره های درختی دستگاه همپوشانی و تست همپوشانی درخت دستگاه از طریق سرویس های همگام سازی کرنل u-boot، mutex، spinlocks استفاده از مدل دستگاه لینوکس و sysfs Linux GPIO Subsystem Linux pinctrl زیرسیستم pinctrl پیشها:دانش آموزان باید با استفاده از دستورات پایه لینوکس آشنا باشد دانش آموزان باید با زبان برنامه نویسی C آشنا باشند

== این اولین دوره آموزشی شما برای شیرجه به دنیای هیجان انگیز "درایورهای دستگاه لینوکس" است <==

در این دوره آموزشی،

را خواهید آموخت
  1. ماژول و نحو هسته لینوکس بنیادی

  2. تئوری درایور دستگاه کاراکتر و اجرای کد

  3. مفاهیم اتوبوس پلتفرم، دستگاه پلتفرم و درایور پلت فرم

  4. اجرای درایور پلتفرم

  5. درخت دستگاه از ابتدا

  6. دسترسی به گره های درختی دستگاه از درایورها

  7. نمونه سازی دستگاه از طریق گره های درختی دستگاه

  8. ویژگی های درخت دستگاه و نحو گره

  9. پوشش درخت دستگاه

  10. تست همپوشانی ها از طریق u-boot

  11. خدمات همگام سازی هسته (Mutex، Spinlocks)

  12. مدل دستگاه لینوکس و sysfs

  13. زیر سیستم Linux GPIO

  14. زیر سیستم لینوکس pinctrl


نیازهای سخت افزار:

1) برای برخی از تمرین‌هایی که شامل آزمایش GPIO، pinctrl، گره‌های درخت دستگاه، همپوشانی‌ها می‌شود، به یک تابلو نیاز دارید.

در این دوره از برد Beaglebone Black استفاده می شود.

2) کابل Mini USB برای تغذیه BBB

3) کابل USB به UART برای اتصال سریال با BBB

4) کارت Micro SD 8/16 گیگابایت

5) کارت خوان SD

6) LCD 16x2 و پتانسیومتر 10K

7) سیم های جامپر

8) تخته نان


نیازهای سیستم عامل:

32/64 بیت اوبونتو 18.04+ LTS


ترتیب یادگیری دوره های FastBit Embedded Brain Academy،

اگر در زمینه سیستم‌های جاسازی شده مبتدی هستید، می‌توانید دوره‌های ما را به ترتیب ذکر شده در زیر بگذرانید.
این فقط یک توصیه از سوی مربی برای مبتدیان است.

1) برنامه نویسی جاسازی شده با میکروکنترلر C: مبتدیان مطلق (Embedded C)

2) برنامه نویسی سیستم های جاسازی شده در پردازنده ARM Cortex-M3/M4 (مخصوص پردازنده ARM Cortex M4)

3) تسلط بر میکروکنترلر با توسعه درایور جاسازی شده (MCU1)

4) تسلط بر میکروکنترلر: TIMERS، PWM، CAN، RTC، LOW POWER(MCU2)

5) تسلط بر میکروکنترلر: STM32-LTDC، LCD-TFT، LVGL (MCU3)

6) طراحی سیستم جاسازی شده با استفاده از ماشین‌های حالت UML (ماشین دولتی)

7) تسلط بر RTOS: FreeRTOS و STM32Fx عملی با اشکال زدایی (RTOS)

8) میکروکنترلر ARM Cortex M DMA Programming Demystified (DMA)

9) توسعه بوت لودر سفارشی میکروکنترلر STM32Fx (Bootloader)

10) لینوکس جاسازی شده گام به گام با استفاده از Beaglebone Black (Linux)

11) برنامه نویسی درایور دستگاه لینوکس با استفاده از Beaglebone Black (LDD1)


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

تنظیم میزبان و هدف Host and target setup

  • در مورد مربی About the instructor

  • کد منبع و مطالب دوره Source code and course materials

  • تنظیم میزبان و هدف Host and target setup

  • دانلود زنجیره ابزار Tool-chain download

  • یادداشت مهم Important Note

  • نصب برنامه gparted Installing gparted application

  • نصب زنجیره ابزار و تنظیمات PATH Tool-chain installation and PATH settings

  • یادداشت برای دانش آموزان Note for the students

  • آماده سازی هدف: راه اندازی اشکال زدایی سریال Target preparation : Serial debug setup

  • اسناد مهم Important documents

  • درک دنباله راه‌اندازی سخت‌افزار سیاه بیگلبون Understanding booting sequence of beaglebone black hardware

  • آماده سازی کارت SD برای بوت SD Preparing SD card for SD boot

  • کپی کردن تصاویر بوت در کارت SD Copying boot images to SD card

  • بوت کردن BBB از طریق کارت SD Booting BBB via SD card

  • با پاک کردن eMMC MBR، بوت SD را پیش‌فرض در BBB کنید Making SD boot default on BBB by erasing eMMC MBR

  • به روز رسانی تصویر هسته لینوکس Updating Linux kernel image

  • کامپایل کرنل لینوکس Linux kernel compilation

  • جمع آوری ماژول ها Modules compilation

  • نصب ماژول ها Modules install

  • تصاویر و ماژول های جدید بوت را در کارت SD به روز کنید Update new boot images and modules in SD card

  • فعال کردن اینترنت از طریق USB Enabling internet over USB

ماژول هسته لینوکس Linux kernel module

  • مقدمه ای بر ماژول هسته لینوکس Introduction to Linux kernel module

  • فضای کاربر در مقابل فضای هسته User space Vs kernel space

  • نحو نوشتن LKM LKM writing syntax

  • ماکروهای __init و __exit __init and __exit macros

  • ثبت نقطه ورودی LKM و سایر ماکروها LKM entry point registration and other macros

  • سلام جهان LKM Hello World LKM

  • ساخت ماژول هسته لینوکس Building a Linux kernel module

  • تدوین و آزمایش یک LKM Compilation and testing of an LKM

  • آزمایش LKM روی هدف Testing of an LKM on target

  • Makefile Makefile

  • ساختمان Intree Intree building

  • چاپ printk

دستگاه کاراکتر و درایور Character device and driver

  • درایور دستگاه چیست؟ What is device driver ?

  • یک درایور char، دستگاه char و شماره دستگاه char A char driver , char device and char device number

  • تخصیص پویا شماره دستگاه کاراکتر Dynamically allocating char device numbers

  • پیاده سازی درایور کاراکترهای شبه Pseudo character driver implementation

  • ثبت دستگاه کاراکتر Character device registration

  • ادامه ثبت دستگاه کاراکتر Character device registration contd.

  • روش های عملکرد فایل درایور کاراکتر Character driver file operation methods

  • روش کار فایل درایور کاراکتر ادامه. Character driver file operation methods contd.

  • پیاده سازی روش های عملیات فایل Implementing file operation methods

  • مقداردهی اولیه ساختار عملیات فایل File operations structure initialization

  • ایجاد فایل های دستگاه Creating device files

  • اجرای عملکرد پاکسازی درایور کاراکتر Character driver cleanup function implementation

اجرای عملیات فایل درایور کاراکتر Character driver file operations implementation

  • درک روش خواندن Understanding read method

  • درک کدهای خطا Understanding error codes

  • اجرای روش را بخوانید Read method implementation

  • درک روش نوشتن Understanding write method

  • پیاده سازی روش را بنویسید Write method implementation

  • روش lseek lseek method

  • پیاده سازی روش lseek lseek method implementation

  • تست درایور شبه char Testing pseudo char driver

  • رسیدگی به خطا Error handling

درایور Char با چندین گره دستگاه Char driver with multiple device nodes

  • درایور pcd با چندین دستگاه pcd driver with multiple devices

  • درایور PCD با اجرای کد چند دستگاهی قسمت 1 Pcd driver with multiple devices code implementation part-1

  • درایور PCd با اجرای کد چند دستگاهی قسمت 2 Pcd driver with multiple devices code implementation part-2

  • درایور PCD با اجرای کد چند دستگاهی قسمت 3 Pcd driver with multiple devices code implementation part-3

  • درایور PCd با اجرای کد چند دستگاهی قسمت 4 Pcd driver with multiple devices code implementation part-4

  • درایور PCD با اجرای کد چند دستگاهی قسمت 5 Pcd driver with multiple devices code implementation part-5

  • درایور PCD با اجرای کد چند دستگاهی قسمت 6 Pcd driver with multiple devices code implementation part-6

  • درایور PCD با اجرای کد چند دستگاه قسمت 7 Pcd driver with multiple devices code implementation part-7

  • درایور کامپیوتر با تست چند دستگاه Pcd driver with multiple devices testing

  • درایور PCd با چندین دستگاه تست ادامه Pcd driver with multiple devices testing contd

  • درایور PCd با چندین دستگاه پیاده سازی lseek Pcd driver with multiple devices lseek implementation

  • ظرف بحث Container of discussion

اتوبوس پلت فرم، دستگاه های پلت فرم و درایورهای پلت فرم Platform bus, Platform devices and Platform drivers

  • دستگاه ها و درایورهای پلت فرم Platform devices and drivers

  • نمونه ای از درایورهای پلتفرم Example of platform drivers

  • ثبت دستگاه پلت فرم و درایورها Registering platform device and drivers

  • تمرین کد راننده پلت فرم Platform driver code exercise

  • اجرای کد راه اندازی دستگاه پلت فرم Platform device setup code implementation

  • ادامه اجرای کد راه اندازی دستگاه پلت فرم. Platform device setup code implementation contd.

  • اجرای کد درایور پلت فرم قسمت 1 Platform driver code implementation part-1

  • اجرای کد درایور پلت فرم قسمت 2 Platform driver code implementation part-2

  • اجرای کد درایور پلت فرم قسمت 3 Platform driver code implementation part-3

  • اجرای کد درایور پلت فرم قسمت 4 Platform driver code implementation part-4

  • اجرای کد درایور پلت فرم قسمت 5 Platform driver code implementation part-5

  • اجرای کد درایور پلت فرم قسمت 6 Platform driver code implementation part-6

  • تست درایور پلتفرم Testing platform driver

  • توابع مدیریت منابع دستگاه لینوکس Linux device resource managed functions

  • با استفاده از توابع هسته مدیریت شده با منابع دستگاه Using device resource managed kernel functions

  • تست با دستگاه های پلت فرم بیشتر Testing with more platform devices

  • رفع خرابی کرنل Fixing kernel crash

  • مطابقت درایور دستگاه پلت فرم با استفاده از شناسه دستگاه پلت فرم Platform device driver matching using platform device ids

  • رفع خطا در عملکرد پروب Fixing error handling in probe function

درخت دستگاه Device tree

  • آشنایی با درخت دستگاه Introduction to device tree

  • درخت دستگاه نوشتن Writing device tree

  • ساختار درختی دستگاه Device tree structure

  • نحو نوشتن درخت دستگاه Device tree writing syntax

  • گره والد و فرزند درخت دستگاه Device tree parent and child node

  • ویژگی های درخت دستگاه Device tree properties

  • دارایی "سازگار". 'compatible' property

  • صحافی درخت دستگاه Device tree binding

  • نسخه درختی دستگاه pcd pcd device tree version

  • تغییر به هسته لینوکس نسخه 5.4 Switching to Linux kernel version 5.4

  • به روز رسانی تصویر هسته لینوکس 5.4 Updating Linux kernel image of 5.4

گره های درخت دستگاه و درایور پلت فرم Device tree nodes and platform driver

  • گره های درختی دستگاه برای درایور pcd Device tree nodes for pcd driver

  • درایور پلتفرم PCD کدگذاری DT قسمت 1 Pcd platform driver DT coding part-1

  • آزمایش تغییرات درخت دستگاه در هیئت مدیره Testing device tree changes on board

  • درایور پلتفرم PCD کدگذاری DT قسمت 2 Pcd platform driver DT coding part-2

  • درایور پلتفرم PCD کدگذاری DT قسمت 3 Pcd platform driver DT coding part-3

  • درایور پلتفرم PCD کدگذاری DT قسمت 4 Pcd platform driver DT coding part-4

همپوشانی درخت دستگاه Device tree overlays

  • مقدمه ای بر پوشش درختی دستگاه Introduction to device tree overlays

  • درخت دستگاه تمرین را پوشش می دهد Device tree overlays exercise

  • به روز رسانی u-boot Updating u-boot

  • به روز رسانی u-boot contd. Updating u-boot contd.

  • اعمال همپوشانی با استفاده از دستورات u-boot Applying overlays using u-boot commands

  • اعمال همپوشانی و آزمایش با استفاده از فایل u-boot uEnv.txt Applying overlays and testing using u-boot uEnv.txt file

مدل درایور دستگاه لینوکس Linux device driver model

  • مدل دستگاه لینوکس Linux device model

  • kobjects kobjects

  • نوع kobject و kset kobject type and kset

  • صفات sysfs و kobject sysfs and kobject attributes

  • ایجاد ویژگی های sysfs Creating sysfs attributes

  • pcd_sysfs_attributes کدگذاری قسمت 1 pcd_sysfs_attributes coding part 1

  • قسمت 2 کد نویسی pcd_sysfs_attributes pcd_sysfs_attributes coding part 2

  • تست ماژول هسته pcd sysfs pcd sysfs kernel module testing

  • متدهای صفات sysfs را نشان داده و ذخیره کنید show and store methods of the sysfs attributes

  • قسمت 3 کد نویسی pcd_sysfs_attributes pcd_sysfs_attributes coding part 3

  • گروه بندی صفات Attribute grouping

زیرسیستم لینوکس GPIO Linux GPIO subsystem

  • معرفی Introduction

  • GPIO های BBB GPIOs of BBB

  • ثبت پیکربندی پد Pad configuration register

  • زیرسیستم لینوکس GPIO Linux GPIO subsystem

  • دسترسی مصرف کننده به پین ​​های GPIO Consumer accessing GPIO pins

پیاده سازی درایور GPIO Sysfs GPIO Sysfs driver implementation

  • اجرای درایور GPIO Sysfs را تمرین کنید Exercise GPIO Sysfs driver implementation

  • اجرای درایور GPIO Sysfs قسمت 1 GPIO Sysfs driver implementation part-1

  • اجرای درایور GPIO Sysfs قسمت 2 GPIO Sysfs driver implementation part-2

  • اجرای درایور GPIO Sysfs قسمت 3 GPIO Sysfs driver implementation part-3

  • اجرای درایور GPIO Sysfs قسمت 4 GPIO Sysfs driver implementation part-4

  • اجرای درایور GPIO Sysfs قسمت 5 GPIO Sysfs driver implementation part-5

  • اجرای درایور GPIO Sysfs قسمت 6 GPIO Sysfs driver implementation part-6

  • اجرای درایور GPIO Sysfs قسمت 7 GPIO Sysfs driver implementation part-7

  • اجرای درایور GPIO Sysfs قسمت 8 GPIO Sysfs driver implementation part-8

  • تست درایور Gpio syfs Gpio syfs driver testing

پین کنترل زیر سیستم لینوکس Pin control subsystem of Linux

  • زیر سیستم کنترل پین و کنترل کننده پین Pin control subsystem and pin controller

  • نوشتن گره پیکربندی پین Writing pin configuration node

  • تمرین ال سی دی LCD exercise

  • اهمیت کاربرد LCD Significance of LCD application

  • اضافه کردن گره پیکربندی پین برای gpios Adding pin configuration node for gpios

  • کاوش کد LCD Exploring LCD code

  • ارسال فرمان به LCD Sending command to LCD

  • ایجاد کد فرمان LCD Creating LCD command code

  • تست برنامه LCD روی gpio sysfs Testing LCD application over gpio sysfs

  • تکلیف: پیاده سازی درایور پلت فرم LCD Assignment : Implementing LCD platform driver

خدمات همگام سازی لینوکس Linux synchronization services

  • اجتناب از شرایط مسابقه Avoiding race conditions

  • خدمات قفل لینوکس Linux locking services

  • اسپینلاک در مقابل موتکس Spinlock Vs Mutex

  • توابع spinlock لینوکس Linux spinlock functions

  • موتکس Mutex

  • استفاده از توابع قفل در کد Using locking functions in the code

  • سخنرانی جایزه BONUS LECTURE

نمایش نظرات

نظری ارسال نشده است.

آموزش برنامه نویسی درایور دستگاه لینوکس با استفاده از Beaglebone Black (LDD1)
خرید اشتراک و دانلود خرید تکی و دانلود | 320,000 تومان (5 روز مهلت دانلود) در صورت خرید اشتراک، این آموزش بدلیل حجم بالا معادل 2 دوره است و 2 دوره از اشتراک شما کم می شود. زمان تقریبی آماده سازی لینک دانلود این دوره آموزشی حدود 5 تا 24 ساعت می باشد.
جزییات دوره
22 hours
151
Udemy (یودمی) udemy-small
14 فروردین 1402 (آخرین آپدیت رو دریافت می‌کنید، حتی اگر این تاریخ بروز نباشد.)
10,430
4.6 از 5
دارد
دارد
دارد

Google Chrome Browser

Internet Download Manager

Pot Player

Winrar

FastBit Embedded Brain Academy FastBit Embedded Brain Academy

روی Firmware و Embedded Engineering کار می کند

Kiran Nayak Kiran Nayak

نرم افزار تعبیه شده

Udemy (یودمی)

یودمی یکی از بزرگ‌ترین پلتفرم‌های آموزشی آنلاین است که به میلیون‌ها کاربر در سراسر جهان امکان دسترسی به دوره‌های متنوع و کاربردی را فراهم می‌کند. این پلتفرم امکان آموزش در زمینه‌های مختلف از فناوری اطلاعات و برنامه‌نویسی گرفته تا زبان‌های خارجی، مدیریت، و هنر را به کاربران ارائه می‌دهد. با استفاده از یودمی، کاربران می‌توانند به صورت انعطاف‌پذیر و بهینه، مهارت‌های جدیدی را یاد بگیرند و خود را برای بازار کار آماده کنند.

یکی از ویژگی‌های برجسته یودمی، کیفیت بالای دوره‌ها و حضور استادان مجرب و با تجربه در هر حوزه است. این امر به کاربران اعتماد می‌دهد که در حال دریافت آموزش از منابع قابل اعتماد و معتبر هستند و می‌توانند به بهترین شکل ممکن از آموزش‌ها بهره ببرند. به طور خلاصه، یودمی به عنوان یکی از معتبرترین و موثرترین پلتفرم‌های آموزشی آنلاین، به افراد امکان می‌دهد تا به راحتی و با کیفیت، مهارت‌های مورد نیاز خود را ارتقا دهند و به دنبال رشد و پیشرفت شغلی خود باشند.