DVK530/531扩展板

Similar documents
DVK530/531扩展板

南華大學數位論文

DVK710扩展板

厨房小知识(四)

妇女更年期保健.doc

小儿传染病防治(上)

<4D F736F F D B875B9B5A448ADFBBADEB27AA740B77EA4E2A5555FA95EAED6A641ADD75F2E646F63>

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

避孕知识(下).doc

孕妇饮食调养(下).doc

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

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

i

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

i

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

Linux内核的移植技术剖析

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

(As at 28

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

( )1

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

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

S3C6410 ARM11开发板Linux BSP构建

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

I

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

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

穨_2_.PDF

14A 0.1%5% 14A 14A

女性减肥健身(四).doc

(Chi)_.indb

(i) (4)0.10 (1) 0.40 (ii) (iii) (i) (ii) ,000,000125,000,000 1,250,000, (iv) 3,750,000, ,000,000 1,250,000,00

奥运档案(三).doc

Transcription:

DVK720 扩展板 驱动移植手册 2014.04.03 V1.0

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

目录 版权声明... I 版本更新记录... I 特殊说明... 1 第一章按键驱动移植... 1 1.1 管脚配置... 1 1.2 添加平台资源... 2 第二章 PWM 驱动移植... 3 2.1 管脚配置... 3 2.2 添加平台资源... 3 第三章 LED 驱动移植... 4 3.1 配置管脚... 4 3.2 配置内核... 4 第四章 SPI 驱动移植... 5 4.1 管脚配置... 5 4.2 添加平台资源... 6 第五章 UART 的移植... 9 5.1 添加管脚配置... 9 第六章 DS18B20 的移植... 9 6.1 添加管脚配置... 9 6.2 配置内核... 10 深圳市微雪电子有限公司 www.waveshare.net II

第七章 RS485 的移植... 10 7.1 添加管脚配置... 10 7.2 配置内核... 11 第八章 USB 网卡驱动移植... 11 8.1 添加驱动源码... 11 8.2 配置内核... 11 深圳市微雪电子有限公司 www.waveshare.net III

特殊说明 为了区别在 PC 机和开发板上的操作, 约定为 :PC 机的 ubuntu 终 端输入的命令前加 #, 并且是 root 用户权限 ; 开发板终端输入的 命令前加 $ 第一章按键驱动移植 1.1 管脚配置 1) 在 arch/arm/mach-mx6/board-mx6q_sabresd.h 文件的 mx6q_sabresd_cstm_tq_pads 结构体中, 添加管脚的初始化配置 #vi arch/arm/mach-mx6/board-mx6q_sabresd.h MX6Q_PAD_EIM_D17 GPIO_3_17, MX6Q_PAD_EIM_D30 GPIO_3_30, MX6Q_PAD_ENET_TX_EN GPIO_1_28, MX6Q_PAD_EIM_D20 GPIO_3_20, MX6Q_PAD_CSI0_DAT10 GPIO_5_28, MX6Q_PAD_EIM_D18 GPIO_3_18, MX6Q_PAD_ENET_TXD0 GPIO_1_30, MX6Q_PAD_EIM_D23 GPIO_3_23, 深圳市微雪电子有限公司 www.waveshare.net 1

2) 在 arch/arm/mach-mx6/board-mx6q_sabresd.c 配置文件中添加宏定义 : #vi arch/arm/mach-mx6/board-mx6q_sabresd.c #define SABRESD_BUTTON1 IMX_GPIO_NR(3,17) #define SABRESD_BUTTON2 IMX_GPIO_NR(3,30) #define SABRESD_BUTTON3 IMX_GPIO_NR(1,28) #define SABRESD_BUTTON4 IMX_GPIO_NR(3,20) #define SABRESD_BUTTON5 IMX_GPIO_NR(5,28) #define SABRESD_BUTTON6 IMX_GPIO_NR(3,18) #define SABRESD_BUTTON7 IMX_GPIO_NR(1,30) #define SABRESD_BUTTON8 IMX_GPIO_NR(3,23) 1.2 添加平台资源 1) 在 board-mx6q_sabresd.c 中添加 #vi arch/arm/mach-mx6/board-mx6q_sabresd.c static struct gpio_keys_button sabresd_buttons[] = { GPIO_BUTTON(SABRESD_BUTTON1, KEY_1, 1, "button1", 0, 1), GPIO_BUTTON(SABRESD_BUTTON2, KEY_2, 1, "button2", 0, 1), GPIO_BUTTON(SABRESD_BUTTON3, KEY_3, 1, "button3", 0, 1), GPIO_BUTTON(SABRESD_BUTTON4, KEY_4, 1, "button4", 0, 1), GPIO_BUTTON(SABRESD_BUTTON5, KEY_5, 1, "button5", 0, 1), GPIO_BUTTON(SABRESD_BUTTON6, KEY_6, 1, "button6", 0, 1), 深圳市微雪电子有限公司 www.waveshare.net 2

