使用嵌入式linux,CPU是i.mx6ul,有什么办法自动生成产品序列号吗?
以前用STM32时候是用的CPUID变换出来的,但是i.mx6ul貌似没有CPUID,如何自动生成产品序列用于区分不同产品呢?
所有的芯片都有唯一序列号,IMX6的唯一序列号可以
cat /sys/fsl_otp/HW_OCOTP_CFG0cat /sys/fsl_otp/HW_OCOTP_CFG1
获取
首先看你的序列号需要什么规则?
简单的可以根据时间信息和校验位等生成。为了减短字符数,可以考虑用数字和字母一起组成一个36进制数字(可能需要去除一些容易混淆的字符,比如0和o,1和l,这样至少是34进制的数),然后根据时间信息(比如UTC毫秒数)转换成这个数据,再添加一个校验位(防止篡改——算法你可以自定)或者取模计数位(防止重复)。