Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/windows/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/rust/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
从Windows交叉编译树莓皮3 B的裸金属锈_Windows_Rust_Llvm_Cross Compiling_Raspberry Pi3 - Fatal编程技术网

从Windows交叉编译树莓皮3 B的裸金属锈

从Windows交叉编译树莓皮3 B的裸金属锈,windows,rust,llvm,cross-compiling,raspberry-pi3,Windows,Rust,Llvm,Cross Compiling,Raspberry Pi3,我只是坐在窗户上,最近生锈了。在我看来,做这类事情的正确方法是随着生锈而频繁改变的,所以我希望Windows能够适应最新的情况 到目前为止,我所尝试的: 我安装了 我在手动交叉编译libcore时未经验证部分成功,但后来我转而使用推荐的xargo,其功能(我读到)最终将被包括在Cargo中。虽然我对其中的任何一个都不太了解,但我希望能够进入编写/运行代码的阶段,然后也许我可以更好地理解编译 使用,我能够使“aarch64”目标构建工作,以生成.o文件() 这一部分似乎证实了: $file tar

我只是坐在窗户上,最近生锈了。在我看来,做这类事情的正确方法是随着生锈而频繁改变的,所以我希望Windows能够适应最新的情况

到目前为止,我所尝试的: 我安装了

我在手动交叉编译libcore时未经验证部分成功,但后来我转而使用推荐的
xargo
,其功能(我读到)最终将被包括在Cargo中。虽然我对其中的任何一个都不太了解,但我希望能够进入编写/运行代码的阶段,然后也许我可以更好地理解编译

使用,我能够使“aarch64”目标构建工作,以生成.o文件()

这一部分似乎证实了:

$file target/aarch64-raspi3-none-elf/release/deps/rust_rasp-ed0c2377e0a7df81.o
target/aarch64-raspi3-none-elf/release/deps/rust_-rasp-ed0c2377e0a7df81.o:elf 64位LSB可重定位,ARM aarch64,版本1(SYSV),未剥离
当我尝试使用链接器时,我得到:

$arm none eabi gcc-O0-mfpu=vfp-mfloat abi=hard-MARK=armv6zk-mtune=arm1176jzf-s-nostartfiles目标/aarch64-raspi3-none-elf/release/deps/rust_-rasp-ed0c2377e0a7df81.o-o内核.elf目标/aarch64-raspi3-none-elf/release/deps/rust_-rasp-ed0C23777E0A7DF81.o:无法识别文件格式:无法识别文件格式
collect2.exe:错误:ld返回了1个退出状态

而且#rust IRC聊天室助手告诉我rpi3是AARC64,而不是arm,所以我需要找到一个AARC64链接器…

我想它正在工作!我学到的东西:

  • xargo
    很好
  • rpi3与rpi2的差异足以导致我在工具选择方面出现问题
  • xargo
    不关心Rustop工具链的默认设置,因为我没有要求它为我链接,它自己选择工具链
  • 我需要的是AARC64,而不是arm。为此,我使用linaro aarch64 mingw32下载、解包,并将其bin文件夹添加到我的路径中。然后aarch64工具很容易从博客中进行调整
对于希望自己这样做的人,请参见。没那么复杂

我的目标是闪烁车载活动指示灯,以确认我们确实拥有控制权,但这在rpi3上看起来有点复杂(如果仍然适用,请参阅我的自述)