DVK530/531扩展板

Similar documents
DVK530/531扩展板

DVK710扩展板

证券代码(A股/H股):000063/ 证券简称:中兴通讯 公告编号:

Linux内核的移植技术剖析

南華大學數位論文

S3C6410 ARM11开发板Linux BSP构建

說 明 會 內 容 全 民 健 保 暨 施 行 細 則 修 正 之 承 保 重 點 與 案 例 說 明 二 代 健 保 實 施 後 就 醫 權 益 更 有 保 障 補 充 保 險 費 知 識 自 我 檢 測 及 討 論 附 錄 全 民 健 康 保 險 保 險 費 負 擔 金 額 表 ( 四 )- 職

厨房小知识(四)

妇女更年期保健.doc

小儿传染病防治(上)

<4D F736F F D B875B9B5A448ADFBBADEB27AA740B77EA4E2A5555FA95EAED6A641ADD75F2E646F63>

女性青春期保健(下).doc

避孕知识(下).doc

孕妇饮食调养(下).doc

禽畜饲料配制技术(一).doc

中老年保健必读(十一).doc

i

怎样使孩子更加聪明健康(七).doc

i

二零零六年一月二十三日會議

Microsoft Word - SW docx

马太亨利完整圣经注释—雅歌

公司预计2010年日常关联交易的议案