GPIO_BUTTON(SABRESD_BUTTON7, KEY_7, 1, "button7", 0, 1), GPIO_BUTTON(SABRESD_BUTTON8, KEY_8, 1, "button8", 0, 1), } 第二章 PWM 驱动移植 2.1 管脚配置 在 arch/arm/mach-mx6/board-mx6q_sabresd.h 文件的 mx6q_sabresd_cstm_tq_pads 结构体中, 添加管脚的初始化配置 #vi arch/arm/mach-mx6/board-mx6q_sabresd.h MX6Q_PAD_SD1_CMD PWM4_PWMO, 2.2 添加平台资源 在 board-mx6q_sabresd.c 中添加平台资源 #vi arch/arm/mach-mx6/board-mx6q_sabresd.c static struct platform_pwm_backlight_data mx6_marsboard_pwm3_backlight_data ={.pwm_id = 3,.max_brightness = 255,.dft_brightness = 128,.pwm_period_ns = 50000, }; 深圳市微雪电子有限公司 www.waveshare.net 3

static void init mx6_sabresd_board_init(void){ imx6q_add_mxc_pwm_backlight(3,&mx6_marsboard_pw m3_backlight_data); } 第三章 LED 驱动移植 3.1 配置管脚 在 board-mx6q_sabresd.h 文件的 mx6q_sabresd_cstm_tq_pads 结构体中, 添加管脚的初始化配置 #vi arch/arm/mach-mx6/board-mx6q_sabresd.h MX6Q_PAD_CSI0_PIXCLK GPIO_5_18, MX6Q_PAD_CSI0_VSYNC GPIO_5_21, MX6Q_PAD_CSI0_DAT17 GPIO_6_3, MX6Q_PAD_CSI0_DAT13 GPIO_5_31, 3.2 配置内核 拷贝源码 /ws_driver 的整个文件夹到内核目录 drivers/char 下 (ws_driver 目录下包含可 led.c 的驱动文件 ), 修改 driver/char 下 Kconfig 和 Makefile 将 ws_driver 文件夹中的驱动文件添加到内核中 深圳市微雪电子有限公司 www.waveshare.net 4

在 Kconfig 中添加 #vi driver/char/kconfig source "drivers/char/ws_driver/kconfig" #vi driver/char/makefile 添加 obj-y += ws_driver/ #make menuconfig Device Drivers ---> Character devices ---> ws_add_drivers ---> [*] LED support 第四章 SPI 驱动移植 4.1 管脚配置 在 board-mx6q_sabresd.h 文件的 mx6q_sabresd_cstm_tq_pads 结构体中, 添加管脚的初始化配置 #vi arch/arm/mach-mx6/board-mx6q_sabresd.h MX6Q_PAD_EIM_CS0 ECSPI2_SCLK, MX6Q_PAD_EIM_CS1 ECSPI2_MOSI, MX6Q_PAD_EIM_OE ECSPI2_MISO, MX6Q_PAD_CSI0_DAT11 ECSPI2_SS0, 深圳市微雪电子有限公司 www.waveshare.net 5

4.2 添加平台资源 1) 添加 SPI 平台资源 #vi arch/arm/mach-mx6/board-mx6q_sabresd.h static int mx6q_sabrelite_spi2_cs[] = { MX6Q_SABRELITE_ECSPI2_CS1, }; static const struct spi_imx_master mx6q_sabresd_spi2_data initconst = {.chipselect = mx6q_marsboard_spi2_cs,.num_chipselect = ARRAY_SIZE(mx6q_marsboard_spi2_cs), }; imx6q_add_ecspi(0, &mx6q_sabrelite_spi2_data); static struct mtd_partition imx6_sabrelite_spi_nor_partitions[] = { {.name = "bootloader",.offset = 0,.size = 0x00100000, }, {.name = "kernel", 深圳市微雪电子有限公司 www.waveshare.net 6

},.offset = MTDPART_OFS_APPEND,.size = MTDPART_SIZ_FULL, }; static struct flash_platform_data imx6_sabrelite spi_flash_data = {.name = "spidev",.parts = imx6_sabrelite_spi_nor_partitions,.nr_parts = ARRAY_SIZE(imx6_sabrelite_spi_nor_partitions),.type = "sst25vf016b", }; static struct spi_board_info imx6_sabrelite_spi_nor_device[] initdata = { {.modalias = "spidev",.max_speed_hz = 12000000, /* max spi clock (SCK) speed in HZ */.bus_num = 1,.chip_select = 0,.platform_data = &imx6_sabrelite spi_flash_data, }, }; 深圳市微雪电子有限公司 www.waveshare.net 7

