一种嵌入式linux系统程序的烧写方法与流程

文档序号:33374727发布日期:2023-03-08 03:34阅读:69来源:国知局
一种嵌入式linux系统程序的烧写方法与流程

1.本发明属于嵌入式linux系统领域,具体涉及一种嵌入式linux系统程序的烧写方法。


背景技术:

2.嵌入式linux系统从软件的角度可以分为四个部分:引导加载程序、linux内核(kernel)、文件系统(roofts)以及应用程序。其中,引导加载程序spl、u-boot是系统启动或复位以后执行的第一阶段代码,它主要用来初始化处理器及外设,在完成对系统的初始化任务之后,它会将非易失性存储器中的linux内核拷贝到ram中去,然后跳转到内核的第一条指令处继续执行,从而启动linux内核;linux内核在完成系统的初始化之后需要挂载某个文件系统做为根文件系统,根文件系统是linux系统的核心组成部分;从启动引导加载程序,到启动linux内核直至根文件系统的挂载,这部分程序烧写工作,是进行基于嵌入式linux系统设备开发的基础工作。
3.目前,linux系统程序烧写通常的做法是利用linux的客户端程序,手动操作逐步完成spl文件的上传、u-boot文件的上传、image内核文件的上传、设备树文件的上传、根文件系统的上传以及应用程序的上传,从而完成linux系统的程序烧写工作。目前这种手动逐步烧写linux系统程序的方法不仅烧写效率相对较低,而且由于在烧写过程中要输入较为复杂的命令,在手动输入命令时非常容易出错,容易导致出现烧写失败的情况。


技术实现要素:

4.本发明提供了一种嵌入式linux系统程序的烧写方法,用以解决现有技术中手动烧写错误率高、效率低的问题。
5.为解决上述技术问题,本发明所包括的技术方案以及技术方案对应的有益效果如下:
6.本发明提供了一种嵌入式linux系统程序的烧写方法,将烧写时所用到的文件放到指定的文件夹,烧写时所用到的关键字在一个指定的配置文件中进行配置,所述关键字与烧写时所用到的文件的文件名、要执行的命令和提示符一一对应,根据配置文件完成linux系统程序的自动烧写。
7.上述技术方案的有益效果为:本发明的嵌入式linux系统程序的烧写方法,可实现自动完成linux系统程序的烧写,提高了程序烧写效率,避免了烧写过程中因为复杂命令输入错误而出现烧写失败的情况,还可以在批量烧写时极大提高烧写效率。
8.进一步的,所述文件包括spl文件、uboot文件、mlo文件、image内核文件、根文件系统文件、设备树文件、应用程序文件。
9.进一步的,所述要执行的命令包括上传spl文件后需要执行的命令、上传u-boot文件后要执行的命令、上传mlo文件后要执行的命令、设置环境变量命令、设置磁盘分区和串口配置命令、上传image内核文件后要执行的命令、上传设备树文件后要执行的命令、上传
根文件系统文件后要执行的命令、上传应用程序文件后要执行的命令。
10.进一步的,所述提示符包括系统进入u-boot后的提示符、系统进入linux后的提示符、登陆状态提示符、登陆名、登陆密码。
11.进一步的,执行配置文件后,上传spl文件到目标板sram,上传完成后,继续上传u-boot文件到目标板ram。
12.进一步的,通过xmodern协议上传spl文件,通过ymodern协议上传u-boot文件。
13.进一步的,通过串口读取目标机输出的关键字判断spl文件和u-boot文件是否上传完成。
14.进一步的,u-boot文件上传完成后等待u-boot启动,启动成功后根据扫描到的网卡设备设置目标板u-boot下的ip地址;然后根据ip地址通过自定义tftp协议依次上传image内核文件、根文件系统文件。
15.进一步的,等待linux系统启动后根据ip地址通过自定义ftp协议上传应用程序文件;在启动后登录系统时通过配置文件输入用户名和密码。
附图说明
16.图1是本发明的嵌入式linux系统程序的烧写方法的具体过程图;
17.图2是本发明的嵌入式linux系统程序的烧写方法流程图。
具体实施方式
18.下面结合附图对本发明的具体实施方式作进一步地说明。
19.本发明的一种嵌入式linux系统的“一键烧写”方法是先将烧写时所用到的文件放到指定文件夹,烧写时所用到的文件名、命令、提示符等关键字都在一个指定的配置文件中进行配置,配置后打开烧写工具进行此次linux系统程序的烧写,在烧写过程中烧写工具会根据配置文件中的配置自动进行烧写。
20.所述文件包括spl文件、uboot文件、mlo文件、image内核文件、根文件系统文件、设备树文件、应用程序文件。
21.所述配置文件的语法规则说明:“关键字”=“内容”,其中“关键字”部分不能修改,“内容”部分修改成自己实际的文件名称或者内容。烧写开始之前打开配置文件对关键字进行配置,关键字主要分为烧写过程中要上传文件的文件名关键字、要执行的命令关键字、提示符关键字这三部分。
22.所述文件名关键字包括:spl文件名、u-boot文件名、mlo文件名、image内核文件名、设备树文件的文件名、根文件系统文件名、应用程序文件名。
23.所述要执行的命令关键字包括:上传spl文件后需要执行的命令、上传uboot文件后要执行的命令、上传mlo文件后要执行的命令、设置环境变量命令、设置磁盘分区和串口配置命令、上传image内核文件后要执行的命令、上传设备树文件后要执行的命令、上传根文件系统文件后要执行的命令、上传应用程序文件后要执行的命令。
24.所述提示符关键字包括:系统进入uboot后的提示符、系统进入linux后的提示符、登陆状态提示符、登陆名、登陆密码。
25.基于本发明中设计的烧写方法,只需打开烧写工具点击“一键烧写”即可实现自动
完成linux系统程序的烧写,真正实现linux系统程序的“一键烧写”,大大提高烧写效率和成功率。
26.如图2所示,本发明的嵌入式linux系统程序的烧写方法,具体流程如下:
27.步骤一,将烧写时所用到的文件放到指定的文件夹中;
28.步骤二:打开配置文件,对配置文件中的关键字信息进行配置;
29.步骤三:启动嵌入式linux系统程序“一键烧写”可视化烧写工具,烧写工具启动后自动扫描可用串口设备和网卡设备,若未扫描到串口设备和网卡设备,则需要手动自行检查串口设备和网卡设备;烧写过程中烧写工具通过串口读取目标机u-boot和linux下的字符输出,通过输出的关键字符判断当前操作的状态;
30.步骤四:点击烧写工具的“一键烧写”按钮,工具开始根据配置文件的配置对目标板进行linux系统程序的自动烧写;
31.步骤五:烧写工具通过xmodem协议自动上传spl文件到目标板sram,通过串口读取目标机输出的关键字符判断是否上传完成,若判断上传完成则自动执行上传spl文件后需要执行的烧写命令,再通过串口读取目标机输出的关键字符判断命令是否执行成功,若判断命令执行成功则自动开始下一步;若判断上传失败或者命令执行失败,则结束此次烧写,并提示烧写失败;
32.步骤六:烧写工具通过ymodem协议自动上传u-boot文件到目标板ram,通过串口读取目标机输出的关键字符判断是否上传完成,若判断上传完成则自动执行上传uboot文件后需要执行的烧写命令,再通过串口读取目标机输出的关键字符判断命令是否执行成功,若判断命令执行成功则自动开始下一步;若判断上传失败或者命令执行失败,则结束此次烧写,并提示烧写失败;
33.步骤七:等待u-boot启动,烧写工具通过串口读取目标机输出的关键字符判断u-boot是否启动成功,若判断u-boot启动成功则根据步骤三中扫描到的网卡设备自动设置目标板u-boot下的ip地址;若判断u-boot启动失败则结束此次烧写,并提示烧写失败;
34.步骤八:烧写工具通过自定义tftp协议自动上传image内核文件到目标板ram,通过串口读取目标机输出的关键字符判断是否上传完成,若判断上传完成则自动执行上传image内核文件后需要执行的烧写命令,再通过串口读取目标机输出的关键字符判断命令是否执行成功,若判断命令执行成功则自动开始下一步;若判断上传失败或者命令执行失败,则结束此次烧写,并提示烧写失败;
35.步骤九:烧写工具通过自定义tftp协议自动上传设备树文件的文件到目标板ram,通过串口读取目标机输出的关键字符判断是否上传完成,若判断上传完成则自动执行上传设备树文件的文件后的需要执行的烧写命令,再通过串口读取目标机输出的关键字符判断命令是否执行成功,若判断命令执行成功则自动开始下一步;若判断上传失败或者命令执行失败,则结束此次烧写,并提示烧写失败;
36.步骤十:烧写工具通过自定义tftp协议自动上传根文件系统文件到目标板ram,通过串口读取目标机输出的关键字符判断是否上传完成,若判断上传完成则自动执行上传根文件系统文件后的要执行的烧写命令,再通过串口读取目标机输出的关键字符判断命令是否执行成功,若判断命令执行成功则自动开始下一步;若判断上传失败或者命令执行失败,则结束此次烧写,并提示烧写失败;
37.步骤十一:等待linux系统启动,烧写工具通过串口读取目标机输出的关键字符判断linux系统是否启动成功,若判断linux系统启动成功则通过ftp协议自动上传应用程序文件到文件系统,再通过串口读取目标机输出的关键字符判断应用程序文件是否上传完成,若判断上传完成则自动执行上传应用程序文件后要执行的解压命令,再通过串口读取目标机输出的关键字符判断解压命令是否执行成功,若判断解压命令执行成功则自动开始下一步;若判断上传失败或者命令执行失败,则结束此次烧写,并提示烧写失败;
38.步骤十二:烧写工具通过配置文件判断linux系统是否需要用户名和密码登陆。若配置文件中有用户名和密码的关键字和内容,则烧写工具自动输入配置的用户名和密码进行登录,通过串口读取目标机输出的关键字符判断是否登陆成功,若判断登陆成功则自动开始下一步;若判断登陆失败,则结束此次烧写,并提示烧写失败;若配置文件中没有用户名和密码的关键字及内容,则直接进行下一步;
39.步骤十三:烧写工具结束linux系统程序烧写,在界面弹出烧写成功提示。
40.在该方法中,从启动引导加载程序到加载linux内核的具体过程如图1所示:
41.在

过程中,spl为第一阶段的装载程序,初始化最基本的硬件,比如关闭中断,内存初始化,设置堆栈等最基本的操作,并设置重定位;在

过程中,完成装载主u-boot程序,然后初始化其他板级硬件、设置u-boot本身的命令和环境变量;在

过程中是加载kernel到ram,然后启动内核。
42.以上给出了本发明涉及的具体实施方式,但本发明不局限于所描述的实施方式。在本发明给出的思路下,采用对本领域技术人员而言容易想到的方式对上述实施例中的技术手段进行变换、替换、修改,并且起到的作用与本发明中的相应技术手段基本相同、实现的发明目的也基本相同,这样形成的技术方案是对上述实施例进行微调形成的,这种技术方案仍落入本发明的保护范围内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1