3288讀取cpu溫度失敗問題

2022-09-18 03:54:22 字數 1015 閱讀 3582

rk3288使用tsadc(temperature-sensor adc)來測量cpu溫度,支援兩種模式:

使用者自定義模式: 主動控制讀取溫度.

自動模式: 自動檢測溫度,達到閥值就自動報告.

dts配置如下:

&tsadc ;

tsadc: tsadc@ff280000 ;

用指令讀取cpu溫度:cat sys/class/thermal/thermal_zone0/temp,會報錯/system/bin/sh: cat: temp: invalid argumen。

看開機log,發現有如下報錯:

clk: couldn't get clock 0 for /tsadc@ff280000

說明tsadc缺少clock,檢視dts,確實是少了這塊。

xin32k: xin32k ;
以為這個時鐘加上就好了,令人抓狂的是,就加了這麼幾行**,機器竟然一直重啟開不起機了。

加的這個地方是跟溫度是相關的,那就從這個方面入手去思考找問題。會不會是檢測到溫度的過溫閥值,導致重啟的呢?

看硬體的連線上:

主控的otp 引腳是有連線出來到pmic rk808的,如果這個閥值到了reset腳就會動作,然後重啟。

由於沒有硬性需求一定要這個溫度到了閥值就重啟的需求,這個時候可以把硬體上的連線電阻去掉,或者軟體上把reset的io遮蔽掉。實際起作用的是:

pinctrl-1 = ;

遮蔽掉,這時候機器就可以正常開機了。

再檢視溫度值:cat sys/class/thermal/thermal_zone0/temp

54111

就能正常讀到溫度值了。

不過不太能理解的是,配置裡 rockchip,hw-tshut-temp = <95000>;是超過95度才重啟,一開機應該也不會超過閥值才對,開機後讀取的溫度也就50°c。

讀取cpu溫度的api 讀取CPU核心溫度

最近在搞乙個讀取cpu溫度的驅動,網上翻了好多資料,可發現全是copy的,原稿也就兩三篇,可經實踐發現其中不乏錯誤與片面,讓人著實走彎路,燃起了我要總結一番的慾望。這個驅動搞了乙個多星期,總算可以執行了,測試了幾台intel和amd的機器也都測試通過,測試對比用的是cpuid hwmonitor和c...

讀取cpu溫度的api 獲取CPU的溫度的方法

獲取 cpu的溫度的方法 在記憶體配置較低的計算機中 比如記憶體 32mb windows 98第二版 cpu的占有率是較高的,一般能夠達到 50 這可能是由於系統 需要cpu 進行許多的運算模擬來彌補資源的不足。下面是收集獲取 cpu溫度的方法,歡迎閱讀。作為乙個系統級程式設計師或者程式設計愛好者...

CPU溫度小結

cpu自身產生的功耗是給cpu晶元加溫 熱設計中cpu散熱是給cpu降溫,只有這兩個能力相匹配或者散熱能力大於功耗,cpu才不會過熱。可以參考維基提供的公式。cpu的功耗由 動態功耗 短路功耗 電晶體漏電流。後兩個研究不深。主要看動態功耗。動態功耗的計算公式如下 p 表示cpu的功耗 c 可以簡單看...