PRU(Programmable Real-Time Unit)是一个低延迟、并行运算的嵌入式处理器,属于TI AM335x嵌入式主板中的一部分。PRU的运行可以独立于CPU,同时PRU可以通过RPMsg这种通信协议与Linux内核进行数据交换,辅助Linux进行一些底层的控制操作。
PRU在TI AM335x主板中是ARM处理器的一个核外部件,其可编程性使得它可以处理多种应用场景。PRU包含两个单独且相同的子系统,每个子系统都包含一个32位的加载存储器和一个与其相连的十个通用寄存器的寄存器文件。PRU可以执行高速IO操作,同时可以访问DDRAM和片上SRAM。
PRU的每个核可以同时连接到外部GPIO和专用寄存器,以及位于片上RAM或DDR中的程序和指令。也正是因为PRU的这些特性,才使得其在嵌入式系统中广泛应用。
PRU具有低延迟、高精度的特性,可以轻松应对一些要求高精度、低延迟的应用场景,如智能电子秤、电机控制和视觉辅助等等。同时,由于PRU具有较强的可编程性,开发者可以自定义PRU的应用场景,适应不同的需求。
另外,PRU作为一个核外部件,可以通过RPMsg与Linux内核进行交互,使得PRU与Linux内核相辅相成,可以充当Linux内核的辅助处理器,为Linux提供底层硬件控制支持。
PRU广泛应用于各种嵌入式系统中,特别是在一些要求低延迟、高精度的场合,如汽车、机器人等。另外,PRU还可以应用于机器视觉,例如以太网摄像头的流处理和赛车中光电传感器的控制等。
PRU广泛应用的原因是其可编程性以及这些特点所带来的优点,在做一些实时控制和处理时,PRU可以较快的完成操作任务,同时还能保证较低的延迟,提高了实时性,因此被众多公司和开发者所青睐。