15032|21

7753

帖子

2

TA的资源

五彩晶圆(高级)

楼主
 

树莓派[Raspberry Pi 2 Model B]测评(二)——树莓派2B的硬实力 [复制链接]

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

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


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


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

        室温无空调的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。

        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的地盘,有特权给女神来个特写吧:


        关于影片的一些编码信息:


        用omxplayer通过hdmi播放


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


        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块钱吧,就是下面这颗料了。

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

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

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

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


查看本帖全部内容,请登录或者注册

最新回复

估计是发热量控制不住 以前我的pi给加了个铝散热片,整机斜着放,后来负载大点,散热片居然自己滑行,好牛x  详情 回复 发表于 2015-8-15 00:09

赞赏

3

查看全部赞赏

点赞 关注(1)
个人签名

默认摸鱼,再摸鱼。2022、9、28

 

回复
举报

1891

帖子

2

TA的资源

纯净的硅(中级)

沙发
 
不错,,楼主,要是能精简点语言就更好了,,,

点评

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




 
 

回复

542

帖子

71

TA的资源

纯净的硅(中级)

板凳
 
大赞呀
加EE小助手好友,
入技术交流群
EE服务号
精彩活动e手掌握
EE订阅号
热门资讯e网打尽
聚焦汽车电子软硬件开发
认真关注技术本身

点评

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

回复

5970

帖子

8

TA的资源

版主

4
 
写的确实很好!

点评

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

回复

29

帖子

0

TA的资源

一粒金砂(中级)

5
 
freebsder的知识面/深度点 让人抓狂。。。
可望不可即

点评

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

回复

2万

帖子

74

TA的资源

管理员

6
 
谁来分析分析free的角度,学学,下次就会这种测评文章的结构啦
加EE小助手好友,
入技术交流群
EE服务号
精彩活动e手掌握
EE订阅号
热门资讯e网打尽
聚焦汽车电子软硬件开发
认真关注技术本身

点评

文艺界需要百花齐放,拆模Boy语文一般就60分上下,不敢领这风骚。  详情 回复 发表于 2015-7-29 00:49
个人签名

加油!在电子行业默默贡献自己的力量!:)

 
 
 

回复

496

帖子

18

TA的资源

一粒金砂(高级)

7
 
赞一个!测评得真不错,很详细!

点评

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

回复

165

帖子

2

TA的资源

一粒金砂(中级)

8
 
技术贴,内容严肃又不失幽默,让人在笑中可以学到知识,楼主文笔那是杠杠的

点评

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

回复

7753

帖子

2

TA的资源

五彩晶圆(高级)

9
 
574433742 发表于 2015-7-28 10:18
不错,,楼主,要是能精简点语言就更好了,,,

下次改进,一定要美一定要简洁。
个人签名

默认摸鱼,再摸鱼。2022、9、28

 
 
 

回复

7753

帖子

2

TA的资源

五彩晶圆(高级)

10
 

谢谢,互撸
个人签名

默认摸鱼,再摸鱼。2022、9、28

 
 
 

回复

7753

帖子

2

TA的资源

五彩晶圆(高级)

11
 
我是个马甲 发表于 2015-7-28 11:38
freebsder的知识面/深度点 让人抓狂。。。
可望不可即

岁月熬出来的,都成婆了。
个人签名

默认摸鱼,再摸鱼。2022、9、28

 
 
 

回复

7753

帖子

2

TA的资源

五彩晶圆(高级)

12
 
fjjjnk1234 发表于 2015-7-28 15:23
赞一个!测评得真不错,很详细!

谢谢!
个人签名

默认摸鱼,再摸鱼。2022、9、28

 
 
 

回复

7753

帖子

2

TA的资源

五彩晶圆(高级)

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

一起来吧,一起摇滚,后面还有其它板卡评测,EE社区出了大血只为大伙玩得开心。
个人签名

默认摸鱼,再摸鱼。2022、9、28

 
 
 

回复

7753

帖子

2

TA的资源

五彩晶圆(高级)

14
 
soso 发表于 2015-7-28 12:36
谁来分析分析free的角度,学学,下次就会这种测评文章的结构啦

文艺界需要百花齐放,拆模Boy语文一般就60分上下,不敢领这风骚。
个人签名

默认摸鱼,再摸鱼。2022、9、28

 
 
 

回复

7753

帖子

2

TA的资源

五彩晶圆(高级)

15
 

赞美一定要放在自己心里面,每天默念100遍,注意低调
个人签名

默认摸鱼,再摸鱼。2022、9、28

 
 
 

回复

2143

帖子

3

TA的资源

五彩晶圆(中级)

16
 
这种测评,板子可以直接送freebsder了
个人签名电工
 
 
 

回复

5276

帖子

236

TA的资源

管理员

17
 
看完开始期待下一篇啦

资源如此之丰富,坐看这个以教育为理念的口袋电脑想教些什么
加EE小助手好友,
入技术交流群
EE服务号
精彩活动e手掌握
EE订阅号
热门资讯e网打尽
聚焦汽车电子软硬件开发
认真关注技术本身
 
 
 

回复

606

帖子

20

TA的资源

一粒金砂(高级)

18
 
受教了。。。
 
 
 

回复

6129

帖子

4

TA的资源

版主

19
 
好,好啊!
 
 
 

回复

3415

帖子

0

TA的资源

纯净的硅(高级)

20
 
raspberry PI硬件上的POP封装也是蛮骚气的
不知道2B是不是也是这种处理

点评

分开啦,ddr放背面去了。  详情 回复 发表于 2015-8-14 22:43
个人签名

So TM what......?

 

 
 

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

猜你喜欢
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/8 下一条
有奖活动 | PI PowiGaN技术学习中心,全方位解读PI 1700V GaN: InnoMux-2 EP技术精髓 ...
活动时间:即日起-2025年3月23日
1、进入 PI PowiGaN技术学习中心,点击任意视频 ,填写并提交表单即可观看(只需提交1次表单);
2、活动结束后,将随机抽取30名幸运者派送50元京东卡!

查看 »

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

 
机器人开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表