BLSP接口_jcom接口

BLSP接口_jcom接口http://huaqianlee.github.io/2016/04/27/Uav/Qualcomm-uav-blsp-port/概述BLSP是高通对于低速接口的一种管理方式,8074平台含有两个BLSP(BAMLow-SpeedPeripheral)块,对应于12个BLSP端口。每一个BLSP块含有最多六个QualcommUniversalPe

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

Jetbrains全系列IDE稳定放心使用

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

概述

BLSP是高通对于低速接口的一种管理方式,8074 平台含有两个BLSP(BAM Low-Speed Peripheral) 块,对应于12个BLSP端口。 每一个BLSP块含有最多六个Qualcomm Universal Peripheral (QUP)或六个Uart cores,通过相关手册查询到每个外设属于BLSP多少。结构框图如下:
BLSP

  1. BAM(Bus Access Manager)is used to move data to/from the peripheral buffers; 2.每个BLSP外设静态连接到一对BAM管道,BLSP支持BAM 和non-BAM-based 数据传输。


每一个QUP可以被配置为I2C, SPI, UART, UIM接口等,如下:
blsp_pin

自定义BLSP口,配置TZ

这些端口在aDSP和应用处理器之间共享。为了让BLSP端口独立使用,我们可以在TrustZone(TZ)中定义BLSP 端口的分配,没有权限的子系统访问BLSP 端口将导致系统崩溃。 高通默认已经做好了配置。在DspAL中, 提供了一组设备文件路径映射到硬件,无人机用到的相关口已经在TZ中配置好了,如下:

1
2
3
4
SPI:  /dev/spi-[1~12]  对应于   BLSP[1~12]上的SPI设备
I2C: /dev/iic-[1-12]      对应于   BLSP[1~12]上的I2C设备
UART: /dev/tty-[1-4]
# UAV 8074 最多支持4个串口设备,每一个串口设备对应一个BAM设备,

如果要自定义新的端口,需按于如下方式配置:

计算APPS BLSP值

apps-BLSP
根据倒数第二列(对应于BAM pipe)计算出结果如下:
APPS BLSP1 : 0x00C3000C [ Format : 0x00 (Apps BLSP1 QUP) ( Apps BLSP1 UART) ]
APPS BLSP2 : 0x00F30F33 [ Format : 0x00 (Apps BLSP2 QUP) ( Apps BLSP2 UART) ]

Apps列对应Y,则表明BLSPx配为Uart或QUP,下同。

计算ADSP BLSP值

adsp-BLSP
ADSP BLSP1 = 0x0003FF00 [ Format : 0x00 (Adsp BLSP1 QUP) ( Adsp BLSP1 UART) ]
ADSP BLSP2 = 0x00FC00CC [ Format : 0x00 (Adsp BLSP2 QUP) ( Adsp BLSP2 UART) ]

通过计算的值在TZ中配置

路径:trustzone_images\core\hwengines\bam\8974\bamtgtcfgdata_tz.h

BLSP1:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
Replace the highlighted values with ADSP BLSP1 and APPS BLSP1
 
