2013-08-22 6 views
5

के साथ बीगलबोन ब्लैक पर सुनवाई वाली सुनवाई बदलें रॉबर्ट नेल्सन के नवीनतम कर्नेल के साथ डेबियन व्हीज़ी फाइल सिस्टम का उपयोग कर रहा हूं। मैं डिवाइस पेड़ ओवरले का उपयोग करके दिल की धड़कन को अक्षम करना चाहता हूं।डिवाइस पेड़ ओवरले

मुझे समझ में आता है कि ऐसा करने के आसान तरीके हैं लेकिन मुझे केवल दिल की धड़कन को अक्षम करने के लिए ओवरले का उपयोग करके उत्तर में रुचि है।

एक तरह से मैं इस लक्ष्य को हासिल कर सकते हैं GPIO-एल ई डी, am335x-boneblack.dts में led0 पत्ती से बदलकर है: linux, डिफ़ॉल्ट ट्रिगर = "दिल की धड़कन"; से लिनक्स, डिफ़ॉल्ट-ट्रिगर = "कोई नहीं";

फिर डिवाइस पेड़ और रीबूटिंग संकलित करना।

हालांकि अगर मैं निम्नलिखित ओवरले का उपयोग करके एक ही चीज़ को लागू करने का प्रयास करता हूं, तो मैं इको> $ SLOTS के साथ ओवरले सफलतापूर्वक लागू करने के बाद दिल की धड़कन का नेतृत्व करना जारी रखता हूं।
मैं क्या गलत कर रहा हूँ?

/dts-v1/; 
/plugin/; 
/
{ 
    compatible = "ti,beaglebone", "ti,beaglebone-black"; 
part-number = "pru"; 
version = "00A0"; 
[email protected] 
{ 
    target = <&ocp>; 
    __overlay__ 
    { 
     gpio-leds 
     { 
      compatible = "gpio-leds"; 
      pinctrl-names = "default"; 
      pinctrl-0 = <0x3>; 
      led0 
      { 
       label = "beaglebone:green:usr0"; 
       gpios = <0x5 0x15 0x0>; 
       linux,default-trigger = "none"; 
       default-state = "off"; 
      }; 
     }; 
    }; 
}; 
}; 

उत्तर

0

एक systemd सेवा, leds.service, कि यह एक नेतृत्व के लिए डिवाइस पेड़ सेटिंग पर वरीयता (कौन जानता है क्यों) नहीं है।

सेवा की स्थिति देखने के लिए चलाने

[email protected]:~# systemctl status leds.service 

जो उत्पादन

leds.service - Angstrom LED config 
      Loaded: loaded (/lib/systemd/system/leds.service; enabled) 
      Active: active (exited) since Sat 2000-01-01 18:33:24 UTC; 13 years 7 months ago 
      Process: 125 ExecStart=/usr/bin/led-config start (code=exited, status=0/SUCCESS) 
      CGroup: name=systemd:/system/leds.service 

देता है "लोड" क्षेत्र पर ध्यान देकर आप देख सकते हैं कि सेवा स्क्रिप्ट पर स्थित है के द्वारा/lib/systemd/system/leds.service, और "प्रक्रिया" फ़ील्ड कहती है कि यह सेवा "/ usr/bin/led-config प्रारंभ" आदेश चलाती है।

इस फ़ाइल "/ usr/bin/एलईडी-config" आप देखेंगे कि यह एक खोल स्क्रिप्ट है कि फाइल "/ etc/default/एल ई डी" से चूक लोड करता है को देखते हुए:

#file format: name trigger 
beaglebone::usr0 heartbeat 

तो , आप डिवाइस पेड़ फ़ाइल अकेला छोड़ सकते हैं और यहां डिफ़ॉल्ट सेट, या

systemctl disable leds.service 
+0

पर जानकारी के लिए धन्यवाद। हालांकि leds.service डिमन डेबियन पर नहीं चल रहा है। दूसरा, मैं समझने की कोशिश कर रहा हूं कि जब मैं डिवाइस पेड़ को रीकंपाइल करता हूं और रीबूट करता हूं तो नेतृत्व किए गए कार्यों को अक्षम क्यों करता है, लेकिन जब मैं डिवाइस पेड़ ओवरले में समान कोड का उपयोग करता हूं तो काम नहीं करता है। – Ray

0

साथ इस सेवा को अक्षम एक ओवरले के साथ दिल की धड़कन को अक्षम करने के मेरी राय में बहुत अक्षम है! इसके बजाय बैश कमांड में टाइप करने का प्रयास कैसे करें: "कोई भी गूंज न करें> /sys/devices/ocp.3/gpio-leds.8/beaglebone\:green\:usr0/trigger" और फिर उन्हें 'गूंज' दिल की धड़कन पर वापस चालू करने के लिए "> ट्रिगर करें" (फ़ाइल पथ को पहले जांचें) - डेबियन व्हीजी ए 5 ए

संबंधित मुद्दे