armboot和内核文件系统烧写总结

armboot 的烧写和内核文件系统的烧写是最基本的,也是最原始的操作。但是对于以后整块板的分析是很有好处的,为下一步外围模块的添加做好了准备工作。
对于上面的烧写工作,我自己也有独到的看法。首先,为什么烧写 armboot 需要用 JTAG ?原因很简单,我们烧写的基本过程是这样的:先将需要烧写的镜像文件或者 bin 文件传送到内存的指定位置,然后再讲它拷贝到 flash 的指定位置(需要指定文件的大小)。在这里要注意,所有的 erase 操作和拷贝操作都是有一个前提,也就是在 armboot 运行的情况下,也就是说,如果我们将 flash 中的内容全部 erase (擦除)之后,则这些擦操作将全部不能执行。所以,你要烧写 armboot 和内核文件系统,则必须先让 armboot 跑起来,这该如何解决呢?在这里,我们就借助 AXD 。先在串口进入 armboot ,此时已经将 armboot 拷贝到内存中运行,此时可以进行擦除操作了,将 flash 中的内容全部擦除。注意了这里是关键,假如现在系统重启, flash 中什么内容都没有,自然所有的操作都失效,我们采用 JTAG ,将 armboot 导入到内存让它运行起来,这样的话,又可以执行擦除和复制操作了。现在我们先将内存初始化,再一次擦除 flash ,保证被擦除干净。这样的话,我们就可以继续烧写 room.bin 文件,其实这个文件时 burn-in 文件的镜像,完成的工作就是一些初始化,每次当系统启动之后,它和 armboot 都被调入内存运行,完成对系统的初始化。
在完成 armboot room.bin 的烧写之后。接下来最重要的就是内核文件系统的烧写了。同样,步骤无非就是将映像文件先用 tftp 传送到内存,然后将 flash 里面固定的地址空间擦除,然后再将内存中的内容拷贝到 flash ,需要指定 flash 中的起始地址和文件的大小(文件的大小会在 tftp 的传输过程中显示)。
 

你可能感兴趣的:(职场,嵌入式,休闲,armboot,内核文件系统)