- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我是 beaglebone 和 Linux 的新手,所以对于一个项目,我必须使用地址来控制 BBB 上的用户,并通过确保所有 GPIO 端口都能够通过此设置来确保将来使用的功能。但是当我运行它来打开和关闭用户 LED 时,我遇到了段错误,我不知道为什么或者我需要做什么来解决这个问题。我需要包含什么,或者我正在做的事情是不行的,如果是的话我应该做什么?
#include <string.h>
#include <stdint.h>
#include <stdio.h>
typedef struct {
volatile uint32_t REVISION; //Address offset: 0x00
volatile uint32_t rangeA[3]; //Address offset: 0x04-0x0C
volatile uint32_t SYSCONFIG; //Address offset: 0x10
volatile uint32_t rangeB[3]; //Address offset: 0x14-0x1C
volatile uint32_t EOI; //Address offset: 0x20
volatile uint32_t IRQSTATUS_RAW_0; //Address offset: 0x24
volatile uint32_t IRQSTATUS_RAW_1; //Address offset: 0x28
volatile uint32_t IRQSTATUS_0; //Address offset: 0x2C
volatile uint32_t IRQSTATUS_1; //Address offset: 0x30
volatile uint32_t IRQSTATUS_SET_0; //Address offset: 0x34
volatile uint32_t IRQSTATUS_SET_1; //Address offset: 0x38
volatile uint32_t IRQSTATUS_CLR_0; //Address offset: 0x3C
volatile uint32_t IRQSTATUS_CLR_1; //Address offset: 0x40
volatile uint32_t IRQWAKEN_0 ; //Address offset: 0x44
volatile uint32_t IRQWAKEN_1; //Address offset: 0x48
volatile uint32_t rangeC[26]; //Address offset: 0x4C-0x110
volatile uint32_t SYSSTATUS; //Address offset: 0x114
volatile uint32_t rangeD[6]; //Address offset: 0x118-0x12C
volatile uint32_t CTRL; //Address offset: 0x130
volatile uint32_t OE; //Address offset: 0x134
volatile uint32_t DATAIN; //Address offset: 0x138
volatile uint32_t DATAOUT; //Address offset: 0x13C
volatile uint32_t LEVELDETECT0; //Address offset: 0x140
volatile uint32_t LEVELDETECT1; //Address offset: 0x144
volatile uint32_t RISINGDETEDT; //Address offset: 0x148
volatile uint32_t FALLINGDETECT; //Address offset: 0x14C
volatile uint32_t DEBOUNCENABLE; //Address offset: 0x150
volatile uint32_t DEBOUNCINGTIME; //Address offset: 0x154
volatile uint32_t rangeE[14]; //Address offset: 0x158-0x18C
volatile uint32_t CLEARDATAOUT; //Address offset: 0x190
volatile uint32_t SETDATAOUT; //Address offset: 0x194
} GPIO_TypeDef;
#define GPIO0 ((GPIO_TypeDef *) 0x44E07000)
#define GPIO1 ((GPIO_TypeDef *) 0x4804C000)
#define GPIO2 ((GPIO_TypeDef *) 0x481AC000)
#define GPIO3 ((GPIO_TypeDef *) 0x481AE000)
int main() //testing if this would work
{
GPIO1->OE &= ~(1UL<<21); // set bits to output eneble
while(1)
{
GPIO1->DATAOUT |= 1UL<<21;
int delay = 0;
while(delay < 15000) // just really quick crappy delay
delay++;
GPIO1->DATAOUT &= ~(1UL<<21);
printf("Blink!!\n"); //test to see if it works
}
return 0;
}
最佳答案
您分配的地址似乎是物理地址或总线地址;您的程序将使用虚拟地址或程序地址运行。您机器上的内核会构造翻译页面,以便您的程序可以保留内核可以动态分配的内存地址的规范化 View 。
您需要将寄存器的设备空间映射(使用 mmap())到您的程序中,并分配您的结构以指向它们。
您最终应该得到如下所示的代码:
GPIO_TypeDef *g0, *g1, ... ;
...
g0 = mmap(0, sizeof *g0,..., fd, 0);
...
g0->DataOut = 3;
...
ps:从风格上讲,前置 _TypeDef 违背了 typedef 机制的目的,即创建有意义的名称和自记录程序。 _t 的愚蠢使用只是好一点,因为它不会浪费那么多击键。请记住,有些程序员有视觉障碍,每次遇到这种情况时都必须听辅助设备说“下划线大写 T y p e 大写 D e f”!
关于c - 在 beaglebone black 上出现段错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55268146/
我正在尝试学习 React.JS,但有些事情让我大吃一惊。 我有这个标题组件: class Header extends Component { render() { return ;
我正在尝试学习 React.JS,但有些事情让我大吃一惊。 我有这个标题组件: class Header extends Component { render() { return ;
我有一个 Cordova iPhone 应用程序,它使用状态栏插件。状态栏的背景设置为黑色,而文本曾经是白色。但是自从插件从0.1.3版本升级到0.1.8之后,文字变成了黑色。 是否可以恢复旧行为,或
这个问题在这里已经有了答案: 关闭 10 年前。 Possible Duplicate: Difference between Color.red and Color.RED 我看到 Java 类
基于poetry docs : Likewise if you have command line tools such as pytest or black youcan run them usin
我正在使用 Shadowbox.js example code显示带有消息“此站点仍在 build 中!”的阴影框在页面加载时: Shadowbox.init({ // let's sk
我注意到 eclipse 有一个奇怪的行为? 我有一个静态变量: public static colorID = R.color.Black; 有时它与 R.color.Black 匹配: if(co
我正在尝试通过运行Windows 7的笔记本电脑通过腻子将SSH连接到Beaglebone Black。 打开BBB的电源并在Windows上安装所需的BBB驱动程序后,我可以在Chrome浏览器中浏
我正在尝试评估颜色选择器选择的颜色的暗度,看它是否“太黑”,如果是,则将其设置为白色。我想我可以使用十六进制值的第一个字符来实现这一点。它在工作,但它也在切换一些合法的“浅色”颜色。 我有以下代码:
我无法弄清楚为什么下面的代码中有一个黑色矩形,据我所知,隐藏选项留下了一些东西,但我不知道如何隐藏它或更改它颜色。 这是什么以及我们如何操纵它? Select flow slides
我昨天买了 beaglebone black 并尝试使用 USB 连接它。正如我所读到的那样,它预装了运行在 192.168.7.2 的 Linux Distro,我们可以使用 ssh 访问它。但我无
我们目前正在为 BeagleBone Black 开发一个应用程序(使用标准的 Angstrom 发行版)。它在 GDB(由 Netbeans 远程控制)下运行了一段时间(5-10 分钟),但在某个相
Arial Black网路安全吗? 我已经读过它,但是当我将其放入字体声明中时,就得到了Times New Roman的支持。 有人知道为什么吗? 最佳答案 根据代码样式字体调查(实际上可能是最好的估
假设你有一个 red-black tree这是一个有效的 binary search tree并且不违反任何这些规则: 节点是红色或黑色。 根是黑色的。 所有叶子 (NIL) 都是黑色的。 每个红色节
我想在 Jenkins 共享库中实现黑色扫描仪。这个想法是,当库看到 pyproject.toml 时,它将执行黑色检查。该命令设置为 black --check ./ 。这将为所有项目设置一次,因此
我想在 3D 绘画工具上构建撤消/重做功能。每次绘制后我将纹理存储在一个数组中,如下所示: var image3 = mesh.material.map.image;
所以我有一个红黑树如下: 2 = Root Black Children = 1 (Black/Left), 4 (Red/Right) Children of 1 = NIL & NIL => He
我不太确定如何解决。所以我正在编程 blackJack 并且我有我的函数声明(如图所示),对于我的 add_card_to_hand 函数,我不知道该怎么做。我有 2 个参数,一手牌是我通过引用传递的
这个问题在这里已经有了答案: Disable Visual Studio 2015 extra debug option (5 个答案) 关闭 6 年前。 因此,每当我尝试在 Visual Stud
自动视差 AndEngine给出黑屏。 public class MainActivity extends SimpleBaseGameActivity { static final int
我是一名优秀的程序员,十分优秀!