打印
[国产单片机]

义隆单片机 用户ID寄存器

[复制链接]
3563|10
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
dly001|  楼主 | 2010-10-8 10:37 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
沙发
McuPlayer| | 2010-10-8 10:45 | 只看该作者
客户ID和Rolling Code不是一码

使用特权

评论回复
板凳
McuPlayer| | 2010-10-8 10:46 | 只看该作者
elan在option区域有客户ID的位置,是运行时是不能读的
但Rolling Code是运行时可以读取的

使用特权

评论回复
地板
dly001|  楼主 | 2010-10-8 11:00 | 只看该作者
那ROLLING CODE 怎么读取?用什么指令,这个ID码存在什么地方?可以的话给个范例,谢谢

使用特权

评论回复
5
谈的元| | 2010-10-9 22:14 | 只看该作者
ID码就相当打个标记,不能读

使用特权

评论回复
6
谈的元| | 2010-10-9 22:24 | 只看该作者
本帖最后由 谈的元 于 2010-10-9 22:28 编辑

滚动码就是改程序,

比如有一个程序:
org  0x0
nop
mov  a,@0x00;// 假如你滚动烧写的地址设在这里
mov 0x20,a
nop
nop
mov  a,0x21;//假设0x21是无线通信接收到的数据
xor   a,0x20;
jbs  3,2
jmp    aa
jmp    bb
aa:    nop
jmp  cc
bb:   打开车门
jmp  cc
cc:
nop
end
///////////
滚动烧写后就变为org  0x0
nop
mov  a,@0x01;//
mov 0x20,a
nop
nop
mov  a,0x21;//假设0x21是无线通信接收到的数据
xor   a,0x20;
jbs  3,2
jmp    aa
jmp    bb
aa:    nop
jmp  cc
bb:   打开车门
jmp  cc
cc:
nop
end
下一个烧写就变为
org  0x0
nop
mov  a,@0x02;//
mov 0x20,a
nop
nop
mov  a,0x21;//假设0x21是无线通信接收到的数据
xor   a,0x20;
jbs  3,2
jmp    aa
jmp    bb
aa:    nop
jmp  cc
bb:   打开车门
jmp  cc
cc:
nop
end

使用特权

评论回复
7
谈的元| | 2010-10-9 22:26 | 只看该作者
这么做的目的:如果变量 0X20接收到  0X00就是第1个芯片打开车门

                       如果变量 0X20接收到  0X01就是第2个芯片打开车门
...
有了序列号,实现了区别

使用特权

评论回复
8
谈的元| | 2010-10-9 22:46 | 只看该作者
本帖最后由 谈的元 于 2010-10-9 22:48 编辑

同时滚动地址只能设置在语句MOV A,@2这种与RETL  0X11这样的地方,

也只有 这些地方才有意义

同时,一般变化规律为等差数列,这样实现简单,用的也多

使用特权

评论回复
评分
参与人数 1威望 +2 收起 理由
McuPlayer + 2
9
老鱼探戈| | 2010-10-22 12:49 | 只看该作者
义隆的不是很了解,

不过SONIX里读取的方法就跟汇编查表是一样的。

使用特权

评论回复
10
scytrenbin| | 2010-11-7 16:12 | 只看该作者
义隆的用户ID码,是客户在烧录时设置的,客户无法通过程式去读写。
此用户ID码,有的客户用来作程式的版本号;有的用来作烧录日期;主要看编程人员怎样用。若今后程式有问题,可以用烧录器读出此用户ID码。

使用特权

评论回复
11
desc0| | 2020-11-7 23:45 | 只看该作者
谈的元 发表于 2010-10-9 22:24
滚动码就是改程序,

比如有一个程序:

你好,请教一下。
add    pc,a

这个指令,用在程序开头处,是不是可以做到读随机数

使用特权

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

本版积分规则

0

主题

5

帖子

0

粉丝