<em id="kjidc"><acronym id="kjidc"><input id="kjidc"></input></acronym></em>
    <em id="kjidc"></em>
  • <button id="kjidc"><acronym id="kjidc"></acronym></button>

        1. 工控板首頁

          Arm? 核心板
          RISC-V內核
          MR6450 15路串口,4路CAN-FD,2路千兆
          Cat.1
          ZC1 Cortex?-A5,500MHz
          Cortex?-A55
          M3568/Coral3568
          四核A55,2Ghz,GPU
          Cortex?-M7
          M1052 跨界處理器
          M1062 WiFi,雙網口,三路CAN
          Cortex?-A7
          M6G2C 8串口,528MHz
          A6G2C 多串口,WiFi,藍牙
          Cortex?-A7
          M1126  四核A7,1.5GHz,NPU
          M6Y2C 8串口,800MHz
          A6Y2C 多串口,WiFi,藍牙
          Cortex?-A8
          M335x-T 多串口、雙網、雙CAN
          A3352 wifi,藍牙
          Arm9?
          M1106/M1107 804MHz,H.265,LGA封裝
          M28x-T 多串口多網口多CAN
          M280 6串口,單網口,郵票孔
          A287 wifi,藍牙
          A280 Wi-Fi、zigbee、Mifare
          AW28x AWorks
          Cortex?-A9
          M6708-T i.MX6系列,800MHz
          M7015 雙Cortex?-A9 , FPGA , 766MHz
          Cortex?-A35
          M1808 AI核心板,雙核A35,NPU
          Cortex?-A53
          M65XX 擴展18串口或6路千兆網口
          Arm?工控板
          采集器、網關
          IoT-9608 網絡控制器A8核
          EPC-287 6串口、雙網口
          IoT3000A-AWI 物聯網網關Arm9?
          MPC-ZCI Cortex?-A5,拖拽式開發,40pin擴展引腳
          IoT7000A-LI 物聯網網關A7
          IoT9000A-LI 物聯網網關A9雙核
          IoT9100A-LI 物聯網網關A9四核
          控制主機
          EPCM5300A-LI 柔性擴展,Cortex?-53
          TKM系列顯控一體機 AWTK,528MHz
          DCP-3000L 控制單元,A8帶外殼
          DCP-1000L 顯控終端,A7帶外殼
          DCP-5000L A9帶外殼
          商顯行業
          SX-3568 四核A55,雙核心GPU
          電力、通訊管理
          IoT-9608 網絡控制器
          EPC-6G2C-L/IoT-6G2C-L
          8串口,雙CAN雙網口
          能耗管理、環保數采
          IoT-9608 網絡控制器
          EPC-6G2C-L/IoT-6G2C-L
          8串口,雙CAN雙網口
          機械臂、自動化
          EPC-9600 雙路RS-485,雙路CAN
          IoT-9608 網絡控制器
          實用必選配件

          【Linux學習小技巧】Linux內核開發工具介紹2

          通過make menuconfig(make xconfig或者make gconfig)命令配置內核的時候,從Kconfig文件讀取菜單,配置完畢保存到文件名為.config的內核配置文件中,供Makefile文件在編譯內核時使用。

          1.1.1 Kconfig基本語法

          如程序清單.1所示代碼摘自文件,是一個比較典型的Kconfig文件片段,包含了Kconfig的基本語法。

          程序清單1drivers/char/Kconfig片段

          menu "Character devices"

          source "drivers/tty/Kconfig"

          config DEVKMEM

          bool "/dev/kmem virtual device support"

          default y

          help

          Say Y here if you want to suppor

          1. 子菜單

          通過menu和endmenu來定義一個子菜單,程序清單1所示代碼定義了一個“Character devices”子菜單,子菜單在界面中用“--->”表示,如圖1所示。
          圖1menu定義的子菜單

          子菜單的菜單項則由config來定義,隨后的“bool”、“default”、“help”等都是該菜單項的屬性:
          config DEVKMEM

          bool "/dev/kmem virtual device support"

          這兩行語句定義了一個bool選項,在.config中的配置變量名稱為CONFIG_DEVKMEM,選項提示信息為“/dev/kmem virtual device support”,在內核配置界面的實際表現為:

          [*] /dev/kmem virtual device support

          由于設置其默認屬性default為y,所以該選項默認選中。

          help引出幫助信息,在內核配置界面,選擇選項后,通過可以查看幫助信息。

          2. 屬性

          類型定義:每個菜單項都必須定義類型,可選類型有:bool、tristate、string、hex和int,各類型描述如表1所列。

          表1菜單項類型和說明

          定義選項的類型后面可以加菜單信息,用引號(“”)給出,留空則不加提示信息。

          對于布爾型選項,在配置界面用[]表示:

          [*] /dev/kmem virtual device support

          [*]表示選中,對應CONFIG_XXX=y,[ ]則表示未選中。

          對于三態選項,在配置界面用<>表示:

          <*> Kernel .config support

          <*>表示選中,對應CONFIG_XXXx=y,表示編譯為模塊,對應CONFIG_XXX=m,<>表示未選中。

          子菜單也可同時設置類型,如下列代碼在定義PWM菜單的同時定義了菜單屬性為三態:

          menuconfig GENERIC_PWM
          tristate "PWM Support"
          default n
          help
          Enables PWM device support implemented via a generic
          framework.If unsure, say N.

          在配置界面表現為:

          <> PWM Support--->

          說明:子菜單的配置值會影響其子選項的可能值。例如三態子菜單配置為,則其三態子選項依舊可有3種可能值,即可配置為、或者不選中;而三態子菜單配置為,則其子選項只有和不選中兩種狀態可用。

          默認值:有寫選項可以設置默認值,無論是哪種類型,都可以通過default設置其默認值,例如:

          config ARM
          bool
          default y
          select HAVE_AOUT

          選中:前面這個示例的select,表示了一種選中關系,即選中某個選項后,會自動選中某個或者某些選項。前面這個示例表明,選中Arm?后,會自動選中HAVE_AOUT。

          依賴關系:如果一個選項能否生效與否與其它選項的設置有關,則必須通過depends on來聲明這種依賴關系。例如,只有使能了SMP才能設置CPU個數變量NR_CPUS,在Kconfig中則寫成:

          config NR_CPUS
          int "Maximum number of CPUs (2-32)"
          range 2 32
          depends on SMP
          default "4"

          幫助:通過help關鍵字引入幫助,幫助的正文必須另起一行。

          菜單選項屬性的每個關鍵字,必須用TAB鍵與行首隔開,不能用等數的空格替代。

          3. 目錄層次迭代

          通過source可以直接引用下級目錄的Kconfig文件,形成新的菜單項或者子菜單,這樣方便每個目錄獨立管理各自的配置內容?!皊ource "drivers/tty/Kconfig"”就是直接引用文件,形成更多菜單(項)。

          1.1.2 配置項和配置開關

          通過config定義的菜單配置項,在內核配置后會產生一個以“CONFIG_”開頭的配置開關變量,該開關變量可在Makefile中或者源代碼中使用。

          例如:“config BAR”將會產生一個開關變量CONFIG_BAR,在Makefile中可以這么使用:

          obj-$(CONFIG_BAR)+= file_bar.o

          在源代碼中可用這個開關變量在源代碼中可用這個開關變量來進行一些條件處理,例如:

          #if defined (CONFIG_BAR)

          實際處理代碼

          #endif

          如果定義的BAR是三態變量,則還可以根據需要這樣使用:

          #if defined (CONFIG_BAR)|| defined (CONFIG_BAR_MODULE)

          實際處理代碼

          #endif

          天天日天天射人人摸,天天视频在线播放免费,天天摸天天干天天插天日,天天插夜夜操美女

          <em id="kjidc"><acronym id="kjidc"><input id="kjidc"></input></acronym></em>
          <em id="kjidc"></em>
        2. <button id="kjidc"><acronym id="kjidc"></acronym></button>