bam_sec_config_type bam_tgt_blsp1_secconfig =
{
      
      
    {
      
      
#ifdef FEATURE_DRONE_CUSTOMIZATION_1 
#ifdef BAM_TZ_DISABLE_SPI
        {
      
      0x00C3000C   , TZBSP_VMID_AP, 0x0, TZBSP_VMID_AP_BIT},       // APPS BLSP1
        {
      
      0x0003FF00   , TZBSP_VMID_LPASS, 0x0, TZBSP_VMID_LPASS_BIT}, // ADSP BLSP1
        {
      
      0x00000000, TZBSP_VMID_MSS, 0x0, TZBSP_VMID_MSS_BIT},
#else
        {
      
      0x00C3000C   , TZBSP_VMID_AP, 0x0, TZBSP_VMID_AP_BIT},       // APPS BLSP1
        {
      
      0x0003FF00   , TZBSP_VMID_LPASS, 0x0, TZBSP_VMID_LPASS_BIT}, // ADSP BLSP1
        {
      
      0x00000000, TZBSP_VMID_MSS, 0x0, TZBSP_VMID_MSS_BIT},
        {
      
      0x00300000, TZBSP_VMID_TZ, 0x0, TZBSP_VMID_TZ_BIT}
      
#endif /*BAM_TZ_DISABLE_SPI*/
...
}

BLSP2:

1
2
3
4
5
6
7
8
9
10
11
12
bam_sec_config_type bam_tgt_blsp2_secconfig =
{
      
      
    {
      
      
#ifdef FEATURE_DRONE_CUSTOMIZATION_1 
        {
      
      0x00F30F33   , TZBSP_VMID_AP, 0x0, TZBSP_VMID_AP_BIT},       // APPS BLSP2
        {
      
      0x00FC00CC  , TZBSP_VMID_LPASS, 0x0, TZBSP_VMID_LPASS_BIT}   // ADSP BLSP2
#else
        {
      
      0x003C0FFF, TZBSP_VMID_AP, 0x0, TZBSP_VMID_AP_BIT},
        {
      
      0x00C3F000, TZBSP_VMID_LPASS, 0x0, TZBSP_VMID_LPASS_BIT}
#endif
...
}

怎么工作

在启动期间,aDSP将加载BLSP配置文件初始化串口设备。为了是能运行时配置,可在/usr/share/data/adsp/blsp.config中定义串口设备和BAM端口的映射,bam对应于BLSP。如:

1
2
3
4
tty-1 bam-9
tty-2 bam-6
tty-3 bam-8
tty-4 bam-2

如果串口设备只用TX和RX,需要在最后一行加入 “[2-wire]”作为标示,否则默认为四线:TX,RX,CTS和RTS。

  1. 串口根据需要配置,不一定所有都配置;2. 如果运行时指定路径文件不存在或者加载失败,如上所示的默认配置将被使用;3. /usr/share/data/adsp/blsp.config最好设置为只读模式。

Reference

80-NA157-24 Low-Speed Peripherals Overview.pdf
80-NB849-1 Rev. J APQ8074A PQ8074AB Device Specification.pdf
80-H9580-1-J_QUALCOMM SNAPDRAGON FLIGHT DEVELOPER GUIDE.pdf
80-NU767-1 G Linux BAM Low-Speed Peripherals Configuration and Debug Guide .pdf

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

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

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


相关推荐

  • 群晖nas 文件服务器,群晖nas挂到云服务器上

    群晖nas 文件服务器,群晖nas挂到云服务器上群晖nas挂到云服务器上内容精选换一换在公有云上部署SAPHANA所需要的云服务如下。无法直接从云备份控制台查看备份中的数据,您可以通过以下几种方式进行查看:云服务器备份使用云服务器备份创建镜像后,再使用镜像创建云服务器。登录云服务器,查看服务器中的数据。云硬盘备份使用云硬盘备份创建新的云硬盘后,将云硬盘挂载至云服务器上。登录云服务器,查看磁盘中的数据。SFSTurbo备份使用SFSTur…

    2022年6月26日
    39
  • 我的世界java指令_我的世界java在哪下载

    我的世界java指令_我的世界java在哪下载Minecraft地图上的x,y和z坐标。以俯视的视角展示了X和Z轴的图像。红色高亮表示与标准不同的轴。坐标(coordinates)在数字上反映了玩家在世界中的位置。坐标基于一个由互相垂直且交于一点(即原点)的三条坐标轴形成的网格,即一个空间直角坐标系。x轴的正方向为东,其坐标反映了玩家距离原点在东(+)西(-)方向上的距离。z轴的正方向为南,其坐标反映了玩家距离原点在南(+)北(-)…

    2022年9月23日
    0
  • Werkzeug Turorial「建议收藏」

    Werkzeug Turorial「建议收藏」Werkzeug不是一个framework,而是一个library,用来开发application和framework一个WSGI的application像这样:defapplication(environ,start_response):start_response(‘200OK’,[(‘Content-Type’,’text/plain’)])return[‘HelloWorld!’]一个WSGIapplication是一个可以调用的,有environ(dic

    2022年9月28日
    0
  • mac goland 2021.12激活码_在线激活

    (mac goland 2021.12激活码)这是一篇idea技术相关文章,由全栈君为大家提供,主要知识点是关于2021JetBrains全家桶永久激活码的内容IntelliJ2021最新激活注册码,破解教程可免费永久激活,亲测有效,下面是详细链接哦~https://javaforall.net/100143.html3YVYA7ZZGQ-eyJsaWN…

    2022年3月30日
    146
  • linux安装pip命令安装_centos安装pip

    linux安装pip命令安装_centos安装pip对于Python开发攻城狮及系统运维攻城狮来说,pip的安装那是必不可少的一个过程。鉴于网上很多安装过程写得过于复杂,本人根据pip官方手册总结了以下最为快捷的安装方式,只需要2步操作。curlhttps://bootstrap.pypa.io/get-pip.py-oget-pip.pypythonget-pip.py或者直接运行以下代码:#!/usr/bin/env…

    2022年9月16日
    0
  • 一款非常好看的客服系统源码[通俗易懂]

    一款非常好看的客服系统源码[通俗易懂]客服系统源码开源,对二次开发没有限制,开发者更改或者定制功能都非常方便,高稳定性基于ThinkPhp6+Swoole+LayUi+PHP8开发,智优客服系统具有超高稳定性,得到越来越多的客户喜爱源码下载地址:下载地址源码仅供用于学习和交流,请遵循相关法律法规.禁止使用违法用途!…

    2022年9月21日
    0

发表回复

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

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