打印
[STM8]

STM8S的Unique ID

[复制链接]
10190|21
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
liumda|  楼主 | 2011-11-22 07:45 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
请问如何用ST LINK读出STM8S的Unique ID?谢谢!
沙发
gfkdliling| | 2011-11-22 08:53 | 只看该作者
ST-LINK能不能读出没试过,用程序可以读出来,仿真状态下也可以

使用特权

评论回复
板凳
gfkdliling| | 2011-11-22 08:56 | 只看该作者
附函数
void Get_Unique_Device_ID(void)
{
    unsigned char j;
    for(j=0;j<12;j++)
    {               
        Unique_ID[j]=*((@far unsigned char*)0X4880+j);
    }
}

使用特权

评论回复
地板
liumda|  楼主 | 2011-11-22 11:07 | 只看该作者
程序我知道如何读写
我需要知道如何用ST LINK进行读写,不知道ST有没有提供这样的库函数?

使用特权

评论回复
5
香水城| | 2011-11-22 17:44 | 只看该作者
程序我知道如何读写
我需要知道如何用ST LINK进行读写,不知道ST有没有提供这样的库函数?
liumda 发表于 2011-11-22 11:07


用ST LINK怎么调用一个库函数?

你用STVP + ST LINK,在STVP中开一个窗口不就可以读了吗?

使用特权

评论回复
6
wangshi| | 2011-11-22 19:38 | 只看该作者
我就知道仿真状态下可以。

使用特权

评论回复
7
liumda|  楼主 | 2011-11-22 20:09 | 只看该作者
用ST LINK怎么调用一个库函数?

你用STVP + ST LINK,在STVP中开一个窗口不就可以读了吗?
香水城 发表于 2011-11-22 17:44


香版主,我用的是STVP + ST LINK,我在STVP里面没有找到可以读UNIQUE ID的窗口。请指点,谢谢!

使用特权

评论回复
8
gfkdliling| | 2011-11-22 20:33 | 只看该作者
打开一个memory窗口,如果是105的话输入地址0x48CD  如果是103的话输入地址0x4865 就可以看到了

使用特权

评论回复
9
gfkdliling| | 2011-11-22 20:35 | 只看该作者
补充一句,在用STVP + ST LINK 在仿真状态下查看

使用特权

评论回复
10
liumda|  楼主 | 2011-11-23 07:45 | 只看该作者
用ST LINK怎么调用一个库函数?

你用STVP + ST LINK,在STVP中开一个窗口不就可以读了吗?
香水城 发表于 2011-11-22 17:44


我们想自己设计一个PC烧写软件,不用STVP,在烧写的过程中需要验证芯片的ID,但从ST网站下载的库文件中没有找到可以读写芯片ID的函数。不知道ST为什么不开放?

香版主可以提供一下吗?谢谢!

使用特权

评论回复
11
gfkdliling| | 2011-11-23 10:23 | 只看该作者
我们已经实现了通过芯片ID给每个芯片加密

使用特权

评论回复
12
gfkdliling| | 2011-11-23 10:23 | 只看该作者
烧进去每个芯片的程序都是不一样的

使用特权

评论回复
13
liumda|  楼主 | 2011-11-23 12:15 | 只看该作者
我们已经实现了通过芯片ID给每个芯片加密
gfkdliling 发表于 2011-11-23 10:23


如何实现?难道是每个都手工抄写下来?

使用特权

评论回复
14
gfkdliling| | 2011-11-23 12:20 | 只看该作者
如何实现?难道是每个都手工抄写下来?
liumda 发表于 2011-11-23 12:15

手工抄下来怎么满足生产,每天生产1000多台估计需要3-4个人专门负责抄ID号

使用特权

评论回复
15
香水城| | 2011-11-25 17:26 | 只看该作者
我们想自己设计一个PC烧写软件,不用STVP,在烧写的过程中需要验证芯片的ID,但从ST网站下载的库文件中没有找到可以读写芯片ID的函数。不知道ST为什么不开放?

香版主可以提供一下吗?谢谢! ...
liumda 发表于 2011-11-23 07:45


Unique ID 就是一个存储数据区,给你了起始地址,你想怎么读都可以,自己可以很容易地写一个函数,根本不需要ST再提供,怎么能说ST不开放呢?

你看看3楼的函数,这样的函数还要ST开放?

使用特权

评论回复
16
liumda|  楼主 | 2011-12-2 12:46 | 只看该作者
Unique ID 就是一个存储数据区,给你了起始地址,你想怎么读都可以,自己可以很容易地写一个函数,根本不需要ST再提供,怎么能说ST不开放呢?

你看看3楼的函数,这样的函数还要ST开放? ...
香水城 发表于 2011-11-25 17:26


版主没看清我的要求,3楼是用单片机软件读ID,这个都会,我需要通过ST LINK,自己编PC的烧写软件,在编程时先读写一下芯片的ID。

使用特权

评论回复
17
香水城| | 2011-12-2 13:24 | 只看该作者
版主没看清我的要求,3楼是用单片机软件读ID,这个都会,我需要通过ST LINK,自己编PC的烧写软件,在编程时先读写一下芯片的ID。
liumda 发表于 2011-12-2 12:46


请问你自己编PC的烧写软件,使用了哪些ST提供的函数呢?

使用特权

评论回复
18
caner_hn| | 2011-12-2 13:38 | 只看该作者
楼主换个想法.
你自己编PC的烧写软件好办.
你先编个读ID并通过串口发送ID的STM8S程序.你的PC软件先烧这个读ID的程序,然后启动STM8S运行,通过PC串口接收ID,然后根据接收到的ID定制你的加密的STM8S程序,然后再烧经过加密处理的STM8S程序.

使用特权

评论回复
19
liumda|  楼主 | 2011-12-2 16:00 | 只看该作者
楼主换个想法.
你自己编PC的烧写软件好办.
你先编个读ID并通过串口发送ID的STM8S程序.你的PC软件先烧这个读ID的程序,然后启动STM8S运行,通过PC串口接收ID,然后根据接收到的ID定制你的加密的STM8S程序,然后再烧经过加 ...
caner_hn 发表于 2011-12-2 13:38


我是用ST LINK烧写,再搞个串口,是不是多此一举了。

使用特权

评论回复
20
香水城| | 2011-12-2 16:09 | 只看该作者
既然可以自己编PC的烧写软件,你肯定可以从芯片中任何地方读出数据,读ID只需要读出指定地址的内容既可。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

26

主题

119

帖子

3

粉丝