Misc Q&A
Q1: IC表面温度84度是否在范围内,会不会影响寿命?
芯片的结温最大可以到125度,可以通过 cat /sys/devices/virtual/mstar/msys/TEMP_R
查看芯片内部温度(误差5度左右),只要不超过一般是安全的。
芯片环境温度的范围是-20~85度。
Q2: 当如下打印时,导致的原因?
[MI ERR ]: _MI_SYS_IMPL_OnAllocationFreeCB[474]: In _MI_SYS_IMPL_OnAllocationFreeCB, output magic number[0xc0905800] incorrect, maybe you meet race condition between dev unregister & buf release!!!
出现这个打印的原因一般是SDK的模块没有按正常流程退出,导致释放资源和模块退出冲突了。可以检测一下对应SDK 模块是不是有跑正常的退出流程。
Q3: 基于SigmaStar的cipher如何使用?
默认cipher模块已经打开了,可以参考kernel\drivers\sstar\crypto\cryptodev\examples
下面demo的使用。
Q4: 是否支持gpio input 双沿触发?
只有下面两根pin支持双沿触发
#define PAD_HDMITX_HPD 89 #define PAD_SATA_GPIO 90
Q5: 如何动态调节cpu频率?
-
在kernel dts里面位置:
kernel\arch\arm\boot\dts\infinity2m.dtsi
放开需要开启的cpu频率(如果需要固定某一个频率,则只需放开对应的一个频率即可); -
在板子的shell终端按如下方法配置(板子直接配置频率的前提是dts里面有打开对应的选项):
echo 1000000 > /sys/devices/system/cpu/cpufreq/policy0/scaling_max_freq echo 1000000 > /sys/devices/system/cpu/cpufreq/policy0/scaling_min_freq
Q6: 如何设置开机只跑一个cpu?
在bootargs后面加nosmp即可(注意单核cpu不能动态设置,只能在开机就设定好: 因为默认ipl有一个核进wfi(Wait for interrupt),进kernel会去唤醒,唤醒后就不能关闭了;如果加了nosmp kernel就不会唤醒了):
Q7: spi能否支持dma传输?传输速率能达到多少?
可以支持dma传输,但是一次传输的数据大小只能是byte的整数倍。dma使用的是MOVDMA,速率参考MOVDMA的速度。正常不开dma,spi速率最高可以到72M。
Q8: 如何打开高精度时钟?
方法如下:
-
project的config中打开highres
-
kernel config中打开CONFIG_HIGH_RES_TIMERS.
如果要关闭高精度时钟,在project的config中把highres改成off即可:
可以通过cat /proc/timer_list确认高精度时钟有没有打开:
...