[求助]关于908GP32的安全码,可以自己设置吗?
- UID
- 106342
- 性别
- 男
|
[求助]关于908GP32的安全码,可以自己设置吗?
现在有个很头疼的问题。就是当代码很少时,4K左右,或5K,我的程序编译后安全码全是FFFFFFFFFF,有时修改几句安全码又有了2个字节的非FF数值。
我想这个安全码是编译软件自己计算的吧,但象这种情况(程序编译后安全码正好是FF),我可怎么加密哦。虽然可以手动在0xFFF6写数值,但每次烧写程序都这样也太费事了吧。
请斑竹解释一下吧。
对了,我的程序总是只从FLASH头(8000H)开始写。是否这个原因呢,我要把他们分段到处写吗????
还有,我竟然中奖了,呵呵,我还从未中过如此大奖,只在襄樊中了个铅笔盒,那时我早就毕业了,5555
感谢大家————[em06] |
|
|
|
|
|
harbin 该用户已被删除
|
我的理解:
0xfff6是某个中断的入口,只要写个中断的响应函数(空函数即可),放到某个flash空间,就可以改变安全码
依次类推 |
|
|
|
|
|
- UID
- 104380
- 性别
- 男
|
harbin网友说得很对,GP32的保密位(安全代码)就是它的中断矢量地址。如果那些中断都没有用到,编译时自然都是$FFFF。你可以给不用的中断定义一些空的中断服务程序,那么它们的内容就不是$FFFF了。程序中如果不用这些中断,相应的中断使能位不用打开就是了。
出于增加保密性和增强软件抗出错能力的考虑,不同的中断应定义不同的空中断服务程序,即使他们的内容是完全相同的。而且放置的位置最好有交错。另外就是所谓的空中断服务程序也最好不完全是空的。至少要有一个返回指令。再考虑得复杂点,就是万一程序真的误跑到这些没有打开的中断这里了,软件应该如何处理。发挥你的想象力吧!-这也是工程师的乐趣所在吧。 |
|
|
|
|
|
- UID
- 106342
- 性别
- 男
|
hehe,我还真没看出来,FFF6地址真是中断向量。怪不得了,,,
感谢harbin!和斑竹。 |
|
|
|
|
|