查看: 4162|回复: 3

[其他] 908GP32的安全码设置问题

[复制链接]

该用户从未签到

3

主题

4

帖子

0

新手上路

Rank: 1

积分
27
最后登录
1970-1-1
发表于 2008-12-24 14:31:10 | 显示全部楼层 |阅读模式
现在有个很头疼的问题。就是当代码很少时,4K左右,或5K,我的程序编译后安全码全是FFFFFFFFFF,有时修改几句安全码又有了2个字节的非FF数值。

我想这个安全码是编译软件自己计算的吧,但象这种情况(程序编译后安全码正好是FF),我可怎么加密哦。虽然可以手动在0xFFF6写数值,但每次烧写程序都这样也太费事了吧。

还有,我的程序总是只从FLASH头(8000H)开始写,是否这个原因呢,我要把他们分段到处写吗????

请高手帮助解释一下,谢谢!
我知道答案 目前已有2人回答
回复

使用道具 举报

该用户从未签到

0

主题

1

帖子

0

新手上路

Rank: 1

积分
21
最后登录
1970-1-1
发表于 2008-12-26 14:48:34 | 显示全部楼层

回复:908GP32的安全码设置问题

0xfff6是某个中断的入口,只要写个中断的响应函数(空函数即可),放到某个flash空间,就可以改变安全码。
依次类推

该用户从未签到

1

主题

7

帖子

0

新手上路

Rank: 1

积分
28
最后登录
1970-1-1
发表于 2009-1-21 15:55:19 | 显示全部楼层

回复:908GP32的安全码设置问题

楼上说的没错,GP32的保密位(安全代码)就是它的中断矢量地址。如果那些中断都没有用到,编译时自然都是$FFFF。你可以给不用的中断定义一些空的中断服务程序,那么它们的内容就不是$FFFF了。程序中如果不用这些中断,相应的中断使能位不用打开就是了。
出于增加保密性和增强软件抗出错能力的考虑,不同的中断应定义不同的空中断服务程序,即使他们的内容是完全相同的。而且放置的位置最好有交错。另外就是所谓的空中断服务程序也最好不完全是空的。至少要有一个返回指令。再考虑得复杂点,就是万一程序真的误跑到这些没有打开的中断这里了,软件应该如何处理。发挥你的想象力吧!这也是工程师的乐趣所在吧。

该用户从未签到

3

主题

4

帖子

0

新手上路

Rank: 1

积分
27
最后登录
1970-1-1
 楼主| 发表于 2009-1-21 16:00:18 | 显示全部楼层

回复:908GP32的安全码设置问题

真没看出来,0xFFF6地址果然是中断向量,谢谢指点!
您需要登录后才可以回帖 注册/登录

本版积分规则

关闭

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

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

GMT+8, 2025-7-20 18:59 , Processed in 0.092737 second(s), 24 queries , MemCache On.

Powered by Discuz! X3.4

Copyright © 2001-2024, Tencent Cloud.

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