程序烧写方法、处理器和电子电路的制作方法

文档序号:9910796阅读:488来源:国知局
程序烧写方法、处理器和电子电路的制作方法
【技术领域】
[0001]本发明涉及电子技术领域,特别是指一种程序烧写方法、处理器和电子电路。
【背景技术】
[0002]在对于现有电路系统的设计中,CPU、MCU、DSP、FPGA、CPLD等是非常常用的主处理器,而在这些主处理器中,除了中央处理器核之外,还会集成很多常用处理部件,部件可以包括RAM、R0M、不同的处理器核、各种模拟单元等等。这些主处理器仅仅是硬件,需要程序才能运行,这些程序就存储在部件ROM中。对于现有的嵌入式系统,由于其程序都比较大,少则几十兆,多则几百兆,其已经远远超过了主处理器内部部件ROM存储空间,所以当前中高端主处理器在设计的时候都支持从片外存储器启动,如Flash、SD卡、U盘等等。
[0003]要使上述电路系统能够正常工作,首先要给主处理器烧入程序。如图1所示,现有技术烧写程序的方法为,通过仿真器或编程器将程序烧入到主处理器的相关存储空间。仿真器或编程器一端通过USB接口、串口或是并口与PC机相连,另一端通过JTAG接口与主处理器相连,PC机上的相关烧录软件通过操控仿真器将程序烧入到主处理器的相关存储空间。然而现有技术中的烧写程序的方法存在如下问题:
[0004]第一、不能脱离PC机,应用场景受到了限制;在某些没有或不能用PC机的场合,就无法烧写程序了;
[0005]第二、某些烧录软件非常复杂,需要多重设置,烧写程序比较繁琐。

【发明内容】

