社区导航

 
快捷导航
  • 首页
  • 论坛
  • 查看新帖
  • 最新回复
  • 社区活动
  • 联系管理员
  • 消灭零回复
  • E金币兑换
  • 干货
搜索
查看: 5869|回复: 21

[原创] 树莓派[Raspberry Pi 2 Model B]测评(二)——树莓派2B的硬实力

[复制链接]

1415

TA的帖子

2

TA的资源

纯净的硅(高级)

Rank: 6Rank: 6

发表于 2015-7-28 09:26:45 | 显示全部楼层 |阅读模式
        树莓派2B以它的教育专注赢得了拆摸Boy的尊重。可惜的是拆摸Boy已经过了教育阶段,拆摸重点自然应放在树莓派专注的另一个目的“创新”上。
        “创新”本身是一个无法量化评测的社会属性,能评测评价的只好做眼在适合“创新”的政策、机制、措施、手段等内容,称之为“环境”吧,这恰恰是硅谷和中国大大小小孵化园之间可以深度探讨的社会话题。《创业的国度:以色列经济奇迹的启示》这本书感兴趣的朋友可以翻翻。围绕树莓派2B的微观环境到底适不适合创新,拆摸Boy也不得而知,毕竟,我也身处嘴上创新的边界线内。给想了解更多关于创新的朋友推荐一本书《创造力:心流与创新心理学》。
        那么,这里我们就一起来拆解树莓派2B的“环境”实力好了。拆摸Boy以自己有限的眼界来看这些“环境”关于“计算”和“控制”的支持。

一、CPU
        RPi2B搭配的是一颗博通的BCM2836 SOC(有趣的是,本文成文时,博通已经被安华高收入囊中,可认为是博通没有跟上时代的“创新”而致吗?不得而知)。
1.png
                              
        从博通的官网上我们无法找到BCM2836的任何实际资料而得知,这真是一颗官方都勇于不承认的高大洋牌处理器!据说是专供树莓派2B,还要签署乱七八糟的协议,总之就是说拆摸Boy这样的爱好者是不太可能拿到详细的资料啦。
        转战到RPi官网的硬件索引提供了两份关于处理器的文档,一份是QA7_rev3.4.pdf 一份是VideoCoreIV-AG100-R.pdf,然并卵,这两份文档都不是给一般人看的。作为有一些年头的非视频处理工程师,拆摸Boy表示第一份文档看起来就没什么用,第二份文档看了也没什么用。
        还剩下什么?四核?900Mhz?DSP?超频?很可惜,这些说法大部分没有博通官方支撑。四核,900Mhz,通过系统查看:
2.png
3.png


        vcgencmd命令也看不到源代码,暗箱了。搜索引擎能找到的地方也都是各地团体自己摸索的结果,这边有一个合集
        BCM2836的DSP也没找到资料,暗箱了。
        试试编译一个linux内核。先在https://github.com/raspberrypi/linux.git clone下来,用默认配置bcmrpi_defconfig 配置内核选项之后进行编译:
4.png
5.png


        室温30度左右有空调,没有散热片的情况下:
6.png

        室温无空调的7月份,编译内核这个事使得SOC最高温度达到68摄氏度。
        上面粗略的看到这个编译过程用4个进程同时编译以充分利用soc的处理能力,总共耗时102分钟左右。一般来说make的-j参赛可以设置成核数*1.5或2,如果是4个核,可以设置成make-j6 或 make -j8 ,但是毕竟总共只有1G内存,而且SD卡的速度也不会在多核时有提升,所以拆摸Boy也就只尽量让4个核跑跑罢。后面拆摸Boy确实用8进程来尝试这一过程,得到的结果比4进程并不成直观线性:80分钟。同样的工作在拆摸Boy另一个CortexA9的4核4G SRAM的imx6机器上跑8进程,大概耗时20分钟。直觉上的强烈差异导致拆摸Boy对BCM2836计算能力低下的印象。网上有怎么跑专业benchmark的文章,从整数计算、浮点数计算、IO吞吐、memory压力等各个方面给予整体的数据支撑,不过能充分提升计算能力的DSP也被博通暗箱了。
        拆摸Boy作为一个工程师,对资料的齐全要求比较高,不太喜欢被暗箱的情况。你开放出来我不看,那是我的事,把不准某天需要了我能够有资料看;你不开放,那就是你的事,我想看都没得看。即便不开放,也可以有详细的文档描述。这颗官网上都刷不出存在感的SOC,也就不要提文档了。这样的情况下拆摸Boy便不打算花精力去做理性的性能评估。
        另一边,成本上拆摸Boy不知道这颗料现在能拿到多少,但在量的基础上,我估计其他CortexA9 四核的SOC应该同样可以做到类似的价格。
        放在2015年7月来说树莓派2B的这颗SOC,CPU的计算性上没什么突出,在高大洋的暗箱保护下整体性能显得十分鸡肋。

