GPIO(General-purpose input/output)外设是所有的处理器芯片包括51、STM32等单片机和dsp都有的外设,是处理器上最简单的外设。
主要分为两部分
一部分是数据的输入/输出,另一部分是EDMA事件和中断产生。
数据的输入/输出,需要配置数据的方向,是选择输入还是输出,然后通过配置不同的寄存器来决定使用什么操作。外设时钟是CPU时钟的6分频,并不是每个引脚的时钟。
中断触发只支持边沿触发,要么上升沿要么下降沿要么都可以,需要注意的是,此芯片所有的GPIO口都可以独立的产生中断和EDMA事件。
学习过嵌入式开发的人应该知道,控制外设无非就是控制寄存器,而C66x系列的处理器所使用的是MMR(Memory Map Register)
KeyStone I架构处理器有36根地址线,所以可以访问64G的地址空间,可以拿出一部分空间存储寄存器。字节寻址一次寻址一个字节。
本质就是对MMR内存的访问。对于硬件初始化,可以通过bootloader/IBL挂载在SoC内部挂了一个256KB的ROM,可以完成PLL锁相环,DDR时钟和时序以及外设的时钟和时序的配置。