SPI驱动 广州创龙电子科技有限公司 Guangzhou Tronlong Electronic Technology Co., Ltd.

Slides:



Advertisements
Similar presentations
1 安全乘坐电梯 与大型游乐设施 福建省特检院宁德分院党支部 王祖生 特种设备安全知识进校园.
Advertisements

高一年级组家长会. 一、考试成绩分析 二、存在的问题 三、给家长的建议 四、科任教师交流 表扬 1 、 年级组语数外成绩优异同学 ( 年级排名 ) 李 芮第 1 名 吕明洋第 2 名 王 越第 3 名 杨天宇第 4 名 张凯燕第 5 名 李 曦第 7 名 魏书静第 8 名 项春怡第 10 名 郑明明第.
沟通交流 活动有序 内容轻松 文明守纪 团结共进 1. 成立家长委员会, 通知 15 人明天下午 3-5 点五楼报告厅 “ 全面育人教育论坛 ” 2. 介绍附中、年级、班级的规范和要求 日常行为规范,高中学习特点,考试、作业要求 3. 开学以来年级、班级开展的工作及安排 开学以来年级、班级开展的工作及安排.
1、毛将后代握手言欢泯恩怨 2、美国总统奥巴马访华.
大学生安全防范知识 城北派出所 陶燕雄.
远 方 宽厚肩膀,手指干净而修长。 笑声像大海,眼睛里有阳光。 我想象你,一定就是这样。 还没出现,就已对你爱恋;还没遇见,就先有了思念。
情境导入: 诚信是金 同学们,这是一个非常经典的故事。请大家思考当小男孩真的遇到狼时,为什么没人去救他呢? 你从中得到了什么启示?狼来了.MP4.
近年来,出现了一些制作粗糙、违背史实甚至常理的“抗战雷剧”,社会上也出现了一股“戏说”抗战剧的不良风气。
欢迎各位家长 同样的心情 一样的期待 初二(2)班家长会.
欢迎各位家长的到来! 沟通 交流 协作 初二 班家长会.
家校同心, 师生同行 ——八(五、六)班家长会.
“他的人生观真是一种‘单纯信仰’,这里面只有三个大字:一个是爱,一个是自由,一个是美。他梦想这三个理想的条件能够回合在一个人生里,这是他的‘单纯信仰’。他的一生的历史,只是他追求这个单纯信仰的实现的历史。” ——胡适《追悼志摩》
欢迎各位家长光临 初二(1)班家长会
学习情境七 领队业务 【学习目标】 了解领队工作职责; 掌握领队的工作程序; 掌握领队的服务要点。 【技能目标】
蒙古与苗族的特色建筑 项艺烽小组 最炫民族风.mp3.
大聲一點又如何? 打耳光、重擊或大聲音會使聲波以極大的力量快速撞擊鼓膜而傷害鼓膜。 事先知道要聽到很大的聲音要張開嘴巴。
浪漫 碰撞 蜕变 专题八 19世纪以来的文学艺术.
德国波恩明斯特广场修建的贝多芬铜像( 1845年)
一分钟电话营销分享 刘瑾.
心在哪裡 夢在哪裡.
热烈欢迎您 参加家长会!.
香港普通話研習社科技創意小學 周順強老師.
欢迎各位家长 参加初一八班的家长会!.
低碳生活 从我做起! 10级物理系 张羽菲
通州市教研室 王作良 邮箱 06高考复习讲座 通州市教研室 王作良 邮箱
反思,调整学习方法 迎接中考的挑战 九(7)班.
网络游戏对大学生生活的影响 英本1班 鞠申镅 汪晨茹 沈秋云 元文杰 段祺琪.
斑马线上的安全学问 学校:平安二小 班级:四年级(1)班 姓名:张海超 时间:2016年6月21日.
令我后悔的一件事.
热烈欢迎各位家长 初二(1)班
感受柏林禅寺—— 华莲的日记 2006年6月9日 周五 多云
FIFO 与 UPP 本节我们结合UPP接口给大家介绍一下FIFO在实际工程中的使用。 广州创龙电子科技有限公司 01 51ele.net
内核移植实例.
AM5728简介 广州创龙电子科技有限公司 Guangzhou Tronlong Electronic Technology Co., Ltd.
OpenMP简介和开发教程 广州创龙电子科技有限公司
FIFO 与 UPP 本节我们结合UPP接口给大家介绍一下FIFO在实际工程中的使用。 广州创龙电子科技有限公司 广州创龙电子科技有限公司
FIFO 与 UPP 本节我们结合UPP接口给大家介绍一下FIFO在实际工程中的使用。 广州创龙电子科技有限公司 01 51ele.net
本节我们结合AD5724驱动时序给大家介绍一下状态机在实际工程中的使用。
DM81X 视频采集处理 ——MCFW框架介绍 广州创龙电子科技有限公司
本节我们结合AD5724驱动时序给大家介绍一下状态机在实际工程中的使用。
FIFO 与 UPP 本节我们结合UPP接口给大家介绍一下FIFO在实际工程中的使用。 广州创龙电子科技有限公司 01
存储设备介绍 广州创龙电子科技有限公司 Guangzhou Tronlong Electronic Technology Co., Ltd.
DM81X 视频采集处理 ——综合采集显示例程讲解 广州创龙电子科技有限公司
把COM口设置到没有使用的 COM1 – COM4
实践演练 广州创龙电子科技有限公司 01 广州创龙电子科技有限公司
AM437x-DSS显示框架 广州创龙电子科技有限公司
简单PCB设计 广州创龙电子科技有限公司 Simple PCB Design
u-boot环境变量和常用命令 广州创龙电子科技有限公司
DM81X 视频采集处理 ——简单采集显示例程讲解 广州创龙电子科技有限公司
AM437x平台下Linux驱动的开发流程 广州创龙电子科技有限公司
I2C驱动 广州创龙电子科技有限公司 Guangzhou Tronlong Electronic Technology Co., Ltd.
文件读写实践 广州创龙电子科技有限公司 01 广州创龙电子科技有限公司
linux驱动模块编程 HelloWorld 广州创龙电子科技有限公司
按键驱动 广州创龙电子科技有限公司 Guangzhou Tronlong Electronic Technology Co., Ltd.
DM8148与DM8127 ISS框架讲解 广州创龙电子科技有限公司
简单原理图设计 广州创龙电子科技有限公司 Simple Schematic Design
AM5728 视频输入端口VIP软件框架 广州创龙电子科技有限公司
如何生成设备节点 广州创龙电子科技有限公司
本节我们结合AD5724驱动时序给大家介绍一下状态机在实际工程中的使用。
Linux 文件操作——系统调用和标准 IO 库
项目四 基于SPI串行总线接口DA芯片TLC5615的使用
FPGA 在线调试技术 广州创龙电子科技有限公司 Guangzhou Tronlong Electronic Technology Co., Ltd 本节将讲解FPGA的在线调试技术。主要以VIVADO和ISE为例,讲解一下虚拟输入输出VIO (Virtual Input/Output)和集成逻辑分析仪ILA.
AM437x-GPMC接口 讲解 广州创龙电子科技有限公司
歐巴桑症候群 *** 歐巴桑症候群***.
《手把手教你学STM32-STemWin》 主讲人 :正点原子团队 硬件平台:正点原子STM32开发板 版权所有:广州市星翼电子科技有限公司
LED驱动 广州创龙电子科技有限公司 Guangzhou Tronlong Electronic Technology Co., Ltd.
进程的概念 广州创龙电子科技有限公司 01 广州创龙电子科技有限公司
《手把手教你学STM32-STemWin》 主讲人 :正点原子团队 硬件平台:正点原子STM32开发板 版权所有:广州市星翼电子科技有限公司
《手把手教你学STM32-STemWin》 主讲人 :正点原子团队 硬件平台:正点原子STM32开发板 版权所有:广州市星翼电子科技有限公司
Presentation transcript:

