我正在使用GCC Linaro编译器来编译我的代码.它引发错误unknown type name size_t的libio.h.它包括在内stdio.h.在我的代码中,我只是包括在内stdio.h.
任何人都可以请如何解决此错误.
我有编译错误:
尝试使用-mfpu = neon标志进行编译时,无法识别的命令行选项'-mfpu = neon'*.实际上,我试过的任何'mfpu'选项都失败了.但是在文档中提到了这个标志,所以它应该是有效的
这把钥匙有什么问题?我怎么能告诉编译器使用NEON?
使用Linaro GNU aarch64 linux工具4.8.
谢谢.
在对 Yocto rocko 构建进行 bitbaking 时,我收到此错误:
WARNING: go-systemd-4+gitb4a58d95188dd092ae20072bac14cece0e67c388-r0 do_fetch: Failed to fetch URL git://github.com/coreos/go-systemd.git, attempting MIRRORS if available
ERROR: go-systemd-4+gitb4a58d95188dd092ae20072bac14cece0e67c388-r0 do_fetch: Fetcher failure: Unable to find revision b4a58d95188dd092ae20072bac14cece0e67c388 in branch master even from upstream
ERROR: go-systemd-4+gitb4a58d95188dd092ae20072bac14cece0e67c388-r0 do_fetch: Fetcher failure for URL: 'git://github.com/coreos/go-systemd.git'. Unable to fetch URL from any source.
ERROR: go-systemd-4+gitb4a58d95188dd092ae20072bac14cece0e67c388-r0 do_fetch: Function failed: base_do_fetch
ERROR: Logfile of failure stored in: /home/ubu/build/build-rpb/tmp-rpb-glibc/work/aarch64-linaro-linux/go-systemd/4+gitb4a58d95188dd092ae20072bac14cece0e67c388-r0/temp/log.do_fetch.3021
ERROR: Task (/home/ubu/build/build-rpb/conf/../../layers/meta-virtualization/recipes-devtools/go/go-systemd_git.bb:do_fetch) failed with exit code '1'
Run Code Online (Sandbox Code Playgroud)
go-systemd_git.bb 文件:
DESCRIPTION = "Go bindings to systemd socket activation, …Run Code Online (Sandbox Code Playgroud) 我无法让CMake找到带有Linaro ARM工具链的线程(我尝试了几种不同的工具).这就是我所做的:
/opt.~/sysroot我创建了一个Toolchain-Linaro-arm.cmake文件,如下所示:
set (CMAKE_SYSTEM_NAME Linux)
include (CMakeForceCompiler)
set (TOOLCHAIN_BASE "/opt/gcc-linaro-4.9-2015.05-x86_64_arm-linux-gnueabihf/")
set (CMAKE_SYSTEM_PROCESSOR armhf-cortexa9)
CMAKE_FORCE_C_COMPILER("${TOOLCHAIN_BASE}/bin/arm-linux-gnueabihf-gcc" GNU)
CMAKE_FORCE_CXX_COMPILER("${TOOLCHAIN_BASE}/bin/arm-linux-gnueabihf-g++" GNU)
set (CMAKE_FIND_ROOT_PATH ${CMAKE_FIND_ROOT_PATH} /home/user/sysroot)
set (CMAKE_SIZEOF_VOID_P 4)
set (CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
set (CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY)
set (CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)
set (CMAKE_FIND_ROOT_PATH_MODE_PACKAGE ONLY)
Run Code Online (Sandbox Code Playgroud)
我创建了一个使用线程的最小示例项目:
~/threadstest $ ls
CMakeLists.txt main.cpp
~/threadstest $ cat CMakeLists.txt
cmake_minimum_required(VERSION 3.0.0)
project(threads_test)
add_executable(test main.cpp)
find_package(Threads REQUIRED)
target_link_libraries(test, ${CMAKE_THREAD_LIBS_INIT})
~/threadstest $ cat main.cpp
int main() { }
~/threadstest $ mkdir build; cd build
~/threadstest/build …Run Code Online (Sandbox Code Playgroud) 我想模仿BeagleBone Black.似乎QEMU是唯一支持ARM的Linux仿真的仿真器.但是我很难获得正确的模拟器.
我尝试使用qemu.org中的QEMU构建但似乎不支持机器"beagle"(也来自"qemu-system-arm -machine help"的输出并不是最小的beagle作为支持的机器).我发现一些帖子说Linaro有一个支持BeagleBone的qemu版本,并且可以在Ubuntu上使用apt-get安装它.还有一个youtube视频,其中包含说明:
https://www.youtube.com/watch?v=__6XmxOrL3o
然而,似乎指令不再有效.我有Ubuntu 14.04.我尝试了以下方法:
1)sudo add-apt-repository ppa:linaro-maintainers/tools
这超时并报告错误的PPA格式错误.
2)然后我按照这里的说明:
https://wiki.linaro.org/Platform/Systems/Repository
但是,添加这些存储库后,没有添加qemu,所以在我的apt存储库中,我只有来自qemu.org的qemu(不支持beaglebone)
3)然后我找到了这个页面:
https://launchpad.net/~linaro-maintainers/+archive/ubuntu/tools
所以我尝试了以下内容:
sudo add-apt-repository http://ppa.launchpad.net/linaro-maintainers/tools/ubuntu
然后还使用"sudo apt-key add"命令下载并添加了公钥.
这似乎是在做了"sudo apt-get update"和"apt-cache show qemu-system"之后我看到了以下内容:
包:qemu-system来源:qemu-linaro版本:2.2.0~rc3 + git8 + gdb12451-63linaro + trusty架构:amd64维护者:Ubuntu开发人员安装大小:133812取决于:qemu-linaro-keymaps,libasound2(> = 1.0 .16),libbluetooth3(> = 4.91),libbrlapi0.6,libc6(> = 2.15),libcurl3-gnutls(> = 7.16.3),libfdt1,libgcc1(> = 1:4.7),libgl1-mesa-glx | libgl1,libglib2.0-0(> = 2.24.0),libgnutls26(> = 2.12.17-0),libncurses5(> = 5.5-5~),libpixman-1-0(> = 0.15.16),libpng12 -0(> = 1.2.13-4),libpulse0(> = 1:0.99.1),libsasl2-2(> = 2.1.24),libsdl1.2debian(> = 1.2.11),libstdc ++ 6( > = 4.6),libtinfo5,libuuid1(> = 2.16),libvdeplug2,libx11-6,zlib1g(> = 1:1.2.0)建议:samba Breaks:qemu(<< 0.11.0-2),qemu-kvm-临时演员(<< 0.13.50-2011.02-0~rc1-0ubuntu1)取代:qemu(<< 0.11.0-2),qemu-kvm-extras(<< 0.13.50-2011.02-0~rc1-0ubuntu1) …
例如,我怎样才能使用以下方法编译我的图像:
GCC-Linaro的-ARM-Linux的gnueabihf-4.7-2013.03-20130313_linux
?
core-image-sato与工具链有什么关系(它们与Yocto一起提供)?我不明白......
我正在开发一个实时计算机视觉项目,该项目在带有ARM CPU(Snapdragon 800)的Ubuntu(Linaro)板上运行.
该软件的某些部分在高清图像上运行,数据量巨大.这会降低执行速度并成为瓶颈.
这些操作包括:
我正在寻找利用可用的Adreno 330 GPU的方法,并加速这些计算.
我在看OpenCL,但我发现Adreno 330只支持它作为"嵌入式配置文件",我不知道它是什么,以及它如何影响事物.
我也听说过ARM处理器中的NEON,但我不知道它对我有什么用处.
任何帮助,提示和链接将不胜感激.
谢谢,
阿维
要在Ubuntu 14.04中为Beagleboard设置qemu,我按照以下链接中给出的步骤操作:
http://www.cnx-software.com/2011/09/26/beagleboard-emulator-in-ubuntu-with-qemu/
当我尝试通过命令在qemu中运行ALIP映像时:
sudo qemu-system-arm -M beagle -m 256 -drive file=./beagle_sd_alip_x11.img,if=sd,cache=writeback -clock unix -serial stdio -device usb-kbd -device usb-mouse
Run Code Online (Sandbox Code Playgroud)
我收到以下错误:
qemu-system-arm: -M beagle: Unsupported machine type
Use -machine help to list supported machines!
Run Code Online (Sandbox Code Playgroud)
我该如何解决这个错误?
PS:
我用来aarch64-linux-gnu-objdump反汇编 ARM v8 程序的一部分。它适用于 V8 64 位指令,但当模式更改为 V7 指令集(A32)时会失败 - 代码以 V8 指令集开始,切换到 A32(AArch32 执行状态),然后切换到T32拇指指令集。如何反汇编A32和T32指令?当模式切换时,我是否需要将代码分解为多个部分,以便我有单独的指令模式块?
如有任何帮助,我们将不胜感激
好的,首先是下面的代码:
int recvMast_sock;
struct sockaddr_in serv_addr, cli_addr;
socklen_t cli_len;
if ((recvMast_sock = socket(AF_INET, SOCK_DGRAM, 0)) == -1)
{
critErr("listen:socket=");
}
fillSockaddrAny(&serv_addr, UDP_NODE_LISTEN_PORT);// fills the sockaddr_in works fine elsewhere
if ((bind(recvMast_sock, (struct sockaddr*) &serv_addr, sizeof serv_addr)) < 0)
{
critErr("listen:bind recv_mast_sock:");
}
recvReturn_i = recvfrom(recvMast_sock, &recvBuff[0], (size_t)1, 0, (struct sockaddr*) &cli_addr, &cli_len);
if(recvReturn_i <0)
printf("recv error%d\n",errno);
Run Code Online (Sandbox Code Playgroud)
critErr是处理错误的函数,还包括错误的打印和exit。
如果有关联,它将在线程中运行。如果我在具有ARM Cortex A9和Linaro Linux(基于精确Ubuntu)的Zedboard(ZYNQ-7000 SoC)上编译并运行它。它显示错误,22但仍具有的接收值recvBuff[0]。
使用xubuntu在我的VM中运行它可以正常工作。
错误22等于EINVAL被描述为无效参数。
在recvfrom(2)它的手册页中,状态EINVAL表示MSG_OOB …