找回密码
 立即注册
查看: 489|回复: 9

【已解决】STC32G关于ID号加密问题。

[复制链接]

该用户从未签到

8

主题

10

回帖

68

积分

注册会员

积分
68
发表于 2023-9-4 23:51:27 | 显示全部楼层 |阅读模式
本帖最后由 STCAI 于 2023-9-6 08:51 编辑

原先在0xE100,0xE400位置有设置ID号加密,现在地址如何设置?现在还是原设置,已经不对了。

回复 送花

使用道具 举报

  • TA的每日心情
    开心
    2024-6-6 12:20
  • 签到天数: 18 天

    [LV.4]偶尔看看III

    16

    主题

    729

    回帖

    2638

    积分

    超级版主

    积分
    2638
    发表于 2023-9-5 09:09:38 | 显示全部楼层
    如果你现在需要放在STC32G12K128的FF:E100H和FF:E400H
    则ID号加密的地址需要设置为0x1E100和0x1E400

    因为这个地址是内部FLASH的绝对物理地址
    逻辑地址FE:0000对应绝对物理地址0x00000
    逻辑地址FF:0000对应绝对物理地址0x10000
    回复 支持 反对 送花

    使用道具 举报

    该用户从未签到

    8

    主题

    10

    回帖

    68

    积分

    注册会员

    积分
    68
     楼主| 发表于 2023-9-5 09:50:43 | 显示全部楼层
    zhp 发表于 2023-9-5 09:09
    如果你现在需要放在STC32G12K128的FF:E100H和FF:E400H
    则ID号加密的地址需要设置为0x1E100和0x1E400

    如果这样,
    #define ID_ADDR_Check1        0xE100        //定义ID_check1存放地址
    #define ID_ADDR_Check2        0xE400        //定义ID_check2存放地址
    是否也对应修改为
    #define ID_ADDR_Check1        0x1E100        //定义ID_check1存放地址
    #define ID_ADDR_Check2        0x1E400        //定义ID_check2存放地址
    回复 支持 反对 送花

    使用道具 举报

    该用户从未签到

    8

    主题

    10

    回帖

    68

    积分

    注册会员

    积分
    68
     楼主| 发表于 2023-9-5 10:01:48 | 显示全部楼层
    BYTE        code *cptr;
    BYTE        code *cptr1;
    BYTE        code *cptr2;//这三个定义也要修改一下了,不然会保错。
    有如下代码:
            cptr1 = ID_ADDR_Check1;
            cptr2 = ID_ADDR_Check2;


    截图202309051001433498.jpg
    回复 支持 反对 送花

    使用道具 举报

    该用户从未签到

    8

    主题

    10

    回帖

    68

    积分

    注册会员

    积分
    68
     楼主| 发表于 2023-9-5 12:01:31 | 显示全部楼层
    这样修改完,编译没有报错,但ID检测还不对。
    截图202309051158496546.jpg
    截图202309051200151420.jpg
    截图202309051200257347.jpg
    截图202309051201064531.jpg
    回复 支持 反对 送花

    使用道具 举报

    该用户从未签到

    8

    主题

    10

    回帖

    68

    积分

    注册会员

    积分
    68
     楼主| 发表于 2023-9-5 12:03:55 | 显示全部楼层
    本帖最后由 jnyyz 于 2023-9-6 08:51 编辑

    int ID_CheckPro()
    {
            int        idcki;
            BYTE SysIDtmp1;
            BYTE SysIDtmp2;
            cptr1 =(WORD)ID_ADDR_Check1;
            cptr2 =(WORD)ID_ADDR_Check2;
            for (idcki=0; idcki<7; idcki++)
        {
          SysID1[idcki]= *cptr1++;
                            SysID2[idcki]= *cptr2++;
                            
                            SysIDtmp1=SysID[idcki]-1;
                            SysIDtmp1*=3;
                            SysIDtmp1/=4;
                            SysIDtmp1+=8;                        
                            SysIDtmp2=SysID[idcki]*2;
                            SysIDtmp2/=3;
                            SysIDtmp2+=7;
                            SysIDtmp2*=7;
                   
                            if(SysID1[idcki]!=SysIDtmp1)
                            {
                                    SendString1("Check id1 is error!\r\n");
                                    return 0;
                            }        
                            if(SysID2[idcki]!=SysIDtmp2)
                            {
                                    SendString1("Check id2 is error!\r\n");
                                    return 0;
                            }        
                    }
                    return 1;        
    }
    回复 支持 反对 送花

    使用道具 举报

  • TA的每日心情
    开心
    2024-6-6 12:20
  • 签到天数: 18 天

    [LV.4]偶尔看看III

    16

    主题

    729

    回帖

    2638

    积分

    超级版主

    积分
    2638
    发表于 2023-9-5 14:24:33 | 显示全部楼层
    jnyyz 发表于 2023-9-5 12:03
    int ID_CheckPro()
    {
            int        idcki;

    只在下载软件中,0xe100才需要改为FLASH绝对地址0x1e100
    在你自己的代码中,则需要使用逻辑地址进行访问,
    例如:
    *(BYTE code *)0xe100
    或者
    *(BYTE ecode *)0xffe100
    回复 支持 反对 送花

    使用道具 举报

    该用户从未签到

    8

    主题

    10

    回帖

    68

    积分

    注册会员

    积分
    68
     楼主| 发表于 2023-9-5 16:33:13 | 显示全部楼层
    好的,我上机试一下。
    回复 支持 反对 送花

    使用道具 举报

    该用户从未签到

    8

    主题

    10

    回帖

    68

    积分

    注册会员

    积分
    68
     楼主| 发表于 2023-9-6 08:48:58 | 显示全部楼层
    jnyyz 发表于 2023-9-5 16:33
    好的,我上机试一下。

    已经解决。
    回复 支持 反对 送花

    使用道具 举报

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

    本版积分规则

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

    GMT+8, 2024-6-15 13:08 , Processed in 0.069087 second(s), 67 queries .

    Powered by Discuz! X3.5

    © 2001-2024 Discuz! Team.

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