×ðÁú¿­Ê±

ÊÖÒÕ·ÖÏí£ºLinux DTSµÄÓ¦Óü°Êµ¼ùÖ¸ÄÏ

ÊÖÒÕ·ÖÏí£ºLinux DTSµÄÓ¦Óü°Êµ¼ùÖ¸ÄÏ

Ëæ×ÅLinuxÔÚǶÈëʽϵͳÖеÄÆÕ±éÓ¦Óã¬×°±¸Ê÷£¨Device Tree£©×÷ΪһÖÖÐÎòӲ¼þ×°±¸ÐÅÏ¢ºÍ×ÊÔ´·ÖÅɵŤ¾ß±äµÃÔ½À´Ô½Ö÷Òª¡£ÔÚLinuxÄÚºËÖУ¬Device TreeÔ´Îļþͨ³£±»³ÆΪDTS£¨Device Tree Source£©Îļþ¡£±¾ÎĽ«ÉîÈë̽ÌÖLinux DTSµÄÓ¦Óü°Êµ¼ùÖ¸ÄÏ£¬Í¨¹ýÏêϸµÄ´úÂëʾÀý×ÊÖú¶ÁÕ߸üºÃµØÃ÷È·ºÍÔËÓÃDevice Tree¡£

Ò»¡¢Ê²Ã´ÊÇDevice Tree  £¿

Device TreeÊÇLinuxÄÚºËÖÐÓÃÓÚÐÎòӲ¼þƽ̨ÐÅÏ¢µÄÒ»ÖÖÊý¾Ý½á¹¹ÃûÌá£Ëü½«Ó²¼þ×°±¸¼°×ÊÔ´µÄÐÎòÐÅÏ¢´ÓÄÚºËÔ´´úÂëÖÐÊèÉ¢³öÀ´£¬ÒÔÒ»ÖÖÀàËÆÓÚÊ÷×´½á¹¹µÄÎı¾ÎļþµÄÐÎʽ±£´æ¡£ÔÚLinuxÆô¶¯Ê±£¬Bootloader»á¼ÓÔØDevice TreeÎļþµ½ÄÚ´æÖУ¬²¢×ª´ï¸øLinuxÄںˣ¬ÄÚºËÔÚÆô¶¯Ê±Æ¾Ö¤Device TreeÎļþµÄÄÚÈݾÙÐÐ×°±¸µÄ³õʼ»¯ºÍ×ÊÔ´µÄ·ÖÅÉ¡£

¶þ¡¢Device TreeµÄ×é³É

½Úµã£¨Node£©£ºDevice TreeÒÔ½ÚµãΪµ¥Î»×éÖ¯Ó²¼þ×°±¸µÄÐÅÏ¢£¬ÔÚDevice TreeÖУ¬Ã¿¸ö×°±¸¶¼¶ÔÓ¦Ò»¸ö½Úµã¡£Ã¿¸ö½Úµãͨ¹ýÒªº¦´ÊºÍÊôÐÔÐÎòװ±¸µÄÀàÐÍ¡¢µØµã¡¢ÖÐÖ¹µÈÐÅÏ¢¡£

½ÚµãÊôÐÔ£¨Property£©£º½ÚµãÊôÐÔ¿ÉÒÔ°üÀ¨×°±¸µÄÏêϸÐÅÏ¢£¬ÀýÈç×°±¸µÄµØµã¡¢ÖÐÖ¹¡¢¼Ä´æÆ÷µØµãµÈ¡£ÊôÐÔÒÔ¼üÖµ¶ÔµÄÐÎʽ±£´æ£¬Í¨¹ý½ÚµãÐÎòװ±¸µÄÖÖÖÖÌØÕ÷¡£

includeÖ¸ÁDevice TreeÎļþÖпÉÒÔʹÓÃincludeÖ¸ÁîÒýÓÃÆäËûDevice TreeÎļþ£¬Àû±ã×éÖ¯ºÍÖØÓÃ×°±¸ÐÎòÐÅÏ¢¡£

Èý¡¢ÔõÑù±àдDevice TreeÎļþ

½ÓÏÂÀ´ÎÒÃÇͨ¹ýÒ»¸ö¼òÆÓµÄʾÀýÀ´Õ¹Ê¾ÔõÑù±àдһ¸ö¼òÆÓµÄDevice TreeÎļþ£¬ÒÔÐÎòһ¸öLED×°±¸¡£¼ÙÉèLEDÅþÁ¬ÔÚGPIO1_1Òý½ÅÉÏ£¬GPIO1_1µÄÎïÀíµØµãΪ0x44¡£

Ê×ÏÈ£¬½¨ÉèÒ»¸öеÄDevice TreeÎļþled.dts£¬ÄÚÈÝÈçÏ£º

/dts-v1/;

/ {
    compatible = "my_led";
    led {
        compatible = "gpio-led";
        status = "okay";

        gpios = <0x1 0x1 0>;
        label = "led_1";
    };
};

µÇ¼ºó¸´ÖÆ

ÔÚÕâ¸öDevice TreeÎļþÖУ¬ÎÒÃǽç˵ÁËÒ»¸öLED½Úµã£¬¸Ã½Úµã°üÀ¨LEDµÄһЩ»ù±¾ÐÅÏ¢£¬ÀýÈçLEDËùÅþÁ¬µÄGPIOÒý½Å¡¢LEDµÄ±êÇ©µÈ¡£

