کتاب C و برنامه نویسی برای بایوس با فرمت AZW3 برای کتابخوان کیندل و فرمت EPUB
C و برنامه نویسی برای بایوس: فتح دنیای سخت افزار! C و برنامه نویسی برای بایوس: دریچه ای به دنیای سخت افزار! معرفی دوره آیا همیشه آرزو داشتهاید که از کدهای انتزاعی دور شوید و مستقیماً با سختافزار کام...
🎓 دوره آموزشی جامع
📚 اطلاعات دوره
عنوان دوره: دوره 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++
برنامه نویسی بایوس
سخت افزار
سیستم های تعبیه شده
نظرات
هنوز نظری ثبت نشده است.
وارد شوید تا نظر ثبت کنید.