问题标签 [hal]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1094 浏览

shared-libraries - Nexus 5 中传感器的来源在哪里?

我可以hardware/*在 Android 4.4 源代码中看到传感器的一些源代码,但生成的共享库的名称与我在 Nexus 5 中搜索的传感器共享库的名称不同,/system/lib甚至/system/lib/hw在整个根 ( /) 下。

据报道,Nexus 5 配备了来自 InvenSense、Qualcomm、Avago、Bosch 和 Akm 的传感器。但是,我想知道他们的传感器代码是否不是开源的,而只是用于传感器 HAL 模块的二进制文件(*.so)。

顺便说一下,下面是报告的传感器列表(包括虚拟/合成传感器)。

:: Sensor name - Vendor::

知道上述传感器的来源在哪里吗?

谢谢!

0 投票
1 回答
2325 浏览

android - 为什么库和内核层之间有一个额外的层(HAL)?

对于在 x86 硬件上运行的 Linux 操作系统,为了调用TCP_listen()内核中 TCP/IP 驱动程序(对于 x86)的一部分,用户空间客户端应用程序调用作为用户空间库 [GNU 发行版]listen()一部分的接口。glibc

listen()依次通过软件中断sys_Listen()进入内核模式之前调用内核模式系统调用。INT 0x80TCP_listen()

因此, glibc库层直接提供了供应商中立的接口,即listen()运行供应商(x86)特定的 TCP/IP 驱动程序系统调用TCP_listen(),这是 Linux 内核的一部分。

在此处输入图像描述

我的问题:

在Android世界中,我想了解库(Bionic Libc)和Linux内核之间的额外层(HAL)的目的。

注意:我是 Android 世界的新手,listen()可能不是在 android 堆栈中使用的正确示例。

注意:我知道很多线程在 SO 上回答类似的查询。

0 投票
1 回答
1125 浏览

android - Dalvik VM 是否通过 Bionic Libc 与 HAL/内核层通信?

在给定的android堆栈中,

在此处输入图像描述

除了在 LIBRARIES 层使用 NDK 工具包编写的应用程序之外,我了解到,任何在 APPLICATIONS 层编写的应用程序都必须在自己的进程中运行,在他们自己的 Dalvik VM 实例中,如下所示:

在此处输入图像描述

根据上面的进程堆栈,我看到 Dalvik 运行时正在通过bionicLibc 库与 HAL/内核层通信。

我的问题:

不使用bionicLibc 库接口,Dalvik VM 不能访问 HAL/内核层吗?

0 投票
1 回答
124 浏览

hardware - 操作系统或高级抽象层如何使用设备驱动程序获得硬件知识?

在阅读有关硬件/设备独立性的信息时,来自维基百科 ( http://en.wikipedia.org/wiki/Device_independence#Desktop_computing ) 的声明指出:

应用程序软件不需要知道要使用它的硬件的任何信息。相反,它通过标准化的抽象层发现硬件的能力,然后使用抽象的命令来控制硬件。

我想了解 BIOS 例程/设备驱动程序/HAL/OS 和设备控制器之间关于发现硬件功能的较低级别的交互。

请帮助我了解这些实体之间发生的通信,这有助于硬件独立性。

0 投票
1 回答
7511 浏览

java - 使用 RestTemplate 使用 Spring Hateoas Restservice

我有两个应用程序,一个叫做bar,它为我提供了 HAL 格式的资源。另一个是使用该服务的bcm 。

响应示例如下所示:

现在我尝试使用 Spring RestTemplate从bcm消耗它。我的解决方案有效,但不知何故我对该解决方案不满意,我想有一种更干净的方法。

我使用 RestService 的客户端代码如下所示:

如您所见,几乎没有丑陋的代码。其中之一是,我的收藏没有任何泛型。另一点,我得到的 Resource_ID 非常复杂,我多次使用 StringUtils.remove 来提取 self url。

我相信在 Spring 之前一定有更方便的方式来使用 HAL-Response。

谢谢。

0 投票
2 回答
1522 浏览

php - 如何在 Zend Framework 2 中注册自定义水合器?

在 Apigility 驱动的 ZF2 应用程序中,我想使用自定义的Hydrator.

Module班级

module.config.php

当一个集合被检索到时,它会被忽略,但这是另一个问题(s. here)。当需要单个实体时,hydratin 机制启动,但它不使用我的工厂来创建实例。

经过一些调试后,我来到了ZF\Hal\Metadata\Metadata#setHydrator(...)代码中的这个地方:

Hydrator直接创建自定义。(在我的情况下,它会导致一个致命错误,因为它试图在 上执行一个ProjectHydrator#imageService未设置的方法)。我看了一下Metadata#hydrators(of type Zend\Stdlib\Hydrator\HydratorPluginManager),发现只有四个 default invocables,这就是为什么null !== $this->hydrators && $this->hydrators->has($hydrator)isfalse并尝试了直接实例化。

所以,我想,我必须注册我的定制保湿剂。我在哪里/如何做到这一点?


编辑

我将工厂代码从移动Module#getServiceConfig()Module#getHydratorConfig()

module.config.php(需要一个Factory类)中的配置数组相同:

module.config.php

但它以错误结束:

Zend\ServiceManager\Exception\ServiceNotFoundException

文件:/var/www/my-project/vendor/zendframework/zendframework/library/Zend/ServiceManager/ServiceManager.php:550 消息:Zend\Stdlib\Hydrator\HydratorPluginManager::get 无法获取或创建投资组合实例\V2\Rest\ImageService

0 投票
1 回答
540 浏览

python - scrapy hal+json 不支持的响应类型

我正在尝试根据 Firefox 和 Safari 抓取 HAL+Json 的链接,它正在返回一个 Scrapy 无法识别的响应对象。

链接是https://catalogue.presto.com.au/ - 这在 Chrome 中打开很好,在浏览器中显示 JSON,但如果我尝试使用 Firefox 或 Safari,它会下载文件。我怀疑 Scrapy 在打开链接时会下载文件,所以它不会抓取它。

有没有人遇到过类似的情况或有解决方案?

通过 Shell 访问

当我尝试使用终端“scrapy shell https://catalogue.presto.com.au ”访问网站时

然后我尝试查看(响应)并收到此错误:

运行 Scrapy 对象

0 投票
0 回答
373 浏览

android - 在 HAL 1.0 中的回调中访问视频帧缓冲区

我正在开发适用于 Android 的相机 HAL 1.0。我在文档中读到视频帧在 camera_data_timestamp_callback 中返回,带有 CAMERA_MSG_VIDEO_FRAME 消息。

当我查看camera_memory_t*参数中的数据时,里面只有8个字节的数据。我的问题是,这 8 个字节是什么,我如何使用这些数据来访问带有视频帧数据的实际缓冲区?

0 投票
0 回答
287 浏览

c - 这种 FOPS 读取方法如何工作?

我(和同学)无法弄清楚以下问题:

“考虑以下 FOPS read() 方法:

使用参数 count=2 调用该方法。'len' 的大小应该是多少?”

我们不确定答案是否为 2,因为 count 为 2 - 或者答案是否为 5,因为 'ABCD + /0' = 5。

我们在这里遗漏了什么吗?

0 投票
2 回答
709 浏览

android - 如何为Android中的服务分配读/写权限

我已将文件转储逻辑放在 Android 中的以下文件中。 frameworks/av/media/libstagefright/OMXCodec.cpp

为了访问它,我制作了 android 应用程序。现在,我的问题是当我的逻辑在 OMXCodec.cpp 中被调用时,它给出了file open error in fopen() error:13.

我正在打开文件"/mnt/test"以写入w+模式。

这背后的原因是什么?

从我的 apk 我可以在同一个地方创建文件(“/mnt/test”)。