- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
下午好。我的目标是编写一个简单的 c 程序,该程序在我的 beagleboard-xm 上运行并每 100 毫秒在 gpio 引脚上打开一个 LED。我想使用定时器中断来实现这一点。我正在尝试按照本教程进行操作
http://www.kunen.org/uC/beagle/omap_dmtimer.html
但是我想念一些东西。我需要一些内核操作吗?我在 beagleboard-xm 上安装了 native gcc 编译器,在 Windows 7 上安装了带有 Code Sourcery 的交叉编译器,我可以构建简单的程序来操作 LED,但两个编译器都无法识别教程中使用的 header :
#include <linux/module.h>
#include <linux/kernel.h>
#include <linux/init.h>
#include <linux/clk.h>
#include <linux/irq.h>
#include <linux/interrupt.h>
#include <asm/io.h>
#include <mach/dmtimer.h>
#include <linux/types.h>
任何建议将不胜感激。提前致谢在这里我发布了我用于 GPIO 操作的代码
#include <stdio.h>
#include<signal.h>
#include<unistd.h>
void sig_handler(int signo) {
if (signo == SIGINT) {
FILE *fp;
if ((fp = fopen("/sys/class/gpio/gpio157/direction", "w")) == NULL ) {
exit(1);
} else {
fprintf(fp, "low");
fclose(fp);
}
fp = fopen("/sys/class/gpio/unexport", "w");
fprintf(fp, "157");
fclose(fp);
printf("Closing and cleaning \n");
}
}
void main() {
FILE *fp;
printf("\n*************************************\n"
"* Welcome to PIN Blink program *\n"
"* ....blinking pin 22 on port GPIO *\n"
"* ....rate of 1 Hz............ *\n"
"**************************************\n");
if (signal(SIGINT, sig_handler) == SIG_ERR )
printf("\ncan't catch SIGINT\n");
fp = fopen("/sys/class/gpio/export", "w");
fprintf(fp, "157");
fclose(fp);
printf("...export file accessed, new pin now accessible\n");
while (1) {
if ((fp = fopen("/sys/class/gpio/gpio157/direction", "w")) == NULL ) {
printf("Error \n");
exit(1);
}
fprintf(fp, "high");
fclose(fp);
sleep(1);
if ((fp = fopen("/sys/class/gpio/gpio157/direction", "w")) == NULL ) {
printf("Error \n");
exit(1);
}
fprintf(fp, "low");
fclose(fp);
sleep(1);
}
}
最佳答案
如果您希望能够从用户空间操作 GPIO 引脚,那么您必须构建一个内核驱动程序/模块来为您执行此操作。然后您可以通过 ioctl、proc 或其他内核 API 向您的驱动程序发送消息以操作 GPIO 引脚。
该教程看起来像一个内核驱动程序示例。您不能使用这些 header 构建常规用户空间程序。您需要构建一个示例“测试驱动程序”或执行我上面所说的操作。
网上有大量关于内核驱动程序的资源。这是您应该开始的。
关于c - 使用 armstrong 在 beagleboard-xm 上进行定时器 C 编程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16900238/
我正在尝试在 BeagleBoard 上进行一些 Android 系统集成像设备。我拥有完整的文件系统访问权限,因为我可以读/写/格式化托管引导和 rootfs 分区的 CF 卡。例如,我可以轻松修改
我可以在 beagleboard xm 上安装 matlab(运行 ubuntu 12.04)吗?如果我不能在 beagleboard xm 上运行 matlab。我安装了 octave,它运行完美,
我有一个设备树覆盖: /dts-v1/; /plugin/; / { compatible = "ti,beaglebone", "ti,beaglebone-black"; part
在 beagleboard 或 beaglebone 中,引脚有不同的工作模式。对于以前的内核,它们位于/sys/kernel/debug/omap_mux 中。你知道最后一个内核中那些文件在哪里吗?
我有一个在 Beagleboard-xM/Angstrom 上运行的 java 应用程序,但是当串行通信开始时,一段时间后,应用程序卡住,我必须取消该进程(终端上的 ctrl + c)。我已经尝试在
我打算在我的 Beagleboard(Android 操作系统)上使用 paw 服务器,不幸的是我在安装 php 插件时遇到了困难。 我在我的 SD 卡中的 paw 中找不到任何插件文件夹。请帮帮我.
我正在尝试在 beagleboard 中启动 android。任何人都可以逐步解释如何使用 beagle board 启动 android。提前致谢。 最佳答案 或者,您可以尝试 0xdroid: h
我没有成功激活我的 beagleboard 上的循环计数器注册器。我读到我必须编译一个 linux 模块,但我也没有成功。 我的 linux 内核是2.6.35.8-l7 这是beagleboard提
我想在 Beagleboards 上使用 Haskell GHC/Haskell 平台基于ARM OMAP的。有什么方法可以在短期内做到这一点,但我不必先尝试交叉编译,例如LLVM 然后 GHC 等几
一个简单的问题:我可以在Angstrom(BeagleBoard)上构建OpenCV,而不必将其作为工具链的一部分下载吗?意思是下载Unix版本的代码并进行构建 (当然,构建过程本身必须通过工具链完成
我正在将一个 linux 应用程序移植到运行在 beagle board 上的 android 上。 我的应用程序必须访问串行端口(发送/接收)。是否可以使用应用程序读取/写入串行端口,除非 andr
我正在使用 BeagleBoard-xM 开发 Angstrom 图像,该图像是使用在线 Narcissus 图像生成器(开放式嵌入式)为 OpenCV 应用程序构建的。我将 OpenCV 包含在根文
我有一个 Beagle 板 OMAP3530-GP,我已将内核和 rootfs 复制到 SD 卡的两个分区中并想启动它。 SD卡分区1:FAT32启动分区 具有相同顺序的以下文件: MLO u-boo
我在将应用程序移植到 ARM 平台时遇到了很多问题。我尝试了 Java Embedded SE,它适用于简单的应用程序,但不适用于音频播放器。 我读了这个 https://blogs.oracle.c
我正在尝试让“hello world”类型的程序在我的 Beagleboard-xm 版本上运行。 C,通过从程序集调用 C puts 函数。 到目前为止,我一直将其用作引用:http://wiki.
我有一个 beagleboard BB-MB-000 Rev. C4,并使用配方 linux-ti-staging_4.4.bb 从 meta-ti-layer 构建一个带有 Yocto 的 core
我正在尝试弄清楚如何让 USB 蓝牙加密狗与我的 BeagleBone Black 配合使用。我尝试了几种不同的方法都无济于事,但看到其他人的帖子似乎取得了一些成功。 我已经尝试过此处记录的过程:ht
我正在尝试在 Beagleboard xM rev B 上启动 Angstrom。 我创建了可启动驱动器和另一个驱动器来放置根文件系统,当我开始运行 beagleboard 时,它启动但在显示以下消息
我在 Beagleboard 上的 Angstrom Linux 上运行 GNOME,设备启动时遇到问题,我正在运行 http://beagleboard.org/latest-images 中的 2
我正在分析 Beagleboard xM 上 POP mDDR 的 X-Loader 设置。BB xM 中的 mDDR POP 内存容量为 512MB(根据手册)。更准确地说,Micron 变体:CS
我是一名优秀的程序员,十分优秀!