بسیار خوشحالیم که بالاخره میتوانیم، خبر عرضهشدن RT-Thread v5.0.0 را با شما به اشتراک بگذاریم.
سورس کد RT-Thread:
:RT-Thread v5.0.0 اطلاعیه عرضه
نسخه 5.0.0 ویژگیهای مدل هوشمند RT-Thread Smart و مدل اصلی را با هم دارد. RT-Thread v5.0.0 همچنین از user mode پشتیبانی میکند. علاوه بر این، بهمنظور افزودن ویژگیهای atomic، فایل scheduler به شکل function تقسیم شده. در سطح component، فایل tmpfs نیز اضافه شده است. همچنین، علاوه بر پشتیبانی musl libc، پشتیبانی POSIX نیز در دسترس کاربر قرار گرفته است و بهینه شده است
. به علاوه، در BSP level، حدود 40+ سخت افزار جدید به نسخه 5.0.0 اضافه شده است. برای اطلاعات بیشتر می توانید به لینک گیت هاب بالا در رابطه با اطلاعیه عرضه RT-Thread v5.0.0 مراجعه نمایید.
شاید برای شما مفید باشد: آموزش الکترونیک از 0 تا 100
نسخه 5.0.0 RT-Thread
اگر ویژگیهای Smart را در RT-Thread فعال کنید، پروژه شما به یک سیستمعامل میکرو کرنل hybrid تبدیل میشود که به آن RT-Smart یا Smart میگویند. RT-Smart برنامه را از kernel جدا میکند تا یک برنامه user-mode جداگانه با address space جداگانه (address space مستقل از ۴ گیگابایت حافظه آدسدهی در سیستمهای 32 بیتی) ایجاد کند. در اینجا دستورالعملهای دقیق استفاده از Smart در نسخه 5.0.0 آمده است:
سخت افزارهای قابل پشتیبانی:
qemu-vexpress-a9
qemu-virt64-aarch64
qemu-virt64-riscv
raspberry-pi
imx6ull-100ask-smart
imx6ull-artpi-smart
RT-Smart را فعال کنید
برای فعالکردن آن ابتدا source code RT-Thread را باز کنید، سپس Env را در مسیر BSP که از ویژگی Smart پشتیبانی می کند را باز کنید، سپس عملیات پیکربندی ویژگی Smart را انجام دهید. در ادامه بهصورت مختصر مراحل آن آمده است:
“RT-Thread Kernel→ Enable RT-Thread Smart (microkernel on kernel/userland)”
ویژگی اپلیکیشن Smart User-mode
برنامه Smart User-mode مستقل از kernel است و در سورس کد RT-Thread وجود ندارد. بهطورکلی برنامه User-mode از موارد زیر پشتیبانی میکند:
- پشتیبانی از بارگذاری ساده برنامه
- پشتیبانی از رابط استاندارد POSIX PSE51
- پشتیبانی از تجهیزات و لوازم جانبی (peripherals)
- پشتیبانی از network function
- پشتیبانی از رابط RT-Thread
- پشتیبانی از برنامههای GNU
شاید برای شما مفید باشد: پشتیبانی سیستم عامل RT-THREAD از میکروکنترلر RP2040 رزبری پای
مثال اپلیکیشن Smart User-mode
برنامه های User mode مثال زیر یک مثال کاربردی در این باره است:
کامپایل اپلیکیشن
شما میتوانید از scons برای کامپایل در پوشه userapps استفاده کنید؛ سپس وقتی کامپایل با موفقیت انجام شد، شما تعدادی فایل elf قابلاجرا در پوشه root دریافت میکنید،
به تصویر زیر توجه کنید. همانطور که در این تصویر نشاندادهشده است، فایل اجرایی از کامپایل چندین مثال برنامه کاربردی User-Mode در userapps ایجاد می شود.
ایجاد ایمیج برای قرار دادن در SD
در پوشه userapps\tools\fatdisk، یک ابزارFAT Format با نام fatdisk.exe برای package فایلها با فرمت FAT وجود دارد. شما میتوانید از این ابزار برای package کردن فایلهایی که میخواهید در کارت QEMU SD ذخیره شود، استفاده کنید.
root directory under userApps را در env\tools\fatdisk directory کپی کنید و برای اجرای fatdisk.exe دو بار کلیک کنید تا یک فایل sd.bin جدید ایجاد شود.
آموزش آلتیوم دیزاینر از مقدماتی تا پیشرفته
RT-Smart در VSCode
RT-Smart در Visual Studio Code پشتیبانی میشود. برای اضافهکردن این افزونه ابتدا vscode را باز کنید، سپس “rt-thread smart” را در قسمت افزونه جستجو کنید و بعد از پیداکردن آن روی گزینه Install کلیک کنید تا نصب شود. اکنون شما افزونه RT-Smart را روی vscode دارید.
رابط مدیریت پلاگین هوشمند SDK به شرح زیر است:
برنامه را باز کنید و شروع به کامپایل و نصب برنامه کنید.
دانلود Smart Toolchain
- روش 1: از دستور دانلود در مسیر userapps/tools استفاده کنید: python get_toolchain.py [platform]
- روش 2: روی “Install Toolchain” در افزونه Smart کلیک کنید.
شاید برای شما مفید باشد: آموزش رزبری پای از 0 تا 100
Smart در برنامههای GNU
Smart از رابطهای POSIX پشتیبانی میکند، بنابراین انتقال GNU به Smart بسیار آسان است.
- روش 1: خودتان بهصورت دستی یک application project اضافه کنید و سپس برنامههای GNU را به application project ایجاد شده اضافه کنید.
- روش 2: از افزونه RT-Thread Smart برای ایجاد مستقیم یک application project و اضافهکردن برنامههای GNU استفاده کنید.
منبع: