三亩地 三亩地SAN MU DI · CODE DIARY
ARTICLE DETAIL

日记详情

真实记录编程学习的某一天,欢迎挑你感兴趣的翻一翻。

【soc】bootrom注意事项

【soc】bootrom注意事项

【soc】bootrom注意事项

一.关于—异常

bootrom程序是要被固话进芯片的,固化之后不可被更改。关于bootrom的具体要干什么,这里不做描述(可以百度,不同soc,bootrom内容可能存在差异)。一般bootrom中会关闭中断(中断属于异常的一种),关cache, 关MMU,bootrom中出现异常该如何处理呢?以下为几点常用操作:

1.输出异常打印信息,自复位(有可能是主核,也有可能是其他核,根据实际需求而定)

2.输出异常打印信息,全局复位(有可能是主核,也有可能是其他核,根据实际需求而定);全局复位是将soc上所有资源全部复位

二.关于—PLL(时钟)

在bootrom阶段,pll相关的主要有主频(主核的时钟频率),外设pll如(uart,i2c,qspi等);这里简单进行描述下:

主频: A.根据RTL设计,软件来保证提升/配置到某个特定的频率;

​ B.硬件(RTL)自己提升主频到某个特定的频率在特定时间内;

外设pll: A.外设的pll需要与设计确认,是否要软件去提升,有可能是硬件自己提升的,如(uart,i2c,qspi等)

一个bringup 案例(智驾芯片):

top/uart 的clock 配置时,软件代码理解错误 crg 的配置规则 (div 和 clock src 的选择),规则是 req_div(需求) > cur_div(当前) ,时先配置 div , 后配置src , 而实际软件配置恰恰相反,导致 cpu 卡死,且无任何输出

这里强调下,不管是硬件还是软件配置,最终希望是:稳定,可靠

三.关于—pinmux

一般soc会给所有I/O一组默认值 通用I/O功能还是function功能(一般默认是I/O功能),如不确定可以和设计确认。在bootrom阶段:关于pin

← 返回列表