二、GPU
        这个SOC的GPU是博通自己家的VideoCore IV。拆摸Boy之前并没有用过博通的相关SOC,毕竟大厂不太会理会爱好者需求。这颗SOC比较颠覆认知的地方在GPU和CPU的关系,这种关系可能也成为博通不愿开放芯片资料的一个原因吧。普遍上认为GPU是CPU的协处理器,由CPU启动并初始化GPU完成后面的任务,而在这颗SOC反过来,上电首先是GPU的行为,根据/boot/下的几个txt和bin文件进行初始化,然后才把控制权交给ARM CPU,这里看起来CPU成了GPU的协处理器,博通只是把armcortex用成扩展自家的处理器,这一点从raspbain管理工具/opt/vc/bin/vcgencmd的目录和命名也可看出一些端倪,前缀是VC:VideoCore。
7.png

        vcgencmd工具用来动态修改、查询系统硬件的方方面面,具体的作用可以从截图中揣摩一二,比如temp,比如hdmi,比如clock。同样的全局修改/boot/config.txt也可以达成。RPi官网有全面的config.txt资料
        博通开放了部分GPU资料和代码,据说有团体在这上面做工作。介绍上说这个GPU支持OpenGL ES 1.1, OpenGL ES 2.0, 硬件加速 OpenVG1.1, Open EGL, OpenMAX 和1080p30 H.264 编解码,可问题是拆摸Boy不做音视频编解码,所以看了也没什么用。熟悉OpenGL ES和视频算法的同学可以在/opt/vc/lib中找到库支持。
        GPU可以用来做数值运算。VideoCoreIV-AG100-R.pdf 里面描述了一些相关汇编代码,raspbain系统里的/opt/vc/src/hello_pi/hello_fft里面用GPU实现了快速傅立叶变换,网络上也有零散的hacker材料介绍这部分内容。和完整的资料相比,显得少得可怜,拆摸Boy也不打算花太多时间做这件事,如果是我的产品,预算有限的情况下不太倾向于用这种太保守的器件。
        对拆摸Boy来说,GPU目前可以感受到的也就剩下H264的电影。这也是大家能看到的表现上树莓派2B很抢手的一点。看电影似乎只能通过omxplayer进行h264的硬解,估计和VideoCore的保守与硬件严重相关而不能通用化 导致社区不太有动力进行相关工作。
        装载字幕需要有中文环境和中文字体,同时需要确认音频编码要么可以被VideoCore硬解,要么可以直接传递给HDMI TV由TV进行音频解码。得益于拆摸Boy 32G 的Class10 SD卡,卡里保存了一部h264编码的沃卓斯基兄弟电影《木星上行》。那美丽的女主,令拆摸Boy把该电影放在硬盘里念念不删,拆摸Boy的地盘,有特权给女神来个特写吧:
8.png


        关于影片的一些编码信息:
9.png
10.png


        用omxplayer通过hdmi播放
11.png
12.png


        硬解H264确实如想象中给力,动态画面渲染丰富、亮度变化强烈的地方一点也不拖尾,看着很是流畅。查看cpu占用,平均98%的空闲,显示出CPU工作很轻松,一点也不烫:
13.png
14.png


        omxplayer不足之处在中文字幕的编码有时候会报错退出,对视频文件的纠错兼容性不强,错了就闪退掉。
        VideoCore确实不错啊,很不错啊,可惜拆摸Boy无法深度拆摸,一半原因是资料太少,一半原因是拆摸Boy不太了解GPU和视频处理的相关工作。那就不多评价吧。
        根据一些描述来看,感觉(没有辅佐的确实资料)BCM2836很多计算能力并没有对“创新”者开放——要么封闭,或友好的开放——要么只有简单的叙述性材料,除了4颗arm cortex v7内核外,还有2颗GPU,1颗DSP,从比例上说3/7,小一半更强大的计算能力没能为“创新”营造很好的环境,不能不说是很大的遗憾。

