分享
 
 
 

Jflash源代码分析(四)

王朝other·作者佚名  2006-01-09
窄屏简体版  字體: |||超大  

昨天分析到了check_rom_info函数,提到access_rom是整个的核心

其实这么说也不大准确,应该说access_rom是最底层操作的函数,它首先将TAP控制器状态移到ShiftDR,然后把准备好的各个引脚的电平状态设置好(没怎么搞懂高阻态是如何动作的,也许扫描链比实际引脚会多几个脚),移入扫描链中,然后把TAP控制器状态移到ShiftIR,把extest指令移入,使器件进入外部逻辑测试状态,刚才为扫描链中移入的电平就放到了引脚上。access_rom把参数addr放到器件的地址引脚上,把数据放到数据引脚上,同时把引脚原本的引脚信号移出TDO,就可以把flash返回在数据线上信号返回。

正如代码里面的那段注释:

To read data from the Flash Memory you must first fill the processor JTAG chain

with the Address, then pump the entire chain out.

however while pumping data out you can be pumping the next cycle's Address in

Therefore the JTAG chain looks like a pipeline, valid read data always coming

out one cycle late.

当前flash返回的数据要下一次扫描的时候才能返回,所以access_rom函数返回的值是上次地址读到的数据

check_rom_info的代码比较长,而且都是一些通过flash的CFI(Common Flash Interface)对flash信息简单的读取操作,这里就不再贴出来了。

check_rom_info成功返回之后,程序开始检查将要写进flash的文件的合法性,主要是大小是否合法,如果比flash还大,就返回错误信息并退出

如果成功,经过一些简单的界面交互过程之后,程序开始调用test_lock_flash来检查相应的块是否已经被lock,如果被锁定,则发送命令将其unlock,然后返回

之后,程序调用erase_flash和program,函数同样是使用acess_rom调用来在flash引脚上产生相应的时序来完成相应的操作。大家可以参考相应的flash芯片的资料。

最后,程序再把flash里面的数据读取出来进行与文件进行验证,检查烧写是否成功。

(全文完)

后记:第一次接触JTAG是大学学习数字逻辑的时候,那个时候在maxplus里面画好原理图或者用HDL写好描述,编译之后,就使用JTAG下载到alter的芯片里面,那个芯片就按照我们的原理动起来了!!真是神奇,当时觉得那是大学里面最好玩的试验课。正是那门课,让我走进嵌入式的世界。之后开始做DSP,是TI公司的C5402的芯片,使用的闻亭的仿真器,当时更是疑惑,为什么一个通过JTAG就能够控制住芯片的行为呢?带着一知半解,继续学习了ARM系列的芯片,好像跟JTAG有仇一样,每个芯片(当中其实使用过一款AVR的AT90S8515,使用ISP进行烧写,不过听说现在已经停产了)都有JTAG(实际上是因为JTAG确实很优秀)。于是断断续续的对JTAG有一些了解。使得我对JFlash有进行分析的原因是我们有一块44b0的板子出了问题,烧写老是出毛病,我真的就束手无策了,bootloader下不去,我天大的本事也是枉然。于是我想到了JTAG控制,既然程序是用JTAG烧写进去的,那么我用JTAG去操作、检查总应该是对的。就这样,我开始断断续续的看一下JFlash的源代码。刚开始的时候,觉得是个好复杂的问题,前面的几个函数看得还真有点吃力,不过随着对JTAG的了解增多,到后面基本上没甚么障碍了。看代码的同时,把分析的过程记录下来,希望网友们可以对Jflash有更多的了解。

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有