自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(31)
  • 资源 (4)
  • 收藏
  • 关注

原创 TI_DSP_corePac_带宽管理 - 1.2(仲裁寄存器)

下图为仲裁寄存器,重要的是理解SDMAARB寄存器,在该寄存器中只需要设计MAXWAIT值,PRI(优先级)设置要在外设(如FFTC,AIF2等)提供的仲裁寄存器中设置,因为是外设在访问slave,所以他们最清楚应该设置多大的优先级。如下述代码(在每个CPU上都要设置类似的代码,这样才能对每个corePac中的资源起作用,即当FFTC,AIF2等外设访问各个corePac中的资源的时候,会采用相应

2014-05-31 14:57:22 1224

原创 TI_DSP_corePac_带宽管理 - 1.3(仲裁寄存器default值)

仲裁寄存器default值:The default values of CPUARB, IDMAARB, SDMAARB, and UCARB are sufficient for most applications. These registers define priorities that are internal to the C66x CorePac. The MDMAARBU

2014-05-29 22:51:09 1361

原创 TI_DSP_corePac_带宽管理 - 1.1(优化带宽管理)

There is no systematic design for shared resource access priority in platform side, and there is no interface provided byplatform that can be used by application to do bandwidth management optimizat

2014-05-29 22:06:37 977

原创 TI_DSP_corePac_带宽管理 - 2(举例)

The master DMA arbitration control register (MDMAARBU) controls the priority levels of MDMA requests going out of CorePac. It controls the priority levels used by the L2 memory controller when sendi

2014-05-29 20:46:54 1294

原创 TI_DSP_corePac_带宽管理 - 1(原理)

BWM(带宽管理,corePac中的模块,每个corePac有一个BWM)的目的是避免一个请求对一个资源的长期存取而造成的阻塞,BWM确保所有请求者都能获取一定大的带宽资源。BWM是全局定义(对于整个corePac来说),局部实现(在每一个corePac中实现)。初始化带宽管理既是设置一系列寄存器(arbitration registers),配置时需要在每个CPU上对同一寄存器设置(即每

2014-05-27 21:14:11 1968

原创 TI_DSP总线bus - 3(Bridge,总线连接master与slave表)

Table 4-1列出来了master与slave的连接。• Y  — 表示master与slave之间有连接(是指通过总线连接master与slave,这里的master与slave没有           跨越不同速率的总线);•  -  — 表示master与slave之间没有连接,即不存在该master对slave的访问;• n —  表示master与slave之间通过B

2014-05-26 20:30:18 1905

原创 TI_DSP总线bus - 2(总线结构与应用以及Bridge的瓶颈)

下图为TI C6xx DSP Nyquist总线拓扑图,总线连接了master与slave,提供了高速的数据传输。有很多种速率不同的总线,如图中的红色方框,最高速总线为CPU/2 TeraNet SCR(即VBUSM SCR),带宽为256bit,其他低速总线为CPU/3,CPU/6,带宽参考图中所示。总线之间用Bridge(桥)连接,作用包括转换总线的速率,使之与所流向总线的速率相同等。在具

2014-05-25 13:19:29 2244

原创 TI_DSP总线bus - 1(概述)

TI C66x DSP有两种总线,数据总线与配置总线。一些外设有数据与配置总线,然而其他的仅有一种总线接口。总线接口宽度与速度各个外设不一样。配置总线主要用于访问外设的寄存器空间,数据总线主要用于数据的传输。CPU,EDMA TC,外设等分为两类:master与slave。masters用于发起read与write操作,不依赖于EDMA传输;slaves依赖于master发起的read与wri

2014-05-24 16:55:30 3164

原创 TI C66x DSP硬件信号量 - 4(Semaphore moudle)

Semaphore module in block diagram of the TI C66x DSP device.

2014-05-21 21:15:36 2177

原创 TI C66x DSP硬件信号量 - 3(Direct Semaphore)

Direct request is the simplest method used to request a semaphore. The request behaves as an atomic read and set operation. The result of a request is either to grant the semaphore to the requesting

2014-05-21 16:41:19 2196

原创 TI C66x DSP硬件信号量 - 2

The semaphore module can be used as an arbiter to ensure mutual exclusivity when sharing resources over multiple cores in a multicore device. It provides up to 64 independent semaphores that can be ac

2014-05-20 17:58:23 1369

原创 TI C66x DSP硬件信号量 - 1

In a multicore environment—where system resources must be shared—it is important to control simultaneous accesses to the available resources. To ensure correct system operation, it is necessary to lim

2014-05-19 23:12:24 1477

原创 TI C66x DSP中断类型及其优先级

There are four types of interrupts on the CPU.• Reset• Maskable• Nonmaskable• Exception(异常也可视为中断)These first three types are differentiated by theirpriorities. Thereset interrupt has t

2014-05-19 12:15:24 3934

原创 TI C66x DSP 四种内存保护问题 -之- CPU访问corePac内部资源时的内存保护问题

CPU访问corePac内部资源(L1,L2)时的内存保护(通过设置内存的访问权限实现)等问题请参考下面两个blog,已经叙述的很详细。"TI C66x DSP 系统events及其应用 - 2","TI C66x DSP 系统events及其应用 - 3"。

2014-05-17 11:34:13 1626

原创 TI C66x DSP 四种内存保护问题 -之- 外设访问corePac内部资源时的内存保护问题

外设访问corePac内部资源(L1,L2)时的内存保护等问题请参考下面两个blog,已经叙述的很详细。"TI C66x DSP 系统events及其应用 - 2","TI C66x DSP 系统events及其应用 - 3"。

2014-05-17 11:27:32 1288

原创 TI C66x DSP 系统events及其应用 - 5.3.1(Interrupt之eventCombiner理解)

前面讲到对于中断来说,eventCombiner将INTC的输入event 4~127分为四个group,即evenCombiner的四个输出event 0~3. 这样event 0~3与event 4~127一起作为Interrupt Sector的输入。之所以这样做是因为CPU仅有12个INT输入(INT4~15),而systemEvent有4~127共124个event,所以12个CPU的I

2014-05-16 23:53:30 1593 1

原创 TI C66x DSP 系统events及其应用 - 5.5(ISR调用)

在5.4中向event(eg,event 45)注册了callback函数(SysComC2CIsr),该函数会在什么时候调用呢?该callback函数会在EventCombinerIsr中断服务函数中调用,前面讲到过systemEvent 4~127作为eventCombiner的输入,而EventCombiner的输出event 0~3,event 0~3是与CPU中断输入INT4~15对

2014-05-16 18:15:18 1303

原创 TI C66x DSP 系统events及其应用 - 5.4(event与ISR配置)

根据5.2中的讲解,当监控high priority queue的PDSP channel设定好后,那么与之对应的event就知道了(PDSP channel与event一一对应),注意5.x讲的是中断的配置,并不是exception的配置,4.x讲的是exception。中断event与ISR配置伪代码如下,目的是使event与ISR建立联系:        /*Configure ev

2014-05-15 18:02:13 1383

原创 TI C66x DSP 系统events及其应用 - 5.3(Interrupt)

对于TI C66x DSP的每个CPU有INT4~15共12个中断输入。对于中断,event combiner将event 4~127分为4个组(event 0~3为INTC内部使用,如图示为event combiner的四个输出)。类似于4.x中的exception,中断也有同样功能的event flag,event mask,masked event flag寄存器。

2014-05-14 22:35:17 2024

原创 TI C66x DSP 四种内存保护问题

CPU访问外存(DDR3 or MSM)时的内存保护问题;外设(如SRIO,QM,FFTC等)对外存访问的内存保护问题有另一套机制实现;CPU对自己所属corePac内部资源(L1,L2内存)访问时的内存保护问题,由各自的内存控制器实现,这个比较简单。

2014-05-14 17:20:51 2231

原创 TI C66x DSP 四种内存保护问题 -之- 针对CPU访问外存(DDR3 or MSM)时的内存保护问题

DSP访问外存时内存保护的问题,原因是CPU访问了自己没有访问权限的外部内存(如share memory即MSM或者DDR3,相对于corePac内部的L1,L2内存而言),如CPU访问DDR3中的无权限内存时(即在当前CPU的配置中,没有设置对该内存的访问权限),硬件会触发MDMA bus error event(VbusM error event 110,CPU访问corePac内部资源L1,

2014-05-14 17:08:26 2589

原创 TI C66x DSP 系统events及其应用 - 5.2(PDSP配置)

本节讲述PDSP监控的配置。QMSS PDSP:The queue manager sub system contains two or eight packed data structure processors (PDSP) and associated hardware that allow autonomous QMSS-related tasks with interrupt not

2014-05-10 23:13:18 1704

原创 TI C66x DSP 系统events及其应用 - 5.1(QM accumulator的配置)

下面讲解在具体应用中,event与中断ISR的设置。以对QM的queue监控产生中断(不是EXCEP)为例,主要包括配置QM accumulator(用于监控QM queue)与配置ISR(ISR与event配置)。首先介绍QM accumulator的配置,QM模块中QMSS(包含QMSS Tx queue 800:831,Tx/Rx channel 0:31,RxChan,TxChan,T

2014-05-10 01:36:59 1579 1

原创 TI C66x DSP 系统events及其应用 - 4.3(Exception handle)

下面介绍下在CPU内部怎么处理exception。根据下图EFR寄存器记录了(首先要使能exception,否侧EFR不能记录,见英文描述)CPU检测到的exception类型,当检测到NMI,NXF位会被置位,当检测到excepton(event4~127 trigger),EXF位会被置位等。在用户模式下,EFR寄存器不可访问,在spervisor模式下,可以通过MVC EFR访问。E

2014-05-08 17:29:39 1139

原创 TI C66x DSP 系统events及其应用 - 4.2(Exception Combiner)

Exception Combiner允许系统设计者

2014-05-08 15:54:33 1246

原创 TI C66x DSP 系统events及其应用 - 4.1(Exception Combiner)

我们知道INTC根据128个system event的输入,然后输出下面的信号到INTC所在corePac的CPU:• One maskable, hardware exception (EXCEP)• Twelve maskable hardware interrupts (INT4 through INT15)• One non-maskable signal that you c

2014-05-08 14:11:06 1014

原创 TI C66x DSP 指令集 -之- Conditional Operations

2014-05-06 20:57:13 1369

原创 TI C66x DSP 指令集 -之- 操作码(opcode)详解

操作码详解

2014-05-06 11:59:19 8879 2

原创 TI C66x DSP 指令集 -之- ADDKPC

ADDKPC指令的作用是通过一条指令实现地址的保存与nop指令的执行。在调用B指令实现真正跳转前,要保存下一条指令的地址(为了执行完跳转程序后,能够返回),并同时执行n个nop指令。该指令有助于减小设置函数调用的返回地址时使用的指令数。

2014-05-05 17:53:36 3221

原创 TI C66x DSP 指令集 -之- 跳转指令B

跳转指令用于实现程序流程的跳转,在 ARM (同样在TI C66x DSP)程序中有两种方法可以实现程序流程的跳转:—使用专门的跳转指令(如B指令)。—直接向程序计数器 PC写入跳转地址值。通过向程序计数器 PC写入跳转地址值,可以实现在 4GB的地址空间中的任意跳转,在跳转之前结合使用MOV LR,PC等类似指令,可以保存将来的返回地址值,从而实现在 4GB连

2014-05-05 14:17:07 5815

原创 TI C66x DSP 系统events及其应用 - 3

下面介绍在"TI C66x DSP 系统events及其应用 - 3"

2014-05-02 01:34:18 1181

lemoal-nvme-polling-vault-2017-final_0.pdf

https://events.static.linuxfound.org/sites/events/files/slides/lemoal-nvme-polling-vault-2017-final_0.pdf

2020-03-13

个人总结 - m25p80.c debug on Micron spi nor_flash.pdf

个人总结 - 对flash芯片MTD驱动文件m25p80.c进行debug,是基于Micron的MT25Q128 spi nor_flash chip(16M)

2017-09-04

ARM9启动机制分析

ARM9启动机制分析 ARM9启动机制分析 ARM9启动机制分析

2010-12-29

labview 典型应用

labview 典型应用labview 典型应用labview 典型应用labview 典型应用labview 典型应用labview 典型应用

2010-08-09

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除