کتاب C و برنامه نویسی برای بایوس با فرمت AZW3 برای کتابخوان کیندل و فرمت EPUB

C و برنامه نویسی برای بایوس: فتح دنیای سخت افزار! C و برنامه نویسی برای بایوس: دریچه ای به دنیای سخت افزار! معرفی دوره آیا همیشه آرزو داشته‌اید که از کدهای انتزاعی دور شوید و مستقیماً با سخت‌افزار کام...

انتخاب پلن

انتخاب پلن برای ادامه خرید الزامی است.

پرداخت اقساطی
در صورت خرید اقساطی هر قسط: 87,488 تومان
۴ قسط ماهانه. بدون سود، چک و ضامن.
پرداخت اقساطی با دیجی‌پی پرداخت اقساطی با ترب‌پی

🎓 دوره آموزشی جامع

📚 اطلاعات دوره

عنوان دوره: دوره C و برنامه نویسی برای بایوس

موضوع کلی: برنامه نویسی

موضوع میانی: سی (C)

📋 سرفصل‌های دوره

  • 1. مقدمه‌ای بر برنامه‌نویسی سیستم و بایوس
  • 2. چرا زبان C برای برنامه‌نویسی سطح پایین؟
  • 3. نصب و راه‌اندازی محیط توسعه (GCC, Make, Cross-Compiler)
  • 4. ساختار یک برنامه C: اولین برنامه "Hello, World!"
  • 5. فرآیند کامپایل، لینک و اجرا
  • 6. متغیرها و انواع داده‌های اصلی (int, char, float, double)
  • 7. اصلاح‌کننده‌های انواع داده (short, long, signed, unsigned)
  • 8. ثابت‌ها و کلمه کلیدی const
  • 9. عملگرهای محاسباتی و اولویت آن‌ها
  • 10. عملگرهای رابطه‌ای و منطقی
  • 11. دستورات شرطی: if, else, else if
  • 12. دستور switch-case
  • 13. حلقه‌های تکرار: for
  • 14. حلقه‌های تکرار: while و do-while
  • 15. دستورات break و continue
  • 16. توابع: تعریف، فراخوانی و پروتوتایپ
  • 17. آرگومان‌های توابع و مقدار بازگشتی
  • 18. دامنه متغیرها: محلی، سراسری و استاتیک (Local, Global, Static)
  • 19. توابع بازگشتی (Recursive Functions)
  • 20. آرایه‌های یک‌بعدی و نحوه استفاده
  • 21. رشته‌ها به عنوان آرایه‌ای از کاراکترها
  • 22. توابع استاندارد کار با رشته (string.h)
  • 23. آرایه‌های چندبعدی
  • 24. مقدمه‌ای بر اشاره‌گرها (Pointers)
  • 25. عملگرهای آدرس (&) و ارجاع (*)
  • 26. اشاره‌گرها و آرایه‌ها: یک رابطه نزدیک
  • 27. محاسبات روی اشاره‌گرها (Pointer Arithmetic)
  • 28. اشاره‌گر به اشاره‌گر (Pointers to Pointers)
  • 29. اشاره‌گرهای تهی (NULL Pointers)
  • 30. توابع و اشاره‌گرها: ارسال آرگومان با ارجاع (Call by Reference)
  • 31. اشاره‌گر به توابع و کاربردهای آن
  • 32. تخصیص حافظه پویا: malloc, calloc, realloc, free
  • 33. مفهوم حافظه Stack و Heap
  • 34. ساختارها (struct): تعریف و استفاده
  • 35. اشاره‌گر به ساختارها و عملگر ->
  • 36. اتحادیه‌ها (union): مدیریت بهینه حافظه
  • 37. فیلدهای بیتی (Bit-fields) برای دسترسی سطح پایین
  • 38. شمارنده‌ها (enum)
  • 39. دستور typedef برای ساخت انواع داده جدید
  • 40. پیش‌پردازنده C: دستورات #include و #define
  • 41. ماکروهای پیش‌پردازنده با آرگومان
  • 42. کامپایل شرطی: #if, #ifdef, #ifndef
  • 43. کلمه کلیدی volatile و اهمیت آن در برنامه‌نویسی سخت‌افزار
  • 44. کلمه کلیدی extern و static
  • 45. عملگرهای بیتی: AND, OR, XOR, NOT
  • 46. عملگرهای شیفت بیتی: << و >>
  • 47. ماسک‌گذاری بیتی (Bit Masking) و کاربردهای آن
  • 48. ورودی و خروجی استاندارد و فایل‌ها (stdio.h)
  • 49. مقدمه‌ای بر معماری کامپیوتر x86
  • 50. رجیسترهای اصلی پردازنده (EAX, EBX, ECX, EDX, ESI, EDI, ESP, EBP)
  • 51. حافظه، آدرس‌دهی و نقشه حافظه
  • 52. پورت‌های ورودی/خروجی (I/O Ports)
  • 53. مبانی زبان اسمبلی (Assembly) برای x86
  • 54. فراخوانی کدهای اسمبلی از C (Inline Assembly)
  • 55. قراردادهای فراخوانی توابع (Calling Conventions)
  • 56. مرتب‌سازی بایت‌ها: Big-Endian و Little-Endian
  • 57. بایوس (BIOS) چیست؟ تاریخچه و عملکرد
  • 58. فرآیند روشن شدن کامپیوتر (POST)
  • 59. رکورد راه‌انداز اصلی (Master Boot Record - MBR)
  • 60. حالت واقعی (Real Mode) در مقابل حالت محافظت‌شده (Protected Mode)
  • 61. نقشه حافظه در حالت واقعی
  • 62. وقفه‌ها (Interrupts) و جدول بردار وقفه (IVT)
  • 63. مقدمه‌ای بر خدمات وقفه بایوس (BIOS Interrupt Services)
  • 64. وقفه 10h: خدمات ویدئویی بایوس (چاپ کاراکتر، تنظیم حالت ویدئو)
  • 65. وقفه 13h: خدمات دیسک بایوس (خواندن و نوشتن سکتور)
  • 66. وقفه 16h: خدمات صفحه‌کلید بایوس
  • 67. دسترسی مستقیم به حافظه ویدئو در حالت متنی
  • 68. تایمر قابل برنامه‌ریزی (PIT)
  • 69. کنترلر وقفه قابل برنامه‌ریزی (PIC)
  • 70. راه‌اندازی محیط توسعه برای بوت‌لودر (NASM, QEMU, Bochs)
  • 71. نوشتن اولین بوت‌لودر با اسمبلی
  • 72. بارگذاری کدهای C از بوت‌لودر
  • 73. ساختار یک کرنل بسیار ساده در C
  • 74. ارتباط با پورت‌های ورودی/خروجی با دستورات in و out
  • 75. کنترل اسپیکر PC از طریق پورت
  • 76. خواندن سکتور از دیسک و بارگذاری کرنل
  • 77. فعال‌سازی خط آدرس A20
  • 78. مقدمه‌ای بر حالت محافظت‌شده (Protected Mode)
  • 79. جدول توصیفگر عمومی (Global Descriptor Table - GDT)
  • 80. ورود به حالت محافظت‌شده از حالت واقعی
  • 81. جدول توصیفگر وقفه (Interrupt Descriptor Table - IDT)
  • 82. پیاده‌سازی یک درایور ساده صفحه‌کلید با وقفه‌ها
  • 83. مقدمه‌ای بر UEFI و تفاوت‌های آن با بایوس
  • 84. معماری UEFI: سرویس‌های زمان بوت و زمان اجرا
  • 85. جدول پارتیشن GUID (GPT)
  • 86. محیط UEFI Shell
  • 87. نوشتن یک برنامه "Hello World" در UEFI با C
  • 88. کتابخانه استاندارد EDK II
  • 89. استفاده از پروتکل‌ها در UEFI برای دسترسی به سخت‌افزار
  • 90. خروجی گرافیکی در UEFI (Graphics Output Protocol - GOP)
  • 91. ورودی و خروجی فایل در محیط UEFI
  • 92. ACPI: مدیریت پیشرفته توان و پیکربندی
  • 93. جداول ACPI و نحوه خواندن اطلاعات آن‌ها
  • 94. SMBIOS و استخراج اطلاعات سیستم
  • 95. امنیت در بایوس: Secure Boot
  • 96. فلش کردن بایوس و به‌روزرسانی Firmware
  • 97. اشکال‌زدایی (Debugging) کدهای سطح پایین با GDB و QEMU
  • 98. بررسی موردی: تحلیل کد منبع یک بوت‌لودر (مانند GRUB Stage1)
  • 99. بررسی موردی: آشنایی با پروژه‌های Coreboot و SeaBIOS
  • 100. پروژه نهایی: ساخت یک سیستم‌عامل کوچک با بوت‌لودر و کرنل C
تگ‌ها: BIOS programming C Language C Programming C# embedded systems Learning C++ Programming اموزش C اموزش برنامه نویسی بایوس برنامه نویسی C++ برنامه نویسی بایوس سخت افزار سیستم های تعبیه شده

نظرات

هنوز نظری ثبت نشده است.

وارد شوید تا نظر ثبت کنید.