用于控制系统的固件架构及开机方法与流程

未命名 08-09 阅读:255 评论:0


1.本发明涉及一种固件架构,特别是指一种用于控制系统的固件架构。


背景技术:

2.微控制器(microcontroller)可以是一种例如将中央处理器、存储器、定时(计数)器、各种输入输出界面等都整合于一单芯片上的微型电脑系统。微控制器的最大优势在于其体积小却功能丰富,所以在各种应用(如电脑、家电、工业、医疗、航太等)都能发挥极佳的效用。
3.微控制器在运作时,会不断执行如快闪存储器存储的固件(专指负责控制硬件行为的软件)指令来进行相关操作。当固件因为功能新增、设计变更、问题修复等因素而需要更新或升级时,对应的新固件档案(例如,二进位格式档案并以“.bin”表示)可通过软件工具被写入到快闪存储器中,此「写入」的操作或过程称为烧录(flashing)。然而,固件在烧录时,常可能因为如软件工具的故障、供电的中断、人为操作上的失误等因素而导致烧录流程被中断,于是,微控制器会因为执行了不完整的固件而无法正常运作,甚至严重时无法开机或进行重新烧录固件之操作,如此将造成使用者工作上极大的不便。
4.此外,对于一些需要客制化固件功能或是固件功能具备多种组态的产品而言,产品制造商通常先制作多个分别对应于不同客制需求的对应固件档案,然后再将每一固件档案烧录到对应的客制产品中。以内含相同的微控制器的a、b系列电脑产品为例,微控制器在a系列电脑产品的通用型之输入输出(general-purpose input/output,以下简称gpio)的配置组态例如称为io_a,而在b系列电脑产品的gpio的配置组态例如称为io_b,通常在开发固件的时候就需要制作出例如forio_a.bin、forio_b.bin的两个不同的固件档案并在产品出货前对每一电脑产品完成对应的固件档案的烧录工作。依此方式,对于拥有上百个组态之产品的制造商而言,将导致上百份固件档案在烧录和维护时的复杂度增加。
5.因此,对于如何解决微控制器无法开机及/或无法重新烧录固件、以及降低固件维护上的复杂度的问题已成为相关技术领域所欲解决的议题之一。


技术实现要素:

6.本发明的目的在于提供一种固件架构,其能克服上述现有技术的至少一缺点。
7.本发明所提供的一种固件架构适用于一控制系统且存储于所述控制系统所包含的至少规划有一开机区块和一主要区块的一存储器模块,并包含一固件档案、一开机签章侦测模块、一基本功能模块及一烧录模块。
8.所述固件档案存储于所述主要区块。
9.所述开机签章侦测模块存储于所述开机区块,并由所述控制系统在一开机程序中先执行,以使所述控制系统侦测所述主要区块中是否存在有一预定开机签章码。
10.所述基本功能模块存储于所述开机区块,并能由所述控制系统在所述开机程序中侦测出所述主要区块中不存在有所述预定开机签章码后执行,以使所述控制系统能够在所
述开机程序期间至少进行电源管理以及脚位初始化。
11.所述烧录模块存储于所述开机区块,并可由所述控制系统在所述开机程序中接收到一烧录请求时执行,以使所述控制系统回应于所述烧录请求将含有所述预定开机签章码的一更新固件档案或一备份固件档案作为所述固件档案覆写到所述主要区块。
12.在一些实施态样中,所述更新固件档案和所述备份固件档案各自在其内容末端含有所述预定开机签章码。
13.在一些实施态样中,所述烧录请求包含所述更新固件档案,且所述控制系统在执行所述烧录模块时将所述更新固件档案作为所述固件档案覆写到所述主要区块中。
14.在一些实施态样中,所述存储器模块规划有位于一特定存储器位址且存储有所述备份固件档案的一档案区块。所述烧录请求包含所述特定存储器位址。所述控制系统在执行所述烧录模块时根据所述特定存储器位址读取出存储于所述档案区块的所述备份固件档案,并将所述备份固件档案作为所述固件档案覆写到所述主要区块中。
15.在一些实施态样中,所述固件架构还包含一存储于所述开机区块的客制化固件确认模块。所述固件档案包含多个固件程序部分,每一固件程序部分在其开端含有唯一对应于所述固件程序部分的一特定签章码。当所述控制系统成功执行完所述开机程序且接收到一输入码后,所述客制化固件确认模块可由所述控制系统执行,以使所述控制系统根据所述输入码从所述固件程序部分确认出一个含有相同于所述输入码的所述特定签章码的固件程序部分作为后续要执行的目标固件程序部分。
16.本发明的另一目的在于提供一种开机方法,其能克服上述现有技术的至少一缺点。
17.本发明所提供的一种开机方法适用于一控制系统,并由所述控制系统所含的一处理器来实施。所述控制系统还包含至少存储有一开机签章侦测模块、一基本功能模块、一烧录模块和一固件档案的一存储器模块。所述开机方法包含以下步骤:(a)经由所述开机签章侦测模块的执行,侦测所述固件档案的内容末端是否存在有一预定开机签章码;(b)当侦测出所述固件档案的内容末端不存在有所述预定开机签章码时,经由所述基本功能模块的执行,进行所述控制系统的电源管理和脚位初始化;及(c)在接收到一烧录请求后,经由所述烧录模块的执行,回应于所述烧录请求将含有所述预定开机签章码的一更新固件档案或一备份固件档案作为所述固件档案覆写到所述存储器模块。
18.在一些实施态样中,所述开机方法在步骤(c)之后还包含以下步骤:(d)重复执行步骤(a);及(f)当所述处理器在步骤(d)侦测出所述固件档案不存在有所述预定开机签章码时,依序重复执行步骤(b)、(c)、(a),直到所述处理器侦测出所述固件档案存在有所述预定开机签章码。
19.在一些实施态样中,在步骤(c)中,所述更新固件档案和所述备份固件档案各自在其内容末端含有所述预定开机签章码。
20.在一些实施态样中,在步骤(c)中,所述烧录请求包含所述更新固件档案,且所述处理器将所述更新固件档案作为所述固件档案覆写到所述存储器模块。
21.在一些实施态样中,所述存储器模块规划有位于一特定存储器位址且存储有所述备份固件档案的一档案区块。在步骤(c)中,所述烧录请求包含所述特定存储器位址,且所述处理器根据所述特定存储器位址读取出存储于所述档案区块的所述备份固件档案,并将
所述备份固件档案作为所述固件档案覆写到所述存储器模块。
22.在一些实施态样中,所述存储器模块还存储有一客制化固件确认模块,所述固件档案包含多个固件程序部分,且每一固件程序部分在其开端含有唯一对应于所述固件程序部分的一特定签章码。所述开机方法在步骤(f)之后还包含以下步骤:(g)在接收到一输入码后,经由所述客制化固件确认模块的执行,根据所述输入码从所述固件程序部分确认出一个含有相同于所述输入码的所述特定签章码的固件程序部分作为后续要执行的目标固件程序部分。
23.本发明的有益的效果在于:由于所述固件架构已配置了所述开机签章侦测模块、所述基本功能模块和所述烧录模块,因此所述控制系统于开机程序先执行所述开机签章侦测模块可有效地侦测出所述固件架构中的固件档案是否完整而无缺损(也就是说,前一次固件档案的烧录处理是否成功完成),即使侦测出固件档案不完整,也可经由所述基本功能模块和所述烧录模块的执行而能将更新或备份的固件档案覆写于所述存储器模块以完成开机程序;此外,通过所述开机区块中的所述客制化固件确认模块来辨识所述主要区块中所述各自含有特定签章码的固件程序部分的机制,能有效降低在固件维护上的复杂度。
附图说明
24.本发明的其他的特征及功效,将于参照附图的实施方式中清楚地呈现,其中:
25.图1是一方块图,示例性地绘示出一控制系统的一种配置,其包含本发明第一实施例的固件架构;
26.图2是一示意图,示例性地绘示出所述第一实施例的所述固件架构如何配置于所述控制系统的一存储器模块的一固件区块;
27.图3是一示意图,示例性地说明所述实施例的一固件档案的组成;
28.图4是一示意图,示例性地说明所述存储器模块存储一备份固件档案的内容;
29.图5是一流程图,说明图2的所述控制系统的一处理器如何执行本发明第一实施例的一种开机方法;
30.图6是一方块图,示例性地绘示出所述控制系统的另一种配置,其包含本发明第二实施例的固件架构;
31.图7是一示意图,示例性地说明所述第二实施例的所述固件架构的配置;
32.图8是一流程图,说明图6的所述控制系统的一处理器如何执行本发明第二实施例的一种开机方法;及
33.图9是一示意图,示例性地说明所述控制系统接收到的一更新固件档案的内容。
具体实施方式
34.在本发明被详细描述之前,应当注意在以下的说明内容中,类似的元件是以相同的编号来表示。
35.图1示例性地绘示出一控制系统100,其可包含例如一输入模块30、及一电连接所述输入模块30的微处理器单元10。所述微处理器单元10可实施成如单芯片的微控制器,并可包括一处理器1、及一电连接所述处理器1的存储器模块2。在本实施例中,所述存储器模块2可规划出一固件区块22及一档案区块21,其中所述固件区块22例如是由可抹除式只读
存储器(如快闪存储器)所构成并存储有本发明实施例的一种固件架构,而所述档案区块21例如由只读存储器(rom)所构成并在其中一特定存储器位置存储有所述控制系统100所需的一备份固件档案。然而,在其他实施例中,所述存储器模块2也可实施为独立于所述微处理器单元10但与所述处理器1电连接的一外部存储器模块(图未示),或者仅所述档案区块21被实施在独立于所述微处理器单元10以外的另一存储器中(图未示)。特别要说明的是,如图4所示,所述备份固件档案的内容末端含有一预定开机签章码(例如,具有固定长度的特定编码)。所述输入模块30可包含例如滑鼠、键盘或任何使用者输入装置。
36.参阅图2,本实施例中,所述固件区块22包含一开机区块(boot block)221及一主要区块(main block)222,并且所述固件架构例如包含存储于所述开机区块221的一开机签章侦测模块、一基本功能模块、一烧录模块和一客制化固件确认模块,以及存储于所述主要区块222的一固件档案。
37.所述开机签章侦测模块可由所述处理器1执行,以进行所述预定开机签章码之侦测。
38.所述基本功能模块可由所述处理器1执行,至少进行如所述微处理器单元10的电源管理以及脚位初始化,以确保所述微处理器单元10能提供标准化系统的正常运作。
39.所述烧录模块可由所述处理器1执行,以进行相关烧录工作。
40.所述客制化固件确认模块可由所述处理器1执行,以进行客制化固件的确认,特别是,在所述控制系统100可用于控制多个不同型号或类型的客制化电子产品的情况下,对于每一客制化电子产品的客制化固件的确认。
41.在本实施例中,所述主要区块222中的所述固件档案,通常经过成功的烧录处理后,可包含多个固件程序部分,以及位于其末端的所述预定开机签章码。每一固件程序部分在其开端含有唯一对应于所述固件程序部分的一特定签章码。举例来说,如图3所示,所述固件档案例如包含(但不限于)固件程序部分#1、固件程序部分#2、固件程序部分#3和固件程序部分#4,以及所述预定开机签章码,且所述固件程序部分#1含有特定签章码#1,所述固件程序部分#2含有特定签章码#2,所述固件程序部分#3含有特定签章码#3,所述固件程序部分#4含有特定签章码#4。请注意,存储于所述档案区块21的所述备份固件档案除了含有所述预定开机签章码外,还包含有上述的所述固件程序部分(图4未示出)。
42.以下,参阅图1、图2及图5,详细地说明所述处理器1如何搭配所述固件架构的所述开机签章侦测模块、所述基本功能模块、所述烧录模块和所述客制化固件确认模块来执行本发明第一实施例的所述开机方法。所述开机方法包含以下步骤s51~s56,其构成所述控制系统100的开机程序。
43.在步骤s51中,所述处理器1经由所述开机签章侦测模块的执行,侦测(当前)存储于所述主要区块222的所述固件档案的内容末端是否存在有所述预定开机签章码。若侦测结果为肯定时,此代表所述固件档案是经过(前一次的)成功烧录而完整地存储于所述主要区块222,则流程将进行步骤s55。相反地,若侦测结果为否定时,此代表前一次的烧录处理并未将完整的固件档案(如图3所示)成功地烧录于所述主要区块222,以致所述固件档案不存在有所述预定开机签章码,于是,流程将进行步骤s52。
44.当所述处理器1侦测出所述固件档案的内容末端不存在有所述预定开机签章码时,在步骤s52中,所述处理器1经由所述基本功能模块的执行,至少进行如所述微处理器单
元10的电源管理、脚位初始化等,以确保所述微处理器单元10能提供标准化系统的正常运作。
45.然后,在步骤s53中,所述处理器1确认是否接收到一来自所述输入模块30的烧录请求。若所述处理器1确认接收到所述来自所述输入模块30的烧录请求时,流程将进行步骤s54。在本实施例中,所述烧录请求包含所述特定存储器位址。相反地,若所述处理器1并未接收到来自所述输入模块30的任何烧录请求时,流程将持续进行步骤s53(直到所述处理器1接收到烧录请求)。
46.在步骤s54中,所述处理器1在接收到所述来自所述输入模块30的烧录请求后,经由所述烧录模块的执行,根据所述烧录请求所含的所述特定存储器位址读取出存储于所述档案区块21的所述备份固件档案,并将所述备份固件档案作为所述固件档案覆写到所述存储器模块2的所述固件区块22的所述主要区块222(见图2)。
47.为了确保所述处理器1在步骤s54执行了一次成功的烧录处理,流程将返回步骤s51,以便所述处理器1重复执行步骤s51,而当所述处理器1在步骤s51的侦测结果为否定时(即所述固件档案不存在有所述预定开机签章码时),所述处理器1依序重复执行步骤s52、s53、s54,直到所述处理器1(在步骤s51)侦测出所述固件档案存在有所述预定开机签章码,借此确保所述主要区块222所存储的所述固件档案为完整的固件档案。
48.在所述处理器1确认出所述固件档案存在有所述预定开机签章码的情况下,所述处理器1在接收到例如经由人为操作所述输入模块30所产生的一输入码(步骤s55)后,接着,在步骤s56中,所述处理器1经由所述客制化固件确认模块的执行,根据所述输入码从所述固件程序部分#1~#4确认出一个含有相同于所述输入码的所述特定签章码的固件程序部分作为(开机程序完成)后续要执行的目标固件程序部分。举例来说,若所述控制系统100是用来控制的一特定客制化电子产品,且所述特定客制化电子产品对应的目标固件程序部分例如为所述固件程序部分#2,在此情况下,所述处理器1在步骤s55接收到相同于所述特定签章码#2的输入码后,在步骤s56根据所述输入码从所述固件档案确认出所述固件程序部分#2,以供后续执行。
49.参阅图6,示例性地绘示出一控制系统100’,在配置上大致相似于图1的控制系统100。所述控制系统100’不同于所述控制系统100之处在于:一微处理器单元10’所包含一存储器模块2’仅规划了用于存储本发明第二实施例的固件架构的所述固件区块22。此外,在本实施例中,如图7所示,所述固件架构仅包含存储于所述开机区块221的所述开机签章侦测模块、所述基本功能模块和所述烧录模块,以及存储于所述主要区块222的一固件档案。请注意,在本实施例中,所述固件档案,通常经过成功的烧录处理后,包含位于其末端的所述预定开机签章码。
50.以下,参阅图6、图7及图8,详细地说明所述处理器1如何搭配所述固件架构的所述开机签章侦测模块、所述基本功能模块和所述烧录模块来执行本发明第二实施例的所述开机方法。所述开机方法包含以下步骤s81~s84,其构成所述控制系统100’的开机程序。
51.首先,在步骤s81中,相似于图5的步骤s51,所述处理器1经由所述开机签章侦测模块的执行,侦测(当前)存储于所述主要区块222的所述固件档案的内容末端是否存在有所述预定开机签章码。若侦测结果为肯定时,则开机程序完成;相反地,流程将进行步骤s82。
52.在步骤s82中,相似于图5的步骤s52,所述处理器1经由所述基本功能模块的执行,
进行所述微处理器单元10’的电源管理和脚位初始化,以提供标准化系统的正常运作。
53.然后,在步骤s83中,所述处理器1确认是否接收到一来自所述输入模块30的烧录请求。若所述处理器1确认接收到来自所述输入模块30的所述烧录请求时,流程将进行步骤s84。在本实施例中,由于所述控制系统100’无法提供任何备份固件档案,所以系统维护者可经由人为操作所述输入模块30,以使所述输入模块30根据来自外部(例如,云端、u盘或其他存储装置)的一所欲的更新固件档案产生所述烧录请求(即,所述烧录请求包含所述更新固件档案)。相反地,若所述处理器1并未接收到来自所述输入模块30的任何烧录请求时,流程将持续进行步骤s83(直到所述处理器1接收到烧录请求)。
54.在步骤s84中,所述处理器1经由所述烧录模块的执行,将所述烧录请求所含的所述更新固件档案作为所述固件档案覆写到所述存储器模块2’的所述固件区块22的所述主要区块222(见图7)。
55.同样地,为了确保所述处理器1在步骤s84执行了一次成功的烧录处理,流程将返回步骤s81,以便所述处理器1重复执行步骤s81,而当所述处理器1在步骤s81的侦测结果为否定时(即所述固件档案不存在有所述预定开机签章码时),所述处理器1依序重复执行步骤s82、s83、s84,直到所述处理器1(在步骤s81)侦测出所述固件档案存在有所述预定开机签章码,借此确保所述主要区块222所存储的所述固件档案为完整的固件档案,于是,所述开机程序完成。
56.综上所述,由于所述固件架构已配置了所述开机签章侦测模块、所述基本功能模块和所述烧录模块,因此所述控制系统100,100’于开机程序先执行所述开机签章侦测模块可有效地侦测出所述固件架构中的固件档案是否完整而无缺损(也就是说,前一次固件档案的烧录处理是否成功完成),即使侦测出固件档案因不含所述预定开机签章码而不完整,也可经由所述基本功能模块和所述烧录模块的执行而能将更新或备份的固件档案覆写于所述存储器模块2,2’的主要区块222以完成开机程序。此外,通过所述开机区块221中的所述客制化固件确认模块来辨识所述主要区块222中各自含有所述特定签章码的固件程序部分的机制,能有效降低在多个不同型号或类型的客制化电子产品的固件维护上的复杂度。所以本发明的固件架构和根据所述固件架构的开机方法确实能达成本发明的目的。
57.以上所述者,仅为本发明的较佳实施例而已,当不能以此限定本发明实施的范围,即凡依本发明权利要求书及说明书内容所作的简单的等效变化与修饰,皆仍属本发明的范围。