static void spi_device_init(void) { spi_register_board_info(imx6_sabrelite_spi_nor_device, ARRAY_SIZE(imx6_sabrelite_spi_nor_device)); } 2) 配置内核 #make menuconfig Device Drivers ---> [*] SPI support ---> <*> User mode SPI device driver support 3) 添加 SPI 片选信号驱动 3.2 配置内核章节拷贝的 ws_driver 文件夹包含的了 spi 片选信号驱动源码 spi_io.c 在内核源码顶层目录下执行 #make menuconfig Device Drivers ---> Character devices ---> ws_add_drivers ---> [*] spi2_cs 深圳市微雪电子有限公司 www.waveshare.net 8

第五章 UART 的移植 5.1 添加管脚配置 1) 在 board-mx6q_sabresd.h 文件的 mx6q_sabresd_cstm_tq_pads 结构体中, 添加管脚的初始化配置 #vi arch/arm/mach-mx6/board-mx6q_sabresd.h MX6Q_PAD_CSI0_DAT14 UART5_TXD, MX6Q_PAD_CSI0_DAT15 UART5_RXD, 2) 注释掉 static iomux_v3_cfg_t mx6q_sabresd_csi0_sensor_pads[] 结构体中的如下代码 MX6Q_PAD_CSI0_DAT12 IPU1_CSI0_D_12, MX6Q_PAD_CSI0_DAT13 IPU1_CSI0_D_13, MX6Q_PAD_CSI0_DAT14 IPU1_CSI0_D_14, MX6Q_PAD_CSI0_DAT15 IPU1_CSI0_D_15, MX6Q_PAD_CSI0_DAT16 IPU1_CSI0_D_16, MX6Q_PAD_CSI0_DAT17 IPU1_CSI0_D_17, 第六章 DS18B20 的移植 6.1 添加管脚配置 1)3.2 配置内核章节拷贝的 ws_driver 文件夹中包含动源码 ds18b20.c 深圳市微雪电子有限公司 www.waveshare.net 9

在 board-mx6q_sabresd.h 文件的 mx6q_sabresd_cstm_tq_pads 结构体中, 添加管脚的初始化配置 #vi arch/arm/mach-mx6/board-mx6q_sabresd.h MX6Q_PAD_EIM_D21 GPIO_3_21, 6.2 配置内核 #make menuconfig Device Drivers ---> Character devices ---> ws_add_drivers ---> [*] DS18B20 support 第七章 RS485 的移植 7.1 添加管脚配置 1)3.2 配置内核章节拷贝的 ws_driver 文件夹中包含动源码 RS485.c 在 board-mx6q_sabresd.h 文件的 mx6q_sabresd_cstm_tq_pads 结构体中, 添加管脚的初始化配置 #vi arch/arm/mach-mx6/board-mx6q_sabresd.h MX6Q_PAD_CSI0_DAT18 GPIO_6_4, MX6Q_PAD_CSI0_DAT19 GPIO_6_5, 深圳市微雪电子有限公司 www.waveshare.net 10

7.2 配置内核 #make menuconfig Device Drivers ---> Character devices ---> ws_add_drivers ---> [*] RS485 support 第八章 USB 网卡驱动移植 8.1 添加驱动源码 1) 拷贝源码 /rtl8192cu 到内核 drivers/net/wireless, 并修改相应的 Makefile 和 Kconfig 文件 : #vi drivers/net/wireless/makefile 添加 obj -$(CONFIG_RTL8192CU) += rtl8192cu/ #vi drivers/net/wireless/kconfig 添加 source "drivers/net/wireless/rtl8192cu/kconfig" 8.2 配置内核 #make menuconfig Device Drivers ---> 深圳市微雪电子有限公司 www.waveshare.net 11

[*] Network device support ---> [*] Wireless LAN ---> <* > Rtaltex 8192c usb wifi 深圳市微雪电子有限公司 www.waveshare.net 12