验证中断系统
上一章节我们已经完成了BSP中的中断系统接口实现,现在该验证下中断控制器是否能正常工作了。我们可以在系统TICK的中断处理函数中添加一个打印信息:
如果中断系统正常工作的话,当TICK产生中断时就会调用这个服务服务函数。同时我们将原来bspTickInit 接口最后添加的验证定时器是否产生中断的代码删除,再将定时器中断频率设置为1,因为启动参数中我们设置的是1000,如果中断正常工作,1s会打印1000条信息,这样影响我们判断,所以设置成1s产生1次中断:
重新编译内核镜像进行引导,如果看到串口上每秒都有1个aaa 打印就说明中断系统是正常工作的:
=> fatload mmc 0:1 40000000 bsp_allwinner_r16.bin reading bsp_allwinner_r16.bin 3233520 bytes read in 214 ms (14.4 MiB/s) => go 40000000 ## Starting application at 0x40000000 ... environment variables load from /etc/profile fail, error: No such file or directory sysname : sylixos nodename : sylixos release : Tangram version : 1.12.9 machine : Allwinner R16, Quad-core Cortex-A7 Up to 1.2GHz [[ (R) [[[[ [[[[ [[ [[[[ [[[[ [[ [[ [[ [[ [[ [[ [[ [[ [[ [[ [[ [[[[ [[ [[ [[ [[ [[ [[ [[ [[ [[ [[ [[ [[ [[ [[ [[ [[ [[ [[ [[ [[ [[[[ [[ [[ [[ [[ [[ [[ [[ [[ [[ [[ [[ [[ [[ [[ [[ [[ [[ [[[[ [[ [[ [[ [[ [[ [[ [[ [[ [[ [[ [[ [[ [[ [[ [[ [[[[ [[[[ [[[[[[ [[[[[[ [[ [[ [[[[ [[[[ [[ [[ KERNEL: LongWing(C) 1.12.9 [[[[ COPYRIGHT ACOINFO Co. Ltd. 2006 - 2019 SylixOS license: Commercial & GPL. SylixOS kernel version: 1.12.9 Code name: Tangram CPU : Allwinner R16, Quad-core Cortex-A7 Up to 1.2GHz CACHE : 128KBytes(D-32K/I-32K) L1-Cache per core,512KBytes L2-Cache PACKET : ClockworkPI (CPI v3.1) development board ROM SIZE: 0x00400000 Bytes (0x00000000 - 0x003fffff) RAM SIZE: 0x40000000 Bytes (0x40000000 - 0x7fffffff) BSP : BSP version 1.0.0 for Tangram [root@sylixos:/root]# aaa aaa aaa aaa aaa aaa aaa aaa
验证正常后再将定时器中断频率改为系统TICK数量并删除TICK中断服务函数中的打印:
timerStart(0, LW_TICK_HZ);
评论