树莓派的各版本具体参数,树莓派3b支持DirectX 9.0吗?想用wine跑点游戏

好评返现 2 0

大家好,今天小编在百度知道关注到一个比较有意思的话题,就是关于树莓派3b 参数的问题,于是小编就整理了2个相关介绍树莓派3b 参数的解答,让我们一起看看吧。

树莓派的各版本具体参数,树莓派3b支持DirectX 9.0吗?想用wine跑点游戏

文章目录:

  1. 树莓派的各版本具体参数
  2. 树莓派3b支持DirectX 9.0吗?想用wine跑点游戏

一、树莓派的各版本具体参数

树莓派早期有A和B两个型号,主要区别:A型:1个USB、无有线网络接口、功率2.5W,500mA、256MB RAM;B型:2个USB、支持有线网络、功率3.5W,700mA、512MB RAM。

2014年7月和11月树莓派分别推出B+和A+两个型号 ,主要区别:Model A没有网络接口,将4个USB端口缩小到1个。另外,相对于Model B来讲,Model A内存容量有所缩小,并具备了更小的尺寸设计。Model A可以说是Model B廉价版本。虽说是廉价版本,但新型号Model A也支持同Model B一样的MicroSD卡读卡器、40-pin的GPI连接端口、博通BCM2385 ARM11处理器、256MB的内存和HDMI输出端口。

从配置上来说,model B+使用了和model B相同的BCM2835芯片和512MB内存,但和前代产品相比较,B+版本的功耗更低,接口也更丰富。model B+将通用输入输出引脚增加到了40个,USB接口也从B版本的2个增加到了4个,除此之外,model B+的功耗降低了约0.5W到1W,旧款的SD卡插槽被换成了更美观的推入式microSD卡槽,音频部分则采用了低噪供电。从外形上来看,USB接口被移到了主板的一边,复合视频移到了3.5mm音频口的位置,此外还增加了四个独立的安装孔。 树莓派A型内置256MB内存,带一个USB端口,不带有线网接口。

树莓派B型内置512MB内存,带两个USB端口,带100M有线网接口。

注:在2012年10月15日前发售的B型机器内存为256MB。 2014年7月,“树莓派B+”版本发布,依然采用 BCM2835 处理器以及和上一代树莓派相同的系统软件。内存也依然是512MB;但是在以下几处关键部件做了改进:

● 更多的 GPIO 针脚,40针!(老版本是26针)

● 更多的USB接口,比老版本多2个,4个!并且对热插拔和过流保护做了改良。

● 用Micro SD插口替换了老的SD插口。

● 更低的功耗,降低了功耗0.5~1W。

● 音频优化,音频电路采用了专用的低噪音电源。

● 更简洁的外形,B+版本将USB接口和电路板边沿对齐了、移除AV接口,并在主板上做了4个固定孔,方便固定。 ● CPU 单线程速率为提升 1.5 倍(up by 1.5x)

● Sunspider 跑分提升 4 倍(4x faster)

● 基于 NEON 的多核视频解码速率提升 20 倍(20x faster)

● SysBench 整体多线程 CPU 分数为旧版的 6 倍(6x) ● 搭载900MHz 的四核处理器(900MHz quad-core ARM Cortex-A7 CPU ),预计性能6倍于之前的B+版本。

● 1GB LPDDR2 SDRAM,2倍于之前的B+版本。

● 与1代完全兼容。

由于CPU已经升级到 ARM Cortex-A7 系,所以树莓派2将支持运行全系列的 ARM GNU/Linux 发行版。包括 Ubuntu 甚至 微软的 Windows 10。 2016年2月,“树莓派3B版本发布。

● 搭载1.2GHz 的64位四核处理器(ARM Cortex-A53 1.2GHz 64-bit quad-core ARMv8 CPU)。

● 增加802.11 b/g/n无线网卡。

● 增加低功耗蓝牙4.1适配器。

● 最大驱动电流增加至2.5A。

二、树莓派3b支持DirectX 9.0吗?想用wine跑点游戏

Stage 1:寻找消失的指令集

对比加载新内核前后树莓派3B上执行lscpu的输出:

Before:Architecture:          armv7l

...Flags:                 half thumb fastmult vfp edsp neon vfpv3 tls vfpv4 idiva idivt vfpd32 lpae evtstrm crc32After:Architecture:          aarch64

...Flags:                 fp asimd evtstrm crc32

显然,有许多指令集莫名消失。

笔者使用的aarch-linux-gnu-工具链:

$ aarch64-linux-gnu-gcc -v

Using built-in specs.

COLLECT_GCC=aarch64-linux-gnu-gcc

COLLECT_LTO_WRAPPER=/usr/lib/gcc-cross/aarch64-linux-gnu/6/lto-wrapperTarget: aarch64-linux-gnu

Configured with: ../src/configure -v --with-pkgversion='Debian 6.3.0-18' --with-bugurl=file:///usr/share/doc/gcc-6/README.Bugs --enable-languages=c,ada,c++,java,go,d,fortran,objc,obj-c++ --prefix=/usr --program-suffix=-6 --enable-shared --enable-linker-build-id --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --libdir=/usr/lib --enable-nls --with-sysroot=/ --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --with-default-libstdcxx-abi=new --enable-gnu-unique-object --disable-libquadmath --enable-plugin --enable-default-pie --with-system-zlib --disable-browser-plugin --enable-java-awt=gtk --enable-gtk-cairo --with-java-home=/usr/lib/jvm/java-1.5.0-gcj-6-arm64-cross/jre --enable-java-home --with-jvm-root-dir=/usr/lib/jvm/java-1.5.0-gcj-6-arm64-cross --with-jvm-jar-dir=/usr/lib/jvm-exports/java-1.5.0-gcj-6-arm64-cross --with-arch-directory=aarch64 --with-ecj-jar=/usr/share/java/eclipse-ecj.jar --disable-libgcj --enable-multiarch --enable-fix-cortex-a53-843419 --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=aarch64-linux-gnu --program-prefix=aarch64-linux-gnu- --includedir=/usr/aarch64-linux-gnu/includeThread model: posix