(As at 28

女性健美保健(中).doc

2013 年 大 陸 書 市 觀 察 2013 年, 新 笑 傲 江 湖 也 引 起 熱 烈 討 論, 首 播 當 晚 已 居 黃 金 檔 電 視 劇 收 視 冠 軍, 進 而 帶 動 了 該 作 品 的 圖 書 銷 量, 之 後 隋 唐 英 雄 傳 精 忠 嶽 飛 等 也 紛 紛 改 編 成 電

黑A4FA~1

相 惜 033 女 子 受 是 靠 德 行 而 非 美 貌 033 刘 庭 式 与 盲 妻 道 义 人 生 036 什 么 是 爱, 什 么 是 欲 038 相 爱 040 爱 感 觉 是 温 暖 040 爱 言 语 是 正 直 043 爱 心 地 是 无 私 045 爱 行 为 是 成 全 050

( )1

中醫執業資格試臨床考試結果上訴聆訊的決定及裁決理由

Windows RTEMS 1 Danilliu MMI TCP/IP QEMU i386 QEMU ARM POWERPC i386 IPC PC104 uc/os-ii uc/os MMI TCP/IP i386 PORT Linux ecos Linux ecos ecos eco

Touchmonitor User Guide

Microsoft Word _4

郑州大学(下).doc

厨房小知识(六)

广 东 纺 织 职 业 技 术 学 院 发 展 党 员 公 示 制 实 施 办 法 关 于 推 荐 优 秀 团 员 作 为 党 的 发 展 对 象 工 作 的 意 见 后 勤 管 理 工 作 广 东 纺 织 职 业 技 术 学 院 新 引 进 教 职 工 周 转 房 管 理


游戏攻略大全(五十).doc

金融英语证书考试大纲


健康知识(二)

中南财经大学(二).doc

广西大学(一).doc

根据学校教学工作安排,2011年9月19日正式开课,也是我校迁址蓬莱的第一学期开学

山东大学(一).doc

2

主 编 : 杨 林 副 主 编 : 张 新 民 邹 兰 曹 纯 纯 周 秋 婷 李 雅 清 黄 囡 囡 评 审 顾 问 : 杨 林 张 新 民 评 审 : 张 新 民 邹 兰 曹 纯 纯 周 秋 婷 李 雅 清 黄 囡 囡 李 忆 萍 徐 如 雪 文 字 编 辑 : 曹 纯 纯 邹 兰 李 雅 清

最新文物管理执法全书(十四).doc

园林常识(二).doc

前 言 二 一 六 年 四 月 四 日, 兒 童 節, 誕 生 了 一 件 美 事 : 中 國 作 家 曹 文 軒 在 意 大 利 博 洛 尼 亞 國 際 童 書 展 榮 獲 國 際 安 徒 生 文 學 獎, 是 該 獎 創 設 六 十 年 來, 第 一 位 摘 桂 的 中 國 作 家, 意 義 重

湖 南 科 技 大 学

上海外国语大学(二).doc

2009 陳 敦 德

切 实 加 强 职 业 院 校 学 生 实 践 能 力 和 职 业 技 能 的 培 养 周 济 在 职 业 教 育 实 训 基 地 建 设 工 作 会 议 上 的 讲 话 深 化 教 育 教 学 改 革 推 进 体 制 机 制 创 新 全 面 提 高 高 等 职 业 教 育 质 量 在

鸽子(三)

兽药基础知识(四)

园林植物卷(十).doc

园林植物卷(十七).doc

临床手术应用(三)

家装知识(二十)

医疗知识小百科

家庭万事通(一)

家装知识(三)

园林绿化(一)

园林植物卷(十五).doc

最新监察执法全书(一百五十).doc

兽药基础知识(三)

奥运档案(四).doc

最新监察执法全书(五十).doc

最新执法工作手册(三百八十四)

中华美食大全4

动物杂谈_二_.doc

抗非典英雄赞歌(三)

新时期共青团工作实务全书(三十五)

经济法法律法规第十九卷

游戏攻略大全(五十九).doc

火灾安全实例

兽药基础知识(七)

实用玉米技术(二)

中国政法大学(一).doc

水产知识(一)

招行2002年半年度报告全文.PDF

(Microsoft Word - outline for Genesis 9\243\2721\243\25529.doc)

穨Shuk-final.PDF

2

國立中山大學學位論文典藏.PDF

Microsoft Word mpc-min-chi.doc

( ) 1

穨cwht.PDF

900502_Oasis.indb

bnb.PDF

untitled

Microsoft Word - om388-rnt _excl Items 16 & 38_ _final_for uploading_.doc

% 25% (i) 95% 96,290,900 (ii) 99.9% 17,196,000 (iii) 99.9% 89,663,100 2

¨Æ·~½g¡ã¾·~¤ÀÃþ

公務員懲戒法實務及新制

大小通吃-糖尿病


98825 (Project Sunshine) Chi_TC_.indb

游戏攻略大全(五十二).doc

Transcription:

DVK710 扩展板 驱动移植手册 2014.06.03 V1.0

版权声明 本手册所有权由深圳市微雪电子有限公司独家持有 未经本公司的书 面许可, 不得以任何方式或形式进行修改 分发或复制本文档的任何 部分, 否则一切后果由违者自负 版本更新记录 版本日期说明 V1.0 2014.06.03 初始发布 深圳市微雪电子有限公司 www.waveshare.netii I

目录版权声明... I 版本更新记录... I 特殊说明... 1 1 按键驱动移植... 1 1.1 管脚配置... 1 1.2 添加设备资源... 1 2 pwm 驱动移植... 3 2.1 管脚配置... 3 2.2 添加平台资源... 3 3 led 驱动移植... 4 3.1 配置管脚... 4 3.2 配置内核... 5 4 RTC 驱动移植... 6 4.1 修改板级文件... 6 4.2 添加驱动文件... 6 5 USB CAMERA 驱动移植... 7 6 UART 驱动移植... 8 6.1 修改板级文件... 8 6.2 添加 ttymxc4... 9 7 I2C1 驱动移植... 10 8 SPI2 驱动移植... 10 深圳市微雪电子有限公司 www.waveshare.netiiii II

9 USBWIFI 驱动移植... 12 9.1 添加驱动源码... 12 9.2 配置内核... 12 10 DS18B20 的添加... 13 10.1 添加管脚配置... 13 10.2 配置内核... 13 11.RS485 的添加... 13 11.1 添加管脚配置... 13 11.2 配置内核... 14 12.SPI CS 的添加... 14 12.1 添加管脚配置... 14 深圳市微雪电子有限公司 www.waveshare.netiiiiii III

特殊说明 命令前加 # 的表示 PC 机的 ubuntu 终端输入的, 并且是 root 用户权限 ; 命令前加 $ 的表示开发板终端输入的 1 按键驱动移植 1.1 管脚配置 1) 在 board-mx6q_marsboard.c 文件的 static iomux_v3_cfg_t mx6q_marsboard_pads[] = {} 结构体中, 第 332 行, 添加管脚的初始化配置 #vim arch/arm/mach-mx6/board-mx6q_marsboard.c MX6Q_PAD_NANDF_D1 GPIO_2_1, MX6Q_PAD_NANDF_D2 GPIO_2_2, MX6Q_PAD_NANDF_D3 GPIO_2_3, MX6Q_PAD_NANDF_D4 GPIO_2_4, MX6Q_PAD_NANDF_D5 GPIO_2_5, MX6Q_PAD_NANDF_D6 GPIO_2_6, MX6Q_PAD_NANDF_D7 GPIO_2_7, 1.2 添加设备资源 1) 注释掉 board-mx6q_marsboard.c 的 static struct gpio_keys_button 深圳市微雪电子有限公司 www.waveshare.net11 1

marsboard_buttons[] 中的内容 2) 在 board-mx6q_marsboard.c 中添加 static struct gpio_keys_button marsboard_buttons[] = { GPIO_BUTTON(IMX_GPIO_NR(2,0), KEY_1, 1, "key-power", 1), GPIO_BUTTON(IMX_GPIO_NR(2,3), KEY_P, 1, "key-power", 1), GPIO_BUTTON(IMX_GPIO_NR(2,1), KEY_2, 1, "key-memu", 1), GPIO_BUTTON(IMX_GPIO_NR(2,4), KEY_D, 1, "key-home", 1), GPIO_BUTTON(IMX_GPIO_NR(2,2), KEY_3, 1, "key-back", 1), GPIO_BUTTON(IMX_GPIO_NR(2,7), KEY_A, 1, "volume-up", 1), GPIO_BUTTON(IMX_GPIO_NR(2,6), KEY_B, 1, "volume-down", 1), GPIO_BUTTON(IMX_GPIO_NR(2,5), KEY_C, 1, "volume-down", 1), }; 在 static void init mx6_marsboard_board_init(void){} 添加 : marsboard_add_device_buttons(); 3) 执行 make menuconfig Device Drivers ---> <*> Userspace I/O drivers ---> <*> Userspace I/O platform driver <*> Userspace I/O platform driver with generic IRQ handling 4) 内核源码根目录下执行 #make uimage 编译内核, 下载新内核到开发板中深圳市微雪电子有限公司 www.waveshare.net22 2

