今天突然搞通了arm的flash烧写原理,几天来的一头雾水终于散了,心情爽多了,所以很有心情记录下,为哪些迷茫,不知道为什么有u-boot时就用usb就可以下载,而没有u-boot时就很麻烦---又JTAG,Jlink,opentag什么的。
一开始,听同学说,以及一些开发板的使用手册也一样,对于烧写,只会提供啊一堆烧写工具和一些操作的文档,当然,有好的文档算不错了,不然更晕。当时我就一直想不通,什么有没有u-boot就怎样,没有又怎样,用的工具和线也不一样,那时也不知道自己的开发板到底有没有u-boot。
于是,喜欢搞懂原理的我就开始晕了,接受不了就一句“有u-boot时就用usb就可以下载,而没有u-boot时就很麻烦---又JTAG,Jlink,opentag什么的”。经过几天(因为很多软件没有,win7系统有兼容性不好),终于明白了这坑爹的flash烧写。相信很多初学者,就算很熟练arm的烧写了,但是对于为什么会这样,应该不太懂吧。
首先,必须知道什么是flash其中包括nor 和nand flash ,这两者区别这里不说了。flash的发明首先是为了代替当时不太好用的EPROM(现在51单片机的“硬盘“),当时EPROM是主流的程序存储器,既掉电不丢失数据的储存器。后来,Intel公司发明了flash,flash就是所谓的闪存,主要就是既可以掉电不丢失数据,同时读取速度等性能都比EPROM好很多。但是,flash好用自然就更复杂,不像EPROM一样,简单的usb线加stm_isp软