解决 can‘t open ‘/sys/fsl_otp/HW_OCOTP_CFG0‘: No such file or directory

linux内核从4.x升级到到5.4之后,输入cat /sys/fsl_otp/HW_OCOTP_CFG0 和cat /sys/fsl_otp/HW_OCOTP_CFG1都显示的没有这个文件 , 在搜索引擎中搜到原来是OCOTP 寄存器的机制变了,可以通过nvmem 接口读取 OCOTP 寄存器。
链接如下
https://community.nxp.com/t5/i-MX-Processors/IMX6UL-sys-fsl-otp-HW-OCOTP-LOCK-is-not-found-in-5-4-kernel/m-p/1079343
但是他的问题与我们这次发现的,仅仅是有关联,仍然需要确定,原来的HW_OCOTP_CFG0和HW_OCOTP_CFG1在nvmem中对应位置。
经过本人在升级前后做对比
使用下面脚本可以将原有的文件保存到etc下,因此,只需要在原来的代码处更改路径即可

4.x版本下读取内容为
root@myd-y6ull14x14:~# cat /sys/fsl_otp/HW_OCOTP_CFG0
0x5a9e9b09
root@myd-y6ull14x14:~# cat /sys/fsl_otp/HW_OCOTP_CFG1
0x223219d7

5.4版本内容使用nvmem如下
hexdump /sys/bus/platform/drivers/imx_ocotp/21bc000.ocotp-ctrl/imx-ocotp0/nvmem
在这里插入图片描述
在这里插入图片描述

已经确定位置之后,就可以 ,通过shell脚本,获取内容 并拼接保存

hexdump /sys/bus/platform/drivers/imx_ocotp/21bc000.ocotp-ctrl/imx-ocotp0/nvmem > /etc/nvmem
HW_OCOTP_CFG0_1=`cat /etc/nvmem | head -n 1 | awk '{print $4}'` 
HW_OCOTP_CFG0_2=`cat /etc/nvmem | head -n 1 | awk '{print $5}'`
HW_OCOTP_CFG0=$HW_OCOTP_CFG0_2$HW_OCOTP_CFG0_1

HW_OCOTP_CFG1_1=`cat /etc/nvmem | head -n 1 | awk '{print $5}'` 
HW_OCOTP_CFG1_2=`cat /etc/nvmem | head -n 1 | awk '{print $6}'`
HW_OCOTP_CFG1=$HW_OCOTP_CFG1_2$HW_OCOTP_CFG1_1

echo $HW_OCOTP_CFG0 > /etc/HW_OCOTP_CFG0
echo $HW_OCOTP_CFG1 > /etc/HW_OCOTP_CFG1

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值