问题标签 [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 回答
455 浏览

linux-kernel - Hal需要看到什么linux设备?

我正在尝试了解 Linux Kernel 上的设备驱动程序,为此我创建了三个模块:

  • 总线型
  • 设备驱动程序
  • 一个现在什么都不做的假设备,只是被注册了

一切正常,我可以加载总线、驱动程序和创建设备的模块。一切都出现在 sysfs 上,包括设备和设备驱动程序之间的链接,表明它们已绑定。

当驱动程序和设备被加载时,我可以看到使用udevadm monitor它也会引发一些事件:

但毕竟,该设备没有出现在 hal 上。hal 还需要什么设备才能看到?

0 投票
3 回答
2916 浏览

ruby - 查明是否连接了 USB 设备。Linux 中的红宝石

我正在使用 Ruby 1.8 和 linux(Ubuntu 和 SLAX),我需要在 ruby​​ 中编写一个脚本,以确定某些特定的 USB 设备是否连接到系统以及哪个 USB 端口(0、1、2 等) . 之前是在 HAL 的帮助下完成的(按能力查找能力 -- 能力序列),但现在我不能使用这种方法。我试图读取 /var/log/messages 文件试图找到 USB 端口的编号,但在某些系统中似乎没有写入该编号。我尝试的另一件事是检查 /dev 文件夹并搜索 ttyUSB# 文件,但是当新设备连接到 USB 时,它不会出现在某些系统上。我将不胜感激任何想法如何做到这一点。

0 投票
2 回答
1140 浏览

android - 是否可以在 Android 设备上安装 HAL 驱动程序?

我认为这个任务对于 Android 模拟器来说更容易。我们只是创建新图像并重新启动模拟器。虽然启动模拟器需要很长的周期,但它是安全的。但我想知道,我们可以在设备上上传几个 .so 文件并测试 HAL 驱动程序吗?如果是这样,最好测试驱动程序,因为在模拟器上我们没有足够的硬件可以玩。

谢谢!

0 投票
2 回答
1326 浏览

embedded - 嵌入式设备驱动开发笔记

我想开发一些 HAL(硬件抽象层)以在 PIC32 和一些 ARM 中使用。

基本上我想制作一些通常在操作系统上可用的代码,比如通用引脚访问、通信库、设备 I/O 等。

你能给我推荐一些好书/网站吗?

我将从几周前发现的一个开始:http ://www.kalinskyassociates.com/OnLineLearning.html

谢谢

0 投票
2 回答
1351 浏览

c - 从头开始用 C 语言编程 ARM

我有一个来自 Embeded 艺术家的 LPC3141 开发人员工具包,并且我已经成功地创建了基于 Eclipse 的免费 IDE,它可以成功地为 ARM 编译。我使用包含的闪烁器示例测试了我的 IDE。我有一个启动代码和一个可以工作的链接器脚本,我将从现在开始使用它们。

现在我想学习如何从零开始我自己的闪光灯程序。我必须先编程什么?是GPIO寄存器,定时器寄存器,uart寄存器,……???第一件事是什么?我需要写的东西实际上是 HAL 吗?我已经订购了这本书,你觉得呢?

谢谢你。

问候齐加

0 投票
1 回答
5624 浏览

c - 需要libudev建议

我正在着手进行一个编程项目,该项目需要确认可移动媒体(例如 USB 拇指驱动器)的设备身份,然后才能继续执行其他一些很酷的事情。

我的一些朋友建议我使用序列号,并且使用 udevadm 命令进行的初步测试表明这应该可以工作。我做了一些额外的检查,看来如果我能让软件与 libudev 一起工作,那么它应该(最少)在 ubuntu、slackware 和 gentoo 上编译,这将是一个非常好的好处。

所以我用 bing 找到了一个教程,并得到了 Signal 11 网站 (http://www.signal11.us/oss/udev/),这是一个写得很好的教程。它实际上似乎拥有我需要的一切。我下载代码。修复几个特定于平台的错误,然后编译。繁荣!Gcc 编译没有错误。到目前为止,一切都很好。

但是当我尝试运行它时,它引发了一些错误,我意识到我需要阅读更多的教程,以便我能够很好地理解 libudev 以修复错误并生成工作软件。问题是真的没有任何其他教程(我能找到),并且作为库文档的(唯一已知的?)站点的 kernel.org 站点在最近的服务器受损后关闭。

我考虑过只向 system() 发出 udevadm 指令,然后解析结果,但这是将软件组合在一起的一种非常糟糕的方式,我计划在完成编写后将其发布给社区。

那么如何最好地学习libudev?

0 投票
1 回答
238 浏览

netbeans - 如何在 Neatbeans 上编译 HAL 示例?

我正在尝试在 Netbeans 上编译 HAL API 示例。Netbeans 显示有关某些头文件的警告和错误。但我可以使用以下命令行编译我的示例代码:

如何将此命令应用于我的 Netbeans 项目?

这是我要编译的代码:

更新:

编写我使用的命令$$()并将其添加到其他编译器设置中解决了我的问题。

0 投票
1 回答
3123 浏览

c - 如何在 C/C++ 中找到设备的挂载点?

我正在使用 libhal 来检测设备事件。我能够检测到添加或删除的设备,但无法检测到设备的挂载点。该功能libhal_volume_get_mount_point(volume)不起作用。

我有一个回调函数来检测设备添加:

libhal_volume_from_udi,返回 NULL。

您知道在 C 中检测存储设备挂载点的任何合适方法吗?

更新

我已经设法通过搜索找到了设备的挂载点,/etc/mtab但仍然存在一个小问题。我假设设备只有一个分区。

如何获取存储设备上的分区列表?所以我可以找到每个的挂载点。

0 投票
1 回答
133 浏览

c++ - 全局命名空间中的一组函数如何适应面向对象的设计?

我公司生产的软件有好几层,分为两个项目。“内层”是一个 HAL 层,直接与我们生产的硬件的驱动程序对话。这是在一个名为“xxxHAL”的 Visual Studio 项目中。该项目构建到一个静态库中。其他层一起形成一个客户端 API。这些“其他层”位于它们自己单独的 VS 项目中,并从第一个静态链接 HAL lib 文件。它们构建到我们分发的 DLL 中,以便客户可以构建自己的软件。

我的问题:

  • 将 HAL 函数分离到自己的静态库中的动机是什么?

  • 为什么要将所有这些 HAL 函数放在全局命名空间中?这如何适应 OOP 范式?

整个两个项目集是最近从头开始对旧 API 的重新设计,并且构建得非常有条理。API 设计非常面向对象,在我看来至少设计得非常好。对于最终用户来说,事情非常容易使用和清晰,所以我可以理解以这种方式构建 API 用户端软件的动机。我想我主要是觉得如果我从头开始设计软件,我会采取不同的方法。有什么想法吗?

0 投票
1 回答
2474 浏览

usb - USB HID 设备检测

我正在尝试在 Ubuntu(kernel-3.0) 下访问 USB HID 设备。我想编写一个程序,它可以在 USB 设备连接到总线时通知我,即每当插入我可以监控的 USB 设备时是否会生成任何事件。我研究过 DBus 和 HAL 没有任何成功。但是我不希望linux在插入设备时加载其当前模块(USBHID和HID)。我还想问一下提到的模块是否也是用于HID设备的设备驱动程序。

我的唯一目的是在将 USB 设备插入总线时运行脚本,该脚本将间接调用上述模块。

我正在用 C 编写代码。我对 linux 很陌生。因此,如果有人能指出我正确的方向,那将是非常有帮助的。

谢谢..