کتاب صوتی C و برنامه نویسی برای بایوس
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
برای آموختن، همیشه لازم نیست بخوانید
گاهی بهترین فرصت یادگیری زمانی است که در مسیر رفتوآمد هستید، قدم میزنید، استراحت میکنید یا کارهای روزمرهتان را انجام میدهید. محتوای صوتی کمک میکند از این لحظهها برای شنیدن، اندیشیدن و آشنایی با موضوعات تازه بهره ببرید.
◷
یادگیری در دل روزمرگی
از زمان رفتوآمد، پیادهروی یا استراحت برای شنیدن محتوای مفید استفاده کنید؛ بدون آنکه همیشه به کتاب چاپی یا صفحه نمایش نیاز داشته باشید.
◎
تجربهای شنیداری و دلنشین
با روایت صوتی، توضیحات گفتاری و فضای شنیداری هر محتوا همراه شوید و متناسب با سلیقه خود، شیوه تازهای برای دریافت مطالب تجربه کنید.
✦
گسترش دانش و دیدگاه
با موضوعات متنوع آشنا شوید، ایدههای تازه کشف کنید و فرصت بیشتری برای یادگیری مستمر و پرورش کنجکاوی خود بسازید.
♫
همراه با سبک زندگی شما
محتوای صوتی را متناسب با برنامه روزانه خود انتخاب کنید و در زمان مناسب، شنیدن را به بخشی از عادتهای شخصیتان تبدیل کنید.
کتاب صوتی یا پادکست؟
کتاب صوتی
راهی برای همراه شدن با محتوای یک کتاب از طریق شنیدن. بسته به اثر، میتوانید داستانها، آموزشها، مفاهیم تخصصی یا مطالب کاربردی را در قالب روایت و بیان صوتی دنبال کنید.
مناسب برای شنیدن و مرور محتوای کتابها
پادکست آموزشی
فرصتی برای دنبال کردن موضوعات مشخص در قالب گفتوگو، روایت، توضیح آموزشی یا مجموعهای از قسمتهای صوتی؛ مناسب برای کشف ایدهها و آشنایی با دیدگاههای گوناگون.
مناسب برای یادگیری موضوعی و شنیدن دیدگاههای تازه
هر جا که هستید، شنیدن را آغاز کنید
با دستگاه مناسب خود، محتوای صوتی را به آسانی دنبال کنید.
▯
گوشی هوشمند
اندروید و آیفون
▣
تبلت
برای شنیدن و دنبال کردن محتوا
▤
رایانه و لپتاپ
با پخشکننده صوتی سازگار
♫
هدفون و بلندگو
برای شنیدن متناسب با محیط
چطور از تجربه شنیدن بیشتر بهره ببریم؟
✦ زمان مناسبی برای شنیدن انتخاب کنید؛ زمانی که بتوانید با آرامش به محتوا توجه داشته باشید.
✦ برای مطالب آموزشی، نکتههای مهم را یادداشت کنید یا پس از پایان شنیدن، آنها را مرور کنید.
✦ اگر محتوا طولانی است، آن را در چند نوبت دنبال کنید تا فرصت بیشتری برای درک و مرور داشته باشید.
✦ هنگام رانندگی یا انجام کارهای نیازمند تمرکز، ایمنی را در اولویت قرار دهید و از شیوه شنیدنی استفاده کنید که حواس شما را مختل نکند.
هر شنیدن، فرصتی برای کشف است
با کتابهای صوتی و پادکستهای آموزشی، دنیای تازهای از ایدهها، روایتها و آموختنیها را به لحظههای خود اضافه کنید.
express24.ir
امکانات پخش، ادامه شنیدن و دسترسی آفلاین به نوع فایل، دستگاه و نرمافزار مورد استفاده بستگی دارد.
تگها:
BIOS programming
C Language
C Programming
C#
embedded systems
Learning C++
Programming
اموزش C
اموزش برنامه نویسی
بایوس
برنامه نویسی C++
برنامه نویسی بایوس
سخت افزار
سیستم های تعبیه شده
نظرات
هنوز نظری ثبت نشده است.
وارد شوید تا نظر ثبت کنید.