技术特征:
1.一种固件架构,适用于一控制系统且存储于所述控制系统所包含的至少规划有一开机区块和一主要区块的一存储器模块,其特征在于,并包含:一固件档案,存储于所述主要区块;一开机签章侦测模块,存储于所述开机区块,并由所述控制系统在一开机程序中先执行,以使所述控制系统侦测所述主要区块中是否存在有一预定开机签章码;一基本功能模块,存储于所述开机区块,并能由所述控制系统在所述开机程序中侦测出所述主要区块中不存在有所述预定开机签章码后执行,以使所述控制系统能够在所述开机程序期间至少进行电源管理以及脚位初始化;及一烧录模块,存储于所述开机区块,并可由所述控制系统在所述开机程序中接收到一烧录请求时执行,以使所述控制系统回应于所述烧录请求将含有所述预定开机签章码的一更新固件档案或一备份固件档案作为所述固件档案覆写到所述主要区块。2.根据权利要求1所述的固件架构,其特征在于,所述更新固件档案和所述备份固件档案各自在其内容末端含有所述预定开机签章码。3.根据权利要求1所述的固件架构,其特征在于,所述烧录请求包含所述更新固件档案,且所述控制系统在执行所述烧录模块时将所述更新固件档案作为所述固件档案覆写到所述主要区块中。4.根据权利要求1所述的固件架构,其特征在于,所述存储器模块规划有位于一特定存储器位址且存储有所述备份固件档案的一档案区块,所述烧录请求包含特定存储器位址,且所述控制系统在执行所述烧录模块时根据所述特定存储器位址读取出存储于所述档案区块的所述备份固件档案,并将所述备份固件档案作为所述固件档案覆写到所述主要区块中。5.根据权利要求1所述的固件架构,其特征在于,还包含一存储于所述开机区块的客制化固件确认模块:所述固件档案包含多个固件程序部分,每一固件程序部分在其开端含有唯一对应于所述固件程序部分的一特定签章码;及当所述控制系统成功执行完所述开机程序且接收到一输入码后,所述客制化固件确认模块可由所述控制系统执行,以使所述控制系统根据所述输入码从所述固件程序部分确认出一个含有相同于所述输入码的所述特定签章码的固件程序部分作为后续要执行的目标固件程序部分。6.一种开机方法,适用于一控制系统,并由所述控制系统所含的一处理器来实施,所述控制系统还包含至少存储有一开机签章侦测模块、一基本功能模块、一烧录模块和一固件档案的一存储器模块,其特征在于,所述开机方法包含以下步骤:(a)经由所述开机签章侦测模块的执行,侦测所述固件档案的内容末端是否存在有一预定开机签章码;(b)当侦测出所述固件档案的内容末端不存在有所述预定开机签章码时,经由所述基本功能模块的执行,进行所述控制系统的电源管理和脚位初始化;及(c)在接收到一烧录请求后,经由所述烧录模块的执行,回应于所述烧录请求将含有所述预定开机签章码的一更新固件档案或一备份固件档案作为所述固件档案覆写到所述存储器模块。
7.根据权利要求6所述的开机方法,其特征在于,在步骤(c)之后还包含以下步骤:(d)重复执行步骤(a);及(f)当所述处理器在步骤(d)侦测出所述固件档案不存在有所述预定开机签章码时,依序重复执行步骤(b)、(c)、(a),直到所述处理器侦测出所述固件档案存在有所述预定开机签章码。8.根据权利要求7所述的开机方法,其特征在于,在步骤(c)中,所述更新固件档案和所述备份固件档案各自在其内容末端含有所述预定开机签章码。9.根据权利要求8所述的开机方法,其特征在于,在步骤(c)中,所述烧录请求包含所述更新固件档案,且所述处理器将所述更新固件档案作为所述固件档案覆写到所述存储器模块。10.根据权利要求8所述的开机方法,其特征在于,所述存储器模块规划有位于一特定存储器位址且存储有所述备份固件档案的一档案区块,在步骤(c)中,所述烧录请求包含所述特定存储器位址,且所述处理器根据所述特定存储器位址读取出存储于所述档案区块的所述备份固件档案,并将所述备份固件档案作为所述固件档案覆写到所述存储器模块。11.根据权利要求7所述的开机方法,其特征在于,所述存储器模块还存储有一客制化固件确认模块,所述固件档案包含多个固件程序部分,且每一固件程序部分在其开端含有唯一对应于所述固件程序部分的一特定签章码,在步骤(f)之后还包含以下步骤:(g)在接收到一输入码后,经由所述客制化固件确认模块的执行,根据所述输入码从所述固件程序部分确认出一个含有相同于所述输入码的所述特定签章码的固件程序部分作为后续要执行的目标固件程序部分。

技术总结
一种用于控制系统的固件架构及开机方法,所述固件架构存储于控制系统的存储器模块且包含开机签章侦测模块、基本功能模块及烧录模块。所述控制系统于开机程序先执行所述开机签章侦测模块以便在侦测出所述存储器模块中无预定开机签章码时执行所述基本功能模块进行电源管理和脚位初始化并回应于烧录请求执行所述烧录模块以更新或备份固件档案更新所述存储器模块中的固件档案;如此,能有效地侦测出所述固件架构中的固件档案是否完整而无缺损,即使侦测出固件档案不完整,也可经由所述基本功能模块和所述烧录模块的执行而能将更新或备份的固件档案覆写于所述存储器模块以完成开机程序。完成开机程序。完成开机程序。


技术研发人员:周立群 蔡水金 刘庭佑 苏建霖
受保护的技术使用者:飞捷科技股份有限公司
技术研发日:2022.01.27
技术公布日:2023/8/8
版权声明

本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)

航空之家 https://www.aerohome.com.cn/

飞机超市 https://mall.aerohome.com.cn/

航空资讯 https://news.aerohome.com.cn/

分享:

扫一扫在手机阅读、分享本文

相关推荐