三、接口
         BCM2836 据说有常用的GPIO,USB,I2S,I2C,SPI,UART等外设,还有CSI摄像头和DSI显示接口,确实没找到数据手册,只好按照BCM2835来类比,想来外设配置不会差到哪里去。
        有就好,raspbian社区已经把各种驱动都做好了。不过之前需要开启CSI,I2C,SPI外设的支持,要么自己编辑/etc/下的配置文件,要么用raspi-config。
        启动信息拆摸Boy也有大部分看不懂,索性贴出来看的懂的同学就自己看吧。
  1. pi@raspberrypi ~ $ dmesg
    [    0.000000]Booting Linux on physical CPU 0xf00
    [    0.000000]Initializing cgroup subsys cpuset
    [    0.000000]Initializing cgroup subsys cpu
    [    0.000000]Initializing cgroup subsys cpuacct
    [    0.000000]Linux version 4.0.9-v7+ (dc4@dc4-XPS13-9333) (gcc version 4.8.3 20140303(prerelease) (crosstool-NG linaro-1.13.1+bzr2650 - Linaro GCC 2014.03) ) #807SMP PREEMPT Fri Jul 24 15:21:02 BST 2015
    [    0.000000] CPU:ARMv7 Processor [410fc075] revision 5 (ARMv7), cr=10c5387d
    [    0.000000] CPU: PIPT / VIPT nonaliasing datacache, VIPT aliasing instruction cache
    [    0.000000]Machine model: Raspberry Pi 2 Model B Rev 1.1
    [    0.000000] cma:Reserved 8 MiB at 0x3a800000
    [    0.000000]Memory policy: Data cache writealloc
    [    0.000000] Onnode 0 totalpages: 241664
    [    0.000000]free_area_init_node: node 0, pgdat 808424c0, node_mem_map b9fa6000
    [    0.000000]   Normal zone: 2124 pages used for memmap
    [    0.000000]   Normal zone: 0 pages reserved
    [    0.000000]   Normal zone: 241664 pages, LIFO batch:31
    [    0.000000][bcm2709_smp_init_cpus] enter (8660->f3003010)
    [    0.000000][bcm2709_smp_init_cpus] ncores=4
    [    0.000000]PERCPU: Embedded 11 pages/cpu @b9f6d000 s16128 r8192 d20736 u45056
    [    0.000000]pcpu-alloc: s16128 r8192 d20736 u45056 alloc=11*4096
    [    0.000000]pcpu-alloc: [0] 0 [0] 1 [0] 2 [0] 3
    [    0.000000]Built 1 zonelists in Zone order, mobility grouping on.  Total pages: 239540
    [    0.000000]Kernel command line: dma.dmachans=0x7f35 bcm2708_fb.fbwidth=1792 bcm2708_fb.fbheight=952bcm2709.boardrev=0xa01041 bcm2709.serial=0x61e53599smsc95xx.macaddr=B8:27:EB:E5:35:99 bcm2708_fb.fbswap=1 bcm2709.disk_led_gpio=47bcm2709.disk_led_active_low=0 sdhci-bcm2708.emmc_clock_freq=250000000vc_mem.mem_base=0x3dc00000 vc_mem.mem_size=0x3f000000  dwc_otg.lpm_enable=0 console=ttyAMA0,115200console=tty1 root=/dev/mmcblk0p6 rootfstype=ext4 elevator=deadline rootwait
    [    0.000000] PIDhash table entries: 4096 (order: 2, 16384 bytes)
    [    0.000000]Dentry cache hash table entries: 131072 (order: 7, 524288 bytes)
    [    0.000000]Inode-cache hash table entries: 65536 (order: 6, 262144 bytes)
    [    0.000000]Memory: 939656K/966656K available (5885K kernel code, 378K rwdata, 1788Krodata, 404K init, 757K bss, 18808K reserved, 8192K cma-reserved)
    [    0.000000]Virtual kernel memory layout:
    [    0.000000]     vector : 0xffff0000 - 0xffff1000   (   4 kB)
    [    0.000000]     fixmap : 0xffc00000 - 0xfff00000   (3072kB)
    [    0.000000]     vmalloc : 0xbb800000 - 0xff000000   (1080 MB)
    [    0.000000]     lowmem : 0x80000000 - 0xbb000000   ( 944MB)
    [    0.000000]     modules : 0x7f000000 - 0x80000000   (  16MB)
    [    0.000000]       .text : 0x80008000 - 0x80786860   (7675 kB)
    [    0.000000]       .init : 0x80787000 - 0x807ec000   ( 404 kB)
    [    0.000000]       .data : 0x807ec000 - 0x8084aa64   ( 379 kB)
    [    0.000000]        .bss : 0x8084aa64 - 0x809081cc   ( 758 kB)
    [    0.000000]SLUB: HWalign=64, Order=0-3, MinObjects=0, CPUs=4, Nodes=1
    [    0.000000]Preemptible hierarchical RCU implementation.
    [    0.000000]      Additional per-CPU info printed withstalls.
    [    0.000000]NR_IRQS:608
    [    0.000000]Architected cp15 timer(s) running at 19.20MHz (virt).
    [    0.000014]sched_clock: 56 bits at 19MHz, resolution 52ns, wraps every 3579139424256ns
    [    0.000037]Switching to timer-based delay loop, resolution 52ns
    [    0.000323]Console: colour dummy device 80x30
    [    0.002072]console [tty1] enabled
    [    0.002135]Calibrating delay loop (skipped), value calculated using timer frequency..38.40 BogoMIPS (lpj=192000)
    [    0.002236]pid_max: default: 32768 minimum: 301
    [    0.002610]Mount-cache hash table entries: 2048 (order: 1, 8192 bytes)
    [    0.002679]Mountpoint-cache hash table entries: 2048 (order: 1, 8192 bytes)
    [    0.004009]Initializing cgroup subsys blkio
    [    0.004088]Initializing cgroup subsys memory
    [    0.004155]Initializing cgroup subsys devices
    [    0.004215]Initializing cgroup subsys freezer
    [    0.004291]Initializing cgroup subsys net_cls
    [    0.004406] CPU:Testing write buffer coherency: ok
    [    0.004530]ftrace: allocating 20020 entries in 59 pages
    [    0.053400]CPU0: update cpu_capacity 1024
    [    0.053481]CPU0: thread -1, cpu 0, socket 15, mpidr 80000f00
    [    0.053529][bcm2709_smp_prepare_cpus] enter
    [    0.053685]Setting up static identity map for 0x54f130 - 0x54f164
    [    0.113300][bcm2709_boot_secondary] cpu:1 started (0) 18
    [    0.113612][bcm2709_secondary_init] enter cpu:1
    [    0.113665]CPU1: update cpu_capacity 1024
    [    0.113674]CPU1: thread -1, cpu 1, socket 15, mpidr 80000f01
    [    0.133279][bcm2709_boot_secondary] cpu:2 started (0) 18
    [    0.133532][bcm2709_secondary_init] enter cpu:2
    [    0.133562]CPU2: update cpu_capacity 1024
    [    0.133570]CPU2: thread -1, cpu 2, socket 15, mpidr 80000f02
    [    0.153323] [bcm2709_boot_secondary]cpu:3 started (0) 18
    [    0.153568][bcm2709_secondary_init] enter cpu:3
    [    0.153596]CPU3: update cpu_capacity 1024
    [    0.153604]CPU3: thread -1, cpu 3, socket 15, mpidr 80000f03
    [    0.153694]Brought up 4 CPUs
    [    0.153829] SMP:Total of 4 processors activated (153.60 BogoMIPS).
    [    0.153871] CPU:All CPU(s) started in SVC mode.
    [    0.154912]devtmpfs: initialized
    [    0.174634] VFPsupport v0.3: implementor 41 architecture 2 part 30 variant 7 rev 5
    [    0.175880]pinctrl core: initialized pinctrl subsystem
    [    0.180646] NET:Registered protocol family 16
    [    0.186444] DMA:preallocated 4096 KiB pool for atomic coherent allocations
    [    0.187676]bcm2709.uart_clock = 3000000
    [    0.192577]hw-breakpoint: found 5 (+1 reserved) breakpoint and 4 watchpoint registers.
    [    0.192648]hw-breakpoint: maximum watchpoint size is 8 bytes.
    [    0.192821]Serial: AMBA PL011 UART driver
    [    0.193040]3f201000.uart: ttyAMA0 at MMIO 0x3f201000 (irq = 83, base_baud = 0) is a PL011rev2
    [    0.673056] console [ttyAMA0] enabled
    [    0.677512]bcm2708_vcio 3f00b880.mailbox: mailbox at f300b880
    [    0.755654]bcm2708-dmaengine 3f007000.dma: DMA legacy API manager at f3007000,dmachans=0x7f35
    [    0.765006]bcm2708-dmaengine 3f007000.dma: Load BCM2835 DMA engine driver
    [    0.771912]bcm2708-dmaengine 3f007000.dma: dma_debug:0
    [    0.777297]bcm_power: Broadcom power driver
    [    0.781592]bcm_power_open() -> 0
    [    0.784924]bcm_power_request(0, 8)
    [    0.814110]bcm_mailbox_read -> 00000080, 0
    [    0.818317]bcm_power_request -> 0
    [    0.822390] SCSIsubsystem initialized
    [    0.826429]usbcore: registered new interface driver usbfs
    [    0.832034]usbcore: registered new interface driver hub
    [    0.837532]usbcore: registered new device driver usb
    [    0.844556]Switched to clocksource arch_sys_counter
    [    0.879446]FS-Cache: Loaded
    [    0.882712]CacheFiles: Loaded
    [    0.897388] NET:Registered protocol family 2
    [    0.903070] TCPestablished hash table entries: 8192 (order: 3, 32768 bytes)
    [    0.910336] TCP bind hash table entries: 8192(order: 4, 65536 bytes)
    [    0.917046] TCP:Hash tables configured (established 8192 bind 8192)
    [    0.923528] TCP:reno registered
    [    0.926817] UDPhash table entries: 512 (order: 2, 16384 bytes)
    [    0.932812]UDP-Lite hash table entries: 512 (order: 2, 16384 bytes)
    [    0.939668] NET:Registered protocol family 1
    [    0.944482] RPC:Registered named UNIX socket transport module.
    [    0.950501] RPC:Registered udp transport module.
    [    0.955253] RPC:Registered tcp transport module.
    [    0.959977] RPC:Registered tcp NFSv4.1 backchannel transport module.
    [    0.967553] hwperfevents: enabled with armv7_cortex_a7 PMU driver, 5 counters available
    [    0.977216]futex hash table entries: 1024 (order: 4, 65536 bytes)
    [    0.998953] VFS:Disk quotas dquot_6.5.2
    [    1.003268] VFS:Dquot-cache hash table entries: 1024 (order 0, 4096 bytes)
    [    1.013093]FS-Cache: Netfs 'nfs' registered for caching
    [    1.019639] NFS:Registering the id_resolver key type
    [    1.024819] Key type id_resolver registered
    [    1.029026] Keytype id_legacy registered
    [    1.035784]Block layer SCSI generic (bsg) driver version 0.4 loaded (major 252)
    [    1.043422] ioscheduler noop registered
    [    1.047457] ioscheduler deadline registered (default)
    [    1.052937] ioscheduler cfq registered
    [    1.059369]BCM2708FB: allocated DMA memory fac00000
    [    1.064395]BCM2708FB: allocated DMA channel 0 @ f3007000
    [    1.097859]Console: switching to colour frame buffer device 224x59
    [    1.121411]Serial: 8250/16550 driver, 0 ports, IRQ sharing disabled
    [    1.128210]uart-pl011 3f201000.uart: no DMA platform data
    [    1.134902]vc-cma: Videocore CMA driver
    [    1.138913]vc-cma: vc_cma_base      = 0x00000000
    [    1.143704]vc-cma: vc_cma_size      = 0x00000000 (0MiB)
    [    1.149230]vc-cma: vc_cma_initial   = 0x00000000 (0MiB)
    [    1.154990]vc-mem: phys_addr:0x00000000 mem_base=0x3dc00000 mem_size:0x3f000000(1008 MiB)
    [    1.179010] brd:module loaded
    [    1.191662]loop: module loaded
    [    1.195980] vchiq: vchiq_init_state: slot_zero= 0xbac80000, is_master = 0
    [    1.203976]Loading iSCSI transport class v2.0-870.
    [    1.210007]usbcore: registered new interface driver smsc95xx
    [    1.215976]dwc_otg: version 3.00a 10-AUG-2012 (platform bus)
    [    1.422170] CoreRelease: 2.80a
    [    1.425439]Setting default values for core params
    [    1.430362]Finished setting default values for core params
    [    1.636445]Using Buffer DMA mode
    [    1.639832]Periodic Transfer Interrupt Enhancement - disabled
    [    1.645792]Multiprocessor Interrupt Enhancement - disabled
    [    1.651468] OTGVER PARAM: 0, OTG VER FLAG: 0
    [    1.655933]Dedicated Tx FIFOs mode
    [    1.659864]WARN::dwc_otg_hcd_init:1047: FIQ DMA bounce buffers: virt = 0xbac14000 dma =0xfac14000 len=9024
    [    1.669929] FIQFSM acceleration enabled for :
    [    1.669929]Non-periodic Split Transactions
    [    1.669929]Periodic Split Transactions
    [    1.669929]High-Speed Isochronous Endpoints
    [    1.700744]dwc_otg: Microframe scheduler enabled
    [    1.700818]WARN::hcd_init_fiq:412: FIQ on core 1 at 0x803f3da8
    [    1.711396]WARN::hcd_init_fiq:413: FIQ ASM at 0x803f4104 length 36
    [    1.722292]WARN::hcd_init_fiq:438: MPHI regs_base at 0xbb89a000
    [    1.732960]dwc_otg 3f980000.usb: DWC OTG Controller
    [    1.742570]dwc_otg 3f980000.usb: new USB bus registered, assigned bus number 1
    [    1.754570]dwc_otg 3f980000.usb: irq 32, io mem 0x00000000
    [    1.764780]Init: Port Power? op_state=1
    [    1.773253]Init: Power Port (0)
    [    1.781310] usbusb1: New USB device found, idVendor=1d6b, idProduct=0002
    [    1.792790] usbusb1: New USB device strings: Mfr=3, Product=2, SerialNumber=1
    [    1.804698] usbusb1: Product: DWC OTG Controller
    [    1.814016] usbusb1: Manufacturer: Linux 4.0.9-v7+ dwc_otg_hcd
    [    1.824578] usbusb1: SerialNumber: 3f980000.usb
    [    1.834660] hub1-0:1.0: USB hub found
    [    1.842984] hub1-0:1.0: 1 port detected
    [    1.851856]dwc_otg: FIQ enabled
    [    1.851870]dwc_otg: NAK holdoff enabled
    [    1.851882]dwc_otg: FIQ split-transaction FSM enabled
    [    1.851925]Module dwc_common_port init
    [    1.852331]usbcore: registered new interface driver usb-storage
    [    1.863137]mousedev: PS/2 mouse device common for all mice
    [    1.874214]bcm2835-cpufreq: min=600000 max=900000
    [    1.883890]Driver 'mmcblk' needs updating - please use bus_type methods
    [    1.895246]sdhci: Secure Digital Host Controller Interface driver
    [    1.905971]sdhci: Copyright(c) Pierre Ossman
    [    1.915279]mmc-bcm2835 3f300000.mmc: mmc_debug:0 mmc_debug2:0
    [    1.925658]mmc-bcm2835 3f300000.mmc: DMA channels allocated
    [    1.974922]sdhci-pltfm: SDHCI platform and OF driver helper
    [    1.990201]ledtrig-cpu: registered to indicate activity on CPUs
    [    2.001087]hidraw: raw HID events driver (C) Jiri Kosina
    [    2.011436]usbcore: registered new interface driver usbhid
    [    2.021695]usbhid: USB HID core driver
    [    2.031561] TCP:cubic registered
    [    2.039475]Initializing XFRM netlink socket
    [    2.044714]Indeed it is in host mode hprt0 = 00021501
    [    2.059109] NET:Registered protocol family 17
    [    2.070464] Keytype dns_resolver registered
    [    2.079961]Registering SWP/SWPB emulation handler
    [    2.090399]registered taskstats version 1
    [    2.099258]vc-sm: Videocore shared memory driver
    [    2.108610] [vc_sm_connected_init]:start
    [    2.118129][vc_sm_connected_init]: end - returning 0
    [    2.129882]Waiting for root device /dev/mmcblk0p6...
    [    2.143395]mmc0: host does not support reading read-only switch, assuming write-enable
    [    2.158275]mmc0: new high speed SDHC card at address 0007
    [    2.168912]mmcblk0: mmc0:0007 SD32G 29.3 GiB
    [    2.181474]  mmcblk0: p1 p2 < p5 p6 > p3
    [    2.224708] usb1-1: new high-speed USB device number 2 using dwc_otg
    [    2.235916]Indeed it is in host mode hprt0 = 00001101
    [    2.248430]EXT4-fs (mmcblk0p6): INFO: recovery required on readonly filesystem
    [    2.260335]EXT4-fs (mmcblk0p6): write access will be enabled during recovery
    [    2.444988] usb1-1: New USB device found, idVendor=0424, idProduct=9514
    [    2.456389] usb1-1: New USB device strings: Mfr=0, Product=0, SerialNumber=0
    [    2.468995] hub1-1:1.0: USB hub found
    [    2.477378] hub1-1:1.0: 5 ports detected
    [    2.764824] usb1-1.1: new high-speed USB device number 3 using dwc_otg
    [    2.875116] usb 1-1.1:New USB device found, idVendor=0424, idProduct=ec00
    [    2.886698] usb1-1.1: New USB device strings: Mfr=0, Product=0, SerialNumber=0
    [    2.901658]smsc95xx v1.0.4
    [    2.968966]smsc95xx 1-1.1:1.0 eth0: register 'smsc95xx' at usb-3f980000.usb-1.1, smsc95xxUSB 2.0 Ethernet, b8:27:eb:e5:35:99
    [    3.064835] usb1-1.5: new high-speed USB device number 4 using dwc_otg
    [    3.175409] usb1-1.5: New USB device found, idVendor=0bda, idProduct=8179
    [    3.187158] usb1-1.5: New USB device strings: Mfr=1, Product=2, SerialNumber=3
    [    3.199247] usb1-1.5: Product: 802.11n NIC
    [    3.208169] usb1-1.5: Manufacturer: Realtek
    [    3.217177] usb1-1.5: SerialNumber: 00E04C0001
    [   10.105843]EXT4-fs (mmcblk0p6): orphan cleanup on readonly fs
    [   10.117035] EXT4-fs(mmcblk0p6): 1 orphan inode deleted
    [   10.126972]EXT4-fs (mmcblk0p6): recovery complete
    [   11.296722]EXT4-fs (mmcblk0p6): mounted filesystem with ordered data mode. Opts: (null)
    [   11.309629] VFS:Mounted root (ext4 filesystem) readonly on device 179:6.
    [   11.330033]devtmpfs: mounted
    [   11.338462]Freeing unused kernel memory: 404K (80787000 - 807ec000)
    [   12.451010]udevd[178]: starting version 175
    [   12.580815]random: nonblocking pool is initialized
    [   12.900005]spi-bcm2835 3f204000.spi: no tx-dma configuration found - not using dma mode
    [   12.986757] spispi0.0: setting up native-CS0 as GPIO 8
    [   13.058296] spispi0.1: setting up native-CS1 as GPIO 7
    [   13.095077]bcm2708_i2c 3f804000.i2c: BSC1 Controller at 0x3f804000 (irq 79) (baudrate100000)
    [   13.219869]r8188eu: module is from the staging directory, the quality is unknown, you havebeen warned.
    [   13.255931] ChipVersion Info: CHIP_8188E_Normal_Chip_TSMC_D_CUT_1T1R_RomVer(0)
    [   13.319132]usbcore: registered new interface driver r8188eu
    [   15.106397]EXT4-fs (mmcblk0p6): re-mounted. Opts: (null)
    [   15.413336]EXT4-fs (mmcblk0p6): re-mounted. Opts: (null)
    [   20.395365] MACAddress = c8:e7:d8:e7:c7:7b
    [   20.480181]smsc95xx 1-1.1:1.0 eth0: hardware isn't capable of remote wakeup
    [   21.827602]R8188EU: ERROR assoc success
    [   22.563921]cfg80211: Calling CRDA to update world regulatory domain
    [   24.059470]Adding 102396k swap on /var/swap. Priority:-1 extents:1 across:102396k SSFS
复制代码

        BCM2836毕竟是手机芯片,一个USB OTG已经可以满足设计要求,可当用作树莓派2B的通用处理器时,没有802.3和多几个USB接口就比较操蛋了。不得已只能用LAN9514扩展1个10/100M 802.3和4个USB 2.0出来。100M的802.3想弄一些高速网络应用的场景,比如小型集群,显得很勉强。上器件网查了一下,LAN9514应该也要20-30块钱吧,就是下面这颗料了。
15.png

        看一下使用的模块,SPI,I2C,SND各种模块都插进去等待调用:
16.png

        GPIO的资料比较齐全,可以在这里找到
17.png

        虽然器件不太开放,但社区还是很给力,乱七八糟的资料要找,还是能找到一些线索。
        总之各种接口还算齐全,这些接口对EE工程师来说相当熟悉,上了一层Linux系统后虽然驱动复杂好在使用上又相当简单,拆摸Boy也就不做过多累述。

四、最后
        树莓派2B按道理可以提供很不错的计算能力,可惜厂家的缘故,这种能力3/7发挥不出来,而这3/7的能力却又主要关于浮点、DSP的强力运算,这样的运算在图像处理、机器视觉等领域有大量需求。这确是十分遗憾的地方,期待树莓派3的时候可以得到改善。
        树莓派2B提供了比较完整的外设控制环境,各种EE工程师熟悉的接口都可以找到对应渠道,对扩展使用其他模块提供良好扩展性。树莓派社区的强大也简化这些接口的使用,后面说软件的时候再慢慢掰吧。
        抛开树莓派的环境单说博通这颗SOC,BCM2836,作为手机应用处理器与imx6,am43xx等处理器相比,集成性、开放性、操作性、标准性差了很多。
        依据网络上各种新闻展示的树莓派应用来看,确实更多的是面向控制,比如各种开关量控制,各种数据采集的应用;和低计算量的应用,比如BT下载客户端,NAS等场景;针对高速应用的场景,虽然有人折腾,但看过去都属于可行性证明(好歹树莓派2B的raspbian系统是一个完整的debianlinux环境),没太多实际用途。


