PRU开发详解

2019-07-16 15:03发布

PRU开发详解.pdf (3.81 MB, 下载次数: 55) 2015-10-25 09:19 上传 点击文件名下载附件
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
10条回答
justperky
1楼-- · 2019-07-16 19:07
PRU开发一直是个难题,希望有所帮助
北方小榕树
2楼-- · 2019-07-16 20:38
justperky 发表于 2015-10-25 11:26
PRU开发一直是个难题,希望有所帮助

不懂,可以讲讲什么是PRU么?
isseed
3楼-- · 2019-07-17 01:52
 精彩回答 2  元偷偷看……
isseed
4楼-- · 2019-07-17 05:38
isseed 发表于 2015-10-31 22:27
PRUSS(Programmable Real time Unit Subsystem),可独立编程实现一些实时性要求高的个性化需求,实 ...

可独立编程实现一些实时性要求高的个性化需求,实现产品的差异化。
wangdezhi
5楼-- · 2019-07-17 09:26
PRUSS简介在系统架构上,PRUSS是连接在OMAPL138内部总线SCR上的一个模块,与系统中其它主模块如ARM,DSP一样,可以访问芯片上的其它外设,工作在PLL0_SYSCLK2时钟域,即ARM/DSP 频率的一半。


图1 PRUSS框图
PRUSS包括两个PRU,通过自己的SCR与子系统的中断控制器、指令内存、数据内存、以及系统SCR相连。PRU不是一个加速器,它是32-bit Load/Store RISC架构小端处理器,每个PRU有32个通用寄存器R0~R31,4K byte指令RAM,512 byte数据RAM,指令RAM是独立的,互相之间不能访问,但数据RAM可以通过映射地址互相访问;专用的30个输入引脚和32个输出引脚(注:OMAPL137系列没有PRU外部引脚)。PRU没有Cache、指令流水线、及乘法指令。
wangdezhi
6楼-- · 2019-07-17 12:43
1 PRU 内存映射

1.1 指令空间

每个PRU 独立的指令空间为0x00000000~0x00000FFF。指令空间由外部主处理ARM/DSP 初始化,程序指针PC 是32bit 字地址,不是字节地址,如PC=2,代表指令地址0x08。

20150316094039199.jpg

表  1   PRU 指令空间映射表

1.2 数据空间

每个PRU 独立的512byte 数据RAM 空间为0x0000~0x01FF,因为数据RAM连接在PRU 子系统的SCR 上,所以子系统中的其它主模块也可以访问到这块空间,这段内存空间在另一个PRU 上的映射地址为0x2000~0x21FF。

位于数据空间的还有共用的中断控制器寄存器;PRU 控制/状态寄存器,有各自的地址空间。

20150316094039577.jpg

表  2   PRUSS 本地数据空间内存映射表

1.3 全局地址空间映射

PRU 局部地址空间在系统全局地址空间映射端口为0x01C30000,如表3 所示,PRU 可以通过表2 的局部地址,也可以通过表3 的全局地址访问PRUSS 的数据空间,通过全局地址空间访问要经过系统SCR2,比通过局部地址空间访问要慢。PRUSS 外部主模块如ARM,DSP 等可通过全局地址空间访问PRU 资源。

20150316094039237.jpg

20150316094039102.jpg

表  3   PRUSS 全局空间内存映射表

2控制/状态寄存器

PRU0 的控制/状态寄存器地址位于0x00007000~0x000077FF,PRU1 的控制/状态寄存器地址位于0x00007800~0x00007FFF,寄存器列表如表4 所示,各寄存器的详细说明请参阅 [1] 。

20150316094039672.jpg
表  4   PRU 控制/状态寄存器表

一周热门 更多>