原创 9315引导的解决办法,不一定对哦

2006-10-25 11:09 2593 4 11 分类: MCU/ 嵌入式

只是目前想到的,问了问老师,理论上讲应该可以,但还没有动手试,因为现在还在看从网上下下来的一些资料,过两天就下手。


9315的headerID检查是这样的,在flash启动模式下由芯片内部的16KB的bootrom内固化代码完成,流程如下:


先检测Flash0x0地址处是否有CRUSSURCASCII码;
如果有,从Flash0x4地址处读取代码执行;
如果没有,检测Flash0x1000处是否有CRUSSURCASCII码;
如果有,从Flash0x0地址处读取代码执行;


这就我们要求在0x0或者0x1000处加入CRUSASCII码,(这么自恋的公司),就这两处加ASCII码分别来说一下我是怎么想的


1〉在0x0处加


汇编方式:根据我对编译器生成最终代码的理解,使用汇编手段在0x0这个特殊地址存ASCCII码比较困难


直接修改:因为bin文件是二进制文件,没有特定结构格式,全凭使用方自己来弄,所以在生成bin后使用winhex一类的软件直接在0x0处插入后,指令段就会后移32位,到0x4的地方去,理论上讲应该不会有问题。


2〉在0x1000处加


汇编方式:这个是群里一个高手告诉我的,代码如下


b       .<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />


    ENDIF


 


    ALIGN   0x1000


    DCB             "CRUS"


 


    END


首先对齐到0x1000地址,然后写入CRUS,现在问题是这个代码放到汇编程序的什么地方,


如果放在开头,那么编译器器指针会不会直接跳到1000呢?接下来得代码再生成最终目标代码的时候会不会都在1000以后,而在0x0地址就什么都没有了呢?或者编译器会自动在0x0处添加一条跳转指令呢?都是比较困惑的问题。


如果先在开头加入一条跳转指令,目标地址大于0x1000,然后是这段代码,再然后是对其目标地址代码,接着是我们的引导代码,不知道这样行不行。


如果放到整个引导代码的最后,那么估计编译器会怎么操作呢?关键是从0x0到0x1000之间的这部分代码,得看编译器的效果了。


 


直接修改:首先在汇编的时候开头是一句跳转指令,目标地址是1000以后,然后再目标地址处接着写,这样从理论上讲目标代码在0x1到0x1000之间会全是0,然后我们再使用工具在bin文件的0x1000处编辑而不是插入CRUS,万事大吉。


 


我的分析完了,如果有对这个比较在行的朋友一定要帮忙哦,


qq: 9006204


msn:maxiaoyuzdz@hotmail.com


email:maxiaoyuzdz@gmail.com

文章评论7条评论)

登录后参与讨论

用户1256840 2006-11-1 21:23

我现在用的是在1000处加的,将代码放在开头处实现的,但如果地址对齐是0x0的话,将会抱错,估计编译器在对齐后会自动调整指针以保证程序的正常运行。

用户1256840 2006-11-1 16:34

恩,谢谢了,昨天晚上已经快搞定了,现在用汇编的方式在1000处加上了CRUS,但是不知道这样加的对不对,感觉上应该是正确的。

用户1053025 2006-11-1 09:31

我已经把您的问题push出去了,不知道会有什么反馈。。。

用户1256840 2006-10-31 15:57

恩。不过可要帮帮我这个新手,早知道这么麻烦就不买这么贵的了,现在想起来就对卖板子的一肚子火。

用户1053025 2006-10-31 15:44

哈,谢谢您的鼓励!

用户1256840 2006-10-26 15:43

谢谢了,其实我写的也不一定对,就是放在这里想和大家交流一下。ADS我现找了本介绍使用的书,刚开始看。估计这个其实很简单吧。我觉得也不能把这个问题看得太重,也许用个很简单的办法就搞定了。

这里人气真的很旺,从学校访问速度也很快。

用户1053025 2006-10-26 10:12

我想法子帮你推广一下,看看有没有高手帮忙

相关推荐阅读
用户1256840 2007-06-15 23:17
搜集的一点flex的资料
在tomcat中部署安装Flex Data Services (Adobe LiveC    2007-06-15 17:10:50目前来说 Flex Data Services (最近又升级并改名为...
用户1256840 2007-06-15 10:23
毕业来了
不知不觉的就到毕业了,一个完美的毕业。回来后的日子很平凡,忙着毕业设计,功夫不负有心人,拿到一个优,可惜我的作文水品太差了,导师说就是因为你写的很烂,排版又不行,就没法推荐你去评学校的了,不过我已经很...
用户1256840 2007-04-02 22:33
回来了
上午回到了学校,收拾一下东西,晒上了被子,天上云彩很多,都是乌云啦.虽然是春天,但在郊区,却是非常的凉快.感觉像是要变天.天气变化的时候,是互相关怀的时候,也是温暖的时候. 发现自己的硬盘又快满了...
用户1256840 2007-04-02 16:14
终于回到学校了
在外面呆了一个多月今天回到学校,一个舍友去了浪潮,一个舍友去了百度.而我,则要继续寻找自己的修行之路....
用户1256840 2007-04-01 20:00
Apple和Microsoft争先入股EdnChina!
JOBS:嘿,老兄,我最近都在看EdnChina,那上面内容太优秀了,简直是公鸡中的战斗机!Gates:老兄,你太落伍了吧,我每天都看的,而且还上了好几次EdnChina专访呢......JOBS:我...
用户1256840 2007-03-29 23:11
但要注意
一个好的设计师不一定非要有非凡的外表或者怪异发型,一个好的技术不一定非要戴眼镜.  是做恒星还是做流星,但我看到的身着怪异的服装,整个怪异的发型,摆个怪异的poss,就自称是专家,大师了。用鼠标和绘图...
我要评论
7
4
关闭 站长推荐上一条 /2 下一条