还有些厂商为了节省ROM空间,提高集成度,不支持从ROM启动模式。比如三星公司的S3C2410等。这样一种简单的方法就是采用JTAG下载线作为编程器的硬件连接,完成其Bootloader(如Vivi)的烧写。在Windows环境下,针对JTAG硬件连接,编程器的软件有JFlash(JTAG for Flash),SJF,Flash Programmer等,还是比较丰富的。在Linux环境下,我所知道的有JFlash的Linux版本【注:在Linux下,这里的编程器就可以认为是JFlash+JTAG下载线,S3C2410是提供JTAG接口的】。因为学校实验室有S3C2410的实验箱,所以下个阶段会尝试以S3C2410为中心,进行详细深入的学习。其中之一就是bootloader的研究。那么就可以分成两个部分:一是Linux环境下Flash烧写工具JFlash的工作原理,完成移植工作。二是移植Vivi(U-boot)。在这个过程中,重点学习一下U-boot的移植和组织形式,掌握JTAG对应的软件JFlash的源代码编写方法。然后尝试自己写一个简单的bootloader。我想,这样学习会更加有效。