2 pwm 驱动移植 2.1 管脚配置 在 board-mx6q_marsboard.c 文件 static iomux_v3_cfg_t mx6q_marsboard_pads[] = {} 结构体, 第 340 行, 添加管脚的初始化配置 #vim arch/arm/mach-mx6/board-mx6q_marsboard.c MX6Q_PAD_GPIO_9 PWM1_PWMO, MX6Q_PAD_SD1_DAT2 PWM2_PWMO, MX6Q_PAD_SD4_DAT1 PWM3_PWMO, MX6Q_PAD_SD4_DAT2 PWM4_PWMO, 2.2 添加平台资源 1) 在 board-mx6q_marsboard.c 文件大概在第 1172 行, 添加平台资源 static struct platform_pwm_backlight_data mx6_marsboard_buz_data = {.pwm_id = 0,.max_brightness = 255,.dft_brightness = 255,.pwm_period_ns = 50000, }; 深圳市微雪电子有限公司 www.waveshare.net33 3

static struct platform_pwm_backlight_data mx6_marsboard_pwm_usr_data = {.pwm_id = 1,.max_brightness = 255,.dft_brightness = 255,.pwm_period_ns = 50000, }; 在 static void init mx6_marsboard_board_init(void){} 中大概在 1321 行, 添加 imx6q_add_mxc_pwm_backlight(0,&mx6_marsboard_buz_data); imx6q_add_mxc_pwm_backlight(1,&mx6_marsboard_pwm_usr_data); 2) 内核源码根目录下执行 #make uimage 编译内核, 下载新内核到开发板中 3 led 驱动移植 3.1 配置管脚 在 board-mx6q_marsboard.c 文件 static iomux_v3_cfg_t mx6q_marsboard_pads[] = { } 结构体, 第 345 行, 添加管脚的初始化配置 #vim arch/arm/mach-mx6/board-mx6q_marsboard.c 深圳市微雪电子有限公司 www.waveshare.net44 4

MX6Q_PAD_NANDF_CS0 GPIO_6_11, MX6Q_PAD_NANDF_ALE GPIO_6_8, MX6Q_PAD_NANDF_CLE GPIO_6_7, MX6Q_PAD_NANDF_WP_B GPIO_6_9, 3.2 配置内核 添加 Led 驱动源码 led.c, 将 / 相关源码 /ws_driver 复制到内核源码的 /driver/char 下, 修改 driver/char 下 Kconfig 和 Makefile 在 Kconfig 中, 第 8 行, 添加 source "drivers/char/ws_driver/kconfig" 在 Makefile 中, 第 71 行, 添加 obj-y += ws_driver/ 将 ws_driver 文件夹添加到内核中 #make menuconfig Device Drivers ---> Character devices ---> ws_add_drivers ---> [*] LED support 2) 内核源码根目录下执行 #make uimage 编译内核, 下载新内核到开发板中 深圳市微雪电子有限公司 www.waveshare.net55 5

