打印

如何在程序内部用程序擦除自己设置的密码?

[复制链接]
1159|4
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
peterone|  楼主 | 2015-11-4 11:30 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
     请教各位大神一个现在正在做的功能。   

    我在控制程序中加了密码,然后每次更新程序后都需要重新输入密码才能擦写新的程序。

    现在想做的就是,在程序内部加入一段可以擦除密码的代码(或函数),以后要更新程序后,通过按键或者指令,启动那一段擦除密码的功能,程序内部自己清除掉密码和之前的程序。   

    现在尝试了在不带密码的程序中调用flash_erash( )函数,可以擦除sectorA至sectorH范围的内容,测试了下,应该程序是已经被擦除了。     
    但是,在有密码的程序如何使用呢?查看了TI的例程,貌似前提就是需要程序没有密码。   

    是不是直接在有密码的程序中也调用flash_erash( )函数,但是擦除范围为存密码的那段flash呢?这样可以擦除程序中的密码吗?或者DSP的密码会被弄坏,再也解不了锁了?   

     希望各位大神指点迷津啊!!

相关帖子

沙发
zhangmangui| | 2015-11-4 22:08 | 只看该作者
我觉得有密码的情况是调用不了擦除吧     
不确定    没有深入研究过

使用特权

评论回复
板凳
peterone|  楼主 | 2015-11-5 17:19 | 只看该作者
本帖最后由 peterone 于 2015-11-5 17:26 编辑

问题基本上解决了。
问题链接:deyisupport.com/question_answer/microcontrollers/c2000/f/56/t/96738.aspx?pi2132219853=1
        在带密码的程序(工程中有password.asm文件)中,首先调用CsmUnlock( )函数(该函数中的密码要与password.asm文件设置的密码一致)来解锁,解锁后,再调用Flash_Erase( )函数擦除flashA——H的程序。生成.out的工程文件中即便有password.asm文件,通过解锁、擦除后,重新上电后,连接电脑也不再需要密码,程序也被擦除了。

使用特权

评论回复
地板
vivilzb1985| | 2015-11-12 19:10 | 只看该作者
这个可以在程序中增加这个密码保护功能的。

使用特权

评论回复
5
android2| | 2015-11-14 17:05 | 只看该作者
Flash_Erase( )函数对flashA——H是分段擦除还是整体擦除

使用特权

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

本版积分规则

1

主题

2

帖子

0

粉丝