Linux DTSÔÚϵͳ¿ª·¢ÖеÄÖ÷ÒªÐÔ
Linux DTS£¬ÔÚLinux×°±¸Ê÷µÄËõд£¬ÊÇÒ»ÖÖÐÎòӲ¼þƽ̨×ÊÔ´ÐÅÏ¢µÄÊý¾Ý½á¹¹£¬ËüÊÇLinuxÄÚºËÆô¶¯Ê±ÓÃÀ´³õʼ»¯Ó²¼þµÄÖ÷Òª×é³É²¿·Ö¡£ÔÚϵͳ¿ª·¢ÖУ¬Linux DTSµÄ±àдºÜÊÇÖ÷Òª£¬ÓÉÓÚËü½ç˵ÁËÓ²¼þ×°±¸ÔÚLinuxϵͳÖеÄÖÖÖÖÊôÐԺ͹Øϵ£¬ÎªLinuxÄÚºËÌṩÁË׼ȷµÄÓ²¼þÐÅÏ¢£¬°ü¹ÜÁËϵͳµÄ׼ȷÊÂÇé¡£
Ê×ÏÈ£¬ÈÃÎÒÃÇÏàʶһÏÂLinux×°±¸Ê÷µÄ»ù±¾½á¹¹¡£Ò»¸ö¼òÆÓµÄDTSÎļþͨ³£ÓÉÒÔϼ¸²¿·Ö×é³É£º
Í·²¿ÐÅÏ¢£º°üÀ¨ÁË×°±¸Ê÷°æ±¾¡¢³§ÉÌÃû³Æ¡¢¸ù½ÚµãµÈÐÅÏ¢¡£
×°±¸½Úµã£ºÐÎòÁ˸÷¸öÓ²¼þ×°±¸µÄÊôÐÔ£¬Èç×°±¸ÀàÐÍ¡¢×°±¸µØµã¡¢ÖÐÖ¹ÐÅÏ¢µÈ¡£
×ÜÏ߽ڵ㣺ÐÎòӲ¼þ×°±¸Ö®¼äµÄÅþÁ¬¹Øϵ£¬Èç×°±¸µÄ¸¸×Ó¹Øϵ¡¢×°±¸Óë×ÜÏßµÄÅþÁ¬¹ØϵµÈ¡£
ÌØÊâ½Úµã£ºÐÎòһЩÌØÊâµÄÓ²¼þ×ÊÔ´£¬ÈçʱÖÓ¡¢ÖÐÖ¹¿ØÖÆÆ÷µÈ¡£
½ÓÏÂÀ´£¬ÎÒÃÇÀ´¿´Ò»¸ö¼òÆÓµÄDTSʾÀý£¬ÒÔչʾÆäÔÚϵͳ¿ª·¢ÖеÄÖ÷ÒªÐÔ£º
/dts-v1/; / { compatible = "myboard"; cpus { #address-cells = <1>; #size-cells = <0>; cpu@0 { compatible = "arm,cortex-a53"; device_type = "cpu"; reg = <0>; clock-frequency = <1000000000>; }; }; memory { device_type = "memory"; reg = <0x00000000 0x80000000>; }; serial@12345678 { compatible = "my-uart"; reg = <0x12345678 0x100>; interrupt-parent = <&intc>; interrupts = <0>; status = "okay"; }; intc: interrupt-controller { compatible = "my-intc"; #interrupt-cells = <2>; }; };
µÇ¼ºó¸´ÖÆ
ÔÚÕâ¸ö¼òÆÓµÄÀý×ÓÖУ¬ÎÒÃǽç˵ÁËÒ»¸öÃûΪ”myboard”µÄ×°±¸Ê÷£¬°üÀ¨ÁËÒ»¸öCPU¡¢ÄÚ´æ¡¢´®¿ÚºÍÖÐÖ¹¿ØÖÆÆ÷µÈÓ²¼þ×ÊÔ´¡£Ã¿¸ö×°±¸½Úµã¶¼°üÀ¨ÁËÓë¸Ã×°±¸Ïà¹ØµÄÊôÐÔÐÅÏ¢£¬Èç×°±¸ÀàÐÍ¡¢¼Ä´æÆ÷µØµã¡¢ÖÐÖ¹ÐÅÏ¢µÈ¡£Í¨¹ýÕâÑùµÄ×°±¸Ê÷ÐÎò£¬LinuxÄں˿ÉÒÔƾ֤ÕâЩÐÅϢ׼ȷ³õʼ»¯¸÷¸öÓ²¼þ×°±¸£¬ÊµÏÖϵͳµÄ׼ȷÔËÐС£
ÔÚϵͳ¿ª·¢ÖУ¬ºÏÀí±àдLinux DTSºÜÊÇÖ÷Òª¡£×¼È·µÄ×°±¸Ê÷ÐÎòÄܹ»È·±£Ó²¼þ×ÊÔ´±»×¼È·³õʼ»¯ºÍʹÓã¬×èÖ¹ÁËÓ²¼þÏà¹ØµÄÎÊÌ⣬Ìá¸ßÁËϵͳµÄÎȹÌÐÔºÍÐÔÄÜ¡£Òò´Ë£¬ÔÚ¿ª·¢Àú³ÌÖУ¬¿ª·¢Ö°Ô±ÐèÒª×Ðϸ±àдDTSÎļþ£¬²¢Æ¾Ö¤ÏêϸӲ¼þƽ̨µÄÌصãÎÞаµ÷½â£¬ÒÔÈ·±£ÏµÍ³Õý³£ÊÂÇé¡£
×ÜÖ®£¬Linux DTSÔÚϵͳ¿ª·¢ÖеÄÖ÷ÒªÐÔ²»ÑÔ¶øÓ÷¡£Í¨¹ýºÏÀí±àдDTSÎļþ£¬¿ÉÒÔΪLinuxÄÚºËÌṩȷÇеÄÓ²¼þÐÅÏ¢£¬°ü¹ÜϵͳµÄÕý³£ÔËÐС£Ï£ÍûÒÔÉÏÄÚÈÝÄÜ×ÊÖú¶ÁÕ߸üÉîÈëÏàʶLinux×°±¸Ê÷¡¢DTSµÄ×÷ÓúÍÖ÷ÒªÐÔ£¬½øÒ»²½Ìá¸ßϵͳ¿ª·¢µÄЧÂʺÍÖÊÁ¿¡£
ÒÔÉϾÍÊÇLinux DTSÔÚϵͳ¿ª·¢ÖеÄÖ÷ÒªÐÔµÄÏêϸÄÚÈÝ£¬¸ü¶àÇë¹Ø×¢±¾ÍøÄÚÆäËüÏà¹ØÎÄÕ£¡