找回密码
 立即注册
查看: 1339|回复: 27

各位大神请教:芯片的ID号读取最简单的方法

[复制链接]
  • TA的每日心情
    开心
    昨天 01:45
  • 签到天数: 186 天

    [LV.7]常住居民III

    12

    主题

    108

    回帖

    1004

    积分

    金牌会员

    STC-镇江-老蔡

    积分
    1004
    发表于 2024-3-27 13:02:22 | 显示全部楼层 |阅读模式
    各位大神请教:
                  姚总的ID号加密很好,但是量产时要读每个芯片的ID号,
    那么芯片的ID号读取最简单的方法是什么样的,我的做法是先下个
    程序在烧录完后会有个号,我就把它当成全球唯一ID号,然后输入
    到项目发布文件中,再从新烧录;这样我觉得很麻烦,肯定有更优
    的方法,请大神赐教!


                                       单片机界的:空(白)懒得(付)出(没)脑子
    平安快乐
    回复 送花

    使用道具 举报

    该用户从未签到

    640

    主题

    1万

    回帖

    1万

    积分

    管理员

    积分
    15687
    发表于 2024-3-31 17:18:16 | 显示全部楼层
    社区闲人 发表于 2024-3-27 13:33
    我也是采用这个方法,没觉得有多麻烦。

    你这是没有量的做法,
    下面是全自动的只烧录一次程序
    脱机工具也支持

    截图202403311716175183.jpg




    截图202403311717413638.jpg



    ID号加密是根据用户所设定的算法对ID号的7个字节进行分别运算,每种加密算法最多可以进行4次
    不同的运算,运算符不分优先级,从前到后依次进行4次运算,对于同一个加密算法,ID号的7个字节是
    分别使用此算法进行运算,运算完成后会得到加密后的7个字节,在下载用户代码时,加密后的7个字节
    会自动写入到用户所指定的FLASH中
    例如:
      当前芯片内部的ID号为 : 01H 02H 03H 04H 05H 06H 07H
      选择的加密算法为         : <<1, +2, *3, ^4
      设定的存储地址为         : 0x1000
      经加密运算后的ID号为  :  08H 16H 1CH 1AH 20H 2EH 34H
      下载程序过程中,加密的ID号会被写入到FLASH的0x1000~0x1006地址中
      08H写入到0x1000, 16H写入到0x1001, 1CH写入到0x1002, 1AH写入到0x1003, 20H写入到0x1004,
      2EH写入到0x1005, 34H写入到0x1006

    目前版本提供两种加密方式,可将ID号使用两种不同的方式加密后写入到不同的地址中每种加密方式
    中可进行4步运算,每一步运算可选择下面的7种运算方法:
    + : 加法运算  - : 减法运算  * : 乘法运算  / : 除法运算  
    <<: 左移运算  >>: 右移运算  ^ : 异或运算

    对于运算操作数,只接受10进制数的输入,有效的数据为0~255,超出范围的数,高位会被自动舍弃.
    例如输入257(102H),则实际参加运算的术为2(02H)
    所有的运算都是基于单字节的,高低字节之间不会产生进位和借位,即低字节运算后如果产生进位
    或借位将直接舍弃,而不参与高字节的运算

    例如:
      如果ID号为       : 01 02 03 04 ff fe fd
      加密方式为       : "+255, +0, +0, +0"
      则加密后的数据为 : 00 01 02 03 fe fd fc

    注意事项:
      若是将ID号加密和程序加密后传输这两种功能结合起来同时使用时,则必须在原代码加密前,将需
      要写入加密ID号的地址空间预留为FF,然后在对程序文件进行加密(若下载时需要将HEX空白区域
      填充为00时,也需要执行此操作将区域保留)
      例如:
        我现在需要将ID号加密后写入到程序空间1000H开始的地址,那么我必须在我的源代码中,
        将1000H~1006H这7个字节保留,并定义为FFH(不能为00H)

    截图202403311720113163.jpg
    传统加密的笑话, STC对加密的延申发展,放心的【远程升级】,视频讲解 - 程序加密后传输/发布项目程序/USB-ISP下载/远程升级/ID号加密 - 国芯论坛-STC全球32位8051爱好者互助交流社区 - STC全球32位8051爱好者互助交流社区 (stcaimcu.com)





    回复 支持 反对 送花

    使用道具 举报

  • TA的每日心情
    开心
    1 小时前
  • 签到天数: 336 天

    [LV.8]以坛为家I

    22

    主题

    433

    回帖

    1710

    积分

    荣誉版主

    积分
    1710
    发表于 2024-3-27 13:33:44 | 显示全部楼层
    我也是采用这个方法,没觉得有多麻烦。

    点评

    你这是没有量的做法, 下面是全自动的只烧录一次程序, 脱机工具也支持 [attachimg]40148[/attachimg] [attachimg]40149[/attachimg] ID号加密是根据用户所设定的算法对ID号的7个字节进行分别运算,每种加密  详情 回复 发表于 2024-3-31 17:18
    回复 支持 反对 送花

    使用道具 举报

  • TA的每日心情
    奋斗
    昨天 09:04
  • 签到天数: 273 天

    [LV.8]以坛为家I

    12

    主题

    917

    回帖

    2012

    积分

    金牌会员

    积分
    2012
    发表于 2024-3-27 14:52:23 | 显示全部楼层
    先下个程序在烧录完后会有个号--------STC-ISP“检测”应该也可以得到这个ID号吧?
    回复 支持 0 反对 1 送花

    使用道具 举报

  • TA的每日心情
    奋斗
    半小时前
  • 签到天数: 241 天

    [LV.8]以坛为家I

    16

    主题

    2528

    回帖

    3040

    积分

    论坛元老

    积分
    3040
    发表于 2024-3-27 15:25:39 | 显示全部楼层
    视频里面不是有讲吗
    回复 支持 反对 送花

    使用道具 举报

  • TA的每日心情
    开心
    昨天 01:45
  • 签到天数: 186 天

    [LV.7]常住居民III

    12

    主题

    108

    回帖

    1004

    积分

    金牌会员

    STC-镇江-老蔡

    积分
    1004
     楼主| 发表于 2024-3-27 15:48:20 | 显示全部楼层
    谢谢各位!
    平安快乐
    回复 送花

    使用道具 举报

  • TA的每日心情
    开心
    昨天 01:45
  • 签到天数: 186 天

    [LV.7]常住居民III

    12

    主题

    108

    回帖

    1004

    积分

    金牌会员

    STC-镇江-老蔡

    积分
    1004
     楼主| 发表于 2024-3-27 15:48:58 | 显示全部楼层
    我也是想讨个巧
    平安快乐
    回复 支持 反对 送花

    使用道具 举报

  • TA的每日心情
    奋斗
    昨天 15:00
  • 签到天数: 124 天

    [LV.7]常住居民III

    已绑定手机

    73

    主题

    791

    回帖

    2380

    积分

    超级版主

    积分
    2380
    QQ
    发表于 2024-3-27 16:01:32 | 显示全部楼层
    从chipid读出来,程序里调用就行了
    截图202403271601053943.jpg
    热线19952583534
    www.STCAI.com
    回复 支持 反对 送花

    使用道具 举报

  • TA的每日心情
    无聊
    昨天 09:21
  • 签到天数: 285 天

    [LV.8]以坛为家I

    26

    主题

    1766

    回帖

    4549

    积分

    论坛元老

    积分
    4549
    发表于 2024-3-27 16:12:35 | 显示全部楼层
    21cnsound 发表于 2024-3-27 14:52
    先下个程序在烧录完后会有个号--------STC-ISP“检测”应该也可以得到这个ID号吧? ...

    刚才试了一下 只是 检测MCU选项 不会出现这个 芯片出厂序列号,,

    点评

    检测可以显示固件版本号、单片机型号、内部参考电压等等,还真没有ID号。是不是可以提个建议了?(应该是系统ISP程序实现的功能,也就是固件)  发表于 2024-3-27 16:53
    参考例程并不是对技术参 考手册的补充,而是对技术参 考手册的解释。
    技术参 考手册不应该需要参考例程作为补充,而是解释成了参考例程的样子
    回复 支持 反对 送花

    使用道具 举报

  • TA的每日心情
    无聊
    昨天 09:21
  • 签到天数: 285 天

    [LV.8]以坛为家I

    26

    主题

    1766

    回帖

    4549

    积分

    论坛元老

    积分
    4549
    发表于 2024-3-27 17:37:33 | 显示全部楼层
    21cnsound 发表于 2024-3-27 14:52
    先下个程序在烧录完后会有个号--------STC-ISP“检测”应该也可以得到这个ID号吧? ...

    嗯嗯 说的没错,,感觉可以提提建议了
    参考例程并不是对技术参 考手册的补充,而是对技术参 考手册的解释。
    技术参 考手册不应该需要参考例程作为补充,而是解释成了参考例程的样子
    回复 支持 反对 送花

    使用道具 举报

  • TA的每日心情
    开心
    1 小时前
  • 签到天数: 336 天

    [LV.8]以坛为家I

    22

    主题

    433

    回帖

    1710

    积分

    荣誉版主

    积分
    1710
    发表于 2024-3-27 18:09:55 | 显示全部楼层
    楼上的提议很糟糕,这样别人也可以轻易获得ID值。
    回复 支持 反对 送花

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    QQ|手机版|深圳国芯人工智能有限公司 ( 粤ICP备2022108929号-2 )

    GMT+8, 2024-11-1 07:33 , Processed in 0.092683 second(s), 102 queries .

    Powered by Discuz! X3.5

    © 2001-2024 Discuz! Team.

    快速回复 返回顶部 返回列表