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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • Bulk Insert命令具体

    Bulk Insert命令具体

    2021年12月7日
    38
  • 【图文讲解】映射——单射-双射-满射概念

    【图文讲解】映射——单射-双射-满射概念最近看的一篇论文里出现了partialmap的概念,用我的散装英文乍一翻译——“部分映射”?印象中高中和大一的高数书里都讲过,但一些概念已经忘差不多了(罪过罪过–),索性重新熟悉一下。百度,发现“部分映射”这个词在百度词条里没能拥有百分百匹配的姓名。Wikipedia维基百科里给出的是一个很相似的英文词汇,partialfunction。以…

    2022年5月1日
    554
  • es6 模板字符串_json字符串转成标准格式输出

    es6 模板字符串_json字符串转成标准格式输出模板字符串使用的是返引号,就是键盘左上角esc下面那个键,使用模板字符串可以更方便于传参例如:当我们需要在url后面跟一个参数的时候以前我们可以这样写varpath=path+’:’+id.toString()<ahref={path}>现在我们可以这样写<ahref=`path/:${id}`>上面的path是一个路由…

    2022年8月21日
    7
  • 引用数据类型分为哪三类_类都是引用数据类型吗

    引用数据类型分为哪三类_类都是引用数据类型吗Java引用数据类型(String)引用数据类型概述引用数据类型与基本数据类型的差别(举例说明)引用数据类型概述说到引用数据类型,那么何为引用数据类型?引用类型,都可以用null值作为值,也就是说可以在初始化的时候赋值为null,String是引用类型,也就是说可以使用null作为值。引用数据类型与基本数据类型的差别(举例说明)使用基本数据类型:inti1=1inti2=1这种是会在内存中存储两个1的值但是,使用引用类型就不会!Strings=“hello”Str

    2022年10月21日
    3
  • buildroot 树莓派_树莓派忘记root密码

    buildroot 树莓派_树莓派忘记root密码下载源码wgethttps://buildroot.uclibc.org/downloads/buildroot-2016.11.2.tar.gz解压tar-xvfbuildroot-2016.11.2.tar.gz配置将入config目录查看相应配置文件cdconfigsls查找到树莓派相关配置文件进行配置makeraspberrypi0_defconfig配置选…

    2022年10月9日
    2
  • 1045 Access denied for user ‘root’@’localhost’ (using password: YES)[通俗易懂]

    1045 Access denied for user ‘root’@’localhost’ (using password: YES)[通俗易懂]MySQL连接错误,使用Navicat连接MySQL出现错误:1045Accessdeniedforuser’root’@’localhost'(usingpassword:YES)解决方法:编辑mysql配置文件my.ini(在mysql的安装目录下,不同电脑可能不一样,参考目录①D:\ProgramFiles\MySQL\MySQLServer5.0\my….

    2022年5月13日
    75

发表回复

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

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