评分

3

查看全部评分

人已离开,无事别找,找也找不到。


回复

使用道具 举报

1977

TA的帖子

2

TA的资源

纯净的硅(中级)

Rank: 5Rank: 5

发表于 2015-7-28 10:18:06 | 显示全部楼层
不错,,楼主,要是能精简点语言就更好了,,,

点评

下次改进,一定要美一定要简洁。  详情 回复 发表于 2015-7-29 00:44
分享铸就美好未来。。。






回复

使用道具 举报

686

TA的帖子

71

TA的资源

管理员

Rank: 13Rank: 13Rank: 13Rank: 13

发表于 2015-7-28 11:03:36 | 显示全部楼层
大赞呀

点评

赞美一定要放在自己心里面,每天默念100遍,注意低调  详情 回复 发表于 2015-7-29 00:55


回复

使用道具 举报

6257

TA的帖子

4

TA的资源

版主

Rank: 6Rank: 6

发表于 2015-7-28 11:25:12 | 显示全部楼层
写的确实很好!

点评

谢谢,互撸  详情 回复 发表于 2015-7-29 00:44
生活就是油盐酱醋再加一点糖,快活就是一天到晚乐呵呵的忙
===================================
做一个简单的人,踏实而务实,不沉溺幻想,不庸人自扰


