一种实现嵌入式系统自动烧录的方法
【技术领域】
[0001]本发明涉及嵌入式系统烧录,尤其涉及一种实现嵌入式系统自动烧录的方法。
【背景技术】
[0002]现在的烧录arm核心板的方法如下:在windows端安装好必须的软件;将机器拆机,连接好pc和机器之间的连接线,并口线(负责烧写B1S)和串口线负(JTAG server负责监听机器是否连接成功),中间还有一系列JTAG的配置,比如:串口还是usb连接、频率等;上面连接好之后,JTAG server会显示出开发板的信息,这个可以作为判断是否连接成功。之后可以打开,J Flash来烧写B1S;要对J Flash进行一系列配置,选择机器的类型,配置,初始化脚本;配置完成之后就是烧写了,选择文件,点击program,等待烧写完成。这个完成之后等于才完成了准备工作,下面才是真的开始进行I inux的烧写;把USB下载线连接到P机器,安装驱动,现在是运行着nor Flash的程序的,是刚才烧录到这里的B1S程序。驱动安装之后,SecureCRT会显示为连接成功,之后可以进行一系列命令的选择操作,一般步骤为:先格式化Flash。烧录B10S,烧录Iinux内核,烧录文件系统;完成上面的操作后,拔掉USB下载线,重新启动开发板,就进入了刚才你烧写的Iinux系统中了;简单一点的如1.mx系列的机器,也需要通过mfgtools,给完整的拆机机器进行烧录。也需要进行一些列的拆机,连接等操作。
[0003]在电脑的启动方式或者重装操作系统的方式中,我们可以支持多介质,比如可以从硬盘启动,从dvd启动,或者从u盘启动,嵌入式处理器也能支持多种启动的介质,有nandflash、mmc、sd、usb、以太网接口等,但是在嵌入式系统中,用户程序于系统通常保存在内部的nand或者mmc存储器中。而由于存储介质的问题导致程序丢失无法进入系统的情况也时有发生,或者由于用户的操作不当,删除了某些必要的系统文件而导致无法启动的情况也会发生。此外在需要系统更新的时候,都像需要人为的把用户引导代码擦除,也容易造成损坏,此时必然需要重新烧录系统和程序。
[0004]处理上述情况现如今主要是以下方法:将设备拆开,并在电路板上配置成需要的形式,通过电脑的上层应用进行烧录,这样做必然的导致了各项操作的复杂性,而且通过这种方式烧录需要的连接太多,过程太过复杂,每一次机器坏了都需要重新拆机,重新烧录,过程很容易损坏机器,这就需要一种方法,不进行拆机等操作来解决系统的这些问题。
【发明内容】
[0005]鉴于目前嵌入式系统烧录存在的上述不足,本发明提供一种实现嵌入式系统自动烧录的方法,可以有效的解决嵌入式系统的烧录问题,可以试用于各种核心板的烧录,在机器损坏的情况下不需要进行拆机操作即可以实现对机器系统的重新烧录。
[0006]为达到上述目的,本发明的实施例采用如下技术方案:
[0007]—种实现嵌入式系统自动烧录的方法,所述实现嵌入式系统自动烧录的方法包括如下步骤:
[0008]将烧录配置文件、对应嵌入式系统的固件镜像文件、uboot文件、ulmage文件和rootfs文件配置在SD卡中;
[0009 ] 使SD卡与待烧录芯片的mmc或nandf Iash存储器电性连接;
[00?0] 上电启动待烧录芯片,待烧录芯片读取SD卡中uboot文件进入uboot界面;
[0011 ]对mmc或nandflash存储器进行初始化,按照烧录控制算法将对应的固件镜像文件写入到mmc或nandf Iash存储器。
[0012]依照本发明的一个方面,所述将烧录配置文件、对应嵌入式系统的固件镜像文件、uboot文件、ulmage文件和rootf s文件配置在SD卡中步骤执行前执行以下步骤:将SD卡进行格式化并划分多个用于存放嵌入式系统文件的分区。
[0013]依照本发明的一个方面,所述上电启动待烧录芯片,待烧录芯片读取SD卡中uboot文件进入uboot界面步骤执行前执行以下步骤:判断待烧录嵌入式系统文件在SD卡内各分区数据是否完整。
[00M]依照本发明的一个方面,所述上电启动待烧录芯片,待烧录芯片读取SD卡中uboot文件进入uboot界面步骤执行后执行以下步骤:判断待烧录嵌入式系统文件在SD卡内各分区数据是否完整。依照本发明的一个方面,所述对mmc或nandflash存储器进行初始化,按照烧录控制算法将对应的固件镜像文件写入到mmc或nandf Iash存储器步骤具体为:
[0015]读取SD卡中各分区内待烧录嵌入式系统文件数据;
[0016]利用预存的烧录控制算法对所读取的各分区数据进行处理;
[0017]启动烧录工具并按配置文件设置各分区数据的文件名、起始地址和长度;
[0018]将内核和根文件系统映像文件从SD卡拷贝到内存中运行;
[0019]通过内核、根文件系统和烧写工具将嵌入式系统文件写入到mmc或nandflash存储器。
[0020]依照本发明的一个方面,所述对mmc或nandf lash存储器进行初始化,按照烧录控制算法将对应的固件镜像文件写入到mmc或nandf Iash存储器步骤执行后执行以下步骤:判断SD卡各分区数据是否成功烧录到mmc或nandflash存储器。
[0021]本发明实施的优点:通过将烧录配置文件、对应嵌入式系统的固件镜像文件、uboot文件、ulmage文件和rootf s文件配置在SD卡中;使SD卡与待烧录芯片的mmc或nandf Iash存储器电性连接;上电启动待烧录芯片,待烧录芯片读取SD卡中uboot文件进入uboot界面;对mmc或nandf Iash存储器进行初始化,按照烧录控制算法将对应的固件镜像文件写入到mmc或nandflash存储器,上述实现嵌入式系统自动烧录的方法,可以有效的解决嵌入式系统的烧录问题,可以试用于各种核心板的烧录,在机器损坏的情况下不需要进行拆机操作即可以实现对机器系统的重新烧录。
【附图说明】
[0022]为了更清楚地说明本发明实施例中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0023]图1为本发明所述的一种实现嵌入式系统自动烧录的方法的实施列I的方法流程图;
[0024]图2为本发明所述的一种实现嵌入式系统自动烧录的方法的实施列2的方法流程图;
[0025]图3为本发明所述的一种实现嵌入式系统自动烧录的方法的实施列3的方法流程图;
[0026]图4为本发明所述的一种实现嵌入式系统自动烧录的方法的实施列4的方法流程图。
【具体实施方式】
[0027]下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0028]实施例1:
[0029]如图1所示,一种实现嵌入式系统自动烧录的方法,所述实现嵌入式系统自动烧录的方法包括如下步骤:
[0030]步骤S1:将烧录配置文件、对应嵌入式系统的固件镜像文件、uboot文件、ulmage文件和rootf s文件配置在SD卡中;
[0031]使用自动编译系统将嵌入式系统文件从源码编译生成用于自动烧录的固件镜像文件,使用普通压缩打包方式打包,并将打包后的固件镜像文件存放在SD卡的根目录下,另夕卜,在SD卡上配置启动待烧录芯片所需的uboot文件、ulmage文件和rootf s文件。
[0032]烧录配置文件是一种二进制的脚本文件,其内包含进行烧录的固件镜像文件的文件名及烧录地址(即固件镜像文件写入到Nandflash存储器相应的起始地址),其中起始地址及烧写的文件名可根据实际需求做相应的更改,以实现将固件镜像文件写入到Nandf Iash存储器中指定的位置。
[0033 ] 步骤S2:使SD卡与待烧录芯片的mmc或nandf Iash存储器电性连接。
[0034]步骤S3:上电启动待烧录芯片,待烧录芯片读取SD卡中uboot文件进入uboot界面。
[0035]步骤S4:对mmc或nandf Iash存储器进行初始化,按照烧录控制算法将对应的固件镜像文件写入到mmc或nandf Iash存储器;
[0036]所述步骤S4:对mmc或nandf Iash存储器进行初始化,按照烧录控制算法将对应的固件镜