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频率?

  1. 在kernel dts里面位置:kernel\arch\arm\boot\dts\infinity2m.dtsi放开需要开启的cpu频率(如果需要固定某一个频率,则只需放开对应的一个频率即可);

  2. 在板子的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: 如何打开高精度时钟?

方法如下:

  1. project的config中打开highres

  2. kernel config中打开CONFIG_HIGH_RES_TIMERS.

如果要关闭高精度时钟,在project的config中把highres改成off即可:

可以通过cat /proc/timer_list确认高精度时钟有没有打开:

...