基于arm的flash烧写说明和分析

本文详细介绍了ARM处理器在有无U-Boot情况下进行Flash烧写的原理,解释了为何没有U-Boot时需要JTAG或JLink,而有U-Boot时仅需USB即可下载。关键在于U-Boot提供了Flash驱动,使得在没有U-Boot时,需要外部设备如JLink提供额外的控制信号来完成烧写过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

今天突然搞通了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软件就可以烧写。因为flash需要的控制线和控制信号比较多,所以很多厂家生产的flash都提供一些驱动程序,方便用户使用。问题就在于这里了:

1、为什么没有u-boot就要jtag或jlink呢?       其实大家都知道所谓u-boot就是一些启动代码,完成一些初始化,其中就包括flash的驱动程序了。所以没有u-boot时,arm处理器一上电是什么都不做的(当然flash此时没有任何系统等程序),那么你想一些,如果只用usb线,怎么可能完成flash的烧写呢,

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值