A deeper look at hardware and software of TI 8168 EVM

原创 2012年03月20日 22:50:25

    This SoC is very complex and I'd like to point out something special.

1 Hardware

   1) Video subsystem: actually it is a combination of two M3 core and 2/3 HDVICP2 co-processors. HDVICP2 plays a similar role as SGX530 3D unit except it improve video stream not 3D graphic.

    2) ARM core: there is a floating -point unit called NEON, so it accept float calculating binary. ARM plays the role of administrator for the whole system including M3, DSP cores.

    3) DSP core:

                       graph1. DSP core in 8168

    from the above, we can see first it have a bus connection direct to video subsystem, so it is faster to transfer data between M3 and DSP, instead of ARM and DSP, and the data paths are different. Second, DSP have DMA unit and capability to access peripherals which could be used by software. Third, there are independent register sets FILE A and FILE B, So software need to be optimized for parallel computation to make full use the DSP core. Last, keep the cache size in mind when you write programs on DSP, and there are a small buffer called SPLOOP inside DSP core help to execute iteration in parallel so arrange your loop in "C" wisely.

    4) M3: Two RISC M3 cores resides in HDVICP2 controlling video accelerating hardware. They are programmable just as DSP and ARM.

    5) Communication between cores: ARM manages M3 and DSP cores, it download binaries to M3 and DSP sub-system. Two hardware components are involved for communication: mailbox, spinlock. Following shows that mailbox module are 12 mail boxs with 4 interrupt to RISC cores. Spinlock module are 64 hardware semaphores.

                                                                                        graph2. mailbox hardware module

    6) memory layout: 8168 uses unified memory layout, here we call it L3&L4 address, which is used by the system to accessing devices and ports.

        graph3 how cores accessing resources outer L2 cache

    The ARM have its own MMU used by linux OS enabling virtual addressing, and the physical address would be translated later to L3 address by a subsystem in ARM which system can not touch. The DSP is similar to ARM, it have its own MMU called DEMMU, and the physical address on DSP is also translated to L3 address by a subsystem in DSP core, which used different mapping from ARM, but luckily for DDR sections physical address are mapped same on ARM and DSP. Physical and L3 address mapping are not changeable on ARM and DSP, only MMUs could be used by OS on DSP and ARM. M3 cores have no MMU so they directly access L3 address. Not all L3/L4 address are reachable by every core, it depends on the hardware interconnect, but address could be found in a table.

2 Software

   1) For each devices, you must find out which core "own" it first. For eg, before RDK1.09, I2C is owned by M3 cores, so you will find some drivers missing in Linux OS, because they are on M3.

    2) Many video operations requires high performance is done on M3 to use video related hardware, the ARM only configure and start the components on M3.

    3) SDK is used for develop applications for 1080P HD standard. 

                                       graph 4 SDK components

    It is showed as graph 4 : (1) is the OpenMax framework, which tries to encapsulate all video details in channel style or non-channel style, and let user to use APIs only and suggest user to encapsulate his component in the constraints of OpenMax, just as Android framework. If you are doing video development with HD standard, this framework need to be used. (2) is the components used to build up 2D/3D UI. (3) is 2 special framework(more specially it is something like compiler plus basic software components), to build up application running on DSP quickly, and make ARM program ignores the different that DSP and ARM have. For now I did not confirm whether the video functionality could co-operate with c6run/c6accel, but if you want a test or validation of algorithm, it works well. (4) is the core components utilizing hardware mailbox and spinlock to do inter-processor communication.

    4) RDK is used for video surveillance, best for SD standard.

    graph5 an example of mcfw in RDK

    RDK used mcfw framework which is very similar to OpenMax channel style, but it focus more on the flexibility on multichannel video streams. Up to 16 D1 video could be processed at the same time. mcfw is based on links, from the above we can see the mcfw framework contains 4 major components: VCAP, VDIS, VENC, VDEC, which containing several links inside. They are expect to be configurated by application programmer.

论文提要“Taking a Deeper Look at Pedestrians”

  • cv_family_z
  • cv_family_z
  • 2015年08月28日 15:53
  • 2329

A Deeper Look at Saliency: Feature Contrast, Semantics, and Beyond

CVPR2016 A Deeper Look at Saliency: Feature Contrast, Semantics, and Beyond本文首先解决的问题是在设计 visual s...
  • cv_family_z
  • cv_family_z
  • 2016年08月03日 14:27
  • 946

Archer 【CF--312B】

Description SmallR is an archer. SmallR is taking a match of archer with Zanoes. They try to shoot...
  • zhang_di233
  • zhang_di233
  • 2015年12月06日 20:32
  • 266

Look Into Person数据集的错误!!

最近在跑LIP数据集,其GitHub地址是 https://github.com/Engineering-Course/LIP_SSL这个数据集下到了以后readme中的label order是错误的...
  • zbzb1000
  • zbzb1000
  • 2017年10月08日 18:44
  • 271

ironic client look into

前面讲的都是用curl调用,直接call 到ironic的 rest 响应server上,是查看ironic源码得到,如果要自己实现新的模块,往往需要实现对应client端,屏蔽掉直接的url和 繁...
  • dingdingwolf
  • dingdingwolf
  • 2015年04月02日 10:49
  • 342

行人检测论文笔记:Taking a Deeper Look at Pedestrians

layout: post title: 行人检测论文笔记:Fused DNN - A deep neural network fusion approach to fast and robust ...
  • JacobKong
  • JacobKong
  • 2017年02月18日 21:07
  • 1153

装ghost遇到的问题之一“Windows failed to start. A Recent hardware or software change might be the cause.”

今天想把封藏已经的惠普笔记本重装一下系统 结果爆出了 "Windows failed to start. A Recent hardware or software change mi...
  • wyy199147
  • wyy199147
  • 2016年01月20日 23:22
  • 1623

zero copy architecture in RDK of TI 8168 EVM

1 the RDK overview:     Work is based on EVM: 8168SoC + 5158VideoCapture + 1GB DDR2.     RDK is...
  • xiaxia347
  • xiaxia347
  • 2012年03月20日 16:59
  • 1164


DM8168硬件平台简介                               概述          本模块以Ti TMS320DM8168 Davinci数字媒体处理器为核心,该处理器此...
  • shanghaiqianlun
  • shanghaiqianlun
  • 2011年11月08日 19:50
  • 17557


Book给我发了一封email,说他是台湾的一名firmware engineer,也在研究S3C2410。由此我想,firmware是什么,firmware engineer与software en...
  • bobo1255
  • bobo1255
  • 2010年09月28日 22:18
  • 1834
您举报文章:A deeper look at hardware and software of TI 8168 EVM