BLSP_用冰块和棉签玩哭凹凸世界

BLSP_用冰块和棉签玩哭凹凸世界1.基础概念(1)   BusAccessModule(BAM),总线访问模块BAMisusedtomovedatato/fromtheperipheralbuffers.(2)   BAMLow-SpeedPeripheral(BLSP),低速接口的总线访问模块(3)   QUP:QualcommUniversalPeripheral,高通统一的…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE稳定放心使用

1.基础概念

(1)   Bus Access Module (BAM),总线访问模块

BAM is used to move data to/from the peripheral buffers.

(2)   BAM Low-Speed Peripheral (BLSP),低速接口的总线访问模块

(3)   QUP:Qualcomm Universal Peripheral,高通统一的外设

 

2.Msm8937 BLSP

BLSP_用冰块和棉签玩哭凹凸世界

BLSP_用冰块和棉签玩哭凹凸世界

BLSP是高通对于低速接口的一种管理方式,8937 平台含有两个BLSP(BAM Low-Speed Peripheral) 块,对应于12个BLSP端口。 每一个BLSP块含有最多六个Qualcomm Universal Peripheral (QUP)和六个UART cores、其中SPI和IC2核心集成到一个名字为QUP核心,并且共享同一个FIFO,而UART_DM单独集成并有自己的FIFO,所有的这3个core共享同一个总线接口,也就是对外共用相同的I/O接口,比如:

BLSP_用冰块和棉签玩哭凹凸世界

但是对于只使用两个UART引脚的UART_DM,比如只用到GPIO_4(TX)和GPIO_5(RX),也是使用两个引脚的I2C接口这时也可以同时使用:

BLSP_用冰块和棉签玩哭凹凸世界

通过相关手册查询到每个外设属于BLSP多少。

 

3. 确认我们使用的I2C对应哪个BLSP和QUP

比如我们采用SDA—GPIO6,SCL—GPIO7,

(1)   到msm8937-pinctrl.dsti确认GPIO6和GPIO7对应设备树中是哪组I2C

BLSP_用冰块和棉签玩哭凹凸世界

其实从上图可知道是第1个BLSP的第2个QUDP,但我们从设备树上找到相关的

(2)   通过i2c_2_active找到msm8937.dtsi下有引用

BLSP_用冰块和棉签玩哭凹凸世界

这里可知是采用BLSP1的QUP2,I2C核基准地址是0x78b6000

(3)   Lk部分确定所用的I2C对应的BLSP和QUP

来看bootable\bootloader\lk\platform\msm_shared\include\blsp_qup.h下的定义

BLSP_用冰块和棉签玩哭凹凸世界

从这里可以看出QUP是从QUP_ID_0开始,那么我们的使用的GPIO6和GPIO7的I2C对应QUP_ID_1,使用示例如下:

BLSP_用冰块和棉签玩哭凹凸世界

4. QUP基地址和IRQs

BLSP_用冰块和棉签玩哭凹凸世界

BLSP routes the following interrupts from its subcores:

BAM_IRQ – Indicates that a BAM operation has completed

PERIPHERAL_IRQ – Driven by UART or QUP; shared at the peripheral level for status updates and errors of the peripheral; a status register in the peripheral core allows software to distinguish between interrupt sources

 

参考:

高通无人机8074 BLSP接口说明

http://huaqianlee.github.io/2016/04/27/Uav/Qualcomm-uav-blsp-port/

高通APQ8074 spi 接口配置

https://blog.csdn.net/jumper511/article/details/25622833
——————— 

原文:https://blog.csdn.net/LoongEmbedded/article/details/83070030 
 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/180189.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 在PyCharm下使用Jupyter Notebook[通俗易懂]

    在PyCharm下使用Jupyter Notebook[通俗易懂]在PyCharm中新建JupyterNotebook文件步骤:File->New…->JupyterNotebook->输入文件名建好之后效果如下图所示,熟悉的JupyterNotebook输入代码,点击绿色三角图标,运行,出现窗口如下:点击“Cancel”取消,点击左下角的“Terminal”,输入“Jupyter-notebook”…

    2022年8月25日
    57
  • Java基础篇:封装、继承、多态三大特性

    Java基础篇:封装、继承、多态三大特性

    2021年10月4日
    63
  • 缓冲区溢出流程

    缓冲区溢出流程缓冲区溢出流程一、ImmunityDebugger最好以管理员的身份运行Innunitydebugger通常有两种方法可以使用ImmunityDebugger来调试应用程序:确保应用

    2022年7月3日
    39
  • OpenWrite 博客群发使用步骤[通俗易懂]

    OpenWrite 博客群发使用步骤[通俗易懂]OpenWrite,做最懂自媒体的工具平台。主要是群发软件、博客导流公众号阅读全文工具媒体发布平台、博客群发平台、软文推广平台软文推广发布、博客发布官网引流科技小工具微信公众号Markdown编辑器、多平台免费图床配置Markdown编辑器的免费简洁流畅、文章一键群发等的免费自媒体运营工具助手注意:当前版本必须使用Chrome浏览器,并安装插件「OpenWrite助手」https://openwrite.cn/plugin-chrome/1、点击指定渠道图标,在新窗口登录渠道的账号

    2022年7月13日
    28
  • zigbee学习之路(十二):zigbee协议原理介绍

    zigbee学习之路(十二):zigbee协议原理介绍一.前言从今天开始,我们要正式开始进行zigbee相关的通信实验了,我所使用的协议栈是ZStack是TIZStack-CC2530-2.3.0-1.4.0版本,大家也可以从TI的官网上直接下载T

    2022年8月2日
    14
  • 简单单元測试思想

    简单单元測试思想

    2021年12月3日
    71

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号