在我的大学里,我们正在接受COBOL的教学,在我明年上课之前,我正在努力学习COBOL,C++和Java.
问题是; COBOL 太旧了,很难在mac中获得支持(我的笔记本电脑是mac).我知道它在Mac上运行良好,但是找到一个可以解释如何设置编译器的人是另一个故事.
尝试在 Ubuntu 虚拟机上为 arm 平台编译 Linux 内核
$make ARCH=arm CROSS_COMPILE=arm-none-linux-gnueabi-
Run Code Online (Sandbox Code Playgroud)
它失败如下
arm-none-linux-gnueabi-gcc: not found
Run Code Online (Sandbox Code Playgroud)
尝试安装
$sudo apt-get install arm-none-linux-gnueabi-gcc
E: unable to locate package arm-none-linux-gnueabi-gcc
Run Code Online (Sandbox Code Playgroud)
在哪里可以找到正确的包?如何将其包含在系统中?(我在网上找到了几个对我不起作用的链接)。如果您能提供正确的解决方案或参考,那就太好了。
我正处于在BeagleBone Black上开发无人机飞行控制器的(非常)早期阶段.我要提到的是,对于BBB,Linux和嵌入式系统,我是一个新手.我的学术重点一直是控制理论 - 这是我在Matlab仿真之外的第一次实际实现.我目前的系统如下:
主机 - > Windows 8.1 x64运行Eclipse Luna(4.4.0)
目标 - > BeagleBone Black rev.B运行Ubuntu 13.10
目标信息
root@arm:~# uname -a
Linux arm 3.8.13-bone32 #1 SMP Fri Dec 13 20:05:25 UTC 2013 armv7l armv7l armv7l GNU/Linux
Run Code Online (Sandbox Code Playgroud)
目标gcc版本
Using built-in specs.
COLLECT_GCC=gcc
COLLECT_LTO_WRAPPER=/usr/lib/gcc/arm-linux-gnueabihf/4.8/lto-wrapper
Target: arm-linux-gnueabihf
Configured with: ../src/configure -v --with-pkgversion='Ubuntu/Linaro 4.8.1-10ubuntu9' --with-bugurl=file:///usr/shar
e/doc/gcc-4.8/README.Bugs --enable-languages=c,c++,java,go,d,fortran,objc,obj-c++ --prefix=/usr --program-suffix=-4.8
--enable-shared --enable-linker-build-id --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --w
ith-gxx-include-dir=/usr/include/c++/4.8 --libdir=/usr/lib --enable-nls --with-sysroot=/ --enable-clocale=gnu --enabl
e-libstdcxx-debug --enable-libstdcxx-time=yes --enable-gnu-unique-object --disable-libitm --disable-libquadmath --ena
ble-plugin --with-system-zlib --disable-browser-plugin --enable-java-awt=gtk --enable-gtk-cairo --with-java-home=/usr …Run Code Online (Sandbox Code Playgroud) 例如,我怎样才能使用以下方法编译我的图像:
GCC-Linaro的-ARM-Linux的gnueabihf-4.7-2013.03-20130313_linux
?
core-image-sato与工具链有什么关系(它们与Yocto一起提供)?我不明白......
在我的main.c程序中,我包含了这个库:
#include "coap_api.h"
Run Code Online (Sandbox Code Playgroud)
这也包括在内
Properties -> C/C++ Build -> Settings -> Cross ARM GNU Assembler -> Includes
和
Properties -> C/C++ Build -> Settings -> Cross ARM C Compiler -> Includes
构建项目我收到此错误:
./src/main.o: In function `main':
/Users/joanet/Development/Embedded/eclipseWS/EHAL-master/ARM/Nordic/nRF51/ipv6_coap_server/Release/../src/main.c:708: undefined reference to `coap_init'
Run Code Online (Sandbox Code Playgroud)
我在另一篇文章中读到我必须链接库(http://whatwouldnickdo.com/wordpress/328/eclipse-cdt-and-linux-libraries/)
我试图添加名称的库,coap_api但我不工作
lib/gcc/arm-none-eabi/4.9.3/../../../../arm-none-eabi/bin/ld: cannot find -lcoap_api
Run Code Online (Sandbox Code Playgroud)
在编译中包含coap目录:
arm-none-eabi-gcc -mcpu=cortex-m0 -mthumb -Os -fmessage-length=0 -fsigned-char -ffunction-sections -fdata-sections -Wall -g -DBLE_STACK_SUPPORT_REQD -DNRF51 -D__CORTEX_M0 -DBOARD_PCA10028 -DSOFTDEVICE_PRESENT -DS110 -I/Users/nullpointer/Development/Embedded/eclipseWS/EHAL-master-Hoan/ARM/Nordic/nRF51/ipv6_coap_server/bsp -I/Users/nullpointer/Development/Embedded/eclipseWS/EHAL-master-Hoan/ARM/Nordic/nRF51/nrf51_sdk/components/iot/ipv6_stack/pbuffer -I"/Users/nullpointer/Development/Embedded/eclipseWS/EHAL-master-Hoan/ARM/Nordic/nRF51/nrf51_sdk/components/libraries/util/" -I"/Users/nullpointer/Development/Embedded/eclipseWS/EHAL-master-Hoan/ARM/Nordic/nRF51/nrf51_sdk/components/drivers_nrf/hal/" -I"/Users/nullpointer/Development/Embedded/eclipseWS/EHAL-master-Hoan/ARM/Nordic/nRF51/../../../ARM/CMSIS/CMSIS/Include/" -I"/Users/nullpointer/Development/Embedded/eclipseWS/EHAL-master-Hoan/ARM/Nordic/nRF51/../../../ARM/Nordic/nRF51/CMSIS/include/" -I"/Users/nullpointer/Development/Embedded/eclipseWS/EHAL-master-Hoan/ARM/Nordic/nRF51/nrf51_sdk/components/softdevice/s110/headers/" -I"/Users/nullpointer/Development/Embedded/eclipseWS/EHAL-master-Hoan/ARM/Nordic/nRF51/nrf51_sdk/components/ble/common/" -I"/Users/nullpointer/Development/Embedded/eclipseWS/EHAL-master-Hoan/ARM/Nordic/nRF51/nrf51_sdk/components/ble/ble_services/ble_bas/" -I"/Users/nullpointer/Development/Embedded/eclipseWS/EHAL-master-Hoan/ARM/Nordic/nRF51/nrf51_sdk/components/ble/ble_services/ble_dis/" …Run Code Online (Sandbox Code Playgroud) 我有一个由某人编译的 binutils 版本。我需要使用相同的选项重新编译一个新的 binutils。
我知道这会gcc -v打印出配置选项。那么也许有什么方法可以读取binutils?
我想在ARM芯片上启动低级编程.我已经安装QEMU和遵循的hello world类型的东西几个示例程序,但现在我要定位的最新树莓派,它具有ARMv8 cortex-a53和neon-fp-armv8FPU.我目前正在运行Debian:
$ lsb_release -a
No LSB modules are available.
Distributor ID: BunsenLabs
Description: BunsenLabs GNU/Linux 8.5 (Hydrogen)
Release: 8.5
Codename: bunsen-hydrogen
$ cat /etc/debian_version
8.5
Run Code Online (Sandbox Code Playgroud)
我目前安装了以下工具链:
binutils-arm-none-eabi
gcc-arm-none-eabi
gdb-arm-none-eabi
Run Code Online (Sandbox Code Playgroud)
但是,当我尝试编译时-mcpu=cortex-a53,我收到以下错误:
arm-none-eabi-gcc: error: unrecognized argument in option '-mcpu=cortex-a53'
$ arm-none-eabi-gcc --version
arm-none-eabi-gcc (4.8.4-1+11-1) 4.8.4 20141219 (release)
Run Code Online (Sandbox Code Playgroud)
我认为我有一个更老的GCC不含有该目标的CPU,所以我试图下载的binutils,GCC和gdb的源代码,但我无法建立的binutils.尝试时总是失败make all.
binutils配置:
$../../src/binutils-2.26.51/configure \
--target=arm-none-eabi \
--disable-nls
Run Code Online (Sandbox Code Playgroud)
构建错误:
$make -j4
checking for bison... /home/nathan/development/tools/arm/src/binutils-2.26.51/missing bison -y
checking for flex... /home/nathan/development/tools/arm/src/binutils-2.26.51/missing flex
checking lex output file …Run Code Online (Sandbox Code Playgroud) 我在谷歌上搜索它并得到以下结果。
工具链是一组编程工具,用于执行复杂的>软件开发任务或创建软件产品,通常是>另一个计算机程序或一组相关程序
从上面的段落中,我了解到工具链或编译器工具链用于开发任何软件产品,例如操作系统(我不确定如果我错了请纠正)
如果是这样,我目前使用的是 Ubuntu 16.04。我发现上面预装了一个编译器工具链。但是操作系统已经完全开发了,那么在构建单独的软件产品之前,这里还需要什么工具链呢?
我需要为 Cortex-M MCU 构建一个完整的 linux 开发框架,特别是 STM32F7 Cortex-M7。首先,我必须解释一些背景信息,所以请耐心等待。
我已经下载并构建了一个带有 croostool-ng 1.24 的 gcc 工具链,指定了一个 armv7e-m 架构,其中包含仅拇指指令和 linux 4.20 作为操作系统,并且我希望输出是 FLAT 可执行文件(我认为这意味着 bFLT)。
然后我继续使用 编译 linux 内核(版本 4.20)configs/stm32_defconf,然后静态编译的 busybox rootfs,全部使用我的新工具链。
内核启动得很好,但给我一个错误和内核痛苦,并显示以下消息:
启动 init: /sbin/init 存在但无法执行(错误 -8)
和
request_module:无法处理 modprobe binfmt-464c,kmod 忙于 50 个线程
有趣的部分是最后一条消息。我的busybox可执行文件竟然是一个.ELF!Cortex-M没有 MMU,所以不可能在.ELF支持MMU 的架构上构建 linux 内核,这就是为什么找不到 (464c)"LF" 二进制加载器,没有。
所以最后,我的问题是:
我如何构建 bFLT 可执行文件以在无 MMU 的 Linux 架构上运行?我的工具链有 elf2flt,但在 crosstool-ng 中,我已经指定了无 MMU 架构和 FLAT 二进制文件,我期待直接 bFLT 输出,而不是“无用”的可执行文件。这甚至可能吗?
或者更好:是否有记录的标准程序来构建基于 Cortex-M 的完整、有效的 …
我如何解决这个问题的描述:虽然相对较新,但我在 Node.js 方面有多年经验,所以我希望能够让库工作。
安装在目录中失败了几次,当文件是 jpg 时,其中一个 mtl 文件引用了 png - 这已更改并且似乎成功。
另一个文件有
import ImageFul from './imageful';
Run Code Online (Sandbox Code Playgroud)
必须改为
import ImageFul from './imageful.jsx';
Run Code Online (Sandbox Code Playgroud)
我更改了,但这是否意味着我缺少工具链的某些部分?
主(Github)页面没有提到库或加载程序方面的任何先决条件(我必须设置和配置babel-plugin-import-glob)所以我问自己没有安装其他哪些 npm 依赖项react-planner?
无论如何,经历了一个痛苦的过程,这个包终于被编译了——但什么也没显示,并在 Chrome 控制台中给出了这组错误:
react_devtools_backend.js:6 [BABEL] Note: The code generator has deoptimised the styling of "http://planner.appl/js/dist/main.js" as it exceeds the max of "500KB".
r @ react_devtools_backend.js:6
i @ babel.min.js:10
t @ babel.min.js:10
t.default @ babel.min.js:10
n.generate @ babel.min.js:2
n.transform @ babel.min.js:2
(anonymous) @ babel.min.js:14
n.wrap @ babel.min.js:2
e.transform @ babel.min.js:14
s @ …Run Code Online (Sandbox Code Playgroud)