1. <rp id="a8j9o"><object id="a8j9o"><input id="a8j9o"></input></object></rp>
    

    <button id="a8j9o"></button>
    <em id="a8j9o"></em>
    <rp id="a8j9o"></rp>
  2. 0
    登錄后你可以
    • 下載海量資料
    • 學習在線課程
    • 觀看技術視頻
    • 寫文章/發帖/加入社區
    創作中心
    發布
    • 發文章

    • 發資料

    • 發帖

    • 提問

    • 發視頻

    創作活動

    完善資料讓更多小伙伴認識你,還能領取20積分哦, 立即完善>

    3天內不再提示

    【i.MX6ULL】驅動開發8—中斷法檢測按鍵 Linux中斷和定時使用方法

    碼農愛學習 ? 來源:碼農愛學習 ? 作者:碼農愛學習 ? 2022-05-25 09:09 ? 次閱讀

    上篇,學習GPIO輸入功能的使用,本篇,來學習使用中斷的方式來檢測按鍵的按下。

    1 Linux中斷介紹

    1.1 中斷的上半部與下半部

    中斷處理函數的執行,越快越好,但實際使用中,某些情況確實需要比較耗時是中斷過程,為此,Linux內核將中斷分為上半部和下半部兩個處理部分

    上半部:中斷處理函數,那些處理過程比較快,不會占用很長時間的處理就可以放在上半部完成

    下半部:如果中斷處理過程比較耗時,那么就將這些比較耗時的代碼提出來,交給下半部去執行,這樣中斷處理函數就會快進快出

    對于一個中斷,如何劃分出上下兩部分呢?

    時間敏感,將其放在上半部

    硬件相關,將其放在上半部

    要求不被其他中斷打斷,將其放在上半部

    其他所有任務,考慮放在下半部

    1.2 下半部的3種實現方式

    1.2.1 軟中斷

    Linux內核使用softirq_action結構體表示軟中斷:

    struct softirq_action 
    { 
    	void (*action)(struct softirq_action *); 
    }; 

    一共有 10 個軟中斷

    enum 
    { 
        HI_SOFTIRQ = 0,          /* 高優先級軟中斷    */ 
        TIMER_SOFTIRQ,           /* 定時器軟中斷      */ 
        NET_TX_SOFTIRQ,          /* 網絡數據發送軟中斷 */ 
        NET_RX_SOFTIRQ,          /* 網絡數據接收軟中斷 */ 
        BLOCK_SOFTIRQ,           
        BLOCK_IOPOLL_SOFTIRQ,    
        TASKLET_SOFTIRQ,         /* tasklet 軟中斷   */ 
        SCHED_SOFTIRQ,           /* 調度軟中斷        */ 
        HRTIMER_SOFTIRQ,         /* 高精度定時器軟中斷 */ 
        RCU_SOFTIRQ,             /* RCU 軟中斷       */ 
            
        NR_SOFTIRQS 
    };

    要使用軟中斷,必須先使用open_softirq函數注冊對應的軟中斷處理函數:

    /**
     * nr: 要開啟的軟中斷
     * action: 軟中斷對應的處理函數
     * return: 無
     */
    void open_softirq(int nr,  void (*action)(struct softirq_action *)) 

    注冊好軟中斷以后需要通過raise_softirq函數觸發:

    /**
     * nr: 要觸發的軟中斷
     * return: 無
     */
    void raise_softirq(unsigned int nr) 

    1.2.2 tasklet

    Linux內核使用tasklet_struct結構體來表示tasklet:

    struct tasklet_struct 
    { 
    	struct tasklet_struct *next;     /* 下一個tasklet      */ 
    	unsigned long state;             /* tasklet狀態        */ 
    	atomic_t count;                  /* 計數器, 記錄對tasklet的引用數 */ 
    	void (*func)(unsigned long);     /* tasklet執行的函數  */ 
    	unsigned long data;              /* 函數func的參數     */ 
    }; 

    要使用 tasklet,必須先定義一個tasklet,然后初始化:

    /**
     * t: 要初始化的tasklet
     * func: tasklet的處理函數
     * data: 要傳遞給func函數的參數
     * return: 無
     */
    void tasklet_init(struct tasklet_struct *t,
                    void (*func)(unsigned long),  
                            unsigned long data); 

    在上半部(中斷處理函數)中調用tasklet_schedule函數就能使tasklet在合適的時間運行:

    /**
     * t: 要調度的tasklet
     * return: 無
     */
    void tasklet_schedule(struct tasklet_struct *t)

    1.2.3 工作隊列

    工作隊列(work queue)是另外一種將中斷的部分工作推后的一種方式,它可以實現一些tasklet不能實現的工作,比如工作隊列機制可以睡眠。

    Linux 內核使用work_struct結構體表示一個工作

    struct work_struct { 
        atomic_long_t data;     
        struct list_head entry;  
        work_func_t func;        /* 工作隊列處理函數  */ 
    };

    這些工作組織成工作隊列,工作隊列使用workqueue_struct結構體表示。

    在工作隊列機制中,將推后的工作交給一個稱之為工作者線程(worker thread)的內核線程去完成。

    1.3 中斷API函數

    1.3.1 request_irq中斷請求函數

    /**
     * irq: 要申請中斷的中斷號
     * handler: 中斷處理函數,當中斷發生以后就會執行此中斷處理函數
     * flags: 中斷標志
     * name: 中斷名字
     * dev: 設備結構體
     * return: 0-中斷申請成功, 其他負值-中斷申請失敗
     */
    int request_irq(unsigned int irq,  
                   irq_handler_t handler,  
                   unsigned long flags, 
                      const char *name,  
                            void *dev) 

    flags中斷標志,有下面幾種類型

    中斷標志 描述
    IRQF_SHARED 多個設備共享一個中斷線, 共享的所有中斷都必須指定此標志
    IRQF_ONESHOT 單次中斷,中斷執行一次就結束
    IRQF_TRIGGER_NONE 無觸發
    IRQF_TRIGGER_RISING 上升沿觸發
    IRQF_TRIGGER_FALLING 下降沿觸發
    IRQF_TRIGGER_HIGH 高電平觸發
    IRQF_TRIGGER_LOW 低電平觸發

    1.3.2 free_irq中斷釋放函數

    /**
     * irq: 要釋放中斷的中斷號
     * dev: 設備結構體
     * return: 無
     */
    void free_irq(unsigned int irq,  
                          void *dev) 

    1.3.3 irq_handler_t中斷處理函數

    /**
     * int: 要處理的中斷號
     * void *: 通用指針, 需要與request_irq函數的dev參數保持一致
     * return: irqreturn_t枚舉類型
     */
    irqreturn_t (*irq_handler_t) (int, void *)

    irqreturn_t枚舉類型定義:

    enum irqreturn { 
    	IRQ_NONE          = (0 << 0), 
        IRQ_HANDLED       = (1 << 0), 
    	IRQ_WAKE_THREAD   = (1 << 1), 
    }; 
    
    typedef enum irqreturn irqreturn_t; 

    1.3.4 中斷使能/禁用函數

    /**
     * int: 要使能的中斷號
     */
    void enable_irq(unsigned int irq) 
        
    /**
     * int: 要禁用的中斷號
     */
    void disable_irq(unsigned int irq)

    1.3.5 獲取中斷號

    使用中斷時,中斷信息先寫到了設備樹里面,然后通過irq_of_parse_and_map函數從interupts屬性中提取到對應的中斷號

    /**
     * dev: 設備節點
     * index: 索引號
     * return: 中斷號
     */
    unsigned int irq_of_parse_and_map(struct device_node *dev, 
                                                     int index) 

    2 軟件編寫

    仍使用上篇按鍵實驗中用到的兩個按鍵:

    poYBAGKM90qAILxrAAFjbYSxyjc095.png

    為了理解簡單,本次程序暫不實現中斷的下半部邏輯,直接將整個中斷處理過程都放到中斷的上半部中處理。

    2.1 修改設備樹文件

    在上篇key實驗代碼的基礎上,修改imx6ull-myboard.dts,主要是修改key子節點,添加中斷,修改后內容如下:

    key { 
        #address-cells = <1>; 
        #size-cells = <1>; 
        compatible = "myboard-irq-key"; 
        pinctrl-names = "default"; 
        pinctrl-0 = <&pinctrl_key>; 
        key1-gpio = <&gpio5 1 GPIO_ACTIVE_HIGH>;   /* SW2 */
        key2-gpio = <&gpio5 11 GPIO_ACTIVE_LOW>;   /* SW4 */
        interrupt-parent = <&gpio5>; 
        interrupts = <  1 IRQ_TYPE_EDGE_BOTH
                       11 IRQ_TYPE_EDGE_BOTH >;
        status = "okay"; 
    }; 

    2.2 按鍵中斷驅動程序

    2.2.1 硬件初始化與中斷配置

    static int keyio_init(void)
    {
        unsigned char i = 0;
        int ret = 0;
        
        /* 設備樹中獲取key節點 */
        imx6uirq.nd = of_find_node_by_path("/key");
        if (imx6uirq.nd== NULL)
        {
            printk("key node not find!\r\n");
            return -EINVAL;
        } 
    
        /* 提取GPIO */
        imx6uirq.irqkeydesc[0].gpio = of_get_named_gpio(imx6uirq.nd ,"key1-gpio", 0);
        imx6uirq.irqkeydesc[1].gpio = of_get_named_gpio(imx6uirq.nd ,"key2-gpio", 0);
        if ((imx6uirq.irqkeydesc[0].gpio < 0)||(imx6uirq.irqkeydesc[1].gpio < 0))
        {
            printk("can't get key\r\n");
            return -EINVAL;
        }
        printk("key1_gpio=%d, key2_gpio=%d\r\n", imx6uirq.irqkeydesc[0].gpio, imx6uirq.irqkeydesc[1].gpio);
        
        /* 初始化key所使用的IO,并且設置成中斷模式 */
        for (i = 0; i < KEY_NUM; i++)
        {
            memset(imx6uirq.irqkeydesc[i].name, 0, sizeof(imx6uirq.irqkeydesc[i].name)); /* 緩沖區清零 */
            sprintf(imx6uirq.irqkeydesc[i].name, "key%d", i+1); /* 組合名字 */
            gpio_request(imx6uirq.irqkeydesc[i].gpio, imx6uirq.irqkeydesc[i].name);
            gpio_direction_input(imx6uirq.irqkeydesc[i].gpio);    
            imx6uirq.irqkeydesc[i].irqnum = irq_of_parse_and_map(imx6uirq.nd, i); /* 取到對應的中斷號 */
    
            printk("key%d:gpio=%d, irqnum=%d\r\n",i+1,
                                                  imx6uirq.irqkeydesc[i].gpio, 
                                                  imx6uirq.irqkeydesc[i].irqnum);
        }
        /* 申請中斷 */
        imx6uirq.irqkeydesc[0].handler = key1_handler;
        imx6uirq.irqkeydesc[1].handler = key2_handler;
        imx6uirq.irqkeydesc[0].value = KEY1VALUE;
        imx6uirq.irqkeydesc[1].value = KEY2VALUE;
        
        for (i = 0; i < KEY_NUM; i++)
        {
            /* 中斷請求函數 */
            ret = request_irq(imx6uirq.irqkeydesc[i].irqnum,
                              imx6uirq.irqkeydesc[i].handler,
                              IRQF_TRIGGER_FALLING|IRQF_TRIGGER_RISING,
                              imx6uirq.irqkeydesc[i].name,
                              &imx6uirq);
            if(ret < 0)
            {
                printk("irq %d request failed!\r\n", imx6uirq.irqkeydesc[i].irqnum);
                return -EFAULT;
            }
        }
    
        /* 創建定時器 */
        init_timer(&imx6uirq.timer1);
        imx6uirq.timer1.function = timer1_function;
        init_timer(&imx6uirq.timer2);
        imx6uirq.timer2.function = timer2_function;
        return 0;
    }

    中斷檢測到按鍵按下后,為了消除按鍵抖動,這里使用定時器來進行按鍵消抖,因為本次實驗用到兩個按鍵,所以就先也使用兩個定時器。

    2.2.2 中斷服務函數

    static irqreturn_t key1_handler(int irq, void *dev_id)
    {
        struct imx6uirq_dev *dev = (struct imx6uirq_dev *)dev_id;
    
        dev->timer1.data = (volatile long)dev_id;
        mod_timer(&dev->timer1, jiffies + msecs_to_jiffies(10)); /* 10ms定時 */
        
        return IRQ_RETVAL(IRQ_HANDLED);
    }

    中斷函數檢測到按鍵按下后,會開啟一個10ms的定時器,用來按鍵消抖。

    2.2.3 定時器服務函數

    定時器的10ms到達之后,會觸發定時器服務函數,此時再次讀取按鍵的值,若仍為按下,則是按鍵真的按下了,若10ms后又檢測不到按鍵了,則說明是按鍵抖動導致的按鍵誤觸發。

    void timer1_function(unsigned long arg)
    {
        unsigned char value;
        struct irq_keydesc *keydesc;
        struct imx6uirq_dev *dev = (struct imx6uirq_dev *)arg;
    
        keydesc = &dev->irqkeydesc[0];
    
        value = gpio_get_value(keydesc->gpio); /* 讀取IO值 */
        if(value == 1) /* 按下按鍵 */
        {
            printk("get key1: high\r\n");
            atomic_set(&dev->keyvalue, keydesc->value);
        }
        else /* 按鍵松開 */
        {
            printk("key1 release\r\n");
            atomic_set(&dev->keyvalue, 0x80 | keydesc->value);
            atomic_set(&dev->releasekey, 1); /* 標記松開按鍵,即完成一次完整的按鍵過程 */            
        }    
    }

    2.2.4 按鍵讀取函數

    static ssize_t imx6uirq_read(struct file *filp, char __user *buf, size_t cnt, loff_t *offt)
    {
        int ret = 0;
        unsigned char keyvalue = 0;
        unsigned char releasekey = 0;
        struct imx6uirq_dev *dev = (struct imx6uirq_dev *)filp->private_data;
    
        keyvalue = atomic_read(&dev->keyvalue);
        releasekey = atomic_read(&dev->releasekey);
    
        if (releasekey) /* 有按鍵按下 */
        {
            //printk("releasekey!\r\n");
            if (keyvalue & 0x80)
            {
                keyvalue &= ~0x80;
                ret = copy_to_user(buf, &keyvalue, sizeof(keyvalue));
            }
            else
            {
                goto data_error;
            }
            atomic_set(&dev->releasekey, 0); /* 按下標志清零 */
        }
        else
        {
            goto data_error;
        }
        return 0;
        
    data_error:
        return -EINVAL;
    }

    2.3 按鍵中斷驅動程序

    按鍵中斷的應用程序,使用上篇的按鍵檢測的應用程序即可

    3 實驗

    編譯設備樹與驅動文件(irqkey-BSp.ko),使用上篇的按鍵應用程序(key-App),按下按鍵,會打印get key,松開按鍵,會打印key release。

    pYYBAGKM91iAOQhOAACaYIadQzQ689.png

    4 總結

    本篇主要介紹了Linux中斷的使用方法,通過按鍵來進行中斷實驗測試,并使用Linux定時器進行按鍵去抖。

    poYBAGKM916AeO0CAAD7m3tGRn8927.png

    • 嵌入式
      +關注

      關注

      4203

      文章

      15662

      瀏覽量

      267472
    • Linux
      +關注

      關注

      82

      文章

      8664

      瀏覽量

      201654
    • 中斷
      +關注

      關注

      5

      文章

      642

      瀏覽量

      39712
    • i.MX6
      +關注

      關注

      1

      文章

      28

      瀏覽量

      15826
    收藏 人收藏

      評論

      相關推薦

      移植NXP官方linux 5.4內核到i.MX6ULL開發

      本文描述移植NXP官方 linux 5.4 內核到i.MX6ULL開發板。
      發表于 12-19 11:10 ?165次閱讀

      linux系統中裸機按鍵中斷驅動?方法

      今天主要和大家聊一聊,如何實現按鍵中斷驅動方法。
      發表于 12-09 11:59 ?272次閱讀

      使用i.MX6ULL開發板進行Linux根文件系統的完善

      上一篇推文講了怎么移植根文件系統,并在i.MX6ULL開發板中運行起來,但是會出現一些提示,現在來進行根文件的完善。
      發表于 10-17 11:13 ?218次閱讀

      如何在嵌入式Linux開發板上配置Qt運行環境

      本文基于I.MX6ULL芯片的Linux開發板,介紹如何在嵌入式Linux開發板上配置Qt運行環境,并運行Qt程序進行測試
      發表于 10-10 09:56 ?526次閱讀

      關于i.MX6ULL配置GPIO

      處理器,它的GPIO外設應該如何配置呢?今天小編就將通過飛凌嵌入式的OKMX6ULL-S開發板來為大家詳細介紹。一、i.MX6ULL處理器的GPIO配置i.MX6ULL運行的是Linux系統,眾所周知
      發表于 08-05 10:37

      Linux下如何使用中斷的方式來驅動按鍵

      Linux下的按鍵輸入驅動開發模板一文中介紹了基本的按鍵輸入捕獲流程,這里將進一步介紹如何使用中斷的方式來驅動按鍵,同時通過定時器實現按鍵消抖功能,應用程序讀取按鍵值并通過終端打印出來
      發表于 07-29 08:59 ?456次閱讀

      i.MX6ULL開發板—無線網絡測試方案

      本文以幫助用戶快速熟悉產品、了解接口功能測試方法為目的,主要講述飛凌i.MX6ULL開發板WiFi接口功能的測試方法,以及使用過程中出現的一些問題如何排查。
      的頭像 發表于 06-06 17:17 ?553次閱讀
      <b>i.MX6ULL</b><b>開發</b>板—無線網絡測試方案

      i.MX6ULL驅動開發10—阻塞&amp;非阻塞式按鍵檢測

      本篇使用兩種I/O模型進行按鍵讀?。鹤枞?b>I/O非用阻塞式I/O,通過實際的實驗,對比兩者方式的實際運行效果與主要區別,并查看CPU的占用率,兩種方式的CPU使用率都幾乎為0。
      的頭像 發表于 05-27 09:08 ?3261次閱讀
      【<b>i.MX6ULL</b>】<b>驅動</b><b>開發</b>10—阻塞&amp;非阻塞式<b>按鍵</b><b>檢測</b>

      i.MX6ULL 驅動開發7—按鍵輸入捕獲與GPIO輸入配置與高低電平讀取

      本篇主要介紹了i.MX6ULL按鍵檢測的使用,主要的知識點是設備樹的修改,以及GPIO的輸入配置與高低電平的讀取。
      的頭像 發表于 05-24 09:11 ?4349次閱讀
      <b>i.MX6ULL</b> <b>驅動</b><b>開發</b>7—<b>按鍵</b>輸入捕獲與GPIO輸入配置與高低電平讀取

      i.MX6ULL驅動開發4——點亮LED(寄存器版)

      本篇主要介紹了如何通過操作寄存器來點亮i.MX6ULL開發板上的led,通過編寫LED對應的驅動程序應用程序,實現程序設計的分層。
      的頭像 發表于 05-21 21:26 ?2160次閱讀
      【<b>i.MX6ULL</b>】<b>驅動</b><b>開發</b>4——點亮LED(寄存器版)

      基于ARM核心板 i.MX6ULL實現的核酸自動提取儀

      800MHz主頻處理器,通過嚴格的EMC高低溫測試,確保核心板在嚴酷的環境下保證硬件與系統的穩定性。推薦原因FETMX6ULL-S 核心板基于NXP 公司ARM Cortex-A7 架構i.MX6ULL
      發表于 05-05 11:54

      iMX6ULL 小尺寸40*29mm核心板- iMX6ULL功能介紹|框架圖|功耗|核心板硬件設計說明|原理圖

      2D掃描儀等。i.MX6ULL應用處理器框圖 FETMX6ULL-C核心板基于NXP i.MX6ULL處理器開發設計,采用低功耗的ARM Cortex-A7架構,運行速度高達800MHz。原生支持8
      發表于 05-05 11:44

      基于i.MX6ULL應用處理器的FETMX6ULL-C核心板

      NXP i.MX6ULL擴展了i.MX6系列,它是一個高性能、超高效、低成本處理器子系列,采用先進的ARM Cortex-A7內核,運行速度高達800MHz。i.MX6ULL應用處理器包括一個集成
      發表于 04-29 14:37 ?910次閱讀
      基于<b>i.MX6ULL</b>應用處理器的FETMX<b>6ULL</b>-C核心板

      原創~~~強芯傳承 FETMX6ULL-C核心板

      ,飛凌不負美譽,基于i.MX6ULL匠心打造的FETMX6ULL-S核心板一經問世便好評不斷,且已有數百家來自工業、醫療、電力、物聯網等行業的用戶采用此款核心板快速完成了整機產品的開發上市。正是源于
      發表于 04-12 10:15

      基于NXP i.MX6ULL處理器的FETMX6ULL-C核心板

      合作伙伴,飛凌不負美譽,基于i.MX6ULL匠心打造的FETMX6ULL-S核心板一經問世便好評不斷,且已有數百家來自工業、醫療、電力、物聯網等行業的用戶采用此款核心板快速完成了整機產品的開發上市。
      發表于 04-11 15:05 ?455次閱讀
      基于NXP <b>i.MX6ULL</b>處理器的FETMX<b>6ULL</b>-C核心板

      迅為-iMX6ULL開發板原創嵌入式開發文檔系統化學習

      )嵌入式QT學習篇嵌入式學習Linux驅動篇嵌入式學習Linux系統編程嵌入式學習Linux框架學習嵌入式學習Linux入門篇i.MX6ULL裸機學習篇原創嵌入式開發文檔 通過本套教程系統化
      發表于 03-29 15:16

      i.MX6ULL嵌入式Linux開發1-uboot移植初探

      本系列教程以i.MX6ULL處理器的ARM開發板為實驗基礎,學習記錄嵌入式Linux開發的各種知識與經驗,主要內容包括嵌入式Linux移植,嵌入式Linux驅動開發,嵌入式Linux應用開發等。
      的頭像 發表于 03-07 08:57 ?2661次閱讀
      <b>i.MX6ULL</b>嵌入式<b>Linux</b><b>開發</b>1-uboot移植初探

      I.MUX6ULL的初始化方法

      拉、速度等);4.使用GPIO輸出高低電平。二、I.MX6ULL初始化1.使能時鐘CCGR0-CCGR6,這七個寄存器控制著6ull所有外設時鐘的使能,為了簡單,設置CCGR0-CCGR6這七個寄存器的值全部為0xffffffff,即相當于使能所有外設時鐘;2.IO復用,通過查詢I.MUX6ULL
      發表于 03-02 06:18

      【傾心力作!】i.MX8MM嵌入式linux開發指南+全覆蓋開發資料

      Linux驅動開發>Linux系統移植>文件系統構建>QT應用開發i.MX8MM嵌入式LInux開發指南第一篇嵌入式Linux入門篇前言總領及學習指引第一部分嵌入式Linux開發環境
      發表于 02-11 10:27

      【北京迅為】i.MX6ULL開發板移植 Debian 文件系統

      【北京迅為】i.MX6ULL開發板移植 Debian 文件系統
      的頭像 發表于 02-10 15:34 ?35次閱讀
      【北京迅為】<b>i.MX6ULL</b><b>開發</b>板移植 Debian 文件系統

      Win10+Ubuntu16.04雙系統安裝過程

      Linux開發硬件平臺??要學嵌入式 Linux 驅動開發肯定需要一個硬件平臺,本次學習使用的是I.MX6ULL開發板.是以 NXP 的 I.MX6ULL 為核心的 Cortex-A7 開發平臺
      發表于 01-25 06:29

      I.MX6U-ALPHA開發板的相關資料推薦

      BTB 接口的 NAND 版本BTB 接口的 EMMC 版本正點原子 I.MX6ULL 核心板的特點正點原子 I.MX6U-ALPHA/Mini 開發板資源說明I.MX6U-ALPHA 硬件資源說明
      發表于 01-25 06:22

      請問誰有I.MX6ULL這個的開發板 配置成8串口方案的資料?

      誰有I.MX6ULL 這個的開發板 配置成8串口方案的資料? 就是飛凌 淘寶頁面宣傳的那個,我購買了一個開發板+核心板,查看串口只有4個:dizzy: 需要怎么配置?有沒有哪位可以指點一下,感謝
      發表于 01-10 06:58

      i.MX6ULL的相關資料下載

      i.MX6ULL終結者三大手冊,加速學習開發速度,一秒化無形!《嵌入式Linux開發指南》+《開發板使用手冊》+《裸機使用手冊》詳細手冊點擊鏈接下載:https://pan.baidu.com/s
      發表于 12-27 06:13

      迅為IMX6ULL開源硬件開發板的相關資料推薦

      迅為的i.MX6ULL開發板是單核的A7處理器,可以很好的學習嵌入式Linux開發;如果同時需要掌握Android技術,可以選擇四核A9的4412開發i.MX6ULL提供豐富的接口擴展模塊
      發表于 12-24 08:13

      如何選擇嵌入式Linux開發電腦

      基礎熟悉計算機。環境說明windows10參考資料正點原子書本:ARM裸機與嵌入式Linux驅動開發正點原子文檔:I.MX6ULL開發指南NXP官方文檔:I.MX6ULL參考手冊、數據手冊開發電腦要求CPU要求?windows虛擬機都需要CPU的
      發表于 12-21 06:40

      初識 i.MX6ULL 寄存器

      裸機開發_L1_匯編LED實驗0. 本節目標1. 硬件層電路2. 初識 i.MX6ULL 寄存器2.1 i.MX6ULL 時鐘控制寄存器2.2 i.MX6ULL IO復用寄存器2.3
      發表于 12-20 07:13

      I.MX6ULL開發板為例來介紹一下嵌入式技術的學習步驟

      本節結合迅為的終結者 I.MX6ULL 開發板來介紹一下嵌入式技術的學習步驟。大家都知道,嵌入式技術的知識面非常廣,學起來往往不知道如何下手,我們通過這一小節給大家闡述一下嵌入式技術應該從哪里開始
      發表于 12-20 06:29

      i.MX6ULL開發板源碼編譯燒錄

      iMX6ULL支持eMMC、Nandflash、TF卡(SD卡)等多種啟動方式,HD-IMX6ULL-MB 開發板上板載了一顆Samsung公司的8GB eMMC芯片,此外它還帶有一個TF卡槽,這樣該開發板支持eMMCSD卡兩種啟動方式。由下圖可知,系統具體采用哪種方式啟動
      的頭像 發表于 12-17 17:35 ?87次閱讀
      <b>i.MX6ULL</b><b>開發</b>板源碼編譯燒錄

      i.MX6ULL開發板源碼編譯

      開發板是武漢芯路遙科技有限公司與武漢萬象奧科電子有限公司合作推出的一款開發板。此開發板基于 NXP iMX6ULL 系列 Cortex-A7 高性能處理器設計,適用于
      的頭像 發表于 12-16 15:46 ?31次閱讀
      <b>i.MX6ULL</b><b>開發</b>板源碼編譯

      介紹UART在i.mx6ull上的開發步驟

      的HAL庫開發在之前文章已經提及,本篇文章將介紹UART在i.mx6ull上的開發步驟。由于此芯片的裸機開發Linux下并使用ARM-Linux交叉編譯生成可執行文件下載至板中進行運行,所以相像STM32開...
      發表于 12-16 06:34

      如何配置Linux開發板的GPIO

      板(I.MX6ULL)環境:Ubuntu 20.04 (LTS) (內核版本:Linux 5.4.0)交叉編譯器:arm-linux-gnueabihf 4.9.4一、目的編寫裸機代碼(匯編)點亮LED燈,掌握如何配置Linux開發板的GPIO,熟悉..
      發表于 12-15 07:46

      編寫第一個真正的 Linux 字符設備驅動

      I.MX6U-ALPHA 開發板上有一個 LED 燈,我們在裸機篇中已經編寫過此 LED 燈的裸機驅動,本章我們就來學習一下如何編寫 Linux 下的 LED 燈驅動。LED等驅動原理Linux
      發表于 12-15 07:21

      STM32基本定時中斷使用方法

      文章目錄摘要配置工程配置定時器參數使能定時器配置定時器參數開啟定時中斷生成工程編寫用戶程序編寫中斷回調函數啟動定時器編譯下載程序摘要??本章講解STM32基本定時中斷使用方法,實現通過定時
      發表于 12-13 07:10

      K210應用4-使用中斷方式檢測按鍵

      檢測按鍵按下的動作并成功產生中斷,調用了中斷回調函數,所使用的LED為前面提到的紅色LED。實驗準備1)、帶按鍵發光二極管(LED)的K210開發板一塊,用于實踐并查看實驗現象;2)、官方裸機編程指導手冊:kendryte_standalone_...
      發表于 12-05 15:21 ?9次下載
      K210應用4-使用<b>中斷</b>方式<b>檢測</b><b>按鍵</b>

      韋東山嵌入式Linux學習——012 按鍵中斷

      韋東山嵌入式Linux學習——012 按鍵中斷
      發表于 12-04 17:36 ?9次下載
      韋東山嵌入式<b>Linux</b>學習——012 <b>按鍵</b><b>中斷</b>

      esp32學習之按鍵檢測gpio中斷

      esp32學習之gpio中斷前言流程選定gpiogpio配置設置回調函數注冊中斷處理程序前言最近在做一個按鍵檢測,按鍵檢測有兩種方法,一種是輪詢,即在rtos中建立一個任務,然后在死循環中判斷按鍵
      發表于 12-04 16:21 ?13次下載
      esp32學習之<b>按鍵</b><b>檢測</b>gpio<b>中斷</b>

      10.IMX6ULL外部中斷

      向量偏移。設置SCB的VTOC寄存器為新的中斷向量表起始地址,內部指向各種中斷的函數名。? 但是Cotex-A的中斷向量表只有幾個,我們主要使用的是IRQ。二、6ULL中斷系統1.GIC控制器
      發表于 12-03 14:36 ?11次下載
      10.IMX<b>6ULL</b>外部<b>中斷</b>

      迅為iMX6ULL開發板使用手冊資料下載

      i.MX6ULL終結者資料介紹:https://www.bilibili.com/video/BV1ny4y1h7gQ i.MX6ULL終結者三大手冊,加速學習開發速度,一秒化無形! 你能想到
      發表于 12-02 14:13

      i.MX RT開發筆記-08 | i.MX RT1062嵌套中斷向量控制器NVIC(按鍵中斷檢測

      系列文章目錄i.MX RT開發筆記-01 | 初識 i.MX RT1062 跨界MCUi.MX RT開發筆記-02 | i.MX RT1062開發環境搭建(MDK芯片包、NXP SDK詳解)i.MX
      發表于 12-01 13:51 ?2次下載
      <b>i.MX</b> RT<b>開發</b>筆記-08 | <b>i.MX</b> RT1062嵌套<b>中斷</b>向量控制器NVIC(<b>按鍵</b><b>中斷</b><b>檢測</b>)

      第2期ARM裸機篇:【3】I.MX6U-ALPHA開發板簡介1_開發板資源

      BTB 接口的 NAND 版本BTB 接口的 EMMC 版本正點原子 I.MX6ULL 核心板的特點正點原子 I.MX6U-ALPHA/Mini 開發板資源說明I.MX6U-ALPHA 硬件資源說明CAN 接口RS232/485 選擇接口I.MX6ULL 核心板接口RGBLCD 接口后備電
      發表于 11-30 13:36 ?4次下載
      第2期ARM裸機篇:【3】<b>I.MX6</b>U-ALPHA<b>開發</b>板簡介1_<b>開發</b>板資源

      stm32f0717bt6i.mx6ull啟動方式的區別是什么?

      stm32f0717bt6i.mx6ull啟動方式的區別是什么?
      發表于 11-29 07:51

      利用定時中斷方式控制led燈的閃爍速度_項目四 定時中斷概念的基本認識...

      掃描控制LEDn 子任務2.1 C語言---swtich語句認識n 子任務2.2 中斷系統的認識n 子任務2.3 采用定時中斷方式驅動按鍵(二)相關知識點2.1、定時器的基本概念標準的51單片機有T0...
      發表于 11-26 12:06 ?12次下載
      利用<b>定時</b>器<b>中斷</b>方式控制led燈的閃爍速度_項目四 <b>定時</b>器<b>和</b><b>中斷</b>概念的基本認識...

      定時器與中斷詳解

      、中斷請求標志(控制寄存器):**在中斷請求標志區域低四位,可以選擇中斷的觸發方式中斷請求標志位(當然中斷觸發的檢測是對這個外部中斷口的引腳的檢測,比如假設外部中斷口為P3且觸發條件是下降式_3,P3_3又連著
      發表于 11-23 17:51 ?6次下載
      <b>定時</b>器與<b>中斷</b>詳解

      51單片機:開啟中斷定時

      ;打開了中斷開關只是完成了一半,還需要定時器控制寄存器:使用方法也是中斷寄存器一樣,定時器0運行控制位TR0:用來開啟定時器0.把TR0置1,TR0=1;就開啟了定時器。2、設置中斷服務程序:中斷服務程序:就是當計滿T
      發表于 11-22 12:06 ?11次下載
      51單片機:開啟<b>中斷</b><b>和</b><b>定時</b>器

      IMX6ULL開發

      i. MX6ULL 開發板板載資源豐富,核心板通過郵票孔將 i.MX6ULL 的所有資源幾乎全部引出,接口豐富,可以滿足各種應用的需求。核心板的尺寸僅為 42mm*38mm,非常小巧。
      發表于 11-12 15:41 ?0次下載

      Linux內核在i.mx6ull中的編譯運行

      Linux內核在i.mx6ull的編譯運行編譯Linux Kernel需要使用lzop庫,所以需要安裝,否則編譯內核會失?。。?!sudo apt-get install lzop一、Linux
      發表于 11-05 07:14

      嵌入式Linux學習之旅(6)— 使用正點原子的Linux內核啟動系統

      Linux內核在i.mx6ull的編譯運行編譯Linux Kernel需要使用lzop庫,所以需要安裝,否則編譯內核會失?。。?!sudo apt-get install lzop一、Linux
      發表于 11-02 15:21 ?14次下載
      嵌入式<b>Linux</b>學習之旅(<b>6</b>)— 使用正點原子的<b>Linux</b>內核啟動系統

      迅為IMX6ULL開發Linux驅動初探-最簡單的設備驅動-helloworld

      與內核接口而定義的。Linux 對各類設備的驅動都定義了類似的數據結構函數。核心板參數尺寸:38mm*42mmPCB:6層CPU:iMX6ULLARM Cortex-A7架構 單核iMX6ULL
      發表于 11-01 10:21

      迅為-i.MX6ULL 開發板-移植OpenCv3.4.1-搭建編譯環境

      OpenCv3.4.1 使用資料”。我們需要準備的資料:1.開發板使用的是 i.MX6ULL 終結者,開發板里面是 Yocto 文件系統。2.使用 Ubuntu16.043.提供 opencv 源碼
      發表于 08-09 10:54

      i.MX6ULL核心板資源

      路多功能音頻通道多路 SPI、IIC、定時器、PWM、DMA、RTC、看門狗等常用外設規格參數:核心板配置CPU 型號 NXP i.MX6ULL(MCIMX6Y2C),ARM Cortex A7 內核
      發表于 07-12 17:50

      迅為-i.MX6ULL開發板-QT實戰項目DHT11&網絡編程實戰練習(一)

      i.MX6ULL終結者開發MX6ULL終結者開發板已板載了DHT11傳感器,且提供的Linux鏡像設備樹已配置好了dht11接口,dht11驅動程序使用高版本Linux內核自帶的穩定驅動程序,根
      發表于 07-02 11:24

      迅為i.MX6ULL開發板移植Gdb+Gdbserver調試

      12.04交叉編譯器:arm-2009q3.tar.bz2gdb版本:gdb-7.8.1.tar.gz開發板硬件:i.MX6ULL 終結者開發板系統:支持ssh的busybox注意事項:如果大家下載的gdb
      發表于 05-31 13:47

      迅為i.MX6ULL終結者Linux中斷實驗運行測試

      一下。開發板中使用的是光盤資料里面提供的busybox文件系統,光盤資料的“i.MX6UL終結者光盤資料\08_開發板系統鏡像\03_文件系統鏡像\01_Busybox文件系統”目錄下)。輸入下面命令
      發表于 05-21 10:28

      迅為i.MX6ULL開發板-移植OpenCv2.4.9-搭建OpenCv編譯環境

      OpenCv2.4.9 使用資料”。我們需要準備的資料:1. 開發板使用的是 i.MX6ULL 終結者,開發板里面是 Yocto 文件系統。2. 使用 Ubuntu16.043. 提供 opencv
      發表于 04-29 14:48

      迅為-i.MX6ULL開發板-Busybox移植DHCP(三)

      我們想要開發板上面燒寫 busybox 文件系統,我們首先將 busybox 鏡像拷貝到 dhcp 目錄下,busybox鏡像在終結者 ULL 光盤資料\i.MX6ULL 終結者光盤資料\08_
      發表于 04-19 11:33

      迅為i.MX6ULL終結者移植ssh服務安裝測試,不看肯定后悔

      迅為i.MX6ULL終結者移植ssh服務安裝測試,不看肯定后悔
      發表于 04-19 10:16

      迅為-i.MX6ULL開發板-Busybox移植DHCP(一)

      安裝交叉編譯工具鏈本章節使用的資料已經放到了開發板網盤資料中,路徑為:“11_Linux 系統開發進階\89_章節_Busybox移植 DHCP 使用資料”。我們學習的 i.MX6ULL 是 arm
      發表于 04-12 15:09

      迅為i.MX6ULL終結者線程基礎線程終止與回收解析

      迅為i.MX6ULL終結者線程基礎線程終止與回收
      發表于 04-02 06:43

      迅為i.MX6ULL開發板IAR JLNK調試SDK程序

      我們連接JLNIK V9下載器到i.MX6ULL終結者開發板的JTAG接口,如圖 7所示:由于i.MX6ULL芯片的JTAG接口SAI(聲卡)是復用的,所以我們使用JTAG接口的時候需要修改下開發
      發表于 03-29 14:46

      迅為i.MX6ULL終結者查看變量的實時值

      可以在IAR的調試模式下查看某個內存,或者某段內存的內容。關于i.MX6ULL使用JTAG調試我們就先介紹到這里。前面我們在安裝JLINK V9驅動的時候,同時也會安裝一些JLINK V9的應用工
      發表于 03-26 14:27

      米爾i.MX6UL開發Linux操作系統的應用開發介紹

      MYD-Y6ULX開發板(i.MX6UL開發板)由MYC-Y6ULX核心板底板組成,基于NXP i.MX6UL處理器或i.MX6ULL處理器可選,MYD-Y6ULX開發板(i.MX6ULL開發
      發表于 02-02 06:57

      i.MX6ULL開發板硬件資源

      迅為i.MX6ULL 終結者開發板硬件資源非常豐富,幾乎將 i.MX6ULL 芯片的所有資源都擴展引出到底板上了,底板提供了豐富的外設接口,開發板的尺寸是 190mm*125mm,充分考慮了人性化設計,整體顯得十分大。
      發表于 12-29 06:18

      怎么使用JTAG來調試i.MX6ULL

      [td]因為有很多小伙伴是從單片機轉過來的,對JTAG非常熟悉。想用JTAG來調試裸機代碼,而且一直用卡拷貝經常會出現虛擬機連接不上TF卡的情況。 I.MX6ULL本身是支持JTAG的,但是由于關于
      發表于 12-28 06:58

      飛凌評測之i.MX6ULL開發板性能的對比

      -S與FETMX6UL-C并無太大區別,堪稱雙胞胎。 FETMX6ULL-S將CPU更換為NXP的i.MX6ULL,主頻提升到800MHz;成為FETMX6UL-C核心板的互補產品,而且在功能FETMX6UL-C完全兼容。 FETMX6ULL-S相比于FETM
      發表于 10-28 16:42 ?1210次閱讀
      飛凌評測之<b>i.MX6ULL</b><b>開發</b>板性能的對比

      關于飛凌嵌入式i.MX6ULL開發板試用體驗的測評

      非常適合做工業控制領域應用開發。 2.開發環境搭建 本次測評開發環境基于《OKMX6ULL-S_Qt5.6+Linux4.1.15軟件手冊_V1.1_2020.07.06.pdf》搭建,包括:交叉編譯工具安裝、
      發表于 10-28 15:17 ?1063次閱讀

      飛凌i.MX6ULL開發板的評測,再次進階擁有更高的性價比

      處理器MCIMX6Y2開發設計,采用先進的ARMCortex-A7內核,運行速度高達800MHz。i.MX6ULL應用處理器包括一個集成的電源管理模塊,降低了外接電源的復雜性,并簡化了上電時序。 i.MX6ULL
      發表于 10-27 11:55 ?859次閱讀
      飛凌<b>i.MX6ULL</b><b>開發</b>板的評測,再次進階擁有更高的性價比

      飛凌i.MX6ULL開發板性能評測對比的簡述

      板 FETMX6ULL-S與FETMX6UL-C并無太大區別,堪稱雙胞胎。 FETMX6ULL-S將CPU更換為NXP的i.MX6ULL,主頻提升到800MHz;成為FETMX6UL-C核心板的互補產品,而且在功能FETMX6UL-C完全兼容。 FETMX
      發表于 10-27 11:52 ?970次閱讀

      迅為IMX6ULL教程更新至2060+頁,裸機開發,Linux系統移植,驅動開發,構建文明系統,QT開發,系統編程

      原生代碼開始,一步步針對板子本身的外設進行代碼修改的完整過程,最終實現適配到i.MX6ULL開發板上,練就扎實基礎。第四部分 Linux驅動開發:二十多個驅動實戰詳細例程,包含字符驅動,設備樹分析
      發表于 10-26 10:18

      評測丨再次進階,更高性價比——飛凌i.MX6ULL開發

      。FETMX6ULL-S將CPU更換為NXP的i.MX6ULL,主頻提升到800MHz;成為FETMX6UL-C核心板的互補產品,而且在功能FETMX6UL-C完全兼容。
      發表于 10-21 15:28

      [迅為開發板資料]iMX6ULL開發板QT5下使用UVC攝像頭

      節介紹如何在 Qt5 文件系統測試 USB 免驅攝像頭,例程中使用迅為 i.MX6ULL 終結者開發板,yocto的 Qt5 文件系統編譯器,測試程序(Qt5Camera)在本章節同一目錄下。 將
      發表于 10-21 11:42

      試用飛凌嵌入式i.MX6ULL開發板體驗

      非常適合做工業控制領域應用開發。2.開發環境搭建本次測評開發環境基于《OKMX6ULL-S_Qt5.6+Linux4.1.15軟件手冊_V1.1_2020.07.06.pdf》搭建,包括:交叉編譯工具
      發表于 10-16 16:45

      迅為i.MX6ULL開發板資料下載,讓Linux學習更輕松

      ` 本帖最后由 平常心0 于 2020-9-23 18:09 編輯 迅為電子的 i.MX6ULL 核心板分為工業級商業級兩種。提供的接口是郵票孔方式。開發板資料下載鏈接:鏈接:https
      發表于 09-23 18:07

      迅為i.MX6ULL教程更新至2060+頁_完善教程到全面講解_0基礎學習

      Linux系統移植篇從原生代碼開始,一步步針對板子本身的外設進行代碼修改的完整過程,最終實現適配到imx6ull開發板上,練就扎實基礎。第四部分Linux驅動開發二十多個驅動實戰詳細例程,包含字符驅動
      發表于 09-08 11:34

      編譯IMX6ULL開發板的UbootLinux內核

      `迅為I.MX6ULL終結者開發板對應的Uboot源碼在光盤資料的“i.MX6UL終結者光盤資料5_uboot linux源碼終結者UbootLinux源碼.zip”壓縮包里面,解壓該壓縮包,得到
      發表于 07-15 10:47

      I.MX6ULL終結者開發板裸機仿真jlink調試

      I.MX6ULL‘終結者’開發板預留了JTAG仿真接口,并給出了開發文檔,可以實現在JLINK仿真器條件下的單步跟蹤、斷點調試等功能,使得開發研究i.MX6ULL處理器的相關技術更加直觀便利。
      發表于 07-07 10:56

      移植5.4內核到迅為I.MX6ULL開發

      編譯器的搭建,可以參考“i.mx6ull終結者開發板使用手冊”的4.3章節“搭建交叉編譯環境”29.1章節 安裝第三方庫。編譯內核為了編譯方便,我們可以創建一個腳本,我們在命令行輸入“vi
      發表于 06-29 10:13

      迅為I.MX6ULL終結者開發板支持JTAG調試

      i.MX6ULL SDK開發包NXP官方提供了i.MX6ULL的SDK開發包, 這個SDK包提供了WindowsLinux兩個版本,分別針對Windows系統Linux系統。本章節我們
      發表于 05-06 14:09

      I.MX6ULL終結者開發板支持JTAG調試

      看到Winsows系統識別到了JLNK下載器,如下圖所示: 1.2.2 安裝i.MX6ULL SDK開發包NXP官方提供了i.MX6ULL的SDK開發包, 這個SDK包提供了WindowsLinux
      發表于 04-26 15:11

      I.MX6ull終結者開發板開箱測評

      商業級 內存:512M 存儲:8G EMMCiMX6ULL 工業級 內存:256M 存儲:512M FLASH工作電壓 5V~16V 電壓供電系統支持 Linux-QT系統;Ubuntu core系統
      發表于 04-03 16:26

      「正點原子Linux連載」第十七章GPIO中斷試驗(二)

      1)實驗平臺:正點原子Linux開發板2)摘自《正點原子I.MX6U嵌入式Linux驅動開發指南》關注官方微信號公眾號,獲取更多資料:正點原子17.3試驗程序編寫 本實驗對應的例程路徑為:開發板光盤
      發表于 12-24 15:24

      米爾科技i.mx6ul開發問題方案

      米爾基于NXP i.mx6ul/i.mx6ull系列處理的MYC-Y6ULX核心板基于其高質量及成本優勢被廣泛應用。
      的頭像 發表于 11-26 16:52 ?2409次閱讀
      米爾科技<b>i.mx6</b>ul<b>開發</b>問題方案

      米爾科技.MX6ULL設計秀項目介紹

      在“米爾電子/恩智浦-2018 i.MX6ULL設計秀”活動過程中,有部分用戶在開發項目過程中,使用米爾的i.MX6ULL開發板或核心板自己制作PCB擴展電路板,米爾為鼓勵這部分用戶,為這些用戶準備了額外補貼,
      的頭像 發表于 11-18 10:53 ?1345次閱讀
      米爾科技.<b>MX6ULL</b>設計秀項目介紹

      i.MX6UL/i.MX6ULL開發常見問題】單獨編譯內核,uboot生成很多文件,具體用哪一個?

      i.MX6UL/i.MX6ULL開發常見問題》基于米爾電子 i.MX6UL/i.MX6ULL產品(V.10)2.3單獨編譯內核,uboot生成很多文件,具體用哪一個?答:內核編譯出來的文件
      發表于 07-01 17:50

      [iMX6ULL常見問題] 內核,uboot源代碼有改動,Yocto如何修改?

      i.MX6UL/i.MX6ULL開發常見問題》基于米爾電子 i.MX6UL/i.MX6ULL產品(V.10)內核,uboot源代碼有改動,Yocto如何修改?答:當對內核或uboot進行修改
      發表于 06-27 17:20

      明遠智睿i.MX6ull核心板Cortex-A7低功耗

      其他接口,用于連接外圍設備,如WLAN、Bluetooth?、GPS、顯示器攝像頭傳感器。為了加速基于NXP i.MX6ULLi.MX6UL芯片的產品設計,珠海明遠智??萍悸摵隙髦瞧滞瞥隽烁哔|量
      發表于 09-27 14:36

      NXP i.MX6ULL商業級Cortex A7核心板開發

      MY -IMX6 -CB140 是明遠智?;?NXP i NXP i.MX 6UltraLite,i.MX 6ULL 應用處理器設計研發的嵌入式核心控制模塊.核心板采用郵票孔的連接方式.i.MX
      發表于 08-23 15:01

      珠海明遠智??萍悸摵螻XP強勢推出i.MX6ull核心板

      接口,用于連接外圍設備,如WLAN、Bluetooth?、GPS、顯示器攝像頭傳感器。?為了加速基于NXP i.MX6ULLi.MX6UL芯片的產品設計,珠海明遠智??萍悸摵隙髦瞧滞瞥隽烁哔|量
      發表于 04-24 14:10 ?204次閱讀

      強勢新品i.MX6ULL核心板

      閃存、NOR閃存、eMMC、Quad SPI各種其他接口,用于連接外圍設備,如WLAN、Bluetooth?、GPS、顯示器攝像頭傳感器。為了加速基于NXP i.MX6ULLi.MX6UL芯片
      發表于 04-10 09:01

      米爾i.MX6UL開發Linux操作系統的環境部署

      硬件:米爾i.MX6UL開發板MYD-Y6ULX簡介:MYD-Y6ULX開發板(i.MX6UL開發板)由MYC-Y6ULX核心板底板組成,基于NXP i.MX6UL處理器或i.MX6ULL處理器
      發表于 01-22 01:42

      米爾i.MX6UL開發Linux應用開發(一)

      硬件:米爾i.MX6UL開發板MYD-Y6ULX簡介:MYD-Y6ULX開發板(i.MX6UL開發板)由MYC-Y6ULX核心板底板組成,基于NXP i.MX6UL處理器或i.MX6ULL處理器
      發表于 01-16 23:10

      uClinux下中斷驅動I_O設備驅動開發

      uClinux下中斷驅動I_O設備驅動開發
      發表于 01-24 17:21 ?9次下載

      linux 中斷設備驅動

      linux 中斷設備驅動 本章介紹L i n u x內核是如何維護它支持的文件系統中的文件的,我們先介紹 V F S ( Vi r t u a lFile System,虛擬文件系統),再解釋一下L i n u x
      發表于 02-09 14:13 ?24次下載

      下載硬聲App