4 RTC 驱动移植 4.1 修改板级文件 在 board-mx6q_marsboard.c 文件找到 static struct i2c_board_info mxc_i2c0_board_info[] initdata = {} 结构 : 第 687 行, 添加 : { I2C_BOARD_INFO("pcf8563", 0x51), }, 4.2 添加驱动文件 根目录下 #make menuconfig, 进入 Device Drivers ---> [*] Real Time Clock ---> [*] /sys/class/rtc/rtcn (sysfs) [*] /proc/driver/rtc (procfs for rtc0) [*] /dev/rtcn (character devices) [*] Set system time from RTC on startup and resum <*> Philips PCF8563/Epson RTC8564 <*> Freescale SNVS Real Time Clock 在下面括号中填入 rtc0: (rtc0) RTC used to set the system time 深圳市微雪电子有限公司 www.waveshare.net66 6

选中一下选项 : 2) 内核源码根目录下执行 #make uimage 编译内核, 下载新内核到开发板中 注意 : 应该要先完成第 7 节 I2C1 驱动移植 5 USB CAMERA 驱动移植 1) 添加驱动文件 : 根目录下 #make menuconfig, 进入 Device Drivers ---> <*> Multimedia support ---> <*> Video For Linu [*] Video capture adapters ---> [*] V4L USB devices ---> <*> USB Video Class (UVC) [*] UVC input events device support 选中驱动文件 2) 内核源码根目录下执行 #make uimage 编译内核, 下载新内核到开发板中 深圳市微雪电子有限公司 www.waveshare.net77 7

6 UART 驱动移植 6.1 修改板级文件 1) 在 board-mx6q_marsboard.c 文件找到 static iomux_v3_cfg_t mx6q_marsboard_pads[] = {} 结构体, 第 358 行, 添加管脚的初始化配置 #vim arch/arm/mach-mx6/board-mx6q_marsboard.c MX6Q_PAD_EIM_D19 UART1_CTS, MX6Q_PAD_EIM_D20 UART1_RTS, MX6Q_PAD_CSI0_DAT10 UART1_TXD, MX6Q_PAD_CSI0_DAT11 UART1_RXD, MX6Q_PAD_EIM_EB3 UART3_RTS, MX6Q_PAD_EIM_D23 UART3_CTS, MX6Q_PAD_EIM_D24 UART3_TXD, MX6Q_PAD_EIM_D25 UART3_RXD, MX6Q_PAD_KEY_COL0 UART4_TXD, MX6Q_PAD_KEY_ROW0 UART4_RXD, MX6Q_PAD_KEY_COL1 UART5_TXD, MX6Q_PAD_KEY_ROW1 UART5_RXD, static inline void mx6q_marsboard_init_uart(void){} 函数 : 第 502 行, 添加 : imx6q_add_imx_uart(2, NULL); 深圳市微雪电子有限公司 www.waveshare.net88 8

imx6q_add_imx_uart(3, NULL) ; 2) 内核源码根目录下执行 #make uimage 编译内核, 下载新内核到开发板中 在开发板的 /dev/ 可以看到 ttymxc2,ttymxc3 这两个设备 6.2 添加 ttymxc4 1) 在 arch/arm/mach-mx6/board-mx6q_marsboard.c static iomux_v3_cfg_t mx6q_marsboard_pads[] ={} 结构体中第 365 行, 添加 MX6Q_PAD_KEY_COL1 UART5_TXD, MX6Q_PAD_KEY_ROW1 UART5_RXD, 3) 在 static inline void mx6q_marsboard_init_uart(void) 中第 504 行, 添加 imx6q_add_imx_uart(4, NULL); 4) 在 arch/arm/mach-mx6/clock.c 第 5080 行添加 _REGISTER_CLOCK("imx-uart.4", NULL, uart_clk[0]), 5) 在 arch/arm/plat-mxc/devices/platform-imx-uart.c 第 137 行添加 imx6q_imx_uart_data_entry(4, 5), 6) 在 arch/arm/plat-mxc/include/mach/mx6.h 第 255 行添加深圳市微雪电子有限公司 www.waveshare.net99 9