回复

使用道具 举报

31

TA的帖子

0

TA的资源

一粒金砂(中级)

Rank: 2

发表于 2015-7-28 11:38:26 | 显示全部楼层
freebsder的知识面/深度点 让人抓狂。。。
可望不可即

点评

岁月熬出来的,都成婆了。  详情 回复 发表于 2015-7-29 00:46


回复

使用道具 举报

2万

TA的帖子

74

TA的资源

管理员

Rank: 13Rank: 13Rank: 13Rank: 13

发表于 2015-7-28 12:36:49 | 显示全部楼层
谁来分析分析free的角度,学学,下次就会这种测评文章的结构啦

点评

文艺界需要百花齐放,拆模Boy语文一般就60分上下,不敢领这风骚。  详情 回复 发表于 2015-7-29 00:49
2017,加油!继续为中国电子行业做出小小的贡献吧!
QQ 1206973913


回复

使用道具 举报

505

TA的帖子

19

TA的资源

一粒金砂(高级)

Rank: 3Rank: 3

发表于 2015-7-28 15:23:03 | 显示全部楼层
赞一个!测评得真不错,很详细!

点评

谢谢!  详情 回复 发表于 2015-7-29 00:46
相由心生,境随心转,一切法从心想生。


回复

使用道具 举报

