![linux平臺內(nèi)核配置及修改手冊_第1頁](http://file4.renrendoc.com/view/74170f4ece804e9e6b51b26863ad74e1/74170f4ece804e9e6b51b26863ad74e11.gif)
![linux平臺內(nèi)核配置及修改手冊_第2頁](http://file4.renrendoc.com/view/74170f4ece804e9e6b51b26863ad74e1/74170f4ece804e9e6b51b26863ad74e12.gif)
![linux平臺內(nèi)核配置及修改手冊_第3頁](http://file4.renrendoc.com/view/74170f4ece804e9e6b51b26863ad74e1/74170f4ece804e9e6b51b26863ad74e13.gif)
![linux平臺內(nèi)核配置及修改手冊_第4頁](http://file4.renrendoc.com/view/74170f4ece804e9e6b51b26863ad74e1/74170f4ece804e9e6b51b26863ad74e14.gif)
![linux平臺內(nèi)核配置及修改手冊_第5頁](http://file4.renrendoc.com/view/74170f4ece804e9e6b51b26863ad74e1/74170f4ece804e9e6b51b26863ad74e15.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
本手冊所涉及的知識歸屬安凱技術(shù)(或經(jīng)合作商使用),任何人 聯(lián)系方安凱(廣州):(86)-20-3221C13傳真(86)-20-3221::電子郵箱主頁http:以下表格對于本文檔的版本變更做一個(gè)簡要的說明。版本變更僅限于技術(shù)內(nèi)容的變更,不包括版式、格式、句法等的變更。版說完成日期20129AK37內(nèi)核的常見配置方 板級選 AK37板級選 啟動參數(shù)配 ANYKA平 驅(qū)動配置及源碼在內(nèi)核中的位 Nand USB 內(nèi)核GPIO庫接口的使 AK37內(nèi)核驅(qū)動修改和擴(kuò)展方 頻率配 USB-OTG- 修改電源控制管 新增Camera驅(qū) GPIO按 Touch 整體架 新增lcd驅(qū) 內(nèi)核的常見配置方法 級選BSP不同。例如:選AK37系列時(shí)編譯的時(shí)候選取的BSP是arch/arm/mach-ak37/。AK37系列以AK3760ak3760_full_defconfig。詳細(xì)也請參考此配置文件,通過把a(bǔ)rch/arm/configs/ak3760_full_defconfig文件到kernel根,然后重新命名為.config.makeconfig命令即可以在圖形界面下看到相關(guān)SystemType-ARMsystemtype(ANYKAAK98XX)-()ANYKAAK98XX板級選AK37板級選項(xiàng)linux中,板級配置對應(yīng)配置某個(gè)板具有哪些功能,并且使用哪一款特定的。這一特定的型號在板級配置時(shí)定義。AK37系列以AK3760為例,具體的定義方法可以參考arch/arm/mach-ak37/Kconfig文件,下面給出板級的具體選項(xiàng)。SystemType-ANYKAAK37XXboards(SDK3760nandboot)---(X)SDK3760nandboot()SDK3760spiboot()SDK3751B當(dāng)選擇AK37系列下此項(xiàng)內(nèi)內(nèi)容后,代表內(nèi)核在編譯的時(shí)候選取的編譯文件為arch/arm/mach-ak37/mach-sdk3760.c文件,這可以通過查看此下的Makefile文件得知。同時(shí)編譯時(shí)也只會編譯屬于CONFIG_CPU_AK3760CONFIG_CPU_AK3760宏限定GPIO。 啟動參數(shù)配置啟動參數(shù)的配置又分為nand版本配置和SPI版本配置,對于AK37系列的絕大部分都支持nand版本和SPI版本啟動,但AK3751B僅支持SPI版本。Bootoptions-(root=/dev/mtdblock0rwinit=/sbin/initmem=256Mconsole=ttySAK0,115200n8)DefaultkernelcommandstringSPIflashSPIinitramfs的文件路徑,SPISPI中指initramfs的配置Generalsetup-[*]InitialRAMfilesystemandRAMdisk(initramfs/initrd)support(../rootfs/rootfs.initramfs)Initramfssourcefile(s)Bootoptions-nandflashSPIflash啟動,內(nèi)核的啟動包括一些組件的初始化和相關(guān)配commandlinecommandline的參數(shù)進(jìn)行賦值,(這些值如控制器臺,內(nèi)存的大小,內(nèi)核驅(qū)動中的變量也可以通過這種方式傳值)。現(xiàn)在有兩種配置方式:動態(tài)方式和靜態(tài)方式。優(yōu)先采用動態(tài)的方式。linuxBSP開發(fā)手root=/dev/mtdblock0mtdblock0作為根文件系統(tǒng)使用(yaffs2文件系統(tǒng)燒錄到mtdblock0分區(qū))console=ttySAK0,115200n8設(shè)置輸出控制臺使用ttySAK0虛擬控制臺,波特率為在緊跟在0x8000000的地址留出一塊內(nèi)存(0x1A00000,默認(rèn)定為26M,用戶根據(jù)需要修 AK37默認(rèn)(0x400000) decoding 平 驅(qū)動配置及源碼在內(nèi)核中的位AK37各驅(qū)動在config中的配置位置以及驅(qū)動源碼在內(nèi)核中位 NandNandflashMTD設(shè)備,主要用來內(nèi)核Image和文件系統(tǒng)。選擇此功能后,用戶將能對nandflash進(jìn)行讀寫數(shù)據(jù)操作。 config選項(xiàng)的位置:<*>MemoryTechnologyDevice(MTD)support-<*>NANDDeviceSupport-<*>NANDFlashsupportforANYKA<*>ANYKANandFlashDMAMMC/SD卡是主要的外部器件,用在設(shè)備中。要使設(shè)備支持MMC/SD存儲功能,必須選擇。MMC/SD48MMCSDIO的檢測分別分為GPIO檢測,AD檢測。另外SDIO驅(qū)動還有一種假設(shè)SDIO設(shè)備一直掛在SDIO接口上,這SDIOSDIOWIFISDIO接口上,但是并不對應(yīng)config選項(xiàng)的位置:[*]ANYKAMMC/SD/SDIOCardInterface<*>MMC/SD/SDIOcardsupport-//選擇MMC卡檢測方式Detectmodeselectforsdcard(GPIOdetectmodeusedforsdiocard)---MMC/SDDatalineselect(Fourdataline)---//選擇是否支持DMA方式MMC/SDDatatransportmodeselect(TransferdatabyL2FIFODMAmode)---<*>SDIOCardInterfaceDetectmodeselectforsdiocard(ADdetectmodeusedforsdiocard)--->SDIODatatransportmodeselect(TransferdatabyL2FIFODMAmode)--->USBUSBOTGusthostusbslave功能。Usb-otghost時(shí)不支持低速設(shè)備。USBOTG驅(qū)動在內(nèi)核中的位置:drivers/usb/host/plat-anyka/otg-hshcd.c、usb-hc.c[*]USBsupport---> AnykaOTGUSBHigh-SpeedHCD AnykaOTGUSBUseDMADMA信),實(shí)現(xiàn)設(shè)備與pc機(jī)之間數(shù)據(jù)傳輸功能,這是設(shè)備都會支持的功能。對應(yīng)config選項(xiàng)的位置:[*]USBsupport---<*>USBGadgetSupport-USBPeripheralController(AnykaUSBDevicePort)-AnykaUSBDevice SelectUDCDriverifusbotgas<M>USBGadgetWifi即無線網(wǎng)絡(luò),用來進(jìn)行網(wǎng)絡(luò)傳輸,市面已有多種支持wifiwifiPDK [*]Networkingsupport-[*]Wireless---[*]Wireless Wirelessextensionssysfs與網(wǎng)絡(luò)協(xié)議相關(guān)的選項(xiàng),ak98_sdk9805_defcofnig文件,[*]Networkingsupport-[*]TCP/IPnetworking[*]IP:multicasting[*]IP:kernellevel IP:DHCP I2C是一種總線標(biāo)準(zhǔn),由兩根線組成,SDA和SCL。I2CI2CI2CI2C設(shè)備請求數(shù)據(jù)傳輸最終都由這個(gè)驅(qū)動來完成傳輸操作。安凱平臺既支持硬件I2C方式又支持軟I2C<*>I2Csupport-[]AutoselectpertinenthelpermodulesI2CAlgorithms---><*>I2Cbit-banging I2CHardwareBussupport-→[*]AnykaI2CDriverI2CDriver(I2CHWController)---(X)I2CHW(X)I2CHW()I2CGPIOSW Sensor驅(qū)動在內(nèi)核中的/configDeviceDrivers-<*>Multimediasupport-captureadapters-<*>aksensorsupport-<*>gc0308sensor//支持gc0308<*>ov2643sensor//支持ov7725由于,圖像庫,2D庫在硬件編或2D硬件加速時(shí)需要用到大塊連續(xù)的物理內(nèi)存,所以提供一個(gè)物理內(nèi)存管理模塊PMEM來實(shí)現(xiàn)對物理內(nèi)存的初始化,分配與。這片物理內(nèi)存的空間就是從物理內(nèi)存起始地址(0x8000000)開始保留的26M,這個(gè)值根據(jù)需求可修改,即如果未使用這么多的空間,可以將這個(gè)值改小。但目前AK37平臺默認(rèn)保留了4M。設(shè)置這片內(nèi)存空間大小的方法請參面1.1.3小節(jié)。這個(gè)驅(qū)動提供了open(),release(),mmap(),ioctl()接口供庫調(diào)用。而應(yīng)用程序調(diào)用庫 config選項(xiàng)的位置:[*]Miscdevices-[*]AndroidpmemUIO:TheUserspaceI/Olinuxuio設(shè)備(/dev/uioX,X0開始的數(shù)字)sysfs接口(/sys/class/uio/uioX,X0開始的數(shù)字)向應(yīng)用提供 設(shè)備UIO2DUIOuio__codec.c提供了編設(shè)備的UIO驅(qū)動;uio_2D_accel.c2D設(shè)備的UIO驅(qū)動。默認(rèn)已添加了編設(shè)備(/dev/uio0)如果需要使用2D設(shè)備(/dev/uio1)2DUIO驅(qū)動。添加設(shè)備的方法非常很簡單,只需要在Aimer平臺的devices.c,詳細(xì)請參才arch/arm/mach-ak37/mach-sdk3760.carch/arm/mach-ak37/devices.c文件。驅(qū)動在內(nèi)核中的位置:drivers/uio/uio__codec.c對應(yīng)config<*>UserspaceI/Odrivers-<*> Codec<>Anyka2DGraphicHWaccelerate在人機(jī)交互中,一種是使用按鍵,另一種是使用觸控的功能對設(shè)備進(jìn)行寫入和控制。這里提供的觸控屏驅(qū)動就是實(shí)現(xiàn)觸控的功能,通過點(diǎn)擊屏幕就可以實(shí)現(xiàn)對設(shè)備的輸入操作??梢允褂猛庵玫挠|控實(shí)現(xiàn),也可以使用ADC的內(nèi)置功能實(shí)現(xiàn)。用戶可以選用其ADC的內(nèi)置觸控功能驅(qū)動:drivers/input/touchscreen/adc_ts.c對應(yīng)config選項(xiàng)的位置:Inputdevicesupport-→[*]Touchscreens-→<*>AnykaADCGPIO-KEY/MATRIX-gpio按鍵驅(qū)動,GPIO-KEYGPIO。MATRIX-KEYBOARD是采用行列式的矩陣按鍵,并且還可以根據(jù)行是否接地增加了按2*3且根據(jù)硬件的連線(matrixgpio接線圖)最大可以得到2*3+2這么多個(gè)鍵。AD按鍵的前提是處理器可用的GPIOGPIO按鍵來用于輸入,此時(shí)依賴GPIO的功能做按鍵功能是遠(yuǎn)遠(yuǎn)做不到的。在這樣的情況下,AD的功能來擴(kuò)展按鍵,即通過不同的硬件分壓得到多個(gè)按鍵。KEYPAD對 config選項(xiàng)的位置Inputdevicesupport-<*>Polledinputdeviceskeleton//ADKEY[*]Keyboards---<*>Anykagpio-keys<*>Anykamatrix-keypad<*>ogkeyboardgpioIOCTRLGPIO進(jìn)行屬性設(shè)置。屬性包括設(shè)置GPIO的方向,設(shè)置GPIO輸出高低電平,GPIO的電平,設(shè)置GPIO的中斷極性,以及GPIO是否具有使能/上下拉。與1.2.7有所不同。config[*]Miscdevices-<*>Genericakgpiocustom1.3.12ACSB檢測,當(dāng)前電池電量及當(dāng)前電量所占%比等這些功能,就是這個(gè)驅(qū)動來實(shí)現(xiàn)的,并且還包usbconfig<*>Powersupplyclasssupport-<*>AnykaBatterydriver1.3.13 的時(shí)鐘供給系統(tǒng)計(jì)時(shí)。 具有鬧鐘功能,當(dāng)系統(tǒng)待機(jī)后還具有自動喚醒功能config<*>RealTimeClock-<*>AKLCD/LCDLCDRGBMPU屏,LCDLCD顯示。當(dāng)開發(fā)者選擇需要LCDLCD背光驅(qū)動。對應(yīng)config選項(xiàng)的位置Graphicssupport-<*>Supportforframebufferdevices-<*>AnykaAK37LCDframebuffersupportDisplaydevicesupport LCDpanelTypeRGBpanelsupport)- (X)RGBpanel()MPU8bitpanelsupport()MPU16bitpanelsupportLCDpanelforAKboard(OTG-5180A4.3"480x272TFTLCDPanel)-→ 選擇支持(X)OTG-5180A4.3"480x272TFTLCD()QiaodianQD043003C0-404.3"480x272TFTLCDPanel()InnoLuxAT043TN244.3"480x272TFTLCDPanel()AUOA050VW01-V55"WVGATFTLCD()ChiMeiLW700AT90097"WVGATFTLCDPanel()InnoLuxAT070TN927"WVGATFTLCDPanelAudio支持音頻的輸入/輸出 使用MIC和Line-in的方式,放音使用揚(yáng)聲器和驅(qū)動在內(nèi)核中的位置:sound/armak37_hal.csound/arm說明:ak37_hal.c直接操作操 寄存器的源碼,對硬件進(jìn)行抽象,提供接口<*>Soundcardsupport-<*>AdvancedLinuxSoundArchitecture-→[*]ARMsounddevices-→<*>AnykaAK37ADC/DACsoundHP/Speakerswitode(autoswitchinaudiodriver(default,forbothpm驅(qū)動提供系統(tǒng)待機(jī)喚醒功能,主要是延續(xù)電池的使用時(shí)間。原是是當(dāng)系統(tǒng)沒有工作 DeviceDrivers--->configSystemType-[*]AK37CPUPowerManagementAPMAPM的功能選項(xiàng)Powermanagementoptions-[*]PowerManagementsupport[*]SuspendtoRAMandstandby1.3.17內(nèi)核GPIO庫接口的使用GPIOGPIOGPIO(輸入輸出),設(shè)置GPIO是輸出高電平還是低電平,獲取GPIO的電平值,設(shè)置GPIOpull-up/pull-down功能,當(dāng)GPIO作為中斷使用,設(shè)置GPIO的中斷極針對GPIO的屬性,內(nèi)核提供了一個(gè)公共的接口供內(nèi)核開發(fā)使用。這套通用的口是通過調(diào)用各獨(dú)立設(shè)置口是通過調(diào)用各獨(dú)立設(shè)置GPIOarch/arm/mach-akxx/include/mach/gpio.h(akxxak98ak37)文件。另外也提供了一個(gè)設(shè)置GPIO具有某個(gè)組的功能,比如作為MMC/SDIO,NAND數(shù)據(jù)線的功現(xiàn)在介紹如何使用這個(gè)公共的設(shè)置GPIO的屬性的接口的方法,分為所用結(jié)構(gòu)體和接GPIO結(jié)構(gòu)體結(jié)構(gòu)體如下,用戶如對某個(gè)GPIOGPIOstruct{intchar//GPIOchar//GPIOchar//GPIO輸出值(高電平、低電平char//GPIOchar//GPIO中斷GPIO接口調(diào)用#include這樣就完成了對通用GPIO這樣就完成了對通用GPIO屬性的設(shè)置。.intpin_info= = = =-=.int_pol= 內(nèi)核驅(qū)動修改和擴(kuò)展方法本章主要介紹AK37各種常用驅(qū)動的修改方法。以AK3760為例:修改的板級文件為“arch/arm/mach-ak37/mach-電量檢測和USB插拔ak37上,USB structi2c_gpio_platform_data背本節(jié)主要介 背光驅(qū)動相關(guān)的修改方法與struct_bl_data_backlight_data=.max_brightness255,//.dft_brightness= //noeffectivetoandroid,androidwillbesetto.high_limit=250, //highlimitofbrightnessindriver可調(diào)的最大亮度,可更改這.low_limit= //lowlimitofbrightnessin._div=MMC/SD與頻率配置MMC/SDSDIOdrivers/mmc/host/plat-anykammc_sd.csdio.c文件中如下代碼中fmax變量:下staticunsignedintfmax= 有關(guān)APM變頻模塊頻率配置MMC/SDSDIOdrivers/mmc/host/plat-anykammc_sd.csdio.c文件中如下代碼中fmax變量:下staticunsignedintfmax= 有關(guān)APM變頻模塊的配置,用戶無需 Wifiusbhostusb設(shè)備供電,wifigpio設(shè)置為-1,表示不需要其他途徑控制供電。否則需要按照類.gpio_on== =- = =.int_pol=-.gpio_off= = =- = =.int_pol=-.power_on_delay.power_on_delay=.power_off_delay= USB-otg-usbhostusbON/OFF設(shè)置需要修改的是mach-sdk3760.cstructakotghc_usb_platform_dataakotghc_plat_data的結(jié)構(gòu).gpio_init=.gpio_pwr_on=.pulldown=.pullup=-.value=.dir=.int_pol=-.gpio_pwr_off=.pulldown=.pullup=-.value=.dir=.int_pol=-.switch_onboard=.pin=-.switch_extport=.pin=-(同一時(shí)間只能用其中之一個(gè)),對其接口進(jìn)行切換控制(.switch_onboard和.switch_extport的.pinGPIO)usb接口并沒有這樣的需求時(shí),需要把分把.switch_onboard和.switch_extport的.pin值賦值為-1,其它參數(shù)可不賦值,如上所示,否這若有這樣的需求可.gpio_pwr_on=.pin=.gpio_pwr_off=.pin=.switch_onboard=.pin=.pulldown=.pullup=-.value=.dir=.int_pol=-.switch_extport=.pin=.pulldown=.pullup=-.value=.dir=.int_pol=-修改電源控制管腳Ak37修改ak_soc_camera_info變量的pin_powerGPIO新增Camera驅(qū)動drivers/media//plat-anyka,下camera_xxxx.ccamera_xxxx.hxxxxcamera驅(qū)動中修改,比如用戶可以拷貝gc0308的驅(qū)動:cp-Rvcamera_gc0308.hcamera_xxxx.hcp-Rvcamera_gc0308.ccamera_xxxx.c然后在修改camera_xxxx.h和camera_xxxx.c文件,頭文件中主要定義了各種參數(shù),用戶可參照camera 進(jìn)行增加修改和刪除,源文件中是camera接口的實(shí)現(xiàn),用戶可參照原有的文件和進(jìn)行相應(yīng)的修改。 configtristate"xxxxsensorsupport"dependsonLINUX_AKSENSORThisisaxxxxsensordriver3) 下的Makefile文件obj-$(CONFIG_SENSOR_XXXX)+=GPIO按鍵staticstructak_gpio_keys_buttonathena_buttons[]={====staticstructak_gpio_keys_buttonathena_buttons[]={====.debounce_interval===-==.int_pol={=KEY_POWER,//定義電==="power-key.debounce_interval= =1,//配置成 =- = =.int_pol=AD按鍵及檢測ADSDIO、SD卡、耳機(jī)檢測,ak37上默用戶需要根據(jù)實(shí)際情況刪除structadgpio_keyadkey[][8]和structmulti_addetectmulti_det[]數(shù)組元素。比如,假設(shè)用戶開發(fā)板上不需要KEY_VOLUMEUP按鍵,可把a(bǔ)dkeyKEY_VOLUMEUPadsd卡檢測,可把a(bǔ)dkey數(shù)組中其他幾種情況的組合刪掉,同時(shí)刪掉multi_det中對應(yīng)的元素。Touch .irq=.adc1_clk= //Unit:Hz, mendedadc1clk對于內(nèi)核里面已經(jīng)支持的lcd,只需要 config中選擇相應(yīng)的就可以了。參整體架構(gòu) Wrap適配層:安凱實(shí)現(xiàn)的一套與屏幕無關(guān)的適配層,目的是framebuffer驅(qū)動的一座各款屏幕,與rgb新增lcd驅(qū)動在lcd_TTT_XXX.c文件,打開這個(gè)文件可以看到,里面所有的函數(shù)名和變量名都還有l(wèi)cd型號的字樣,可以先把這個(gè)全部改成新增的型號;修改變量SUPPORT_RGB_XXX_TABLElcdwrap_lcd.h中T_RGBLCD_INFOXXX_function_handler里面剩下的參數(shù),參數(shù)定義查看wrap_lcd.h中T_LCD_FUNCTION_HANDLER結(jié)構(gòu)體的定義。lcd_TTT_XXX.c文件,打開這個(gè)文件可以看到,里面大部分的函數(shù)名和變量名都lcdXXX_function_handlerwrap_lcd.hT_LCD_FUNCTION_HANDLER結(jié)構(gòu)體的定義;根據(jù)修改初始化
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 家裝工程簡易協(xié)議條款
- 機(jī)械設(shè)備進(jìn)口物流代理協(xié)議
- 劇院改造貸款協(xié)議
- 廣告牌運(yùn)輸與安裝合同
- 服裝物流服務(wù)協(xié)議模板
- 展覽館混凝土配送承包協(xié)議
- 國際體育用品居間協(xié)議
- 咖啡館裝修合作協(xié)議
- 爬升模板滑膜施工方案
- 便利店水電改造合同
- 閱讀理解特訓(xùn)卷-英語四年級上冊譯林版三起含答案
- 國庫集中支付培訓(xùn)班資料-國庫集中支付制度及業(yè)務(wù)操作教學(xué)課件
- 屋面及防水工程施工(第二版)PPT完整全套教學(xué)課件
- 詩詞寫作入門課件
- 2023年上海青浦區(qū)區(qū)管企業(yè)統(tǒng)一招考聘用筆試題庫含答案解析
- 2023年高一物理期末考試卷(人教版)
- 2023版押品考試題庫必考點(diǎn)含答案
- 空氣能熱泵安裝示意圖
- 建筑工程施工質(zhì)量驗(yàn)收規(guī)范檢驗(yàn)批填寫全套表格示范填寫與說明
- 最新《工會基礎(chǔ)知識》試題庫及答案1000題【完美打印版】
- 辦公家具項(xiàng)目實(shí)施方案、供貨方案
評論
0/150
提交評論