查看: 8002|回复: 21

[求助] LPC84X Unique device serial number for identificatio怎么用C代码读出来!

[复制链接]

该用户从未签到

3

主题

23

帖子

0

注册会员

Rank: 2

积分
66
最后登录
2022-4-29
发表于 2022-4-22 22:55:51 | 显示全部楼层 |阅读模式
LPC84X系列芯片的Unique device serial number for identification怎么用C代码读取出来?我看了资料,没有找到它的地址,所以无从下手!
下面是COPE的资料数据,也没有写地址,这个IAP的58命名怎么使用呢?也没有看到有函数或者库支持此命令!
Table 46. IAP ReadUID command
Command Compare
Input Command code: 58 (decimal)
Status code CMD_SUCCESS
Result Result0: The first 32-bit word (at the lowest address).
Result1: The second 32-bit word.
Result2: The third 32-bit word.
Result3: The fourth 32-bit word.
Description This command is used to read the unique ID.

我需要用C读出来进行产品的跟踪和加密处理!大神别走,等您回复谢谢谢谢!!!

最佳答案

dengyijun103 发表于 2022-4-24 22:44 里面的函数都有实体 可以单独编译通过 你觉得论坛这种形式还行否?
回复

使用道具 举报

  • TA的每日心情
    难过
    2021-12-15 16:01
  • 签到天数: 1 天

    连续签到: 1 天

    [LV.1]初来乍到

    305

    主题

    4701

    帖子

    0

    中级会员

    Rank: 3Rank: 3

    积分
    377
    最后登录
    2023-8-16
    发表于 2022-4-23 08:49:29 | 显示全部楼层
    楼主您好,你看一下是不是Read Part Identification number,读取方法如下:
    2.jpg

    该会员没有填写今日想说内容.
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    3

    主题

    23

    帖子

    0

    注册会员

    Rank: 2

    积分
    66
    最后登录
    2022-4-29
     楼主| 发表于 2022-4-23 21:28:33 | 显示全部楼层
    安 发表于 2022-4-23 08:49
    楼主您好,你看一下是不是Read Part Identification number,读取方法如下:

    这个不是啊,这是产品型号的ID,我要的是IC的唯一识别号UID。就像STM32那种96BIT的,每个IC唯一。
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    慵懒
    昨天 20:52
  • 签到天数: 1871 天

    连续签到: 2 天

    [LV.Master]伴坛终老

    203

    主题

    3万

    帖子

    64

    超级版主

    Rank: 8Rank: 8

    积分
    112705
    最后登录
    2025-8-28
    发表于 2022-4-24 08:47:16 | 显示全部楼层
    你这是使用了IAP,你可以参考官方提供的样例程序
    该会员没有填写今日想说内容.
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    难过
    2021-12-15 16:01
  • 签到天数: 1 天

    连续签到: 1 天

    [LV.1]初来乍到

    305

    主题

    4701

    帖子

    0

    中级会员

    Rank: 3Rank: 3

    积分
    377
    最后登录
    2023-8-16
    发表于 2022-4-24 11:02:02 | 显示全部楼层
    本帖最后由 安 于 2022-4-24 11:40 编辑

    我看手册介绍ReadUID可以读取到,我从源码中找了一下,你看一下SCB->CPUID。我感觉他用M0的内核,你就按ST的M0系列读取方式试试。
    该会员没有填写今日想说内容.
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    3

    主题

    23

    帖子

    0

    注册会员

    Rank: 2

    积分
    66
    最后登录
    2022-4-29
     楼主| 发表于 2022-4-24 13:35:52 | 显示全部楼层
    安 发表于 2022-4-24 11:02
    我看手册介绍ReadUID可以读取到,我从源码中找了一下,你看一下SCB->CPUID。我感觉他用M0的内核,你就按ST ...

    这个结构体里面没有看到读UID的变量
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    3

    主题

    23

    帖子

    0

    注册会员

    Rank: 2

    积分
    66
    最后登录
    2022-4-29
     楼主| 发表于 2022-4-24 13:52:15 | 显示全部楼层
    stm1024 发表于 2022-4-24 08:47
    你这是使用了IAP,你可以参考官方提供的样例程序

    官方的例程只有Flash_IAP,就没有其他的讲IAP的例程了.。但是在Flash_IAP里面有int EraseChip(void);
    int EraseSector(uint32_t adr);
    int ErasePage(uint32_t adr);
    int ErasePages(uint32_t adr0, uint32_t adr1);
    int EraseAllPages(void);
    等等跟FLASH相关的声明但是没有看到函数体,应该是封装了。在IAP.h里面有
    enum eIAP_COMMANDS
    {       
      IAP_PREPARE = 50,       // Prepare sector(s) for write operation
      IAP_COPY_RAM2FLASH,     // Copy RAM to Flash
      IAP_ERASE,              // Erase sector(s)
      IAP_BLANK_CHECK,        // Blank check sector(s)
      IAP_READ_PART_ID,       // Read chip part ID
      IAP_READ_BOOT_VER,      // Read chip boot code version
      IAP_COMPARE,            // Compare memory areas
      IAP_REINVOKE_ISP,       // Reinvoke ISP
      IAP_READ_UID,           // Read unique ID
      IAP_ERASE_PAGE,          // Erase page(s)
      IAP_READ_MISR=70,
      IAP_READ_MISR_EX=73,
      IAP_READ_PAGE_FAIM=80,
      IAP_WRITE_PAGE_FAIM=81
    };
    但是没有IAP_READ_UID相关的函数,网上看了资料也没有找到!这个功能是不是NXP公司忘记写例程了?
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    难过
    2021-12-15 16:01
  • 签到天数: 1 天

    连续签到: 1 天

    [LV.1]初来乍到

    305

    主题

    4701

    帖子

    0

    中级会员

    Rank: 3Rank: 3

    积分
    377
    最后登录
    2023-8-16
    发表于 2022-4-24 14:25:20 | 显示全部楼层
    官方提供fsl_iap.c中的包含读取代码,如下所示。
    /*!
    * @brief Read unique identification.
    *
    * This function is used to read the unique id.
    *
    * @param uniqueID store the uniqueID.
    *
    * @retval kStatus_IAP_Success Api has been executed successfully.
    */
    status_t IAP_ReadUniqueID(uint32_t *uniqueID)
    {
    #if defined(FSL_FEATURE_IAP_READ_UNIQUE_ID_NOWORK) && FSL_FEATURE_IAP_READ_UNIQUE_ID_NOWORK
        uint32_t *result = (uint32_t *)0x01000100;
        uint8_t i        = 0;

        for (i = 0; i < 4; i++)
            uniqueID[i] = result[i];
        return kStatus_IAP_Success;
    #else
        uint32_t command[5] = {0x00U};
        uint32_t result[5]  = {0x00U};

        command[0] = (uint32_t)kIapCmd_IAP_ReadUid;
        iap_entry(command, result);
        uniqueID[0] = result[1];
        uniqueID[1] = result[2];
        uniqueID[2] = result[3];
        uniqueID[3] = result[4];

        return translate_iap_status(result[0]);
    #endif
    }
    该会员没有填写今日想说内容.
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    难过
    2021-12-15 16:01
  • 签到天数: 1 天

    连续签到: 1 天

    [LV.1]初来乍到

    305

    主题

    4701

    帖子

    0

    中级会员

    Rank: 3Rank: 3

    积分
    377
    最后登录
    2023-8-16
    发表于 2022-4-24 14:29:24 | 显示全部楼层
    MCUXpresso IDE 导入IAP的例程中可以加载到iap.c和IAP.H
    该会员没有填写今日想说内容.
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    擦汗
    2016-12-2 08:40
  • 签到天数: 3 天

    连续签到: 1 天

    [LV.2]偶尔看看I

    103

    主题

    869

    帖子

    7

    版主

    Rank: 7Rank: 7Rank: 7

    积分
    4351
    最后登录
    2025-8-21
    发表于 2022-4-24 14:36:46 | 显示全部楼层
    你用的LPCOPEN的库函数?IAP_READ_UID这个就是读ID的
    回复 支持 反对

    使用道具 举报

    您需要登录后才可以回帖 注册/登录

    本版积分规则

    关闭

    站长推荐上一条 /3 下一条

    Archiver|手机版|小黑屋|恩智浦技术社区

    GMT+8, 2025-8-29 18:52 , Processed in 0.117496 second(s), 32 queries , MemCache On.

    Powered by Discuz! X3.4

    Copyright © 2001-2024, Tencent Cloud.

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