storm—A5cpu test

发布时间 2023-12-29 16:33:15作者: NoviceVerifer

cpu_clk_rst_test 

用例描述:

1、先读取一下初始值,check RAW value

2、software rest 后,check value

3、power on reset后检查,check value

这段代码是用C语言编写的,其中包含了嵌入式汇编代码。它的作用是从系统控制寄存器中读取值,并将其存储到内存中的特定位置。

具体来说,让我们来逐行解释这段代码:

1. `"MRC p15, 0, r3, c1, c0, 0 \n\t"`: 这是一个ARM汇编指令,用于从协处理器15(即系统控制协处理器)的c1寄存器中的c0域(即系统控制寄存器)读取值,并将其保存到寄存器r3中。

2. `"MOV r4, #0xfff0 \n\t"`: 这是一个ARM汇编指令,将立即数0xfff0加载到寄存器r4中。

3. `"MOVT r4, #0x1000 \n\t"`: 这也是一个ARM汇编指令,将立即数0x1000的高16位加载到寄存器r4的高16位中。

4. `"STR r3, [r4] \n\t"`: 这是一个ARM汇编指令,将寄存器r3的值存储到地址为r4的内存位置中。

综合起来,这段代码的功能是从系统控制寄存器读取值并将其存储到内存中。具体来说,它从系统控制寄存器读取的值被存储在r3寄存器中,然后将0xfff0和0x1000这两个值存储在r4寄存器中,最后将r3寄存器的值存储到内存地址为r4的位置中。

这段代码是针对ARM架构的处理器编写的,对于其他架构可能需要不同的汇编指令。

 

cpu_interrupt_example

cpu中断测试用例

以wdt的中断进行测试

1、enable wdt int

2、unmask wdt int 

3、wdt_trig(PLR、LDR、TCR、CRR)

4、检查是否正常进入wdt中断