找回密码
 注册
搜索
查看: 2406|回复: 5

[讨论] 关于flash写保护的问题

[复制链接]
发表于 2006-6-27 19:58:00 | 显示全部楼层 |阅读模式
在bootloader模式下能对flash进行擦写,但跳转到程序模式下后就无法对flash的物理地址进行直接的擦写了, 查了一遍代码却没有发现代码中没有调用过write_protect的命令,百思不得其解,望高人指点.
最好能具体说说flash的读写保护原理和流程.
[em14]
 楼主| 发表于 2006-6-28 15:44:00 | 显示全部楼层
<P>门前冷落啊</P>
点评回复

使用道具 举报

发表于 2006-6-28 16:12:00 | 显示全部楼层
<P>直接用物理地址?你是说boot后的映射地址吗?那当然不能了</P>
点评回复

使用道具 举报

发表于 2006-6-29 09:20:00 | 显示全部楼层
<P>1. 先看你的程序模式和boot模式有什么重大区别。我们公司的做法是bootldr在RAM中运行。程序模式的所有代码在Flash上直接运行。当然,对flash driver有若干种处理方式,一个可能是多bank的fflash,那driver在flash上运行,如果是单bank的,那代码在ram中运行,代码在ram中也有两种方式,一个是编译器和定位器,装载器共同合作,无需driver把自己的代码搬到ram中,另外一种是,编译的时候,把他放在flash中,driver初始化的时候,把自己下到ram中。这个中间可能会有不同。</P><P>2. 你确认是写保护错?其实可以用jtag连上,直接在jtag调试工具的程序界面下,手工发flash写命令,看是否报告是写保护错,如果真的是,那再试一次,写之前,unblock一下,看看能否成功。另外,有些手机硬件设计是有一个GPIO连到flash的写保护管脚,看看是否这个在两种模式下,被不同的值初始化了。</P>
点评回复

使用道具 举报

 楼主| 发表于 2006-6-29 15:06:00 | 显示全部楼层
<P>谢谢4楼的兄弟,讲的很深刻, 是写保护错误,我后来在每次写之前unblock一下就成功了,我们没有jtag仿真器,代码出了问题都靠自己查代码和打印调试的,所以很痛苦.</P>
点评回复

使用道具 举报

发表于 2006-7-3 22:52:00 | 显示全部楼层
<P>兄弟辛苦了</P>[em01]
点评回复

使用道具 举报

高级模式
B Color Image Link Quote Code Smilies

本版积分规则

Archiver|手机版|小黑屋|52RD我爱研发网 ( 沪ICP备2022007804号-2 )

GMT+8, 2024-6-28 01:54 , Processed in 0.050675 second(s), 18 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表