TWI529623B - The Method of Dynamic Customization of Embedded System Function - Google Patents
The Method of Dynamic Customization of Embedded System Function Download PDFInfo
- Publication number
- TWI529623B TWI529623B TW103127890A TW103127890A TWI529623B TW I529623 B TWI529623 B TW I529623B TW 103127890 A TW103127890 A TW 103127890A TW 103127890 A TW103127890 A TW 103127890A TW I529623 B TWI529623 B TW I529623B
- Authority
- TW
- Taiwan
- Prior art keywords
- data file
- block
- embedded
- customized data
- embedded system
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims description 36
- 230000006870 function Effects 0.000 claims description 15
- 238000013461 design Methods 0.000 claims description 5
- 230000000977 initiatory effect Effects 0.000 claims 3
- 238000004891 communication Methods 0.000 description 9
- 238000010586 diagram Methods 0.000 description 9
- 238000005516 engineering process Methods 0.000 description 3
- 238000004519 manufacturing process Methods 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 230000002457 bidirectional effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 238000005520 cutting process Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000009826 distribution Methods 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 230000000717 retained effect Effects 0.000 description 1
- 238000000638 solvent extraction Methods 0.000 description 1
Landscapes
- Stored Programmes (AREA)
Description
本發明係關於一種客製化嵌入式系統,特別是在一種可動態客製化嵌入式系統功能的方法。 The present invention relates to a customized embedded system, and more particularly to a method of dynamically customizing the functionality of an embedded system.
圖1顯示傳統嵌入式系統之方塊圖,其顯示傳統嵌入式系統100包含一電源供應單元11、一處理器單元12、一系統記憶體13(例如可採用隨機存取記憶體RAM,Random Access Memory)、一可程式化記憶體14(例如可採用快閃記憶體Flash Memory)、一通訊介面15、一輸出入單元16。通訊介面15例如包括Ethernet、WiFi等通訊介面。 1 shows a block diagram of a conventional embedded system, which shows a conventional embedded system 100 including a power supply unit 11, a processor unit 12, and a system memory 13 (for example, random access memory RAM, Random Access Memory) A programmable memory 14 (for example, a flash memory can be used), a communication interface 15, and an input/output unit 16. The communication interface 15 includes, for example, a communication interface such as Ethernet or WiFi.
圖2顯示傳統嵌入式系統中記憶體規劃之示意圖,其顯示在可程式化記憶體14中規劃有一開機載入程式區塊21(Boot loader)、一作業系統區塊22(kernel)、一根檔案系統區塊23(root file system)、一系統設定資料區塊24。 2 shows a schematic diagram of memory planning in a conventional embedded system, which shows that a boot loader block 21 (boot loader), a work system block 22 (kernel), and a plan are programmed in the programmable memory 14. A file system block 23 (root file system) and a system setting data block 24.
傳統作法中,若要對嵌入式系統100進行客製化,其方法需在一開發主機上先行將所有更動過的程式碼重新編譯,將重新產生的可執行的映像檔案(executable image file),透過特定的燒錄工具,將可程式化記憶體區塊的映像檔案重新覆寫。並在系統重新開機後,才能運行更新後的系統功能。 In the conventional method, if the embedded system 100 is to be customized, the method needs to recompile all the changed code on a development host, and the executable image file will be regenerated. The image file of the stylized memory block is overwritten by a specific burning tool. After the system is rebooted, the updated system functions can be run.
緣此,為了解決上述問題,本發明提供一種可動態客製化嵌入式系統功能的方法,以避免煩雜的傳統客製化程序。 Accordingly, in order to solve the above problems, the present invention provides a method for dynamically customizing the functionality of an embedded system to avoid cumbersome conventional customization procedures.
為了達到上述目的,本發明所採用的技術手段係在一嵌 入式系統中的可程式化記憶體中規劃有一客製化資料檔案系統區塊,並儲存有一客製化資料檔案系統。在該嵌入式系統的啟動過程中,會由系統啟動引擎檢查該客製化資料檔案系統區塊中是否存在有客製化資料檔案系統。若存在,則將客製化資料檔案系統複製到正執行搜尋的至少一應用程式可讀寫的系統記憶體中的一記憶體位置,最後完成嵌入式系統的開機程序。該客製化資料檔案系統中可包括有至少一目錄或至少一檔案,亦可同時包括至少一目錄及至少一檔案。 In order to achieve the above object, the technical means adopted by the present invention is embedded in an A custom data file system block is planned in the programmable memory in the entry system, and a customized data file system is stored. During the startup process of the embedded system, the system startup engine checks whether there is a customized data file system in the customized data file system block. If so, copy the customized data file system to a memory location in the system memory that is being read and written by at least one application that is performing the search, and finally complete the boot process of the embedded system. The customized data file system may include at least one directory or at least one file, and may also include at least one directory and at least one file.
相較於傳統之客製化方法,本方法的特點為不需特殊之燒錄工具,且不需具工程背景之專業人士即可完成,因此在使用上具有方便性與時效性,同時也增加產品客製化需求的彈性。 Compared with the traditional customization method, the method is characterized in that it does not require special burning tools and can be completed without a professional background, so it is convenient and time-sensitive in use, and also increases. The flexibility of product customization requirements.
相較於傳統技術,若使用傳統的方法,需要為每個客戶維護個別的軟體版本,所以若客戶數量多,如此將增加軟體維護的負擔與生產成本。利用本發明,原廠可以只開發及維護一套系統軟體,再根據客戶的產品要求,利用本發明之方法為其客製化,例如,更換客戶專屬的系統設定網頁(web page)、原廠設定初始值(default value)或系統應用程式功能等。如此不但可解決系統軟體的維護問題及降低成本,也可增加開發新客戶的能量。 Compared with the traditional technology, if the traditional method is used, it is necessary to maintain individual software versions for each customer, so if the number of customers is large, this will increase the burden of software maintenance and production costs. By using the invention, the original factory can develop and maintain only one system software, and then customize the method according to the customer's product requirements by using the method of the invention, for example, replacing the customer-specific system page (web page), original factory Set the default value or system application function. This will not only solve the maintenance problems of the system software and reduce the cost, but also increase the energy of developing new customers.
本發明的另一特點為使用者即使執行韌體更新(Firmware Upgrade)的程序,客製化的系統資料仍會被保留,不會因為韌體更新就讓使用者的客製化資料消失,進而需要重新進行客製化資料的傳輸程序。 Another feature of the present invention is that even if the user performs a firmware upgrade procedure, the customized system data is retained, and the user's customized data is not lost because the firmware is updated. The transfer process of customized data needs to be re-executed.
本發明所採用的具體實施例,將藉由以下之實施例及附呈圖式作進一步之說明。 The specific embodiments of the present invention will be further described by the following examples and the accompanying drawings.
100,200‧‧‧嵌入式系統 100,200‧‧‧ embedded system
11‧‧‧電源供應單元 11‧‧‧Power supply unit
12‧‧‧處理器單元 12‧‧‧ Processor unit
13‧‧‧系統記憶體 13‧‧‧System Memory
14‧‧‧可程式化記憶體 14‧‧‧Programmable memory
15‧‧‧通訊介面 15‧‧‧Communication interface
16‧‧‧輸出入單元 16‧‧‧Output unit
17‧‧‧系統啟動引擎 17‧‧‧System Startup Engine
18‧‧‧通訊設備 18‧‧‧Communication equipment
19‧‧‧遠端主機 19‧‧‧Remote host
21‧‧‧開機載入程式區塊 21‧‧‧ boot loader block
22‧‧‧作業系統區塊 22‧‧‧Operating system block
23‧‧‧根檔案系統區塊 23‧‧‧ Root File System Block
24‧‧‧系統設定資料區塊 24‧‧‧System setting data block
25‧‧‧客製化資料檔案系統區塊 25‧‧‧Customized Data File System Block
圖1顯示一傳統嵌入式系統之方塊圖; 圖2顯示傳統嵌入式系統中記憶體規劃之示意圖;圖3顯示本發明嵌入式系統主機之方塊圖;圖4顯示本發明嵌入式系統中記憶體規劃之示意圖;圖5顯示本發明進行客製化之流程圖;圖6A及圖6B顯示本發明第一實施例系統啟動之流程圖;圖7A及圖7B顯示本發明第二實施例系統啟動之流程圖。 Figure 1 shows a block diagram of a conventional embedded system; 2 is a schematic diagram of memory planning in a conventional embedded system; FIG. 3 is a block diagram showing the host of the embedded system of the present invention; FIG. 4 is a schematic diagram showing memory planning in the embedded system of the present invention; FIG. 6A and FIG. 6B are flowcharts showing the system startup of the first embodiment of the present invention; and FIGS. 7A and 7B are flowcharts showing the system startup of the second embodiment of the present invention.
本發明所謂的可動態客製化是指當嵌入式系統在開機運行的狀態時,可在遠端利用網路傳輸工具將客製化的所有資料檔案傳輸至該嵌入式系統中預先規劃好的客製化專用記憶體區塊,以後在每次開機過程中,嵌入式系統會適時將客製化的資料檔案取代原記憶體中相對應的檔案或增加到適當的目錄位置,開機完成後,即執行客製化的系統功能。 The so-called dynamic customization according to the present invention means that when the embedded system is in the state of being powered on, all the customized data files can be transmitted to the embedded system by using the network transmission tool at the remote end. Customized dedicated memory block. In the future, the embedded system will replace the customized file in the original memory or add it to the appropriate directory location in time. After booting, That is to perform customized system functions.
圖3顯示本發明嵌入式系統之方塊圖,其顯示本發明的嵌入式系統200包含一電源供應單元11、一處理器單元12、一系統記憶體13(例如可採用隨機存取記憶體RAM,Random Access Memory)、一可程式化記憶體14(例如可採用快閃記憶體Flash Memory)、一通訊介面15、一輸出入單元16、一系統啟動引擎17(System Start Engine)。其中,該通訊介面15例如包括Ethernet、WiFi等。一遠端主機19可經由通訊設備18及通訊介面15與嵌入式系統200進行雙向的數據資料交換工作。 3 is a block diagram showing an embedded system of the present invention, which shows an embedded system 200 of the present invention including a power supply unit 11, a processor unit 12, and a system memory 13 (for example, a random access memory RAM can be used. Random Access Memory, a programmable memory 14 (for example, flash memory), a communication interface 15, an input/output unit 16, and a system start engine 17. The communication interface 15 includes, for example, Ethernet, WiFi, and the like. A remote host 19 can perform bidirectional data exchange work with the embedded system 200 via the communication device 18 and the communication interface 15.
嵌入式系統200中內含作業系統(operating system)運行於其上,如Linux作業系統。嵌入式系統200由Linux作業系統進行系統資源及工作分配。處理器單元12負責進行資料的運算處理,並透過系統記憶體13、可程式化記憶體14進行資料存取之動作,完成資料之完整處理程序。 The embedded system 200 has an operating system running thereon, such as a Linux operating system. The embedded system 200 is configured by the Linux operating system for system resources and work distribution. The processor unit 12 is responsible for performing arithmetic processing of the data, and performing data access operations through the system memory 13 and the programmable memory 14 to complete the complete processing of the data.
本發明所使用之可程式化記憶體14係為一可支援MTD(Memory Technology Device)子系統的裝置。透過Linux作業系統的MTD子系統的操作,將可進行記憶體設備的分切規劃。 The programmable memory 14 used in the present invention is a device that supports the MTD (Memory Technology Device) subsystem. Through the operation of the MTD subsystem of the Linux operating system, the cutting plan of the memory device can be performed.
圖4顯示本發明嵌入式系統中記憶體規劃之示意圖,其顯示在可程式化記憶體14中規劃有一開機載入程式區塊21(Boot loader)、一作業系統區塊22(kernel)、一根檔案系統區塊23(root file system)、一系統設定資料區塊24,其中開機載入程式區塊21、作業系統區塊22、根檔案系統區塊23分別儲存有一開機載入程式、一核心作業系統、一根檔案系統。 4 is a schematic diagram showing memory planning in the embedded system of the present invention, which shows that a boot loader block 21 (boot loader), a work system block 22 (kernel), and a plan are programmed in the programmable memory 14. A file system block 23 (root file system) and a system setting data block 24, wherein the boot loader block 21, the operating system block 22, and the root file system block 23 respectively store a boot loader, Core operating system, a file system.
本發明在該可程式化記憶體14中更規劃增加了可讀寫的客製化資料檔案系統區塊25,用以符合本發明的系統啟動程序。本發明實施例中,可利用可程式化記憶體的記憶體區塊分切方法,規劃一軟體客製化專用的客製化資料檔案系統區塊25且賦予可讀寫的檔案系統,用來儲存本發明中的客製化資料檔案系統。 In the programmable memory 14, the present invention further plans to add a readable and writable customized data file system block 25 for complying with the system startup procedure of the present invention. In the embodiment of the present invention, the memory block partitioning method of the programmable memory can be used to plan a customized customized file system block 25 for software customization and to provide a readable and writable file system for The customized data file system of the present invention is stored.
使用者如需使用本發明技術,可依照圖5所述之流程進行客製化。首先啟動嵌入式系統(步驟101),然後使用者需製備好欲更新的客製化資料檔案系統(步驟102)。該客製化資料檔案系統中包括有至少一目錄或至少一檔案,亦可同時包括至少一目錄及至少一檔案,且該客製化資料檔案系統係依照系統預定的格式。 If the user needs to use the technology of the present invention, it can be customized according to the process described in FIG. The embedded system is first started (step 101), and then the user needs to prepare a customized data file system to be updated (step 102). The customized data file system includes at least one directory or at least one file, and may include at least one directory and at least one file, and the customized data file system is in a format predetermined by the system.
接著使用者可在一遠端主機透過遠端連線程式登入嵌入式系統主機(步驟103),接著將客製化資料檔案系統透過檔案傳輸程式傳送至嵌入式系統已規劃的客製化資料檔案系統區塊25(步驟104),最後使用者只要重新啟動嵌入式系統(步驟105)(如斷電再上電),即可執行具客製化後的嵌入式系統(步驟106)。 Then, the user can log in to the embedded system host through a remote host on a remote host (step 103), and then transfer the customized data file system to the embedded system's planned customized data file through the file transfer program. System block 25 (step 104), and finally the user can execute the customized embedded system (step 106) by simply restarting the embedded system (step 105) (e.g., powering down and then powering up).
圖6A及圖6B顯示本發明第一實施例系統啟動之流程圖。如圖6A所示,首先須先啟始嵌入式系統主機(步驟201),接著啟 動開機載入程式(步驟202)及啟動Linux核心作業系統(步驟203),並透過Linux作業系統所提供的檔案系統管理工具載入根檔案系統至該核心作業系統(步驟204)。接著啟動系統啟動引擎(步驟205)並掛載此發明所需使用之客製化資料檔案系統區塊至該核心作業系統(步驟206)。 6A and 6B are flowcharts showing the system startup of the first embodiment of the present invention. As shown in FIG. 6A, the embedded system host must first be started (step 201), and then started. The boot loader (step 202) and the Linux kernel operating system are started (step 203), and the root file system is loaded into the core operating system via the file system management tool provided by the Linux operating system (step 204). The system startup engine is then initiated (step 205) and the customized data archive system block required for the invention is mounted to the core operating system (step 206).
如圖6B所示,當系統啟動引擎啟動之後,系統啟動引擎會先檢查客製化資料檔案系統區塊是否有客製化資料檔案系統存在(步驟207)。若存在,則判斷是否完成執行所有應用程式的搜尋工作(步驟208),若否,則依應用程式的設計,將系統啟動引擎所搜尋到的客製化資料檔案系統中的相對應資料檔案或目錄複製到該應用程式可讀寫的該系統記憶體中的一記憶體位置(步驟209),之後會回到步驟208中判斷是否已完成執行所有應用程式的搜尋工作,直至執行所有應用程式的搜尋工作。 As shown in FIG. 6B, after the system startup engine is started, the system startup engine first checks whether the customized data file system block has a customized data file system (step 207). If yes, it is determined whether the search operation of all applications is completed (step 208), and if not, according to the design of the application, the corresponding data file in the customized data file system searched by the system startup engine or The directory is copied to a memory location in the system memory readable and writable by the application (step 209), and then returns to step 208 to determine whether the search operation of all applications has been completed until all applications are executed. Search for work.
如果在步驟207中未在客製化資料檔案系統區塊中檢查到該客製化資料檔案系統,則直接啟動所有應用程式(步驟210),以完成整個嵌入式系統的開機程序(步驟211)。 If the customized data file system is not checked in the customized data file system block in step 207, all applications are directly launched (step 210) to complete the boot process of the entire embedded system (step 211). .
圖7A及圖7B顯示本發明第二實施例系統啟動之流程圖。在此實施例中,其大部份的流程步驟與第一實施例相同,其差異在於在進入開機載入程式(步驟202)後,如尚未進行記憶體區塊規劃,則需先進行可程式化記憶體區塊的規劃(步驟202a)(如圖4所示的記憶體規劃示意圖),之後接著啟動Linux核心作業系統(步驟203)、載入根檔案系統至該核心作業系統(步驟204)、啟動系統啟動引擎(步驟205)、掛載客製化資料檔案系統區塊至該核心作業系統(步驟206)。 7A and 7B are flow charts showing the system startup of the second embodiment of the present invention. In this embodiment, most of the process steps are the same as those of the first embodiment, except that after entering the boot loader (step 202), if the memory block plan has not been performed, the program must be executed first. Planning the memory block (step 202a) (as shown in the memory plan diagram shown in FIG. 4), and then starting the Linux core operating system (step 203), loading the root file system to the core operating system (step 204) The system startup engine is started (step 205), and the customized data file system block is mounted to the core operating system (step 206).
完成圖7A所示的各流程步驟之後,接著進行圖7B所示的流程步驟,而圖7B所示的流程與圖6B相同。 After the various flow steps shown in FIG. 7A are completed, the flow steps shown in FIG. 7B are performed, and the flow shown in FIG. 7B is the same as FIG. 6B.
步驟202a中,在可程式化記憶體區塊的規劃時,係在可 程式化記憶體14中除了規劃有一開機載入程式區塊21、一作業系統區塊22、一根檔案系統區塊23、一系統設定資料區塊24之外,更規劃增加了可讀寫的客製化資料檔案系統區塊25,用來儲存本發明中的客製化資料檔案系統。 In step 202a, when programming the programmable memory block, In addition to planning a boot loader block 21, a work system block 22, a file system block 23, and a system setting data block 24, the stylized memory 14 is further planned to add readable and writable. The customized data file system block 25 is used to store the customized data file system of the present invention.
系統回復說明方面,本發明的可動態客製化設計原則上不能破壞系統的原廠資料,所以已客製化的系統,若要回復原廠的初始設定,只要將存在客製化資料區塊的檔案直接刪除,再重新啟動開機程序,系統即可回復。 In terms of system response description, the dynamic customizable design of the present invention cannot in principle destroy the original factory data of the system, so if the customized system is to be restored to the initial setting of the original factory, only the customized data block will exist. The file is deleted directly, and then the boot process is restarted, and the system can reply.
在應用方面,本發明主要應用於執行Linux作業系統的嵌入式系統。在商業模式應用方面,本發明主要可應用在B2B的商業模式,例如製作嵌入式系統的原廠,一般以ODM方式或模組化的產品進行行銷,因此需要面對不同客戶的產品需求。 In terms of applications, the present invention is mainly applied to an embedded system that executes a Linux operating system. In terms of business model application, the present invention can be mainly applied to the business model of B2B, for example, the original factory for manufacturing embedded systems, which is generally marketed by ODM or modular products, and therefore needs to face the product requirements of different customers.
以上實施例僅為例示性說明本發明之結構設計,而非用於限制本發明。任何熟於此項技藝之人士均可在本發明之結構設計及精神下,對上述實施例進行修改及變化,唯這些改變仍屬本發明之精神及以下所界定之專利範圍中。因此本發明之權利保護範圍應如後述之申請專利範圍所列。 The above embodiments are merely illustrative of the structural design of the present invention and are not intended to limit the present invention. Any modifications and variations of the above-described embodiments can be made by those skilled in the art, and such changes are still within the spirit of the invention and the scope of the invention as defined below. Therefore, the scope of protection of the present invention should be as set forth in the appended claims.
Claims (12)
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| TW103127890A TWI529623B (en) | 2014-08-14 | 2014-08-14 | The Method of Dynamic Customization of Embedded System Function |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| TW103127890A TWI529623B (en) | 2014-08-14 | 2014-08-14 | The Method of Dynamic Customization of Embedded System Function |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| TW201606650A TW201606650A (en) | 2016-02-16 |
| TWI529623B true TWI529623B (en) | 2016-04-11 |
Family
ID=55810077
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| TW103127890A TWI529623B (en) | 2014-08-14 | 2014-08-14 | The Method of Dynamic Customization of Embedded System Function |
Country Status (1)
| Country | Link |
|---|---|
| TW (1) | TWI529623B (en) |
Families Citing this family (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| TWI685787B (en) * | 2018-03-13 | 2020-02-21 | 神雲科技股份有限公司 | Computer apparatus and automatically selecting customized program method thereof |
| CN116136766A (en) * | 2021-11-17 | 2023-05-19 | 瑞昱半导体股份有限公司 | Embedded system and firmware updating method |
-
2014
- 2014-08-14 TW TW103127890A patent/TWI529623B/en active
Also Published As
| Publication number | Publication date |
|---|---|
| TW201606650A (en) | 2016-02-16 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US9811369B2 (en) | Method and system for physical computer system virtualization | |
| US10514930B2 (en) | Setting a startup parameter and controlling startup of a mainboard | |
| CN102902556B (en) | The multistage boot load method of a kind of embedded equipment | |
| TWI475402B (en) | Remote backup system and remote backup method thereof | |
| CN109960523B (en) | Firmware upgrade method and device for an embedded device | |
| TWI492064B (en) | Cloud system and the boot up and deployment method for the cloud system | |
| US10747523B2 (en) | Methods of updating firmware components, computer systems and memory apparatus | |
| CN104572229A (en) | Firmware upgrade method and firmware upgrade device for embedded system | |
| CN111796852A (en) | Upgrading method for home appliance, home appliance and computer readable storage medium | |
| WO2012117556A1 (en) | Information processing device and information processing device control method | |
| CN105760191A (en) | Embedded system equipment programming mass production method | |
| CN103514015A (en) | Method and device for booting operation system from storage medium | |
| WO2016090836A1 (en) | Method and apparatus for starting embedded system | |
| CN115951949B (en) | BIOS configuration parameter recovery method and device and computing equipment | |
| CN105468390B (en) | BOOT online upgrading device and method | |
| CN105138430A (en) | Embedded operating system backup and restoration method and device | |
| CN101620542B (en) | Compatible updating method of ultrasonic imaging equipment software data | |
| CN105468425B (en) | The production method that a kind of built-in Linux operating system starts SD card | |
| TWI529623B (en) | The Method of Dynamic Customization of Embedded System Function | |
| JP5126686B2 (en) | Information processing apparatus, operation method of information processing apparatus, and program thereof | |
| TWI520063B (en) | Management system for service of multiple operating environments, and method thereof | |
| WO2014112973A1 (en) | Server-platform simulation service | |
| JP2015060411A (en) | Firmware update method of information processor | |
| JP6582438B2 (en) | Information processing apparatus, system setting method, and computer program | |
| CN105335225A (en) | Method for dynamically customizing embedded system function |