کرنل با قابلیت LED
با سلام. تا اینجا متوجه شدیم وقتی لینوکس را روی SD نصب می کنیم، داخل یکی از پارتیشن ها فایلی به اسم uImage هست که کرنل لینوکسه.
برای اینکه بتونیم از پایه های تراشه به عنوان خروجی LED استفاده کنیم، باید درایور آن رو داخل کرنل فعال کنیم. به خاطر همین لازمه که کرنل را دوباره کامپایل کنیم.
به خاطر همین برای استفاده از پایه های GPIO کافیه فایل uImage که از قبل کامپایل کردم را با فایل قبلی عوض کنید.
در ادامه باید تنظیمات زیر را در فایل script.bin اعمال کنیم.
کد:
[leds_para]
leds_used = 1
leds_num = 2
leds_pin_1 = port:PH20<1><default><default><0>
leds_name_1 = "ph20:green:led1"
leds_pin_2 = port:PH21<1><default><default><0>
leds_name_2 = "ph21:blue:led2"
توی این تنظیمات 2 پایه را به عنوان LED معرفی کرده، که روی خود برد به 2 تا LED آبی و سبز وصل هست.
این تنظیمات را از قبل داخل فایل script.bin اماده کردم، می تونید این را هم جانشین فایل قبلی کنید.
خوب، الان سیستم عامل آماده کار کردن با LED هاست. کافی SD به برد وصل کنید و برد را روشن کنید.
با دستور زیر داخل ترمینال میشه LED ها را کنترل کرد.
برای روشن کردن LED آبی از دستور زیر استفاده می شود:
کد:
echo 255 > /sys/class/leds/ph21:blue:led2/brightness
برای خاموش کردن آن کافی بجای 255 مقدار صفر را بنویسید.
یا برای مثال با دستور زیر LED سبز چشمک میزنه
کد:
echo timer > /sys/class/leds/ph20:green:led1/trigger
برای اطلاعات بیشتر این صفحه را مطالعه کنید.
Cubieboard/Programming/StatusLEDs - linux-sunxi
انشاالله در ادامه به توضیح ساخت کرنل می پردازم. با این کار می توانیم درایورهای اختصاصی بنویسیم، و یا از درایورهای آماده استفاده کنیم. با این کار می تونیم سخت افزارهای مختلف را داخل سیستم عامل راه اندازی کنیم و یا از سایر قسمت های خود برد استفاده کنیم.