gcc version 6.3.0 20170516 (Debian 6.3.0-18)

笔者遂使用crosstool-ng制作编译工具链,并惊喜地发现:

$ ls /opt/crosstool-ng/samples/aarch64-rpi3-linux-gnueabi

...

crosstool-ng-1.23.0-75-ga9f8a8e6中已添加针对树莓派3的支持。

于是笔者开始制作工具链。

选中了linaro分支的gcc。

并按照与前文相似的方法编译内核,然而没有效果,指令集仍未被识别。

后来笔者查阅资料后发现,aarch64是一套全新的指令集,asimd代替了neon。

Stage 2:使用debootstrap制作64位组件

尽管内核工作于64位模式,但系统大多数组件仍旧处于32位模式下。

我们的目标是引入Debian 9 arm64,自然会想到使用debootstrap。

在树莓派上,给一张SD卡分两个区:

  • 一个在前面,大小100M左右,使用mkfs.vfat,类型为W95 FAT32

  • 一个占用后面所有的空间,视/boot/cmdline.txt中rootfstype的设置选择分区格式

  • 然后开干:

    sudo debootstrap --verbose --arch=arm64 stretch .

    编辑sources.list:

  • deb stretch maindeb jessie main non-free contrib
  • apt.conf:

    APT::Default-Release "stretch";

    Chroot和之前的准备工作:

  • sudo mount -t proc proc procsudo mount -t sysfs sysfs syssudo mount -o bind /dev devsudo chroot .
  • 视具体情况安装软件包。

  • apt install hostapd wpasupplicant udhcpd screen dnsmasq sudo openssh-server firmware-brcm80211 ...
  • firmware-brcm80211:使系统识别树莓派3板载网卡

  • hostapd,udhcpd,dnsmasq:启动AP必备

  • wpasupplicant:用于连接Wifi热点

  • openssh-server:SSH服务器

  • sudo,screen:这两个想必大家都听说过吧……

  • 退出Chroot环境,复制配置文件及其它核心组件,例如:

  • /boot/lib/modules/etc/passwd/etc/shadow/etc/sudoers/etc/hostapd/etc/default/etc/udhcpd.conf/etc/udev//etc/dnsmasq.conf
  • etc...
  • 注:笔者实际上把整个(除了/etc)64位根文件系统覆盖到了树莓派启动的SD卡上。

    成功启动。

    但是有烦人的提示:

    ERROR: ld.so: object '/usr/lib/arm-linux-gnueabihf/libarmmem.so' from /etc/ld.so.preload cannot be preloaded (wrong ELF class: ELFCLASS32): ignored.

    解决方案显而易见:

  • sudo mv /etc/ld.so.preload /etc/ld.so.preload.bak
  • sudo touch /etc/ld.so.preload
  • 如果你使用了一张新的SD卡,记得编辑/etc/fstab!

    Stage 3:站稳脚跟

    *执行apt-get update,提示:

  • Ign:1 stretch InRelease
  • Get:2 jessie InRelease [22.9 kB]
  • Hit:2 jessie InRelease
  • Get:3 stretch Release [113 kB]
  • Hit:3 stretch ReleaseCan't locate Storable.pm in @INC (you may need to install the Storable module) (@INC contains: /etc/perl /usr/local/lib/aarch64-linux-gnu/perl/5.24.1 /usr/local/share/perl/5.24.1 /usr/lib/aarch64-linux-gnu/perl5/5.24 /usr/share/perl5 /usr/lib/aarch64-linux-gnu/perl/5.24 /usr/share/perl/5.24 /usr/local/lib/site_perl /usr/lib/aarch64-linux-gnu/perl-base) at /usr/bin/apt-show-versions line 37.
  • BEGIN failed--compilation aborted at /usr/bin/apt-show-versions line 37.
  • Reading package lists... Done
  • N: Skipping acquire of configured file 'main/binary-arm64/Packages' as repository ' jessie InRelease' doesn't support architecture 'arm64'N: Skipping acquire of configured file 'non-free/binary-arm64/Packages' as repository ' jessie InRelease' doesn't support architecture 'arm64'
  • N: Skipping acquire of configured file 'contrib/binary-arm64/Packages' as repository ' jessie InRelease' doesn't support architecture 'arm64'N: Skipping acquire of configured file 'ui/binary-arm64/Packages' as repository ' jessie InRelease' doesn't support architecture 'arm64'
  • E: Problem executing scripts APT::Update::Post-Invoke-Success 'test -x /usr/bin/apt-show-versions || exit 0 ; apt-show-versions -i'
  • E: Sub-process returned an error code
  • 笔者尝试执行sudo apt-get install apt-show-versions,问题解决。

    小结

    路曼曼其修远兮,吾将上下而求索。

    目前整个系统仅仅只是能用,还有许多不完美的地方。

    更新

    4.11的内核可以使树莓派工作得更好,ACT灯和VCHI将正常工作。

    Git切换分支:git checkout rpi-4.11.y

到此,以上就是小编对于树莓派3b 参数的问题就介绍到这了,希望介绍关于树莓派3b 参数的2点解答对大家有用。