嵌入式系统之温限使用

出于保护的目的,嵌入式系统会实时采集cpu的温度,对本身进行保护,同时我们也可以查看设定的温限的数值,举例(我使用的是OKMX6UL_S2).

 

1.查看当前cpu温度;

root@fetmx6ull-s:~# cat /sys/class/thermal/thermal_zone0/temp
43820

2.查看当前温限;

cat /sys/devices/virtual/thermal/thermal_zone0/trip_point_0_temp
95000
cat /sys/devices/virtual/thermal/thermal_zone0/trip_point_1_temp
105000

3.查看当前频率;

root@fetmx6ull-s:~# cat /sys/devices/system/cpu/cpu0/cpufreq/cpuinfo_cur_freq
792000

从上面1,2,3可以看到,当前cpu的温度为 43820 / 1000 =43.8 ℃,当前温限1 = 95 ℃,当前温限2 = 105 ℃,当前频率为 792MHz。

温限1的作用是当cpu的温度超出这个温度后,cpu会降频;

温限2的作用是当cpu的温度超出这个温度的时候,系统会保护,重新启动;

下面我们来做实验。

1)首先要通过上面的方法来验证或者说得到我们的数据,就认为我们得到的数据和上面一样;

2)我想要让cpu降频,那么我们可以让温限1=一个比当前cpu温度更低的值,如

echo 40000 > /sys/devices/virtual/thermal/thermal_zone0/trip_point_0_temp

然后通过

cat /sys/devices/virtual/thermal/thermal_zone0/trip_point_0_temp 查看是否设定正确
40000

这个时候查看频率

 cat /sys/devices/system/cpu/cpu0/cpufreq/cpuinfo_cur_freq

198000  

可见当前的频率已经降频到198M了。

3)设定一个超出运行温度的值。

echo 40000 > /sys/devices/virtual/thermal/thermal_zone0/trip_point_1_temp

我们会发现,系统重新启动了

 提示,系统温度已经达到46度,关机,这个就是根据这个判定的。

注意:这里的修改 只能本次生效,重新启动后就恢复了,要想永久修改这个值,只能修改设备树,然后替换现有设备树才行,因为系统启动的时候,内核会从设备树中读取数据放到温限的文件中去。这一部分内容我们有时间在学习。

欢迎评论交流,共同进步~

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

six2me

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值