175

TA的帖子

0

TA的资源

一粒金砂(中级)

Rank: 2

发表于 2015-7-28 19:53:43 | 显示全部楼层
技术贴,内容严肃又不失幽默,让人在笑中可以学到知识,楼主文笔那是杠杠的

点评

一起来吧,一起摇滚,后面还有其它板卡评测,EE社区出了大血只为大伙玩得开心。  详情 回复 发表于 2015-7-29 00:48
好好学习,天天向上


回复

使用道具 举报

1415

TA的帖子

2

TA的资源

纯净的硅(高级)

Rank: 6Rank: 6

 楼主| 发表于 2015-7-29 00:44:23 | 显示全部楼层
574433742 发表于 2015-7-28 10:18
不错,,楼主,要是能精简点语言就更好了,,,

下次改进,一定要美一定要简洁。
人已离开,无事别找,找也找不到。


回复

使用道具 举报

1415

TA的帖子

2

TA的资源

纯净的硅(高级)

Rank: 6Rank: 6

 楼主| 发表于 2015-7-29 00:44:55 | 显示全部楼层

谢谢,互撸
人已离开,无事别找,找也找不到。


回复

使用道具 举报

1415

TA的帖子

2

TA的资源

纯净的硅(高级)

Rank: 6Rank: 6

 楼主| 发表于 2015-7-29 00:46:10 | 显示全部楼层
我是个马甲 发表于 2015-7-28 11:38
freebsder的知识面/深度点 让人抓狂。。。
可望不可即

岁月熬出来的,都成婆了。
人已离开,无事别找,找也找不到。


回复

使用道具 举报

1415

TA的帖子

2

TA的资源

纯净的硅(高级)

Rank: 6Rank: 6

 楼主| 发表于 2015-7-29 00:46:26 | 显示全部楼层
fjjjnk1234 发表于 2015-7-28 15:23
赞一个!测评得真不错,很详细!

谢谢!
人已离开,无事别找,找也找不到。


回复

使用道具 举报

1415

TA的帖子

2

TA的资源

纯净的硅(高级)

Rank: 6Rank: 6

 楼主| 发表于 2015-7-29 00:48:29 | 显示全部楼层
霹雳之火 发表于 2015-7-28 19:53
技术贴,内容严肃又不失幽默,让人在笑中可以学到知识,楼主文笔那是杠杠的

一起来吧,一起摇滚,后面还有其它板卡评测,EE社区出了大血只为大伙玩得开心。
人已离开,无事别找,找也找不到。


回复

使用道具 举报

1415

TA的帖子

2

TA的资源

纯净的硅(高级)

Rank: 6Rank: 6

 楼主| 发表于 2015-7-29 00:49:49 | 显示全部楼层
soso 发表于 2015-7-28 12:36
谁来分析分析free的角度,学学,下次就会这种测评文章的结构啦

文艺界需要百花齐放,拆模Boy语文一般就60分上下,不敢领这风骚。
人已离开,无事别找,找也找不到。


回复

使用道具 举报

1415

TA的帖子

2

TA的资源

纯净的硅(高级)

Rank: 6Rank: 6

 楼主| 发表于 2015-7-29 00:55:35 | 显示全部楼层

赞美一定要放在自己心里面,每天默念100遍,注意低调
人已离开,无事别找,找也找不到。


回复

使用道具 举报

2348

TA的帖子

3

TA的资源

五彩晶圆(中级)

Rank: 8Rank: 8

发表于 2015-7-29 08:50:48 | 显示全部楼层
这种测评,板子可以直接送freebsder了
电工


回复

使用道具 举报

3218

TA的帖子

157

TA的资源

管理员

Rank: 13Rank: 13Rank: 13Rank: 13

发表于 2015-7-29 09:41:36 | 显示全部楼层
看完开始期待下一篇啦

资源如此之丰富,坐看这个以教育为理念的口袋电脑想教些什么


回复

使用道具 举报

538

TA的帖子

20

TA的资源

一粒金砂(高级)

Rank: 3Rank: 3

发表于 2015-7-29 09:54:06 | 显示全部楼层
受教了。。。


回复

使用道具 举报

2628

TA的帖子

0

TA的资源

版主

Rank: 6Rank: 6

测评达人

发表于 2015-7-31 15:45:56 | 显示全部楼层
好,好啊!


回复

使用道具 举报

3146

TA的帖子

0

TA的资源

纯净的硅(高级)

Rank: 6Rank: 6

发表于 2015-8-14 18:27:03 | 显示全部楼层
raspberry PI硬件上的POP封装也是蛮骚气的
不知道2B是不是也是这种处理

点评

分开啦,ddr放背面去了。  详情 回复 发表于 2015-8-14 22:43
So what......


回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

  • 论坛活动 E手掌握

    扫码关注
    EEWORLD 官方微信

  • EE福利  唾手可得

    扫码关注
    EE福利 唾手可得

小黑屋|手机版|Archiver|电子工程世界 ( 京ICP证 060456

GMT+8, 2018-5-27 13:32 , Processed in 0.554106 second(s), 20 queries , Gzip On, Redis On.

快速回复 返回顶部 返回列表