i.MX6ULLÖÕ½áÕßLinux²¢·¢Ó뾺ÕùʵÑéÐźÅÁ¿ÊµÑé

ÈÕÆÚ£º2020-12-14

  • ÎÄÕÂĿ¼

    1 ±àдÇý¶¯³ÌÐò

    2 ±àдӦÓòâÊÔ³ÌÐò

    3 ÔËÐвâÊÔ


    ÐźÅÁ¿¿ÉÒÔµ¼ÖÂÐÝÃߣ¬Òò´ËÐźÅÁ¿±£»¤µÄÁÙ½çÇøÃ»ÓÐÔËÐÐʱ¼äÏÞÖÆ£¬¿ÉÒÔÔÚÇý¶¯µÄ open º¯ÊýÉêÇëÐźÅÁ¿£¬È»ºóÔÚrelease º¯ÊýÖÐÊÍ·ÅÐźÅÁ¿¡£µ«ÊÇÐźÅÁ¿²»ÄÜÓÃÔÚÖжÏÖУ¬±¾½ÚʵÑéÎÒÃDz»»áÔÚÖжÏÖÐʹÓÃÐźÅÁ¿¡£

    1 ±àдÇý¶¯³ÌÐò

    ±¾ÊµÑéÀý³Ì·¾¶£ºi.MX6ULÖÕ½áÕß¹âÅÌ×ÊÁÏ/06_LinuxÇý¶¯Àý³Ì/06_gpioled_semaphore´´½¨gpioled_semaphore.cÎļþ£¬ÒòΪºÍÇ°ÃæµÄʵÑéÇý¶¯Îļþ²¿·ÖÊÇÏàͬ²»ÓÃÐ޸ĵģ¬ÏÂÃæÊDz¿·ÖÄÚÈÝ£º

    µÚ 17 ÐУ¬ÒªÊ¹ÓÃÐźÅÁ¿±ØÐëÌí¼ÓÍ·Îļþ¡£

    µÚ 34 ÐУ¬ÔÚÉ豸½á¹¹ÌåÖÐÌí¼ÓÒ»¸öÐźÅÁ¿³ÉÔ±±äÁ¿ sem¡£

    µÚ 46~59ÐУ¬ÔÚ openº¯ÊýÖÐÉêÇëÐźÅÁ¿£¬¿ÉÒÔʹÓà down º¯Êý£¬Ò²¿ÉÒÔʹÓà down_interruptibleº¯Êý¡£Èç¹ûÐźÅÁ¿Öµ´óÓÚµÈÓÚ 1 ¾Í±íʾ¿ÉÓã¬ÄÇôӦÓóÌÐò¾Í»á¿ªÊ¼Ê¹Óà LED µÆ¡£Èç¹ûÐźÅÁ¿ÖµÎª 0 ¾Í±íʾӦÓóÌÐò²»ÄÜʹÓà LED µÆ£¬´ËʱӦÓóÌÐò¾Í»á½øÈëµ½ÐÝÃß״̬¡£µÈµ½ÐźÅÁ¿Öµ´óÓÚ 1 µÄʱºòÓ¦ÓóÌÐò¾Í»á»½ÐÑ£¬ÉêÇëÐźÅÁ¿£¬»ñÈ¡ LED µÆÊ¹ÓÃȨ¡£

    µÚ 114 ÐУ¬ÔÚ release º¯ÊýÖе÷Óà up º¯ÊýÊÍ·ÅÐźÅÁ¿£¬ÕâÑùÆäËûÒòΪûÓеõ½ÐźÅÁ¿¶ø½øÈëÐÝÃß״̬µÄÓ¦ÓóÌÐò¾Í»á»½ÐÑ£¬»ñÈ¡ÐźÅÁ¿¡£

    µÚ 138 ÐУ¬ÔÚÇý¶¯Èë¿Úº¯ÊýÖе÷Óà sema_init º¯Êý³õʼ»¯ÐźÅÁ¿ sem µÄֵΪ 1£¬Ï൱ÓÚ semÊǸö¶þÖµÐźÅÁ¿¡£

    ×ܽáһϣ¬µ±ÐźÅÁ¿ sem Ϊ 1 µÄʱºò±íʾ LED µÆ»¹Ã»Óб»Ê¹Óã¬Èç¹ûÓ¦ÓóÌÐò A ҪʹÓÃLED µÆ£¬Ïȵ÷Óà open º¯Êý´ò¿ª/dev/gpioled£¬Õâ¸öʱºò»á»ñÈ¡ÐźÅÁ¿ sem£¬»ñÈ¡³É¹¦ÒÔºó sem µÄÖµ¼õ 1 ±äΪ 0¡£Èç¹û´ËʱӦÓóÌÐò B ҲҪʹÓà LED µÆ£¬µ÷Óà open º¯Êý´ò¿ª/dev/gpioled ¾Í»áÒòΪÐźÅÁ¿ÎÞЧ(ֵΪ 0)¶ø½øÈëÐÝÃß״̬¡£µ±Ó¦ÓóÌÐò A ÔËÐÐÍê±Ï£¬µ÷Óà close º¯Êý¹Ø±Õ/dev/gpioledµÄʱºò¾Í»áÊÍ·ÅÐźÅÁ¿ sem£¬´ËʱÐźÅÁ¿ sem µÄÖµ¾Í»á¼Ó 1£¬±äΪ 1¡£ÐźÅÁ¿ sem ÔÙ´ÎÓÐЧ£¬±íʾÆäËûÓ¦ÓóÌÐò¿ÉÒÔʹÓà LED µÆÁË£¬´ËʱÔÚÐÝÃß״̬µÄÓ¦ÓóÌÐò A ¾Í»á»ñÈ¡µ½ÐźÅÁ¿ sem£¬»ñÈ¡³É¹¦ÒÔºó¾Í¿ªÊ¼Ê¹Óà LED µÆ¡£

    2 ±àдӦÓòâÊÔ³ÌÐò

    Ó¦ÓòâÊÔ³ÌÐòʹÓÃ38.1.2ÖеÄÓ¦ÓòâÊÔ³ÌÐò¼´¿É¡£

    3 ÔËÐвâÊÔ

    1¡¢±àÒëÇý¶¯³ÌÐò

    Ìí¼ÓMakefileÎļþ£¬ÐÞ¸Äobj-mµÄֵΪ gpioled_semaphore.o£¬ÄÚÈÝÈçÏ£º

    Ê×ÏÈÎÒÃÇÔÚÖÕ¶ËÊäÈëÁ½¸öÃüÁÉèÖÃÁ½¸ö»·¾³±äÁ¿£©£º

    export ARCH=arm

    export CROSS_COMPILE=arm-linux-gnueabihf-

    È»ºóʹÓá°make¡±ÃüÁî½øÐбàÒ룬Éú³Égpioled_semaphore.koÇý¶¯Ä£¿éÎļþ¡£

    2¡¢ÔËÐвâÊÔ

    ½«±àÒëºÃµÄgpioled_semaphore.koÇý¶¯Ä£¿éÎļþ¿½±´µ½/lib/modules/4.1.15Ŀ¼Ï£¨¼ì²é¿ª·¢°å¸ùÎļþϵͳÖÐÓÐûÓС°/lib/modules/4.1.15¡±Õâ¸öĿ¼£¬Èç¹ûûÓеϰÐèÒª×ÔÐд´½¨Ò»Ï¡£¿ª·¢°åÖÐʹÓõÄÊǹâÅÌ×ÊÁÏÀïÃæÌṩµÄbusyboxÎļþϵͳ£¬¹âÅÌ×ÊÁϵġ°i.MX6ULÖÕ½áÕß¹âÅÌ×ÊÁÏ\08_¿ª·¢°åϵͳ¾µÏñ\03_Îļþϵͳ¾µÏñ\01_BusyboxÎļþϵͳ¡±Ä¿Â¼Ï£©¡£ÊäÈëÏÂÃæÃüÁî¼ÓÔØÄ£¿é£º

    depmod

    modprobe gpioled_semaphore

    Çý¶¯Ä£¿é¼ÓÔØ³É¹¦Èçͼ 3.1Ëùʾ£º

    Çý¶¯Ä£¿é¼ÓÔØ³É¹¦ºó£¬Ê¹ÓÃgpioled_atomic_testÓ¦ÓòâÊÔ³ÌÐò½øÐвâÊÔ£¬²âÊÔÁ÷³ÌºÍÔ­×Ó±äÁ¿²âÊÔÒ»Ñù¡£Ê¹ÓÃÏÂÃæµÄÃüÁî´ò¿ªLEDµÆ£º

    ./gpioled_atomic_test /dev/gpioled 1 &

    È»ºó½ô½Ó×ÅÊäÈëLEDµÆ¹Ø±ÕÃüÁ

    ./gpioled_atomic_test /dev/gpioled 0 &

    ×¢ÒâÁ½¸öÃüÁî¶¼ÊÇÔËÐÐÔÚºǫ́£¬µÚÒ»ÌõÃüÁîÏÈ»ñÈ¡µ½ÐźÅÁ¿£¬Òò´Ë¿ÉÒÔ²Ù×÷ LED µÆ£¬½«LED µÆ´ò¿ª£¬²¢ÇÒÕ¼ÓÐ 25S¡£µÚ¶þÌõÃüÁîÒòΪ»ñÈ¡ÐźÅÁ¿Ê§°Ü¶ø½øÈëÐÝÃß״̬£¬µÈ´ýµÚÒ»ÌõÃüÁîÔËÐÐÍê±Ï²¢ÊÍ·ÅÐźÅÁ¿ÒÔºó²ÅÓµÓÐ LED µÆÊ¹ÓÃȨ£¬½« LED µÆ¹Ø±Õ£¬ÔËÐнá¹ûÈçͼ 3.2Ëùʾ£º

    ¿ÉÒÔ¿´µ½ÓÐÁ½´ÎÔËÐнá¹û¡£

    Ð¶ÔØÄ£¿éÃüÁ

    rmmod gpioled_semaphore

  • ÍúÍú×Éѯ
  • µãÕâÀï¸øÎÒ·¢ÏûÏ¢
  • µç»°×Éѯ

  • 01085270716
XML 地图