您好,欢迎访问三七文档
当前位置:首页 > 临时分类 > am5728初始化详解教程
1.1初始化概述1.2预初始化1.3通过ROM代码初始化设备1.4HLOS支持服务1.1初始化概述本章概述了从开机到操作系统(OS)和应用程序执行的设备初始化要求、整个初始化过程(包括硬件和软件相关步骤)、一般ROM代码操作要求和行为预期。1.1.1术语•Bootstrap:在内存引导阶段由ROM代码启动的初始软件•配置头(CH):初始软件之前的可选结构,允许重新定义ROM代码默认设置•下载软件:在外围设备启动阶段,通过ROM代码将初始软件下载到内部静态RAM(SRAM)•eFuse:通常在工厂设置的一次性可编程存储器位置•闪存加载程序:在预闪存阶段由ROM代码启动的下载软件。它还可以在外部存储器中编程图像。•初始软件:由任何ROM代码机制执行的软件(内存启动或外围启动)。初始软件是引导和下载软件的通用术语。•内存引导:ROM代码机制,包括从外部内存执行初始软件•主CPU:ARM®Cortex®-A15MPCore™CPU-ID为0的CPU。它配置多核平台并启动ROM代码,以确保设备从大容量存储器(存储器引导)或外围接口(外围设备引导)引导。•外围启动:ROM代码机制,包括轮询选定的接口、下载和执行内部RAM中的初始软件(在本例中,是下载的软件)•永久引导设备:默认情况下,包含引导序列中要执行的映像的内存设备。它是默认的内存引导设备。如果没有对软件引导配置进行编程,则在热复位后使用永久引导设备。•预闪存:外设启动的一种特殊情况,使用ROM代码机制对外部闪存进行编程•ROM代码:设备ROM中实现引导的片上软件•ROM代码控制启动阶段:该阶段涵盖从平台释放重置到第一个用户或客户拥有的软件开始执行的顺序操作。此阶段完全由设备ROM代码控制。•保存和恢复(SAR)RAM内存:在热复位或从低功耗模式唤醒后未清除的片上RAM内存•从CPU:ARMCortex-A15MPCoreCPU,CPU-ID为1。它被ROM代码带入waitforevent(WFE)状态,等待主CPU唤醒。•软件启动配置:存储在SAR内存中的逻辑结构,允许在热复位后引导时重新定义ROM代码默认设置1.1.2初始化过程图1-1是初始化过程及其步骤的概述:•预初始化:电源、时钟和控制连接必须存在,并且引导配置引脚必须保持在所需的逻辑级别。•电源、时钟、复位斜坡序列:电源管理芯片应用的特定序列•ROM代码:负责使用主CPU查找、下载和执行初始软件•初始软件:准备并将控制权传递给应用软件或高级操作系统(HLO)的软件•支持对称多处理(SMP)的HLO或应用程序(主要用于诊断)图1-1初始化过程初始化过程中的前两个步骤是面向硬件的;但是,它们需要了解配置这些具有软件可配置功能的系统接口引脚(设备上的球)的过程。这种配置是芯片配置的重要组成部分,并且取决于应用程序。本章讨论这些系统接口引脚和相关的配置寄存器,它们对设备的正确初始化至关重要。1.2预初始化要成功完成引导操作,必须设置某些硬件配置设置。时钟、复位和电源连接,以及为主CPU设置引导内存空间所涉及的引脚,必须正确连接并驱动到成功的ini启动设备。以下各节描述了预初始化阶段的具体要求。1.2.1电源要求该装置可由外部电源管理集成电路(PMIC)供电。TI提供了一个与电源管理IC配套芯片相连的整体解决方案。有关本设备支持的电源管理IC配套芯片的信息,请参阅数据手册。图1-2显示了设备和PMIC配套芯片之间的典型电源连接。图1-2。电源连接示例表1-1描述了设备电源球1.2.2与PMIC同伴的相互作用ROM代码不与PMIC执行任何I2C事务。必须满足以下系统条件才能执行设备初始化:•设备内部的USB收发器(USB2.0)按USB外围设备引导功能的要求重新通电。•在任何重置进入SD卡引导功能之前,SD卡固定框架必须正确通电。•设备必须适当通电,并在平台启动时准备就绪:–eMMC公司–QSPI–GPMC公司–世达1.2.3时钟、复位和控制1.2.3.1概述图1-3显示了时钟和复位环境,其中时钟和复位相关信号在系统级、系统扩展信号和晶体振荡器连接处收集。图1-3。时钟、重置和控制环境概述系统界面的主要特点是:接受连接在XYOOS0和XOYOS0席席之间的晶体,以及XiOSCO1和XOYOSC1焊盘,以产生SysLCLK1和SysYLCK2,并重新连接。接受外部的LVCMOS时钟源,分别连接到XYOSCO和XYOSCO1席席,分别用于SysSLCK1和SysYLCK2•用于RTC操作的32kHzLVCMOS时钟输入•最多四个参考时钟输入•最多三个可配置时钟输出•sysboot[15:0]输入信号,用于定义XIP模式下的引导模式、系统时钟速度和GPMC•两个复位源–上电复位(冷复位)–热复位•三条外部中断线(sys\Uirq1、sys\Uirq2和nmi)•四个外部DMA请求1.2.3.2时钟方案设备操作需要外部输入时钟,如下所示:•32k时钟:一个16MHz的晶体连接到嵌入32k振荡器的PMIC配套芯片(如果32k晶体连接到系统的另一个设备上,也可以在电源管理IC的OSC16MIN引脚上提供一个方形CMOS32kHz时钟)。产生的32k时钟通过两个输出传输到整个系统:–CLK32KGO–CLK32KGO1V8•系统时钟:设备支持两个系统时钟,每个时钟源有两个:–系统时钟1(主系统时钟):•OSC0引脚上的晶体。使用内置在器件中的内部振荡器(OSC0)。席上OSC0外部LVCMOS时钟–系统时钟(可选系统时钟):•OSC1引脚上的晶体。使用内置在器件中的内部振荡器(OSC1)。席上OSC1外部LVCMOS时钟•该设备可向外围设备IC提供数字时钟。该设备提供了多种时钟选择,可通过clkout[1:3]焊盘传送到配套设备。有关更多信息,请参阅第3章“电源、重置和时钟管理”中的第3.3节“PRCM子系统环境”。有关pad多路复用的更多信息,请参见第18章,控制单元。表1-2列出了设备时钟输入源的映射。表1-3列出了PMIC时钟要求。表1-2。输入源映射表1-3。PMIC时钟要求1.2.3.3复位配置1.2.3.3.1开/关互连和上电复位整个系统通常由连接到PMIC芯片的开关按钮唤醒。该信号属于VSYS-系统功率域,为低电平有效信号(PMIC内部上拉将其与VSYS相连)。当实现PMIC加电序列时,PMIC加电事件通过其NRESPWRON输出引脚传播到设备porzpad(即PRMSYS_PWRON掴RST信号)。在VDD核心和I/O加电期间,设备porz输入引脚始终保持在低位。1.2.3.3.2热复位热复位可以由设备、外部按钮(通常用于开发平台)或连接到它的任何其他芯片(通常与PMIC配套的NRESWARM输出引脚相连)来断言。devicewarmresetpad(resetn-设备信号系统热重设)用于触发设备上的热复位,当设备已启动时,它会重置部分设备(例如,从软件崩溃中恢复)。当发生内部设备重置时,SYS\uNRES\uWARM_OUT输出和devicepadrstoutn变低并重置所有外围设备在系统解除断言后,设备释放系统热输出信号。1.2.3.3.3GPIO外设复位大多数外设都可以通过GPIO重置和开机或关机。默认情况下,在POR下,大多数设备信号处于安全模式,默认值由I/O单元驱动。该值由内部上拉或下拉驱动。根据外围设备重置激活级别,用户必须选择一个或另一个GPIO(根据重置值)。一旦释放POR,pad上的值由设备控制模块的默认配置驱动。大多数情况下,此配置与I/O单元上选择的默认值对齐。下一步取决于应用程序:用户必须配置设备寄存器以验证GPIO的使用以及控制模块的默认配置。1.2.3.3.4热复位对GPIO的影响当发生热复位事件时:•GPIO控制器复位。因此,GPIO在输入模式下自动打开。•控制模块未复位。与信号复用模式和上拉或下拉配置相关的信息仍然有效。因此,当发生热复位事件时,输出缓冲区被禁用。因此,对于平台所期望的,可以定义两种不同的行为:•GPIO对热复位敏感:为了防止浮动焊盘,用户软件设计成在软件热复位动作之前立即启用内部焊盘PU和PD电阻器,因为热复位敏感的GPIO控制器在设备热复位后会将I/O方向更改为输入。如果热复位敏感型GPIO控制器引脚在热复位之前已配置为输出,则这是必要的发生了什么如果用户已将GPIO配置为输入,则应默认设置热复位前启用的拉入条件,因为在这种情况下,用户应该在GPIO配置期间启用内部PU和PD焊盘(除非使用了外部拉电阻)。注:如果PU和PD电阻器在POR(冷复位)后立即通过软件启用一种只作为输出使用的GPIO,然后是不必要的功耗可能发生。虽然在软件热复位期间,在热复位条件可能出现之前动态启用拉入(因为用户软件知道热复位事件发生的确切时刻),但当硬件触发热复位时(例如,看门狗重置、SYS\NRESWARM信号断言等),这是不可能的,因为软件不知道这些热重置断言的确切时间。•GPIO对热复位不敏感:为了避免在热复位事件期间(和之后)获得浮动信号,并保持重置前驱动的值不变,每次访问专用GPIO寄存器时,用户必须将拉值与驱动器值对齐。注:为避免不必要的消耗,用户软件必须保证内部拉阻当GPIO缓冲区正在驱动时被禁用。有关重置顺序的说明和有关设备重置管理的信息,请参阅第3章“电源、重置和时钟管理”中的第3.5节“重置管理功能说明”。有关设备重置顺序的更多信息,请参阅设备数据手册。PMIC控制•I2C:设备接口:系统接口I/O和I2C1涉及设备与外部电源、复位和时钟管理IC伙伴之间的系统交互。设备和PMICcompanion实现基本电源管理接口,如下所示:–32kHz时钟单输入–两个系统复位:通电(冷)复位和热复位–一次中断•中断:PMIC伴随设备可以在需要设备监视其活动的任何时候激活其输出中断请求信号(INT)。当接收到这种中断时,设备通过I2C进行检查,以确定中断的来源。INT引脚处于低激活状态。PMIC请求PMIC驱动三个外部使能输出信号,允许在通电序列的不同阶段打开一些外部资源:•在启动任何内部电源之前,REGEN1和REGEN2在通电顺序开始时被驱动至高电平。它们属于VSYS功率域。REGEN1通常可用于降压升压控制。•VCORE电源输出打开后,SYSEN立即被驱动到高电平。SYSEN属于VIOpower域。PMIC配套芯片可以接收两个电源资源请求:ENABLE1和NSLEEP。这些引脚允许外部设备请求PMIC内部资源。当管脚被激活时,PMIC的伴随电源行为必须在第一次引导后进行编程(组分配的资源和启用管脚,组激活时的资源行为,等等)。当PMIC芯片处于休眠模式时,特别需要使用NSLEEP,因为它不能处理I2C命令。任何需要PMIC伴生资源来唤醒的设备必须首先激活其相关的启用信号。所有电源管理芯片电源调节器在休眠模式下关闭或处于休眠模式。1.2.4Sysboot配置该设备在重置sysbootpads上实现了16个采样。(1)电路板应采用一种机制,以方便地修改上拉/下拉状态,以便将来进行任何修改。表1-4。系统引导板说明(1)Table1-5.MMC2Configuration(SR2.0)(1)PMIC伴随设备可以在需要设备监视其活动的任何时候激活其输出中断请求信号(INT)。当接收到这种中断时,设备通过I2C进行检查,以确定中断的来源。INT引脚处于低激活状态。PMIC请求PMIC驱动三个外部使能输出信号,允许在通电序列的不同阶段打开一些外部资源:•在启动任何内部电源之前,REGEN1和REGEN2在通电顺序开始时被驱动至高电平。它们属于VSYS功率域。REGEN1通常可用于降压升压控制。•VCORE电源输出打开后,SYSEN立即被驱动到高电平。SYSEN属于VIOpower域。PMIC配套芯片可以接收两个电源资源请求:ENABLE1和NSLEEP。这些引脚允许外部设备请求PMIC内部资源。当管脚被激活时,PMIC的伴随电源行为必须在第一次引导后进行编程(组分配的资源和启用管脚,组
本文标题:am5728初始化详解教程
链接地址:https://www.777doc.com/doc-8533168 .html