SPI驱动 广州创龙电子科技有限公司 Guangzhou Tronlong Electronic Technology Co., Ltd

01 Linux SPI驱动架构 02 Linux设备树添加SPI设备 03 Linux SPI用户模式设备接口驱动

01 Linux SPI驱动架构 第 1 部分

Linux SPI驱动架构 04 广州创龙电子科技有限公司

02 Linux设备树添加SPI设备 第 2 部分

Linux设备树添加SPI设备 在设备树中添加设备——使用SOC的SPI控制器 在设备树中添加设备——使用GPIO模拟SPI 设备树相关说明文档: Documentation/devicetree/bindings/spi/spi-bus.txt Documentation/devicetree/bindings/spi/omap-spi.txt Documentation/devicetree/bindings/spi/spi-gpio.txt 06 广州创龙电子科技有限公司

Linux设备树添加SPI设备 1. 在设备树中添加设备——使用SOC的SPI控制器 (1)查看原理图,确定所用管脚 07 广州创龙电子科技有限公司

Linux设备树添加SPI设备 1. 在设备树中添加设备——使用SPC的SPI控制器 (1)配置SPI的pinmux ti,pindir-d0-out-d1-in spi-cpha; 四种模式….. --------------------- spi0_pins_default: spi0_pins_default { pinctrl-single,pins = < AM33XX_IOPAD(0x950, PIN_INPUT_PULLUP | MUX_MODE0) /* (A17) spi0_sclk.spi0_sclk */ AM33XX_IOPAD(0x954, PIN_INPUT_PULLUP | MUX_MODE0) /* (B17) spi0_d0.spi0_d0 */ AM33XX_IOPAD(0x958, PIN_INPUT_PULLUP | MUX_MODE0) /* (B16) spi0_d1.spi0_d1 */ AM33XX_IOPAD(0x95c, PIN_INPUT_PULLUP | MUX_MODE0) /* (A16) spi0_cs0.spi0_cs0 */ >; }; &spi0 { status = "okay"; pinctrl-names = "default"; pinctrl-0 = <&spi0_pins_default>; m25p80@0 { /* 增加spiflash的节点 */ }; 08 广州创龙电子科技有限公司

Linux设备树添加SPI设备 2. 在设备树中添加设备——使用GPIO模拟SPI (1)查看原理图,确定所用管脚 09 广州创龙电子科技有限公司

Linux设备树添加SPI设备 2. 在设备树中添加设备——使用GPIO模拟SPI (1)配置GPIO的pinmux spi0_gpio_pins_default: spi0_gpio_pins_default { pinctrl-single,pins = < AM33XX_IOPAD(0x950, PIN_INPUT_PULLUP | MUX_MODE7) /* (A17) spi0_sclk.gpio0_2 */ AM33XX_IOPAD(0x954, PIN_INPUT_PULLUP | MUX_MODE7) /* (B17) spi0_d0.gpio0_3 */ AM33XX_IOPAD(0x958, PIN_INPUT_PULLUP | MUX_MODE7) /* (B16) spi0_d1.gpio0_4 */ AM33XX_IOPAD(0x95c, PIN_INPUT_PULLUP | MUX_MODE7) /* (A16) spi0_cs0.gpio0_5 */ >; }; spi@2 { pinctrl-0 = <&spi0_gpio_pins_default>; pinctrl-names = "default"; compatible = "spi-gpio"; #address-cells = <0x1>; #size-cells = <0>; /*ranges;*/ gpio-sck = <&gpio0 2 0>; gpio-miso = <&gpio0 3 0>; gpio-mosi = <&gpio0 4 0>; cs-gpios = <&gpio0 5 0>; num-chipselects = <1>; /* clients */ 10 广州创龙电子科技有限公司

Linux设备树添加SPI设备 2. 在设备树中添加设备——使用GPIO模拟SPI (3)在menuconfig中选中spi-gpio 10 spi0_gpio_pins_default: spi0_gpio_pins_default { pinctrl-single,pins = < AM33XX_IOPAD(0x950, PIN_INPUT_PULLUP | MUX_MODE7) /* (A17) spi0_sclk.gpio0_2 */ AM33XX_IOPAD(0x954, PIN_INPUT_PULLUP | MUX_MODE7) /* (B17) spi0_d0.gpio0_3 */ AM33XX_IOPAD(0x958, PIN_INPUT_PULLUP | MUX_MODE7) /* (B16) spi0_d1.gpio0_4 */ AM33XX_IOPAD(0x95c, PIN_INPUT_PULLUP | MUX_MODE7) /* (A16) spi0_cs0.gpio0_5 */ >; }; spi@2 { pinctrl-0 = <&spi0_gpio_pins_default>; pinctrl-names = "default"; compatible = "spi-gpio"; #address-cells = <0x1>; #size-cells = <0>; /*ranges;*/ gpio-sck = <&gpio0 2 0>; gpio-miso = <&gpio0 3 0>; gpio-mosi = <&gpio0 4 0>; cs-gpios = <&gpio0 5 0>; num-chipselects = <1>; /* clients */ 10 广州创龙电子科技有限公司

03 Linux SPI用户模式设备接口驱动 第 3 部分

Linux SPI用户模式设备接口驱动 SPI的用户模式设备接口的驱动spidev.c,在应用层生成/dev/spidev*的节点,可以通过read、write达到与硬件设备的SPI通信。 1. 在SPI的节点下添加spidev的节点 spidev0: spi@0 { compatible = "spidev"; reg = <0>; spi-max-frequency = <40000000>; }; 使用am335x-idk的拓展口的spi1 (A13/EHRPWM0A 9) 990h conf_mcasp0_aclkx A13/ehrpwm0A spi1_sclk mode3 994h conf_mcasp0_fsx B13ehrpwm0B spi1_d0 mode3 998h conf_mcasp0_axr0 D12/EHRPWM0_TRIPZONE_INPUT spi1_d1 mode3 99Ch conf_mcasp0_ahclkr C12/ECAP2_IN_PWM2_OUT/GPIO3[17] spi1_cs0 mode3 12 广州创龙电子科技有限公司

Linux SPI用户模式设备接口驱动 2. 在menuconfig中选中spidev的驱动 Device Drivers > SPI support > User mode SPI device driver support 13 广州创龙电子科技有限公司

Linux SPI用户模式设备接口驱动 3. 测试程序 (1)路径:Documentation/spi/spidev_test.c (2)编译程序:arm-linux-gnueabihf-gcc spidev_test.c -o spidev_test (3)测试方法:用一根杜邦线短接MISO和MOSI,运行程序即可实现SPI自发自收回环测试。 14 广州创龙电子科技有限公司

广州创龙电子科技有限公司 谢谢 官网: www.tronlong.com 论坛: www.51ele.net 微信公众号:广州创龙