#define MX6Q_UART5_BASE_ADDR UART5_BASE_ADDR 第 436 行添加 #define MX6Q_INT_UART5 MXC_INT_UART5_ANDED 注意 :UART4 的移植涉及到较多的文件, 修改文件后记得保存 7 I2C1 驱动移植 1) 在 board-mx6q_marsboard.c 文件找到 static iomux_v3_cfg_t mx6q_marsboard_pads[] = {} 结构体, 第 350 行, 添加管脚的初始化配置 #vim arch/arm/mach-mx6/board-mx6q_marsboard.c MX6Q_PAD_CSI0_DAT8 I2C1_SDA, MX6Q_PAD_CSI0_DAT9 I2C1_SCL, 修改 I2C1 的管脚与开发板的 I2C1 接口对应 8 SPI2 驱动移植 1) 在 board-mx6q_marsboard.c 文件找到 static struct spi_board_info imx6_marsboard_spi_devices[] initdata = {} 结构体 #vim arch/arm/mach-mx6/board-mx6q_marsboard.c 注释掉以下代码 : 深圳市微雪电子有限公司 www.waveshare.net1010 10

{.modalias = "ads7846",.bus_num = 1,.chip_select = 0,.max_speed_hz = 1500000,.irq = gpio_to_irq(mx6q_marsboard_res_tch_int),.platform_data = &ads7846_config, }, 添加 : {.modalias = "spidev",.bus_num = 1,.chip_select = 0,.max_speed_hz = 1500000, } 2) 配置内核 #make menuconfig Device Drivers ---> [*] SPI support ---> <*> User mode SPI device driver support 注意 : 按照上面的方法移植, 触摸屏将不能使用 不修改源码即可使用触摸屏功能深圳市微雪电子有限公司 www.waveshare.net1111 11

9 USBWIFI 驱动移植 9.1 添加驱动源码 1) 拷贝源码 /rtl8188eu 到内核 drivers/net/wireless, 并修改相应的 Makefile 和 Kconfig 文件 : #vim drivers/net/wireless/makefile 添加 obj-$(config_rtl8188eu) += rtl8188eu/ #vi drivers/net/wireless/kconfig 添加 source "drivers/net/wireless/rtl8188eu/kconfig" 9.2 配置内核 #make menuconfig Device Drivers ---> [*] Network device support ---> [*] Wireless LAN ---> <*> Realtek 8188EU USB WiFi 深圳市微雪电子有限公司 www.waveshare.net1212 12

10 DS18B20 的添加 10.1 添加管脚配置 1 )3.2 配置内核章节拷贝的 ws_driver 文件夹中, 包含动源码 ds18b20.c 在 board-mx6q_marsboard.c 文件 static iomux_v3_cfg_t mx6q_marsboard_pads[] = {} 结构体, 第 368 行, 添加管脚的初始化配置 #vim arch/arm/mach-mx6/board-mx6q_marsboard.c MX6Q_PAD_GPIO_18 GPIO_7_13, 10.2 配置内核 #make menuconfig Device Drivers ---> Character devices ---> ws_add_drivers ---> [*] DS18B20 support 11.RS485 的添加 11.1 添加管脚配置 1 ) 3.2 配置内核章节拷贝的 ws_driver 文件夹中包含动源码 深圳市微雪电子有限公司 www.waveshare.net1313 13

RS485.c 在 board-mx6q_marsboard.c 文件 static iomux_v3_cfg_t mx6q_marsboard_pads[] = {} 结构体, 第 370 行, 添加管脚的初始化配置 #vim arch/arm/mach-mx6/board-mx6q_marsboard.c MX6Q_PAD_EIM_D23 GPIO_3_23 MX6Q_PAD_SD4_CLK GPIO_7_10, 11.2 配置内核 #make menuconfig Device Drivers ---> Character devices ---> ws_add_drivers ---> [*] RS485 support 12.SPI CS 的添加 12.1 添加管脚配置 1 ) 3.2 配置内核章节拷贝的 ws_driver 文件夹中包含动源码 spi_io.c 2 ) 配置内核 #make menuconfig 深圳市微雪电子有限公司 www.waveshare.net1414 14

Device Drivers ---> Character devices ---> ws_add_drivers ---> [*] spi2_cs 深圳市微雪电子有限公司 www.waveshare.net1515 15