- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
DSP锁死解决办法
相信有很多人都遇到过这样的问题:编了很久的项目终于在ram中运行通过了,但在往flash中烧写的过程中却出现了很多的问题。于是乎,我们各种上网查资料,各种修改cmd文件。结果一不小心,就把dsp锁死了。这时候你可能会纳闷,我并没有给dsp加密啊,为什么dsp会锁死呢?于是你又换了一片dsp,小心翼翼的重新下载。结果dsp又锁死了……后续的内容我就不再假设了。出现上述问题的原因,主要是因为对dsp的cmd文件和memory map不了解。言归正传,本文提供了一种dsp解锁的办法。其实相关的解决办法网上已经有了许多。我这里只是对其进行了补充和总结。并以我在做项目中遇到的问题为例进行具体说明。
首先,要想解锁你的dsp必须要有的两个文件:1.下载到dsp中的.out文件。2.工程项目debug文件夹下的.map文件。如果下载完之后你把工程项目修改并编译了。那么再将文件修改回来重新编译就行了。不用和之前的项目完全一样,只要cmd文件改回来基本就没问题。但是如果你将工程文件改的乱七八糟,而且还改不回来了。那这篇文章帮不到你了,估计除了TI以外也没人能帮得到你。由上面的两个条件,也可以看出,这里的解锁dsp是必须要已知dsp的工程项目。并不是随便拿一块dsp就能解锁的。所以如果你想解锁他人的dsp并盗取别人的程序,那这篇文章也帮不到你。
能看到这里的人,应该就是我真正能帮到的人了。首先声明我用到的HYPERLINK /zhuti_chip_1.html芯片是2812,这里也已2812为例。众所周知,2812中有一个代码安全模块(CSM)。它就像一个保险箱,保护我们的知识产权。但是如果没有用好就会给我们带来麻烦,比如开篇提到的问题。CSM模块由8个16位的单元组成,默认的各位全是1.当128位全为1的时候,说明器件时不安全的,并未受到密码保护。正常我们在调试固化的时候,应该是这种状态。通过查看dsp的memory map 我们可以看的,这128位密匙的起始地址为0x3F7FF8。也就是说正常情况下,从这一地址开始的128位应该为1才对。
这里我先介绍一下.map文件。MAP文件是dsp开发软件编译后产生的有关DSP用到所有程序、数据及IO空间的一种映射文件。有很多时候,我们仅靠错误和警告的提示信息并不能解决我们所遇到的问题。而这时候如果我们多关注一下.map文件往往能有意想不到的收获。不只是dsp,只要是程序运行的地方都会涉及的地址的映射问题。只要我们多多关注.map文件,往往都能找到程序运行错误的原因。没错!.map文件就是这么神奇。
好了,既然.map文件这么神奇。那我们就看一看2812的.map文件吧。这里我找到一个正常没有加密的.map文件打开。什么?你打不开.map文件。那是因为你打开的方式不对。跟着我做:右击.map文件,选择“用记事本打开”。看!这不是打开了嘛!
图(1)
我们可以看的这里明确的dsp的存储空间分为不同的块。上面明确写着各个块的起始地址、长度和使用情况。这里每一个块之所以被使用是因为下面将各个段分配到了这些空间中。下面各个段的分配情况我就不做截图了。大家只要打开自己的.map文件观看就行了。至于各个段和各个空间的分配。是和cmd文件的编写和memory map 是对应的。大家如果在这有什么疑问的话。去网上搜一下cmd文件的编写就行了。这个地方很重要,一定要把这个地方弄懂。这里我们重点看一下我选中的部分,看一下起始地址为0x003f7ff8,长度为8。每一个单元都有16位。也就是说这个空间总共长为16x8 = 128位。也就是说这就是我们前面提到的CSM模块。我们可以看到在正常的cmd文件中。这个区域被使用的单元应为0.如果你的dsp被锁住了。那么这个区域的使用单元肯定不是0.所以我建议在你下载你的程序到flash中时。最好先看一下这个地方是否被使用。如果被使用了,那么你就要注意了,是不是你主动使用的。如果不是的话,我建议你还是不要把文件固化到flash中。以免引起不必要的麻烦。当然了如果你已经将文件固化到flash中了。用我下面的方法,这个问题也能解决。
图(2)是一个不小心将dsp锁死的map文件,可以看的这是对应的CSM区域已经被使用了.
图(2)
DSP被锁住的原因有很多,但往往都是因为不小心把别的段存放的CSM区域所致。我就是因为这个原因把dsp锁住的。这里我创建了一个长度为0.reset段,但并没有给其指定分配空间。于是它就被自动分配到PASSWDS这个空间了。图(3)是.reset段的分配情况。
图(3)
我们看一下这个段的起始地址就知道它被分配到了CSM模块,导致dsp锁死。这时我在想
您可能关注的文档
最近下载
- 政论型电视专题政论片.ppt VIP
- 新版GCP临床试验伦理规范培训考试题一套 .pdf VIP
- 新编高等数学(理工类)第一章 极限与连续.ppt VIP
- 13J104 蒸压加气混凝土砌块、板材构造(OCR).pdf VIP
- 2024版思想道德与法治专题1担当复兴大任成就时代新人.pptx VIP
- 章绍同《鼓浪屿狂想曲》.pdf VIP
- UG机械设计实例教程 第2章 曲柄滑块机构建模与运动仿真.ppt VIP
- 2025年最新人教版小学二年级数学上册教学计划及进度表(新课标,新教材).docx
- 2024-2025学年小学道德与法治统编版(2024)三年级上册教学设计合集.docx
- 河道整治及生态修复工程监理细则(88页)_最新版.pdf VIP
文档评论(0)