CN106775855A - 一种基于eclipse的flash烧写方法、插件和系统 - Google Patents
一种基于eclipse的flash烧写方法、插件和系统 Download PDFInfo
- Publication number
- CN106775855A CN106775855A CN201611117877.4A CN201611117877A CN106775855A CN 106775855 A CN106775855 A CN 106775855A CN 201611117877 A CN201611117877 A CN 201611117877A CN 106775855 A CN106775855 A CN 106775855A
- Authority
- CN
- China
- Prior art keywords
- programming
- flash
- information
- initialization
- processor
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
Abstract
本发明公开了一种基于eclipse的flash烧写方法、插件和系统,其中,所述方法包括:确定第一初始化信息和第二初始化信息;第一初始化信息包括:调试支持单元DSU的串口号和波特率、处理器的型号、以及存储器控制寄存器的配置值;第二初始化信息包括:通信串口号和波特率;根据第一初始化信息对处理器进行初始化;在处理器初始化完成之后,根据第二初始化信息,对上位机和下位机进行握手测试;在握手成功后,根据烧写配置信息,将待烧写数据下载并烧写到下位机的flash中;烧写配置信息包括:flash的位宽、型号和擦除区域。通过本发明解决了现有flash烧写方式存在的烧写难度大、操作繁琐、效率低和通用性差的问题。
Description
技术领域
本发明属于flash烧写技术领域,尤其涉及一种基于eclipse的flash烧写方法、插件和系统。
背景技术
flash是一种能电擦写的存储器,它具有功耗低、容量大、擦写速度快、可整片或者分扇区擦除和烧写等特点,因而在嵌入式系统中被广泛应用。作为一种非易失性存储器,flash在系统中通常用于存放程序代码、常量表以及一些在系统掉电后需要保存的用户数据等。
目前,由于航天领域的特殊性,其flash烧写方式仍然比较落后,多数仍使用命令行工具来完成烧写,需要记命令行,且操作繁琐,效率低下;再者,国内航天领域内各单位使用的处理器型号各不相同,即使同型号的处理器,使用的flash型号也不一定相同,烧写方式也各不相同,给各单位之间的协作带来巨大的阻力。
发明内容
本发明的技术解决问题:克服现有技术的不足,提供一种基于eclipse的flash烧写方法、插件和系统,旨在解决现有flash烧写方式存在的烧写难度大、操作繁琐、效率低和通用性差的问题。
为了解决上述技术问题,本发明公开了一种基于eclipse的flash烧写方法,包括:
确定第一初始化信息和第二初始化信息;其中,所述第一初始化信息包括:调试支持单元DSU的串口号和波特率、处理器的型号、以及存储器控制寄存器的配置值;所述第二初始化信息包括:通信串口号和波特率;
根据所述第一初始化信息对处理器进行初始化;
在处理器初始化完成之后,根据所述第二初始化信息,对上位机和下位机进行握手测试;
在握手成功后,根据烧写配置信息,将待烧写数据下载并烧写到下位机的flash中;其中,所述烧写配置信息包括:flash的位宽、型号和擦除区域。
在上述基于eclipse的flash烧写方法中,所述方法还包括:
当根据所述第一初始化信息对处理器进行初始化失败时,生成提示信息;
根据所述提示信息修改所述第一初始化信息;
在第一初始化信息修改完成之后,重新执行根据所述第一初始化信息对处理器进行初始化的步骤。
在上述基于eclipse的flash烧写方法中,所述根据所述第一初始化信息对处理器进行初始化,包括:
根据所述第一初始化信息,对处理器的型号进行检测,将上位机的初始化程序下载到下位机中运行,完成对处理器的初始化配置。
在上述基于eclipse的flash烧写方法中,所述擦除区域包括:所述flash的全部存储区域,或,所述flash的至少一个扇区。
在上述基于eclipse的flash烧写方法中,所述根据烧写配置信息,将待烧写数据下载并烧写到下位机的flash中,包括:
将所述flash中所述擦除区域中的数据擦除;
根据烧写对象在上位机中的存储路径,选择所述烧写对象;
确定烧写操作的起始地址和结束地址;
根据所述烧写操作的起始地址和结束地址,从所述烧写对象中选择并下载所述待烧写数据;
将下载的待烧写数据烧写到下位机的flash中。
在上述基于eclipse的flash烧写方法中,在所述将所述flash中所述擦除区域中的数据擦除的步骤之后,所述方法还包括:
加载引导程序;
根据所述引导程序,将烧写对象从ROM转存至处理器的内部存储器或者RAM中。
在上述基于eclipse的flash烧写方法中,所述方法还包括:
确定所述下位机的flash中的已烧写对象;
确定上传操作的起始地址和结束地址;
根据所述上传操作的起始地址和结束地址,从所述已烧写对象中选择待显示数据,并通过flash上传所述待显示数据;
在所述上位机的文件中显示通过所述flash上传的待显示数据。
在上述基于eclipse的flash烧写方法中,所述方法还包括:
通过人机交互界面接收用户输入信息;根据用户输入的信息确定所述第一初始化信息、所述第二初始化信息和所述烧写配置信息;
以及,
通过所述人机交互界面显示所述flash的擦除度、下载烧写进度和上传进度中的至少一种;和/或,显示所述处理器的初始化状态信息、握手测试的状态信息、下载烧写的状态信息和上传的状态信息中的至少一种。
本发明还公开了一种基于eclipse的flash烧写插件,所述flash烧写插件用于执行上述方法。
本发明还公开了一种基于eclipse的flash烧写系统,包括:
初始化模块,用于确定第一初始化信息和第二初始化信息;其中,所述第一初始化信息包括:调试支持单元DSU的串口号和波特率、处理器型号、以及存储器控制寄存器的配置值;所述第二初始化信息包括:通信串口号和波特率;以及,根据所述第一初始化信息对处理器进行初始化;以及,在处理器初始化完成之后,根据所述第二初始化信息,对上位机和下位机进行握手测试;
烧写模块,用于在握手成功后,根据烧写配置信息,将待烧写数据下载并烧写到下位机的flash中;其中,所述烧写配置信息包括:flash的位宽、型号和擦除区域;
上传模块,用于确定下位机的flash中的已烧写对象,根据上传操作的起始地址和结束地址,从已烧写对象中选择待显示数据,并通过flash上传所述待显示数据,在上位机的文件中显示通过flash上传的待显示数据。
本发明具有以下优点:
(1)在本发明中,可以基于确定的各初始化信息,自动实现对任意应用场景下任意类型的flash的烧写,具有较强的通用性,满足不同实际需要。且,烧写过程自动化程度高,不需要用户输入特定的烧写命令,操作简单,提高了烧写效率。
(2)在本发明中,所述基于eclipse的flash烧写方法可以基于eclipse插件实现,处理器型号、flash的位宽和型号、以及擦除扇区都可以根据实际情况灵活配置,可扩展性强,操作简单。
(3)在本发明中,还可以对烧写流程中的各个步骤的进度和状态信息进行显示,便于操作人员对烧写过程进行检测,及时诊断、解决烧写过程中的异常问题。
(4)在本发明中,可以对烧写至flash中的数据,以及从flash中获取的上传数据进行校验,确保了数据的安全性和可靠性。
附图说明
图1是本发明实施例中一种基于eclipse的flash烧写方法的步骤流程图;
图2是本发明实施例中一种人机交互界面的示意图;
图3是本发明实施例中一种数据结果比对示意图;
图4是本发明实施例中一种基于eclipse的flash烧写系统的结构框图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明公共的实施方式作进一步详细描述。
参照图1,示出了本发明实施例中一种基于eclipse的flash烧写方法的步骤流程图。在本实施例中,所述基于eclipse的flash烧写方法包括:
步骤101,确定第一初始化信息和第二初始化信息。
在本实施例中,所述第一初始化信息包括:调试支持单元DSU(Debug SupportUnit,DSU)的串口号和波特率、处理器型号、以及存储器控制寄存器的配置值。所述第二初始化信息包括:通信串口号和波特率。
步骤102,根据所述第一初始化信息对处理器进行初始化。
在本实施例中,可以根据所述第一初始化信息,对处理器的型号进行检测,将上位机的初始化程序下载到下位机中运行,完成对处理器的初始化配置。
其中,当根据所述第一初始化信息对处理器进行初始化失败时,可以生成提示信息;根据所述提示信息修改所述第一初始化信息;在第一初始化信息修改完成之后,重新执行步骤102,根据修改后的第一初始化信息对处理器进行初始化。当处理器初始化完成之后,可以执行下述步骤103。
步骤103,根据所述第二初始化信息,对上位机和下位机进行握手测试。
在本实施例中,当握手测试完成之后,可以执行下述步骤104。
步骤104,根据烧写配置信息,将待烧写数据下载并烧写到下位机的flash中。
在本实施例中,所述烧写配置信息包括但不仅限于:flash的位宽、型号和擦除区域。其中,所述擦除区域包括:所述flash的全部存储区域,或,所述flash的至少一个扇区;也即,可以根据实际需求对flash进行完全擦除,或者有选择的进行部分擦除。
优选的,可以将所述flash中所述擦除区域中的数据擦除;根据烧写对象在上位机中的存储路径,选择所述烧写对象;确定烧写操作的起始地址和结束地址;根据所述烧写操作的起始地址和结束地址,从所述烧写对象中选择并下载所述待烧写数据;将下载的待烧写数据烧写到下位机的flash中。
在本实施例的一优选方案中,还可以根据实际情况加载引导程序;根据所述引导程序,将烧写对象从ROM(Read Only Memory,只读存储器)转存至处理器的内部存储器或者RAM(Random Access Memory,随机存取存储器)中。
在本实施例的一优选方案中,还可以将已写入至flash中的数据读取到上位机中进行显示。优选的,所述方法还可以包括:
步骤105,确定所述下位机的flash中的已烧写对象。
步骤106,确定上传操作的起始地址和结束地址。
步骤107,根据所述上传操作的起始地址和结束地址,从所述已烧写对象中选择待显示数据,并通过flash上传所述待显示数据。
步骤108,在所述上位机的文件中显示通过所述flash上传的待显示数据。
其中,需要说明的是,所基于eclipse的flash烧写方法可以但不仅限于基于eclipse下的特定插件实现。其中,所述插件可以提供人机交互的操作界面,用户可以通过人机交互界面中的选项、按钮、下拉框等进行信息的输入。换而言之,在本实施例中,可以通过人机交互界面接收用户输入信息;根据用户输入的信息确定所述第一初始化信息、所述第二初始化信息和所述烧写配置信息。进一步的,在本实施例中,还可以对上述各个步骤的进度和/或状态信息进行显示,即,可以通过所述人机交互界面显示所述flash的擦除进度、下载烧写进度和上传进度中的至少一种;和/或,显示所述处理器的初始化状态信息、握手测试的状态信息、下载烧写的状态信息和上传的状态信息中的至少一种。
在上述实施例的基础上,参照图2,示出了本发明实施例中一种人机交互界面的示意图。结合所述显示界面对所述基于eclipse的flash烧写方法的具体实现流程进行详细说明。
一、确定第一初始化参数。
如图2,可以通过图2所示的显示界面接收用户输入信息,根据用户输入的信息确定第一初始化参数,具体的:
(1)通过图2所示的显示界面接收用户输入信息,根据用户输入的信息确定DSU的串口号和波特率:
“DSU”标签后有个下拉组合框,点击该下拉组合框的下拉箭头,会自动列出该电脑上所有的串口号,选择电路板的DSU口所连接的电脑串口号。如果不知道DSU口所连接的串口号,可以打开电脑“设备管理器”中的“端口”查看。波特率会自动显示115200,这也是串口最常用的波特率值,如果设计的电路板性能并不是很好,会出现使用115200的波特率值无法成功连接DSU口的情况,这时候根据需要降波特率,将115200改为9600或者4800,波特率值越小传输的速率越低。选择好DSU串口号和波特率后,点击对应的“打开”按钮会获取对应的串口号和波特率。
(2)通过显示界面接收用户输入信息,根据用户输入的信息确定处理器的型号:
在“芯片配置”选项对应的下拉组合框的下拉列表中,可以选择处理器的型号。
(3)通过显示界面接收用户输入信息,根据用户输入的信息确定存储器控制寄存器的配置值:
在本实施例中,如图2,共需要配置三个存储器控制寄存器的值:根据每个存储器控制寄存器各字段的设计意义,可设置IO(Input/Output,输入/输出)设备总线宽度、总线准备好使能、访问等待周期、访问使能;PROM(Programmable Read Only Memory,可编程只读存储器)的读写等待周期、写使能、数据位宽;SRAM(Static Random Access Memory,静态随机存取存储器)和SDRAM(Synchronous Dynamic Random access Memory,同步动态随机存取存储器)的使能、存储器Bank大小、数据位宽等等。用户可以根据电路板的实际设计情况和使用要求设置相应的寄存器的配置值,设置完值后点击“确定”按钮即可,实现对PROM、SRAM、SDRAM和IO空间的配置。
其中,需要说明的是,在本实施例中,如果三个存储器控制寄存器的配置值不足8位(十六进制),在接收到用户点击的“确定”按钮后,可以对三个存储器控制寄存器的配置值进行补全(以0进行补全)。
在本实施例中,在确定所述第一初始化参数之后,可以在接收到用户对图2中所示的“初始化”选项的触发操作之后,根据所述第一初始化参数对处理器进行初始化,本实施例对此初始化流程不作限制。其中,初始化的具体流程可以如下:
Step1,连接DSU:向根据用户输入信息确定的DSU串口发送20次(16个/次)0x55的方波;然后,再向DSU发送读取命令,其中,所述读取命令用于指示DSU读取上述确定型号的处理器对应的寄存器的配置值;最后,确定读取的寄存器的配置值与上述确定的寄存器的配置值是否匹配。若匹配,则执行Step2;否则,可以直接结束本次初始化流程,然后,根据用户操作选择是否重新进行初始化。
Step2,下载用于对下位机进行初始化的初始化bin文件:获取该初始化bin文件相对eclipse安装目录的路径,并将该初始化bin文件通过DSU口下载到SRAM中。
若下载成功,则执行步骤Step3;若下载失败,则可以直接结束流程,或者重新进行下载,或者重新进行初始化,本实施例对此不作限制。
Step3,启动Step2中的初始化bin文件:给处理器的PC(Program Counter,程序计数器)寄存器和NPC(Next Program Counter)寄存器赋值,然后再去读取这两个寄存器,判断读取值与赋值是否一致,若一致,则向DSU控制寄存器赋值,以使程序按照需要的方式运行。
二、确定第二初始化信息
在处理器初始化完成之后,可以继续执行下述步骤:确定第二初始化信息,根据所述第二初始化信息,对上位机和下位机进行握手测试。
如图2,可以通过图2所示的显示界面接收用户输入信息,根据用户输入的信息确定第二初始化参数,具体的:“通信”标签后有个下拉组合框,点击该下拉组合框的下拉箭头,会自动列出该电脑上的通信串口号,根据用户选择的通信串口号会自动显示对应的波特率。具体可以参照上述DSU的串口号和波特率的确定,在此不再赘述。
进一步的,可以根据确定的通信串口号和波特率,在接收到用户对图2中所示的握手测试选项的触发操作之后,对上位机和下位机进行握手测试。其中,握手测试用于测试上位机与下位机之间是否能正常通信,由上位机发起,按照约定的通信协议,等待下位机的回复,根据下位机的回复情况确定上位机与下位机之间是否能正常通信。其中,握手测试的结果可以在图2所示的“烧写信息”区域显示。
三、将待烧写数据下载并烧写到下位机的flash中
在上位机和下位机握手结束,确定上位机与下位机之间可以正常通信之后,可以进一步确定烧写配置信息。其中,所述烧写配置信息包括但不仅限于:flash的位宽、型号、擦除区域、烧写的起始地址和结束地址。如图2,烧写配置信息的确定方式可以结合图2和上述第一初始信息(或第二初始化信息)的流程确定,在此不再赘述。
在图2所示的“FLASH配置”选项对应的下拉组合框的下拉列表中选择flash的位宽和型号。其中,flash的位宽选择支持8位、16位和32位等。Flash的型号可以根据实际使用的flash来选择,在下拉组合框的下拉列表中选择好后点击“型号确认”按钮即可。
在选择flash的擦除区域时,可以选择全部擦除,也可以选择部分扇区擦除。在对flash进行写入操作前,必须保证所述写入操作对应的地址处的内容为空,也即,flash必须先擦除再写入。flash全部擦除是执行flash整个数据空间的擦除操作,用于flash空间的初始化工作。扇区擦除是实现选定flash扇区的擦除操作,指定空间擦除,实现对flash空间的精确管理,节省操作时间,提高工作效率。擦除的过程中进度条会显示擦除进度,且相关过程和结果信息可以在图2所示的“烧写信息”区域显示。
用户可以在图2所示的“下载文件”区域中的起始地址和结束地址下写入烧写的起始地址和结束地址。此外,用户还可以在“下载文件”区域中写入待烧写数据(待烧写文件)的路径,根据写入的路径确定待烧写数据;在待烧写数据确定之后,在图2的相应位置处会显示该确定的待烧写数据对应的CRC(Cyclic Redundancy Check,循环冗余校验)校验码和累加和校验码,CRC校验码和累加和校验码可以用于对待烧写文件进行校验,检测数据的安全性。
在本实施例中,还可以根据需要选择是否加载bootloader引导程序,如果需要,基于图2中所示的“boot文件生成”选项实现bootloader引导程序的加载;如果不需要,则跳过此步骤。其中,bootloader引导程序,用于将数据从ROM中搬移到处理器的内部存储器或者RAM中。
在上述准备工作完成之后,当接收到用户对图2中所示的“开始下载”选项的触发操作之后,根据用户输入的烧写的起始地址和结束地址,选择所述烧写的起始地址和结束地址对应的数据进行下载。在下载完成之后,当接收到用户对图2中所示的“开始烧写”选项的触发操作之后,将下载的数据烧写到flash中。
四、将已烧写至下位机flash中的已烧写数据上传至上位机显示
在本实施例中,可以根据需要选择是否查看flash中的部分或者全部已烧写数据。如果需要就在图2所示的“上传文件设置”中将flash中的已烧写数据上传到上位机的文件中进行查看。
首先,接收用户对“上传文件设置”中“选择路径”按钮的触发操作,选择上位机中的目标文件目录,用于接收从flash中读取的已烧写数据,如果选中的文件已经存在且里面存有内容,就给出提示“该文件已经存在!点击‘确定’会将该文件的内容清空!”,点击该提示框里的确定会将文件内容清空以便存储从flash中读取的已烧写数据,否则会直接退出停止操作;然后,根据用户在“上传文件设置”下输入的起始地址和结束地址,确定上传的起始地址和结束地址;最后,在接收到对“开始上传”按钮的触发操作之后,开始将flash中的已烧写数据上传至上位机的文件中。其中,该步骤中的相关信息也会在图2所示的“烧写信息”区域中显示。此外,在已烧写数据上传完成后,可以根据CRC校验码和累加和校验码对上传的已烧写数据进行安全校验。
其中,需要说明的是,在本实施例中,任意一个步骤在执行过程中,都可以通过图2中所示的“停止”选项来终止。各个步骤的执行进度则可以通过图2中所示的“进度条”来显示。如,该“进度条”可以用于显示flash的擦除进度、待烧写数据的下载烧写进度和已烧写数据的上传进度。由于各个步骤不会同时执行,某个时刻最多只有一个步骤在执行,故,可以共用一个进度条,界面简洁易用。
在上述实施例的基础上,下面对本发明进行举例说明:
(a)“串口配置”的下拉组合框的下拉列表中列出了电脑上可用的串口:“COM1,Port currently not owned;COM2,Port currently not owned;COM3,Port currentlynot owned;COM4,Port currently not owned;COM5,Port currently not owned;COM6,Port currently not owned;”,表示COM1—COM6都可用,经确认电路板上DSU口连接的是电脑上的COM1,于是在“DSU”标签后选择COM1,波特率会默认选择115200,点击打开按钮,该按钮上的字由“打开”变成“关闭”,同时后面的串口状态栏由最初的“关闭”变成“打开”,“烧写信息”区域显示如下信息:输出“DSU串口成功打开”(点击关闭按钮时,会显示“DSU串口已经关闭”),表示DSU口连接成功。如果“烧写信息”区域显示“串口出错”,表示DSU口连接失败,一般是别的应用程序(比如串口助手应用程序)正占用着该COM1,需要在别的应用程序中关闭该COM1,然后再回到本发明中打开该COM1。
(b)在“芯片配置”选项下选择处理器的型号。
(c)设置三个存储器控制寄存器的值。设置完成后,“烧写信息”区域会显示“寄存器设置成功”。
(d)点击“初始化”选项,对处理器进行初始化,使得下位机能够正常工作,且能够与上位机进行通信。初始化成功后,“烧写信息”区域会显示:“设备初始化成功”,表示初始化成功。
(e)与DSU口类似,在“串口配置”下的“通信”标签中选择通信串口号COM6和波特率115200,点击“打开”按钮打开该串口,“烧写信息”区域会显示:“数据串口成功打开”。
(f)点击“握手测试”按钮,如果弹出“握手成功”对话框,点击弹出对话框的OK按钮,“烧写信息”区域会显示:“握手成功”,表示下位机能够与上位机正常通信。
(g)在“flash配置”选项下选择flash的位宽和型号。
(h)在flash擦除模块中,将“选择此选项表示全部擦除”前面的复选框钩上,然后点击开始擦除按钮,对flash进行全部擦除,下面的进度条会显示擦除进度,同时“烧写信息”区域会显示:“开始擦除flash”、“过程结束”和“过程成功”。
(I)点击“boot文件生成”按钮,会弹出选择文件的对话框,与Microsoft OfficeWord软件点击打开文件时弹出的对话框类似,选择桌面上的flash16_sector1116目录下的flash.bin,然后点击弹出对话框上的打开按钮,会在该flash.bin文件所在的目录下生成flash_boot.bin文件,这就是加载了bootloader后的新的应用程序;
(j)在“下载文件设置”中点击选择路径按钮,会弹出文件选择对话框,选择上述(I)中的flash_boot.bin文件后,点击弹出对话框的打开按钮,该模块“CRC”标签后会显示5171,表示flash_boot.bin文件内容的CRC校验码为5171,“累加和”标签后会显示430206,表示flash_boot.bin文件内容的累加和校验码为430206,“烧写信息”区域会显示:“打开选择文件夹”,“选择文件为C:\Users\772\Desktop\flash16_sector1116\flash_boot.bin”。然后点击开始下载按钮,进度条会显示下载进度,同时,“烧写信息”区域会显示:“文件正在下载”,“过程结束”,“过程成功”。最后点击“开始烧写按”钮,会弹出对话框“未输入起始地址,起始地址按0计算,是否确定”,点击该对话框上的OK按钮,进度条开始显示烧写进度,同时,“烧写信息”区域会显示:“开始烧写”,“过程结束”,“过程成功”。
(k)在“上传文件设置”下,点击选择路径按钮,会弹出文件选择对话框,选择好目录后,在该对话框的文件名中输入wxf2.bin,然后点击该对话框上的打开按钮,“烧写信息”区域会显示:“选择上传的文件为F:\wangxf\uploadTest\wxf2.bin”,“新建文件F:\wangxf\uploadTest\wxf2.bin”。再点击“开始上传”按钮,会弹出对话框“未输入起始地址,起始地址按0计算,是否确定”,点击该对话框上的OK按钮,会弹出对话框“未输入结束地址,停止运行”,因为如果不输入,起始地址和结束地址默认都是0,表示需要上传的数据长度为0,于是会停止运行。在结束地址处输入0x217f(flash_boot.bin文件里的数据长度为0x2180个byte,0—0x217f正好是0x2180个byte)后,重新点击“开始上传”按钮,会弹出对话框“未输入起始地址,起始地址按0计算,是否确定”,点击该对话框上的OK按钮,进度条会显示上传进度,同时,“烧写信息”区域会显示:“将进度条设置到起始处”,“过程结束”,“过程成功”,“上传即将结束,等待写入文件”,“上传已经完成”。此外,“CRC”标签后会显示5171,表示上传文件内容的CRC校验码为5171;“累加和”标签后会显示430206,表示上传文件内容的累加和校验码为430206。可见,这两个校验码的值与上述(j)中一样,这是因为这里从flash中上传回来的内容正是上述(j)中烧写进去的内容,所以它们的校验码会一样,这也表明了本发明flash烧写方法的正确性。
最后,将wxf2.bin文件与flash_boot.bin文件对比,二者的内容完全一样,参照图3,示出了本发明实施例中一种数据结果比对示意图。如图3所示,从flash中上传回来的数据与烧写至flash中的数据完全一致,充分证明了本发明flash烧写方法的正确性。
综上所述,在本发明实施例所述的基于eclipse的flash烧写方法,可以基于确定的各初始化信息,自动实现对任意应用场景下任意类型的flash的烧写,具有较强的通用性,满足不同实际需要。且,烧写过程自动化程度高,不需要用户输入特定的烧写命令,操作简单,提高了烧写效率。
其次,所述方法可以基于eclipse插件实现,处理器型号、flash的位宽和型号、以及擦除扇区都可以根据实际情况灵活配置,可扩展性强,操作简单。
再次,在本发明实施例所述的基于eclipse的flash烧写方法还可以对烧写流程中的各个步骤的进度和状态信息进行显示,便于操作人员对烧写过程进行检测,及时诊断、解决烧写过程中的异常问题。
最后,在本发明实施例所述的基于eclipse的flash烧写方法可以对烧写至flash中的数据,以及从flash中获取的上传数据进行校验,确保了数据的安全性和可靠性。
参照图4,示出了本发明实施例中一种基于eclipse的flash烧写系统的结构框图。在本实施例中,所述基于eclipse的flash烧写系统包括:
初始化模块401,用于确定第一初始化信息和第二初始化信息;其中,所述第一初始化信息包括:调试支持单元DSU的串口号和波特率、处理器型号、以及存储器控制寄存器的配置值;所述第二初始化信息包括:通信串口号和波特率;以及,根据所述第一初始化信息对处理器进行初始化;以及,在处理器初始化完成之后,根据所述第二初始化信息,对上位机和下位机进行握手测试。
烧写模块402,用于在握手成功后,根据烧写配置信息,将待烧写数据下载并烧写到下位机的flash中;其中,所述烧写配置信息包括:flash的位宽、型号和擦除区域。
上传模块403,用于确定下位机的flash中的已烧写对象,根据上传操作的起始地址和结束地址,从已烧写对象中选择待显示数据,并通过flash上传所述待显示数据,在上位机的文件中显示通过flash上传的待显示数据。
此外,本发明实施例还公开了一种基于eclipse的flash烧写插件,所述烧写插件可以用于执行上述实施例中所述的方法。
对于装置实施例而言,由于其与方法实施例相对应,所以描述的比较简单,相关之处参见方法实施例部分的说明即可。
本说明中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
以上所述,仅为本发明最佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。
本发明说明书中未作详细描述的内容属于本领域专业技术人员的公知技术。
Claims (10)
1.一种基于eclipse的flash烧写方法,其特征在于,包括:
确定第一初始化信息和第二初始化信息;其中,所述第一初始化信息包括:调试支持单元DSU的串口号和波特率、处理器的型号、以及存储器控制寄存器的配置值;所述第二初始化信息包括:通信串口号和波特率;
根据所述第一初始化信息对处理器进行初始化;
在处理器初始化完成之后,根据所述第二初始化信息,对上位机和下位机进行握手测试;
在握手成功后,根据烧写配置信息,将待烧写数据下载并烧写到下位机的flash中;其中,所述烧写配置信息包括:flash的位宽、型号和擦除区域。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
当根据所述第一初始化信息对处理器进行初始化失败时,生成提示信息;
根据所述提示信息修改所述第一初始化信息;
在第一初始化信息修改完成之后,重新执行根据所述第一初始化信息对处理器进行初始化的步骤。
3.根据权利要求1或2所述的方法,其特征在于,所述根据所述第一初始化信息对处理器进行初始化,包括:
根据所述第一初始化信息,对处理器的型号进行检测,将上位机的初始化程序下载到下位机中运行,完成对处理器的初始化配置。
4.根据权利要求1所述的方法,其特征在于,所述擦除区域包括:所述flash的全部存储区域,或,所述flash的至少一个扇区。
5.根据权利要求1或4所述的方法,其特征在于,所述根据烧写配置信息,将待烧写数据下载并烧写到下位机的flash中,包括:
将所述flash中所述擦除区域中的数据擦除;
根据烧写对象在上位机中的存储路径,选择所述烧写对象;
确定烧写操作的起始地址和结束地址;
根据所述烧写操作的起始地址和结束地址,从所述烧写对象中选择并下载所述待烧写数据;
将下载的待烧写数据烧写到下位机的flash中。
6.根据权利要求5所述的方法,其特征在于,在所述将所述flash中所述擦除区域中的数据擦除的步骤之后,所述方法还包括:
加载引导程序;
根据所述引导程序,将烧写对象从ROM转存至处理器的内部存储器或者RAM中。
7.根据权利要求1所述的方法,其特征在于,所述方法还包括:
确定所述下位机的flash中的已烧写对象;
确定上传操作的起始地址和结束地址;
根据所述上传操作的起始地址和结束地址,从所述已烧写对象中选择待显示数据,并通过flash上传所述待显示数据;
在所述上位机的文件中显示通过所述flash上传的待显示数据。
8.根据权利要求5所述的方法,其特征在于,所述方法还包括:
通过人机交互界面接收用户输入信息;根据用户输入的信息确定所述第一初始化信息、所述第二初始化信息和所述烧写配置信息;
以及,
通过所述人机交互界面显示所述flash的擦除进度、下载烧写进度和上传进度中的至少一种;和/或,显示所述处理器的初始化状态信息、握手测试的状态信息、下载烧写的状态信息和上传的状态信息中的至少一种。
9.一种基于eclipse的flash烧写插件,其特征在于,所述flash烧写插件用于执行上述权利要求1-8任一项所述的方法。
10.一种基于eclipse的flash烧写系统,其特征在于,包括:
初始化模块,用于确定第一初始化信息和第二初始化信息;其中,所述第一初始化信息包括:调试支持单元DSU的串口号和波特率、处理器型号、以及存储器控制寄存器的配置值;所述第二初始化信息包括:通信串口号和波特率;以及,根据所述第一初始化信息对处理器进行初始化;以及,在处理器初始化完成之后,根据所述第二初始化信息,对上位机和下位机进行握手测试;
烧写模块,用于在握手成功后,根据烧写配置信息,将待烧写数据下载并烧写到下位机的flash中;其中,所述烧写配置信息包括:flash的位宽、型号和擦除区域。
上传模块,用于确定下位机的flash中的已烧写对象,根据上传操作的起始地址和结束地址,从已烧写对象中选择待显示数据,并通过flash上传所述待显示数据,在上位机的文件中显示通过flash上传的待显示数据。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201611117877.4A CN106775855B (zh) | 2016-12-07 | 2016-12-07 | 一种基于eclipse的flash烧写方法、插件和系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201611117877.4A CN106775855B (zh) | 2016-12-07 | 2016-12-07 | 一种基于eclipse的flash烧写方法、插件和系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106775855A true CN106775855A (zh) | 2017-05-31 |
CN106775855B CN106775855B (zh) | 2020-05-19 |
Family
ID=58882293
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201611117877.4A Active CN106775855B (zh) | 2016-12-07 | 2016-12-07 | 一种基于eclipse的flash烧写方法、插件和系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106775855B (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108021385A (zh) * | 2017-12-29 | 2018-05-11 | 北京神州龙芯集成电路设计有限公司 | 一种板载SPI Flash的烧写系统和方法 |
CN110069368A (zh) * | 2019-03-21 | 2019-07-30 | 深圳同兴达科技股份有限公司 | 一种lcd测试文件及lcd测试方法 |
CN110187899A (zh) * | 2019-06-04 | 2019-08-30 | 深圳云里物里科技股份有限公司 | 一种固件烧写方法、装置及其相关设备 |
CN112486519A (zh) * | 2020-12-01 | 2021-03-12 | 北京时代凌宇信息技术有限公司 | 配置嵌入式产品的方法及设备 |
CN114064134A (zh) * | 2021-11-12 | 2022-02-18 | 上海华元创信软件有限公司 | 适用于嵌入式sparc架构处理器的自引导方法及系统 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102331943A (zh) * | 2011-09-08 | 2012-01-25 | 威盛电子股份有限公司 | 在线更新存储器系统与方法 |
US20130205287A1 (en) * | 2012-02-03 | 2013-08-08 | International Business Machines Corporation | Reducing Application Startup Time by Optimizing Spatial Locality of Instructions in Executables |
CN203480502U (zh) * | 2013-07-02 | 2014-03-12 | 连云港杰瑞深软科技有限公司 | Usb接口的国芯仿真器终端 |
-
2016
- 2016-12-07 CN CN201611117877.4A patent/CN106775855B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102331943A (zh) * | 2011-09-08 | 2012-01-25 | 威盛电子股份有限公司 | 在线更新存储器系统与方法 |
US20130205287A1 (en) * | 2012-02-03 | 2013-08-08 | International Business Machines Corporation | Reducing Application Startup Time by Optimizing Spatial Locality of Instructions in Executables |
CN203480502U (zh) * | 2013-07-02 | 2014-03-12 | 连云港杰瑞深软科技有限公司 | Usb接口的国芯仿真器终端 |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108021385A (zh) * | 2017-12-29 | 2018-05-11 | 北京神州龙芯集成电路设计有限公司 | 一种板载SPI Flash的烧写系统和方法 |
CN110069368A (zh) * | 2019-03-21 | 2019-07-30 | 深圳同兴达科技股份有限公司 | 一种lcd测试文件及lcd测试方法 |
CN110069368B (zh) * | 2019-03-21 | 2023-06-16 | 深圳同兴达科技股份有限公司 | 一种lcd测试文件及lcd测试方法 |
CN110187899A (zh) * | 2019-06-04 | 2019-08-30 | 深圳云里物里科技股份有限公司 | 一种固件烧写方法、装置及其相关设备 |
CN112486519A (zh) * | 2020-12-01 | 2021-03-12 | 北京时代凌宇信息技术有限公司 | 配置嵌入式产品的方法及设备 |
CN114064134A (zh) * | 2021-11-12 | 2022-02-18 | 上海华元创信软件有限公司 | 适用于嵌入式sparc架构处理器的自引导方法及系统 |
CN114064134B (zh) * | 2021-11-12 | 2024-02-06 | 上海华元创信软件有限公司 | 适用于嵌入式sparc架构处理器的自引导方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN106775855B (zh) | 2020-05-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106775855A (zh) | 一种基于eclipse的flash烧写方法、插件和系统 | |
US7103641B2 (en) | Method and apparatus for distributing computer platform firmware across a network | |
TWI465901B (zh) | Method and system for verification of computerized systems for cloud testing and remote monitoring of integrated circuit devices | |
CN104536744B (zh) | 一种自动化构建与部署代码的方法及服务器 | |
US7099818B1 (en) | System and method for automatically matching components in a debugging system | |
CN100446126C (zh) | 使用多个命令周期的闪存存储器访问 | |
US20090198770A1 (en) | System and method of updating codes in controller | |
CN103309709B (zh) | 一种固件升级方法、装置及通信设备 | |
CN108008914B (zh) | 一种arm设备中磁盘管理的方法、装置和arm设备 | |
CN106681751A (zh) | 统一固件管理系统和管理方法以及计算机可读取介质 | |
CN102306127B (zh) | 一种ddriii内存识别和初始化方法 | |
CN106547574A (zh) | 一种dsp程序和fpga程序的外部下载系统及方法 | |
CN101438253A (zh) | 写入和配置闪速存储器 | |
CN101216773A (zh) | 一种嵌入式Linux系统固件下载方法和装置 | |
CN109783340B (zh) | SoC的测试代码烧写方法、IP测试方法及装置 | |
CN103745167B (zh) | 单片机的iap方法及装置 | |
CN102917242A (zh) | 一种多格式视频解码器的测试系统和测试方法 | |
CN104077166A (zh) | 基于fpga中ip核的epcs与epcq存储器在线升级方法 | |
CN109614126A (zh) | 一种嵌入式系统在线程序升级方法及装置 | |
CN109684150A (zh) | 存储颗粒控制器的性能测试系统、测试方法及仿真平台 | |
CN106776399A (zh) | 基于基板管理控制器的bios闪存数据读写系统及方法 | |
CN101950265B (zh) | Cpu板卡程序下载及硬件在线检测的方法及插件 | |
CN108196861A (zh) | 一种数据升级方法及其诊断设备 | |
CN104035757A (zh) | 基于MIPS处理器的u-boot移植的实现方法 | |
CN111181781A (zh) | 一种Vdbench的测试配置方法、系统、终端及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |