打印
[AVR单片机]

提供HEX文件,但是限制只能在指定的单片机上烧写后运行的

[复制链接]
4245|14
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
龙在天涯|  楼主 | 2007-9-12 19:56 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
沙发
双龙| | 2007-9-13 12:00 | 只看该作者

用双龙的AVR COPY机,可以特殊绑定和计数

使用特权

评论回复
板凳
www8818| | 2007-9-13 15:38 | 只看该作者

谢谢上龙的支持,可以再讲的清除些吗,我要提供给对方HEX

使用特权

评论回复
地板
simon21ic| | 2007-9-14 01:45 | 只看该作者

如果一定要提供HEX文件的话

那一定需要编程器改变一些数据才能正常使用.
举个简单的例子:
程序中
uint8 i = 0xFF;
main()
{
if(i != 0x30)
return;
}
编程是需要把i变量对应的位置的数据改写成0x30就可以了,这个和软件加密有一些类似.

另外,问一下双龙:特殊绑定是什么功能啊?

使用特权

评论回复
5
www8818| | 2007-9-14 11:12 | 只看该作者

我要提供给对方HEX文件,由别人来烧写

可否加ID标识芯片,或者读取什么芯片的串号等方法,不知大家有什么经验。谢谢大家:)

使用特权

评论回复
6
xwj| | 2007-9-14 12:18 | 只看该作者

也不是没有办法实现,但是有一定的前提

就是只对自己售出的机器提供升级包,
否则终究会被简单**

使用特权

评论回复
7
双龙| | 2007-9-14 12:36 | 只看该作者

把烧录代码放到我们的AVR拷贝机里,给他们工人用即可

还可以做烧录次数限制

使用特权

评论回复
8
xwj| | 2007-9-14 12:41 | 只看该作者

晕,LS,给别人个拷贝机的话那还不如给芯片呢

LZ明显是只想通过给用户文件让别人自己解决问题,却又担心保密性问题


LZ还是直接寄芯片吧,发个EMS也就那么多钱

使用特权

评论回复
9
hebeijiang| | 2007-9-14 15:18 | 只看该作者

ls理解错误。

我说我的理解:
当客户的机器需要升级时,派人或给个设备到现场去直接下载就可以了,但会涉及到目标代码泄露的问题,因很多工厂的目标代码都是花了大力气稳定下来的,不想外传,所以才会有这样的要求。

使用特权

评论回复
10
龙在天涯|  楼主 | 2007-9-14 22:46 | 只看该作者

真的非常感谢大家出的点子,小弟感激不尽

看看哪位道友还有高招,我就是需要将HEX给客户自己烧写,在调试中由于条件和其他原因不得不这样。但是,这样又涉及到传播的问题。虽然可以通过运行次数限制这样的手段来达到,但总不好。

使用特权

评论回复
11
bird777| | 2007-9-14 23:16 | 只看该作者

:

说简单了真的很简单,AVR有应用区和BOOTLOADER区,给他们HEX让他们通过设计好的自编程方式下载文件,这样预先在高端FLASH处(反正让应用文件触不到的地址)写个0X55AA,或者其它什么都可以不要是0XFFFF就行,当口令.
对了这个地址不要放到BOOTLOADER区,这个区一定要加密,否则就没有什么意思了.

使用特权

评论回复
12
bird777| | 2007-9-14 23:36 | 只看该作者

:

想了一下,用户可能直接读出HEX之内容,所以来点复杂的,让BOOTLOADER区的监控文件对下载之后的文件做下处理,读出1个扇区保存到RAM中,然后修改几个字节,再回写.这个方式好,假如用AVR单片机.
HEX文件调入编程器修改首页多个字节为0XFF.....0XFF(不想太明显就写些其它
内容),然后保存,给用户(我想再怎么修改程序,头两个字节总是不会变化吧).BOOTLOADER区的监控文件当然要知道头两个内容哦,然后......
嘿嘿,再用我上贴的方法再加个保险,这样就成了.
如果你设计的产品太有钱途,碰上了极端,认倒霉.最后芯片要打磨,让他破也吃点苦. 

使用特权

评论回复
13
龙在天涯|  楼主 | 2007-9-15 19:58 | 只看该作者

真是谢谢大家的提点与支持,小弟不甚感激

使用特权

评论回复
14
zl_123| | 2012-7-29 00:34 | 只看该作者
2# 双龙

使用特权

评论回复
15
sdkeven| | 2012-11-3 14:20 | 只看该作者
受教了

使用特权

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

本版积分规则

3

主题

60

帖子

1

粉丝