如何将bootloader写入flash
在做嵌入式开发时经常需要将代码写入到flash中去,到底如何写呢.以下几种方法
1. 写一段在目标机上运行的代码,这段代码负责将bootloader和kernel等代码写入flash,这种方法在不同的目标机和不同的应用上具体实现可能不同.
在没有jtag的8位机上可以写一段代码从串口接收数据,然后将接收到的数据写入flash的指定位置.当然这段代码是通过开发器调试好,然后用flash烧录器烧入的,这段代码在系统起动阶段个检查是否需要下载代码并完成烧录,因此以后就不用来回焊片子烧录flash了 (即便修改系统起动代码也可以通过这段代码来完成,当然是要保证这段代码没有坏掉的情况下了)
有jtag的情况就简单多了
在需要bootlaoder的系统中,在bootlaoder没坏的情况下可以用bootlaoder下载写入代码
2.通过jtag软件写入
3.写一段可以在目标机上运行的专门负责烧写flash的代码,通过调试器运行这段代码将需要写入flash的数据或代码写入flash的指定位置(系统复位向量地址位置或相关位置),与1的区别是这段代码不需要放到目标机上.
用jtag写入不需要目标机运行,但写入速度慢,需要目标机
有jtag接口和知道目标机的jtag移位寄存器定义,才能写软件实现通过jtag写flash.
都是挺不错的资料!
欢迎光临 电子技术论坛_中国专业的电子工程师学习交流社区-中电网技术论坛 (http://bbs.eccn.com/) | Powered by Discuz! 7.0.0 |