ËÄ¡¢ÔõÑù±àÒëºÍʹÓÃDevice TreeÎļþ

ÔÚLinuxÄں˵ÄÔ´ÂëĿ¼ÖУ¬Í¨³£»áÓÐÒ»¸öarch/arm/boot/dts/Ŀ¼£¬ÎÒÃÇ¿ÉÒ԰ѱàдºÃµÄDevice TreeÎļþled.dts¸´ÖƵ½¸ÃĿ¼Ï¡£

½ÓÏÂÀ´£¬ÔÚLinuxÄÚºËÔ´ÂëµÄ¸ùĿ¼ÏÂÖ´ÐÐÒÔÏÂÏÂÁî±àÒëDevice TreeÎļþ£º

make dtbs

µÇ¼ºó¸´ÖÆ

±àÒëÍê³Éºó£¬»áÌìÉúÒ»¸öled.dtbÎļþ£¬Õâ¸öÎļþ¾ÍÊDZàÒëºóµÄ¶þ½øÖÆDevice TreeÎļþ¡£

ÔÚÆô¶¯Ö¸µ¼Àú³ÌÖУ¬BootloaderÐèÒª¼ÓÔØÕâ¸öled.dtbÎļþ£¬²¢×ª´ï¸øÄںˣ¬ÈÃÄں˿ÉÒÔƾ֤ÎļþÖÐÐÎòµÄÓ²¼þÐÅÏ¢³õʼ»¯LED×°±¸¡£

Î塢ʵ¼ùÖ¸ÄÏ

Ã÷È·×°±¸Ê÷¹æ·¶£ºÔÚ±àдDevice TreeÎļþʱ£¬ÐèÒª×ñÕÕ×°±¸Ê÷¹æ·¶£¬Ïàʶ½ÚµãµÄÖÖÖÖÊôÐÔºÍÒªº¦´ÊµÄ¼ÄÒ壬ÒÔÈ·±£ÐÎò׼ȷ¡£

µ÷ÊÔºÍÑéÖ¤£ºÔÚ±àдDevice TreeÎļþºó£¬¿ÉÒÔͨ¹ý×°±¸Ê÷Ú¹ÊÍÆ÷£¨dtc£©¹¤¾ßÀ´ÑéÖ¤ÎļþµÄÓï·¨ÊÇ·ñ׼ȷ¡  £¿ÉÒÔʹÓøù¤¾ßͨ¹ý·´»ã±àµÄ·½·¨Éó²éDevice TreeÎļþµÄÄÚÈÝ¡£

ÎÞаÉèÖãºDevice TreeÎļþ¿ÉÒÔƾ֤ÏêϸӲ¼þƽ̨µÄת±ä¾ÙÐÐÎÞаÉèÖúÍÐ޸ģ¬Ë³Ó¦²î±ðÓ²¼þ×°±¸µÄÐèÇó¡£

ͨ¹ýÒÔÉÏʵ¼ùÖ¸ÄϺÍÏêϸ´úÂëʾÀý£¬Ï£Íû¶ÁÕßÄܸüºÃµØÏàʶºÍÔËÓÃLinux DTS£¬ÎÞаÉèÖúÍÖÎÀíÓ²¼þ×°±¸£¬ÌáÉýǶÈëʽϵͳµÄÎȹÌÐԺͿÉά»¤ÐÔ¡£

ÒÔÉϾÍÊÇÊÖÒÕ·ÖÏí£ºLinux DTSµÄÓ¦Óü°Êµ¼ùÖ¸ÄϵÄÏêϸÄÚÈÝ£¬¸ü¶àÇë¹Ø×¢±¾ÍøÄÚÆäËüÏà¹ØÎÄÕ£¡

ÃâÔð˵Ã÷£ºÒÔÉÏչʾÄÚÈÝȪԴÓÚÏàÖúýÌå¡¢ÆóÒµ»ú¹¹¡¢ÍøÓÑÌṩ»òÍøÂçÍøÂçÕûÀí£¬°æȨÕùÒéÓë±¾Õ¾Î޹أ¬ÎÄÕÂÉæ¼°¿´·¨Óë¿´·¨²»´ú±í×ðÁú¿­Ê±ÂËÓÍ»úÍø¹Ù·½Ì¬¶È£¬Çë¶ÁÕß½ö×ö²Î¿¼¡£±¾ÎĽӴýתÔØ£¬×ªÔØÇë˵Ã÷À´ÓÉ¡£ÈôÄúÒÔΪ±¾ÎÄÇÖÕ¼ÁËÄúµÄ°æȨÐÅÏ¢£¬»òÄú·¢Ã÷¸ÃÄÚÈÝÓÐÈκÎÉæ¼°ÓÐÎ¥¹«µÂ¡¢Ã°·¸Ö´·¨µÈÎ¥·¨ÐÅÏ¢£¬ÇëÄúÁ¬Ã¦ÁªÏµ×ðÁú¿­Ê±ÊµÊ±ÐÞÕý»òɾ³ý¡£

Ïà¹ØÐÂÎÅ

ÁªÏµ×ðÁú¿­Ê±

18523999891

¿É΢ÐÅÔÚÏß×Éѯ

ÊÂÇéʱ¼ä£ºÖÜÒ»ÖÁÖÜÎ壬9:30-18:30£¬½ÚãåÈÕÐÝÏ¢

QR code
¡¾ÍøÕ¾µØͼ¡¿¡¾sitemap¡¿