嵌入式linux之系统启动时间测试方法
转载
2016-08-17 10:41:43
方法一:gpio(最准确的,未使用)
1.找到一个空闲的gpio,在适当的地方对gpio进行翻转
效果,如下图:
gpio翻转的地方:
①uboot:刚开始的地方
②uboot:引导kernel的地方(common/cmd_bootm.c:do_bootm)
③kernel:挂载rootfs(init/do_mounts.c:do_mount_root)
④kernel:init(init/main.c:init_post)
2.查看芯片的直到手册,关于启动时序部分
找到重启时那个pin发生变化,从而确定开始时间
3.使用示波器测试
使用示波器测试时间
一个通道测试gpio的,另一个测试开始时间
这样从启动到gpio能用,到app都可以测试出来
方法二:kermit测试
1.下载安装
sudo apt-get install ckermit
2.设置
vi ~/.kermrc,进行如下配置
3.使用
man kermit查看使用
kermit打开kermit
ctrl+\,q关闭kermit
方法三:printk(测试kernel时间)
1.在bootargs中添加printk.time=y
2.在kernel目录下
make menuconfig
--》 kernel hacking
--> show timing information on printks
这样,启动时kernel的打印信息会带上时间戳,ms级
方法四:initcall_debug loglevel=8(测试kernel)
1.在bootargs中添加initcall_debug loglevel=8
效果如下:
measurement initcall
2.在板子上
target$ dmesg > bootlog.txt
3.copy bootlog.txt到主机的kernel目录下,输入下面命令
host$ cat bootlog.txt | perl scripts/bootgraph.pl > boot.svg
4.打开boot.svg,效果如下图: