我正试图在我的Beagleboard-xm rev上运行一个'hello world'类型的程序.C,通过puts从程序集中调用C 函数.
到目前为止,我一直在使用它作为参考:http://wiki.osdev.org/ARM_Beagleboard
这是我到目前为止所拥有的,但没有输出.
你好ç
volatile unsigned int * const UART3DR = (unsigned int *)0x49020000;
void puts(const char *s) {
while(*s != '\0') {
*UART3DR = (unsigned int)(*s);
s++;
}
}
void hello() {
puts("Hello, Beagleboard!\n");
}
Run Code Online (Sandbox Code Playgroud)
boot.asm
.global start
start:
ldr sp, =stack_bottom
bl hello
b .
Run Code Online (Sandbox Code Playgroud)
linker.ld
ENTRY(start)
MEMORY
{
ram : ORIGIN = 0x80200000, LENGTH = 0x10000
}
SECTIONS
{
.hello : { hello.o(.text) } > ram
.text : { …Run Code Online (Sandbox Code Playgroud) 我正在使用gpio中断.我在"/ sys/class/gpio/gpio38/value"中有一个文件.我想在属性值发生变化时发出通知.那么我怎样才能在用户空间中实现这一目标.由于我已经收集了信息,我可以使用select(),poll()或epoll().那么这个应用哪个是正确的?或者请建议我,如果我可以使用/ proc/irq或其他东西.谢谢 :)
我有一个BeagleBone Black rev 0A5A.我已经在OSX.8,Linux Mint 13和Windows 7中显示它作为串行适配器和网络适配器.在Windows下我只看到一个com端口,而且那个没有发回任何东西.在osx和linux下,我看到了许多端口.他们中的一些人没有回应(比如窗户),有些人根据屏幕忙.在任何操作系统下,在终端或门口使用ssh,我总是得到ssh_exchange_identification: Connection closed by remote host.我没有microHDMI到HDMI适配器.我如何访问这个东西?
PS:我可以通过驱动程序等和普通的Web界面访问USB存储器.我可以访问第一门,它只是不起作用.
我想实现一些旨在在beagleboard上运行的图像处理算法.这些算法广泛使用卷积.我正在尝试为2D卷积找到一个好的C实现(可能使用快速傅立叶变换).我还希望算法能够在beagleboard的DSP上运行,因为我听说DSP针对这些类型的操作进行了优化(使用乘法累加指令).
我没有该领域的背景,所以我认为自己实施卷积不是一个好主意(我可能不会像了解其背后的所有数学一样好).我相信DSP的一个很好的C卷积实现存在于某个地方,但我找不到它?
有人可以帮忙吗?
编辑:原来内核很小.其尺寸为2X2或3X3.所以我想我不是在寻找基于FFT的实现.我正在网上搜索卷积来查看它的定义,所以我可以直接实现它(我真的不知道卷积是什么).我发现的所有东西都是乘法积分,我不知道如何用矩阵来做.有人可以给我一段2X2内核案例的代码(或伪代码)吗?
我想知道你如何在裸机系统(ARM Cortex a8)上分析软件?以前我使用的是具有内置基准统计数据的模拟器,现在我想比较真实硬件的结果(在BeagleBoard-Xm上运行).
我知道你可以使用gprof,但是我有点迷失,因为假设你必须在目标系统上运行Linux?
我使用Codesourcery的arm-none-eabi交叉编译器构建可执行文件,目标系统正在运行FreeRTOS.
在嵌入式设备(如Arduino Mega,Beagle Board或带有微处理器或DSP芯片的定制板)中运行以ChucK,Pure Data,Csound,Supercollider等音频合成/分析语言编写的程序的经验是什么?
我想知道您选择的语言和硬件以及原因.有什么障碍等等?我的目标是运行程序,音乐家/制作人可以在不太昂贵的电路板上轻松编程.
我收到了一个在Beagle Board上成功运行ChucK程序的人的意见(运行ChucK的Beagle Board上的Ubuntu Linux),但他的语言和硬件选择非常简单,他的设置不是在Beagle Board中使用DSP而是运行整个Linux安装来处理音频信号似乎有些过分.
任何输入都表示赞赏!
更新:我发现Zengarden是一个Pd运行时实现(作为一个独立的C++库),并且在基于ARM的设备上运行良好.现在,我将选择BeagleBoard和Zengarden,但在项目的后期阶段,我需要用更低成本的东西替换BeagleBoard.
我很想听到社区的更多意见.
我正在尝试使用Angstrom Linux在我的BeagleBone上找到默认的Web服务器目录.也就是说,当我去的时候服务的文件在哪里:
http://beaglebone.local:80
Run Code Online (Sandbox Code Playgroud)
另一种方法是回答这个问题:如何在Angstrom Linux的BeagleBone上找到端口号指向的目录?
我最近在BeagleBone嵌入式ARM设备上安装了Mono,希望通过USB连接Kinnect传感器并用C#/ Mono控制它
我想知道,Mono(我使用的是MonoDevelop,但我想这个问题也适用于VS)允许你在本地开发,然后针对远程目标调试代码?如果是这样,怎么能实现呢?
我听说软调试器可能就是我需要的东西但是在配置中查看并查看文档之后我找不到我需要的内容....
谢谢!
我正在BeagleBone上运行Ubuntu 11.10,并将Edimax EW-7711UAn wifi适配器插入USB端口.我配置了/ etc/network/interfaces和wifi工作,但是:
启动设备时,wlan0接口并不总是出现.它成功地进行了三次尝试.
界面有时会再次下降,尤其是暂时不使用时.
/ etc/network/interfaces文件包括:
auto wlan0
iface wlan0 inet dhcp
wpa-driver wext
wpa-ssid "Bodoni"
wpa-psk "<mypassword>"
Run Code Online (Sandbox Code Playgroud)
为了尝试解决第1点,我在/etc/rc.local中添加了以下内容:
nohup sh -c "ifdown wlan0 && ifup wlan0"
Run Code Online (Sandbox Code Playgroud)
但它似乎没有多大帮助.我猜第二个问题可能与电源管理有关,所以我可能会尝试在/etc/rc.local中关闭它.
但有没有人有任何想法如何让wifi在启动时可靠地出现?我正在运行没有以太网的BeagleBone无头(它在机器人上)所以重要的是我修复了这个!
仅供参考,我正在使用默认驱动程序 - lsmod给出:
Module Size Used by
aes_generic 27837 2
arc4 1111 2
rt2800usb 12386 0
rt2800lib 45146 1 rt2800usb
crc_ccitt 1457 1 rt2800lib
rt2x00usb 10595 1 rt2800usb
rt2x00lib 39077 3 rt2800usb,rt2800lib,rt2x00usb
mac80211 228509 3 rt2800lib,rt2x00usb,rt2x00lib
cfg80211 167722 2 rt2x00lib,mac80211
rfkill 16703 1 cfg80211
binfmt_misc 6224 1
spidev …Run Code Online (Sandbox Code Playgroud) 我需要在运行Ubuntu 12.04的BeagleBoard xM rev C上运行一个使用ftd2xx的程序.我正在尝试使用此处提供的ARM库libftd2xx.so .libFTDI不是一个选项.
我注意到的区别来自于运行readelf -hAlibftd2xx.so与BeagleBoard上的其他库有效.特定于arch的部分为ftd2xx提供操作系统名称为"ARM926EF-S",而为其他库提供操作系统名称为"7-A",为"v5TEJ"而不是"v7"提供CPU_arch.
我假设这意味着该库适用于ARM v5指令集,而BeagleBoard运行ARM v7.有没有办法让ftd2xx工作?
编辑:我被告知ARM7向后兼容ARM5,但这并不能解决我的问题.
另外需要注意的是,ldd libftd2xx.so在BeagleBoard上运行不会列出依赖项,而是打印出来not a dynamic executable,而它可以在其他库上运行.
编辑2:
这个问题似乎与软性和硬性ABI有关.我在BeagleBoard xM上有一张gnueabihf图像.当我尝试使用静态libftd2xx.a编译示例程序时,我得到了很多这样的:
/usr/bin/ld: error: static_link_uses VFP register arguments, libftd2xx.a(file.o) does not
/usr/bin/ld: failed to merge target specific data of file libftd2xx.a(file.o)
如果我尝试用mfloat-abi=soft或编译mfloatabi=softfp,我得到
In file included from /usr/include/stdio.h:28:0,
from main.c:12:
/usr/include/features.h:324:26 fatal error: bits/predef.h: No such file or directory
compilation terminated
我也试图用arm-linux-gnueabi而不是交叉编译arm-linux-gnueabihf,但生成的程序不能在BeagleBoard上执行.有什么我可以做或不可能吗?
---------解决方案----------------
经过一些麻烦后,FTDI为我提供了他们的库的硬浮版本.很多人单独要求后,我在这里提供:
beagleboard ×10
arm ×4
c ×4
linux ×2
architecture ×1
arduino ×1
audio ×1
bare-metal ×1
chuck ×1
convolution ×1
debugging ×1
embedded ×1
epoll ×1
fft ×1
mono ×1
monodevelop ×1
networking ×1
omap ×1
port ×1
profiling ×1
webserver ×1
wifi ×1