1.4 uC-CPU
1.4.1 cpu_core.c
让我们首先继续深入cpu_core.c
这个文件,来聊聊里面的一些细节。
文件概览
这个文件,简单来说,是整个系统的“大脑”操作相关的核心代码。它包括了处理器核心的初始化、时间戳管理、中断禁用时间测量,还有一些处理器特性的操作,比如计算前导零(lead zeros)和尾随零(trail zeros)的数量。这些功能对于操作系统的高效运行至关重要。
核心函数和变量
CPU_Init
函数
这个函数是整个cpu_core.c
的入口点,你可以把它看作是给CPU“开机”的按钮。它负责初始化时间戳(如果配置了的话)、中断禁用时间测量(如果启用了的话)、CPU名字(如果定义了的话),还可能会初始化缓存管理(如果启用了缓存管理的话)。
CPU_SW_Exception
函数
这个函数是一个简单的异常处理函数,如果程序运行到不应该到达的地方,就会调用这个函数进入一个死循环。这通常是个调试时的占位符,帮助开发者发现问题。
时间戳相关函数
CPU_TS_Init
:如果你配置了时间戳功能,这个函数会在CPU_Init
中被调用,用来初始化时间戳计数器。CPU_TS_Get32
和CPU_TS_Get64
:这两个函数用来获取当前的时间戳值,分别返回32位和64位的时间戳。具体用哪个,取决于你的应用需求和配置。
中断禁用时间测量
如果你开启了中断禁用时间测量功能,CPU_Init
会调用CPU_IntDisMeasInit