[0006]本发明要解决的技术问题是提供一种能够脱离开PC机、应用场景更广,且方便、快捷和简单的程序烧写方法、处理器和电子电路。
[0007]为解决上述技术问题,本发明提供技术方案如下:
[0008]—种程序烧写方法,用于电子电路,所述电子电路包括处理器、Flash和用于连接外部存储器的存储器接口,所述处理器具有内部ROM和内部RAM,所述Flash和存储器接口连接所述处理器,所述方法包括:
[0009]确认启动方式为外部存储器启动;
[0010]将外部存储器中预先存储的烧写程序读取到内部RAM中;
[0011]运行所述烧写程序,将所述外部存储器中预先存储的应用程序烧写到Flash中。
[0012]—种处理器,用于电子电路,所述电子电路包括所述处理器、Flash和用于连接外部存储器的存储器接口,所述处理器具有内部ROM和内部RAM,所述Flash和存储器接口连接所述处理器,所述处理器包括:
[0013 ]启动模块:用于确认启动方式为外部存储器启动;
[0014]第一读取模块:用于将外部存储器中预先存储的烧写程序读取到内部RAM中;
[0015]第一烧写模块:用于运行所述烧写程序,将所述外部存储器中预先存储的应用程序烧写到Flash中。
[0016]一种电子电路,包括处理器、Flash和用于连接外部存储器的存储器接口,所述处理器具有内部ROM和内部RAM,所述Flash和存储器接口连接所述处理器,所述处理器为上述的处理器。
[0017]本发明具有以下有益效果:
[0018]本发明的程序烧写方法,首先,处理器将外部存储器中预先存储的烧写程序读取到内部RAM中,然后,处理器运行烧写程序,将外部存储器中预先存储的应用程序烧写到Flash中。本发明增加了运行烧写程序这一工作流程,先将烧写程序存储到外部存储器中,这样处理器在上电的时候就能读取到烧写程序,烧写程序运行后,则会将应用程序烧写到Flash中,永久存储,与现有技术相比,本发明在某些没有或不能用PC机的场合,也能够烧写程序,因此,本发明具有能够脱离开PC机、应用场景更广的优点,同时,本发明也避免了采用PC机进行程序烧写时,由于烧录软件复杂,需要多重设置,带来的烧写程序繁琐等问题,所以本发明的程序烧写方法更加方便、快捷和简单。
【附图说明】
[0019]图1为现有技术的程序烧写方法的结构示意图;
[0020]图2为本发明的程序烧写方法用于电子电路的结构示意图;
[0021]图3为本发明的程序烧写方法的一种实施例的流程示意图;
[0022]图4为本发明的程序烧写方法的一种改进实施例的流程示意图;
[0023]图5为本发明的程序烧写方法的进一步改进实施例的流程示意图;
[0024]图6为本发明的程序烧写方法的另一种改进实施例的流程示意图;
[0025]图7为本发明的处理器的一种实施例的结构示意图;
[0026]图8为本发明的处理器的一种改进实施例的结构示意图。
【具体实施方式】
[0027]为使本发明要解决的技术问题、技术方案和优点更加清楚,下面将结合附图及具体实施例进行详细描述。
[0028]本实施例提供一种程序烧写方法,用于电子电路,如图2所示,电子电路包括处理器ll、Flashl2和用于连接外部存储器13的存储器接口 14,处理器11具有内部R0M15和内部RAM16,Flashl 2和存储器接口 14连接处理器11,如图3所示,方法包括:
[0029]步骤SlOl:确认启动方式为外部存储器13启动;
[0030]本步骤中,处理器11预先对处理器11的启动方式进行判断,其中,启动方式可以包括从处理器11的内部R0M15启动、Flashl2启动或从存储器启动,当处理器11确认启动方式为存储器启动后,处理器11还需通过硬件的设置来判断从哪一个存储器进行启动,如存储器可以包括SD卡、U盘或其它Flashl2存储装置等,其中,硬件的设置可以为,检测几个外部特定的管脚,通过这几个管脚高低电平的组合情况来确定是从什么存储器中读入程序,进而启动系统。
[0031]步骤S102:将外部存储器13中预先存储的烧写程序读取到内部RAM16中;
[0032]本步骤中,烧写程序是一段编写出来用于烧写应用程序的程序,烧写程序的目就是将应用程序烧写到Flashl2中,编写好的烧写程序通常为几K或几十K大小,也可以为更大。
[0033]步骤S103:运行烧写程序,将外部存储器13中预先存储的应用程序烧写到Flashl2中。
[0034]本步骤中,处理器11运行烧写程序将外部存储器13中的应用程序烧写到Flashl2中,其中,应用程序就是系统正常运行时候的程序,烧写完成后,下次系统启动的时候,处理器11即可运行Flashl 2中的程序,这样整个程序就正常运行起来了。
[0035]本实施例中,首先,处理器11将外部存储器13中预先存储的烧写程序读取到内部RAM16中,然后,处理器11运行烧写程序,将外部存储器13中预先存储的应用程序烧写到Flashl2中。本发明增加了运行烧写程序这一工作流程,先将烧写程序存储到存储器中,这样处理器11在上电的时候就能读取到烧写程序,烧写程序运行后,则会将应用程序烧写到Flashl2中,永久存储,与现有技术相比,本发明在某些没有或不能用PC机的场合,也能够烧写程序,因此,本发明具有能够脱离开PC机、应用场景更广的优点,同时,本发明也避免了采用PC机进行程序烧写时,由于烧录软件复杂,需要多重设置,带来的烧写程序繁琐等问题,所以本实施例更加方便、快捷和简单。
[0036]作为上述实施例的一种改进,电子电路包括外部RAM17,外部RAM17连接处理器11,相应的,如图4所示,步骤S103进一步为:
[0037]步骤S104:运行烧写程序,将外部存储器13中预先存储的应用程序全部复制到外部RAM17中,再将外部RAM17中的应用程序全部烧写到Flashl2中。
[0038]图4实施例中,烧写程序首先将应用程序一次性地从外部存储器13中拷贝到外部RAM17中,然后再将外部RAM17中的应用程序一次性地烧写到Flashl2中,加快本实施例的程序烧写的速度。通常,主处理器11在和外部设备通信的时候,先要发出特定的指令,告诉外部设备此次通信的目的,如是读操作,还是写操作,是数据操作,还是指令操作等等,或者,发出特定的起始信号,如IIC器件通信的时候,首先要发出起始信号,然后要发出器件的设备地址等等。相对于现有技术中,每次从外部存储器13中读取一部分程序,然后写入Flashl2中,然后再读取,再写入的方法,本实施例在对外部存储器13和Flashl2操作的时候,只需要发出一次特定指令或起始信号即可,不需要每次对外部存储器13和Flashl2操作的时候都发出特定的指令或起始信号,节省了时间,加快了烧写的速度。
[0039]作为上述实施例的进一步改进,如图5所示,步骤S104进一步为:
[0040]步骤S105:运行烧写程序,初始化处理器11内部外设,将外部存储器13中预先存储的应用程序全部复制到外部RAM17中,再将外部RAM17中的应用程序全部烧写到Flashl2中。
[0041]图5实施例中,烧写程序初始化必要的处理器11内部外设(如:系统时钟、Flashl2控制器、RAM控制器等等)。本实施例中,进行初始化的过程,就是给系统时钟、Flashl2控制器、RAM控制器等相应的寄存器赋初值的过程,否则,寄存器的值将是上电的默认值,可能使系统运行结果出现不可预料的错误,因此,在程序烧写之前,先对内部外设和外部外设进行初始化,保证了烧写程序可以顺利完成,提高了系统运行的稳定性。
[0042]上述实施例中,优选的,可以将烧写程序存储在外部存储器13的起始位置,应用程序可以被存在除烧写程序所在存储位置之外的任意位置。由于处理器11在读取程序的时候,是从起始位置开始读取的,所以系统上电后,先运行烧写程序,即可完成应用程序的烧写。
[0043]作为上述实施例的另一种改进,如图6所示,步骤S103之前还包括:
[0044]步骤S1031:运行烧写程序,将外部存储器13中预先存储的应用程序全部复制到外部RAM17中;
[0045]步骤S1032:运行应用程序,以进行程序调试。
[0046]本实施例中,烧写程序可以不受几K或几十K的限制,可以为任意大小,同时,烧写程序不仅仅具有程序烧写的功能,还具有程序调试的功能。本实施例中,处理器11在上电的时候,如果烧写程序由于添加了除烧写功能之外的其它功能,而使烧写程序变大,那么可以将烧写程序复制到外部RAM17中运行(当然这一步不是必要的,如果烧写程序只有几K或几十K的时候,那么烧写程序可以在处理器11内部的RAM中运行即可),如本实施例中,烧写程序具有程序调试的功能,而使烧写程序变的较大。烧写程序将应用程序直接复制到外部R
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1