打印

哈哈,装个**也行

[复制链接]
6537|31
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
id001|  楼主 | 2008-7-14 16:52 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

如题。

第一次上电程序开始运行,某段程序执行一次。
以后复位、上电该段程序都不执行,有什么办法??

最好不要用判断该程序是否已执行一次的标志方法,因为感觉不适很可靠。

相关帖子

沙发
李冬发| | 2008-7-14 16:58 | 只看该作者

那就把执行过的代码改成NOP吧

使用特权

评论回复
板凳
dld2| | 2008-7-14 17:00 | 只看该作者

呵呵

让这段程序执行一次以后,就自杀。

使用特权

评论回复
地板
computer00| | 2008-7-14 17:03 | 只看该作者

搞个保险丝,运行完后就把保险丝熔断……

下次开机时检查保险丝状态

使用特权

评论回复
5
hastenlin| | 2008-7-14 17:33 | 只看该作者

我有办法

有办法,外带一个EEPROM,在生产时将关键数据保存在EEPROM中,第一次运行时,通过判断关键字进行执行;执行完毕后将此关键字删除,没有这关键字就不能运行

使用特权

评论回复
6
huangqi412| | 2008-7-14 18:01 | 只看该作者

接00 ,万一保险丝没烧端呢?

搞个急电器,把vcc接到220,运行后接通,烧到冒烟,保证这个程序只执行一次.

使用特权

评论回复
7
hotpover| | 2008-7-14 18:22 | 只看该作者

什么程序要搞得这样狼狈?

使用特权

评论回复
8
lyjian| | 2008-7-14 18:33 | 只看该作者

使用特权

评论回复
9
makesoft| | 2008-7-14 19:25 | 只看该作者

哈哈,装个**也行

执行完了就把通向程序的桥炸掉。

使用特权

评论回复
10
pegion1001| | 2008-7-14 19:50 | 只看该作者

太牛了你们

使用特权

评论回复
11
程序匠人| | 2008-7-14 20:12 | 只看该作者

先回答一下大家的疑问:什么程序只执行一次?

5楼的办法是个办法

使用特权

评论回复
12
computer00| | 2008-7-14 20:38 | 只看该作者

5楼的办法没我的办法好也~~~~

我的办法只要一个IO口即可,不用一个存储器啊……其实楼主需要的就是一个1bit的OTP存储器……而搞个小保险丝最合适拉~~~

使用特权

评论回复
13
Swd21ic| | 2008-7-14 20:50 | 只看该作者

re

就是在非易失位上去判断..

IAP、EEPROM、外部FLASH什么都可以..

读了之后就改写那个值..

使用特权

评论回复
14
sanwa_chen| | 2008-7-14 23:43 | 只看该作者

好多情况会要只执行一次的嘛

电池供电的便携式设备,需要按照上次断电后的情况继续运行的。第一次上电时程序初始化设置一些参数,以后用户自己存储设置一些参数。用户换电池后按照用户参数以及上次状态继续执行的。
5楼的方法可以用

使用特权

评论回复
15
grady1125| | 2008-7-14 23:51 | 只看该作者

可以做个报警器,每次上电后报警叫值班人来做决定o(∩_∩)o

使用特权

评论回复
16
tyw| | 2008-7-15 06:17 | 只看该作者

在第一次上电时按一些特殊的键组合

例如同时按住三个键上电时运行你所需的程序,则不按键上电时就会运行另一套程序了.
俺常用这个方法来运行系统的厂方设置参数.
也可用空余I/O接地,第一次开机后再把这根线割断,这些事在厂里就做好,那么到用户手里就是只会运行普通程序的笨蛋了.哈哈

使用特权

评论回复
17
dld2| | 2008-7-15 07:56 | 只看该作者

楼上很有参考价值

使用特权

评论回复
18
id001|  楼主 | 2008-7-15 08:55 | 只看该作者

谢谢大家

提出这个问题的原因,正是用于设置一些系统的出厂时的初始化参数。

个人觉得最好不要用判断该程序是否已执行一次的标志方法,因为感觉不适很可靠。

5楼的方法就是先判断标志的方法。
即:程序运行前先判断EEPROM中的某几个字节,如果是设定的字节,说明已写过,否则跳过。

即程序复位或上电总是存在如下判断:
if(已写 != 0)
{
      设置参数;
      已写;
}
个人觉得:只要存在判断,就存在出错的可能。再者,万一EEPROM中那几个字节巧合是用来标定的几个字节(可能性小,总有吧),其不是不能顺利的完成出厂时的初始化参数设置。

2楼:如何改为NOP

3楼:如何自杀??如何运行中只删除一段程序??


使用特权

评论回复
19
李冬发| | 2008-7-15 09:14 | 只看该作者

如何改为NOP?定做这样的程序存储器,读过后自动置为NOP的!

使用特权

评论回复
20
computer00| | 2008-7-15 09:41 | 只看该作者

无语……既然有地方保存参数了,那应该就有EEPROM……

一个位不保险,可以用多个位,多个字节啊,再觉得不保险,再加上校验字……

使用特权

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

本版积分规则

35

主题

107

帖子

0

粉丝