TWI630547B - 微控制器的程式配置方法 - Google Patents
微控制器的程式配置方法 Download PDFInfo
- Publication number
- TWI630547B TWI630547B TW106109266A TW106109266A TWI630547B TW I630547 B TWI630547 B TW I630547B TW 106109266 A TW106109266 A TW 106109266A TW 106109266 A TW106109266 A TW 106109266A TW I630547 B TWI630547 B TW I630547B
- Authority
- TW
- Taiwan
- Prior art keywords
- module
- program
- common program
- common
- microcontroller
- Prior art date
Links
Landscapes
- Stored Programmes (AREA)
Abstract
一種微控制器的程式配置方法,該微控制器包含一記憶體單元,且適於設置於一包含一硬體模組的電子裝置並可控制該硬體模組,該微控制器的程式配置方法用於將多個相關於該硬體模組且相關於消費交易的應用程式配置於該記憶體單元,並包含以下步驟:首先,將每一應用程式劃分成一共同程式模組與一非共同程式模組,其中該等共同程式模組相同且用於控制該硬體模組;接著,將該等共同程式模組的其中一者,與該等非共同程式模組分別儲存於該記憶體單元的不同記憶體區塊。本發明能減少記憶體單元的硬體成本。
Description
本發明是有關於一種電子裝置的程式配置方法,特別是指一種設置於電子裝置中的微控制器的程式配置方法。
參閱圖1,現有的微控制器1(Microcontroller)包含處理單元11與記憶體單元12,並已廣泛地應用於多種電子裝置中;例如將微控制器1設置於具有中央處理單元(CPU)與刷卡模組的銷售點終端機(Point Of Sale/POS Terminal),並用於控制該刷卡模組。
現有的設置於銷售點終端機的微控制器1的記憶體單元12中通常儲存有用於金融交易並能控制刷卡模組的應用程式。參閱圖2,在習知的一實施方式中,該記憶體單元12的起始位址0x800儲存有啟動程式21(Boot Loader),且在其他記憶體區塊儲存有用來處理Visa金融卡簽帳的Visa卡應用程式22,與處理Master金融卡簽帳的Master卡應用程式23。處理單元11透過執行啟動程式21來跳躍其記憶體位址至Visa卡應用程式22或Master卡應用程式23
在記憶體單元12中的位址0x806、0x808,從而執行該應用程式。Visa卡應用程式22與Master卡應用程式23各自具有一能控制該刷卡模組的驅動程式單元,且該等驅動程式單元中用於控制該刷卡模組的程式部分是相同的,故該記憶體單元12儲存了兩份相同的用於控制該刷卡模組的程式部分,造成了記憶空間的浪費,記憶體單元12的硬體成本也就相對提高。
參閱圖3,在習知的另一實施方式中,將Visa卡應用程式22與Master卡應用程式23整合成一整合程式2並將其儲存於記憶體單元12的起始位址0x800。然而,此方式雖然免去了啟動程式21的設置,但目前來說,Visa卡應用程式22與Master卡應用程式23的兩個能控制該刷卡模組的驅動程式單元在該整合程式2中是獨立存在的,也就是說該記憶體單元12仍然儲存了兩份相同的用於控制該刷卡模組的程式部分。此外,Visa卡應用程式22與Master卡應用程式23的認證機構不同,若採用上述程式整合的方式,在銷售點終端機開發的過程中更動了該整合程式2的任何程式碼,均需要將該整合程式2提供給Visa卡應用程式22對應的認證機構與Master卡應用程式23對應的認證機構進行認證,容易造成整體開發時程的延遲。
因此,本發明之目的,即在提供一種能減少記憶體單元
的硬體成本的微控制器的程式配置方法。
於是,本發明微控制器的程式配置方法,該微控制器包含一記憶體單元,且適於設置於一包含一硬體模組的電子裝置並可控制該硬體模組,該微控制器的程式配置方法用於將多個相關於該硬體模組且相關於金融交易的應用程式配置於該記憶體單元,並包含一步驟(a)與一步驟(b)。
該步驟(a)是將每一應用程式劃分成一共同程式模組與一非共同程式模組,其中該等共同程式模組相同且用於控制該硬體模組。
該步驟(b)是將該等共同程式模組的其中一者,與該等非共同程式模組分別儲存於該記憶體單元的不同記憶體區塊。
本發明之功效在於:能減少微控制器中記憶體單元的硬體成本。
1‧‧‧微控制器
11‧‧‧處理單元
12‧‧‧記憶體單元
2‧‧‧整合程式
21‧‧‧啟動程式
22‧‧‧Visa卡應用程式
23‧‧‧Master卡應用程式
3‧‧‧銷售點終端機
31‧‧‧微控制器
311‧‧‧記憶體單元
312‧‧‧處理單元
32‧‧‧刷卡模組
33‧‧‧通訊模組
34‧‧‧顯示模組
35‧‧‧中央處理單元
36‧‧‧記憶體模組
41~43‧‧‧步驟
5‧‧‧Visa卡應用程式
51‧‧‧Visa卡應用程式的核心程式部分
52‧‧‧Visa卡應用程式的驅動程式單元
521‧‧‧Visa卡應用程式的用於控
制刷卡模組的程式部分
522‧‧‧Visa卡應用程式的非用於控制刷卡模組的程式部分
53‧‧‧Visa卡應用程式的共同程式模組
54‧‧‧Visa卡應用程式的非共同程式模組
6‧‧‧Master卡應用程式
61‧‧‧Master卡應用程式的核心程式部分
62‧‧‧Master卡應用程式的驅動程式單元
621‧‧‧Master卡應用程式的用於控制刷卡模組的程式部分
622‧‧‧Master卡應用程式的非用於控制刷卡模組的程式部分
63‧‧‧Master卡應用程式的共同程式模組
64‧‧‧Master卡應用程式的非共同程式模組
7‧‧‧啟動程式
0x800‧‧‧記憶體位址
0x806‧‧‧記憶體位址
0x808‧‧‧記憶體位址
0x810‧‧‧記憶體位址
0x812‧‧‧記憶體位址
0x814‧‧‧記憶體位址
本發明的其他的特徵及功效,將於參照圖式的實施方式中清楚地呈現,其中:圖1是一方塊圖,說明習知微控制器的架構;圖2是一示意圖,說明習知微控制器的應用程式在其記憶體單元中的一配置方式;圖3是一示意圖,說明習知微控制器的應用程式在其記憶體單
元中的另一配置方式;圖4是一方塊圖,說明一銷售點終端機包含該微控制器與多個硬體模組/單元;圖5是一流程圖,說明本發明微控制器的程式配置方法的一實施方式;圖6是一示意圖,說明將一Visa卡應用程式劃分成一共同程式模組與一非共同程式模組;圖7是一示意圖,說明將一Master卡應用程式劃分成一共同程式模組與一非共同程式模組;圖8是一示意圖,說明在該實施方式中,多個應用程式配置於該記憶體單元中的態樣;及圖9是一示意圖,說明在另一實施方式中,多個應用程式配置於該記憶體單元中的態樣。
參閱圖4,本發明微控制器的程式配置方法在一微控制器31上實施,該微控制器31包含一處理單元312與一記憶體單元311,並設置於一銷售點終端機3。該銷售點終端機3除了包含該微控制器31之外,還包含一中央處理單元35(CPU)、一記憶體模組36、一刷卡模組32、一通訊模組33,及一顯示模組34。此外該刷卡模組32包括一輸入介面(圖未示),例如是鍵盤或觸控螢幕。
該刷卡模組32對應現有的相關於金融交易的一Visa卡應用程式與一Master卡應用程式,該Visa卡應用程式與該Master卡應用程式均包含一核心程式部分與一可控制該刷卡模組32的驅動程式單元。以下就該銷售點終端機3與前述二應用程式說明本發明微控制器的程式配置方法。
參閱圖5~8,首先在步驟41,如圖6與圖7所示,將每一應用程式5、6的每一驅動程式單元52、62劃分成用於控制刷卡模組的程式部分521、621與非用於控制刷卡模組的程式部分522、622,其中該二用於控制刷卡模組的程式部分521、621相同,且該二非用於控制刷卡模組的程式部分522、622不相同。該等用於控制該刷卡模組的程式部分521、621均是用於控制該刷卡模組32的硬體上的動作,又其硬體上的動作方式、種類是固定的,並不因為軟體的實施不同而有所不同,所以可從該等驅動程式單元52、62中劃分出具有相同程式內容的該等用於控制該刷卡模組的程式部分521、621。
在本實施方式中,使用者透過該刷卡模組32刷卡後還需透過該刷卡模組32的輸入介面輸入一密碼字串,而該等用於控制該刷卡模組的程式部分521、621用於控制該刷卡模組32並透過其輸入介面來取得該密碼字串。該二非用於控制刷卡模組的程式部分522、622均包含了用來對該密碼字串加密的程式內容,因為二者
所實施的加密演算法不相同,所以該二非用於控制刷卡模組的程式部分522、622不相同。
接著在步驟42,如圖6與圖7所示,將每一應用程式5、6劃分成一共同程式模組53、63與一非共同程式模組54、64,其中該共同程式模組53、63也就是該用於控制刷卡模組的程式部分521、621,該Visa卡應用程式5的該非共同程式模組54由該Visa卡應用程式5的該核心程式部分51與該非用於控制刷卡模組的程式部分522組成,且該Master卡應用程式6的該非共同程式模組64由該Master卡應用程式6的該核心程式部分61與該非用於控制刷卡模組的程式部分622組成。
接著在步驟43,如圖8所示,將一啟動程式7、該二共同程式模組53、63的其中一者,與該二非共同程式模組54、64分別儲存於記憶體單元311的不同記憶體區塊,其中該啟動程式7儲存於該記憶體單元311的起始位址0x800並記錄了儲存該二非共同程式模組54、64的記憶體區塊的起始位址0x812、0x814,該二非共同程式模組54、64記錄了儲存該共同程式模組53(63)的記憶體區塊的起始位址0x810,且該共同程式模組53(63)也記錄了儲存該二非共同程式模組54、64的記憶體區塊的起始位址0x812、0x814,如此,該處理單元312可透過該啟動程式7執行該Visa卡應用程式5的該非共同程式模組54或該Master卡應用程式6的該非共同程式
模組64,並當需要執行該共同程式模組53(63)時,透過該非共同程式模組54、64來執行該共同程式模組53(63)。
舉例來說,該銷售點終端機3設置於一商店並於其記憶體模組36中安裝有一結帳軟體,且經由其通訊模組33網路連接一遠端的金融伺服器。該結帳軟體支援「Visa卡結帳」或「Master卡結帳」。參閱圖8,當消費者在該商店消費並利用Visa卡結帳時,商店店員操作該結帳軟體選擇「Visa卡結帳」,接著該消費者透過該刷卡模組32進行刷卡,並透過其輸入介面輸入密碼字串,進而該銷售點終端機3的中央處理單元35觸發該微控制器31的處理單元11執行該啟動程式7,並傳送給該處理單元11一指示啟動該Visa卡應用程式5的指令或信號。接著,該處理單元11根據該啟動程式7所記錄的該Visa卡應用程式的非共同程式模組54在該記憶體單元311的起始位址0x812,跳躍至該位址0x812來執行該Visa卡應用程式的非共同程式模組54。接著,該處理單元11根據該Visa卡應用程式的非共同程式模組54所記錄的該共同程式模組53(63)在該記憶體單元311的起始位址0x810,跳躍至該位址0x810來執行該共同程式模組53(63),以控制該刷卡模組32並透過該刷卡模組32取得消費者的Visa卡資訊與所輸入的密碼字串。接著,該處理單元11根據該共同程式模組53(63)所記錄的該Visa卡應用程式的非共同程式模組54在該記憶體單元311的起始位址0x812,跳躍至
該位址0x812來執行該Visa卡應用程式的非共同程式模組54,以對該密碼字串進行加密,並進一步經由該通訊模組33傳送該加密後的密碼與該Visa卡資訊給該金融伺服器進行驗證。接著,該金融伺服器傳送一對應的驗證結果給該銷售點終端機3並顯示於該顯示模組34,例如顯示刷卡成功或失敗的訊息。
特別地,藉由上述本發明微控制器的程式配置方法,僅將該二共同程式模組53、63的其中之一儲存於該記憶體單元311,與圖2所示習知的程式配置方法相較,節省了儲存一份共同程式模組53、63所需的記憶體空間,且在該銷售點終端機3的開發過程中能獨立地將該Visa卡應用程式5或該Master卡應用程式6提供給對應的認證機構進行認證,避免開發時程的延遲。與圖3所示習知的程式配置方法相較,上述本發明微控制器的程式配置方法也較節省記憶體空間,因為一般來說,儲存該共同程式模組53、63所需耗費的記憶體空間比儲存該啟動程式7所需耗費的記憶體空間大出許多。
此外,在另一實施方式,也可不在該記憶體單元311中設置該啟動程式。例如,參閱圖9,可將該Visa卡應用程式5的該非共同程式模組54儲存於該記憶體單元311的起始位址0x800,並將該啟動程式整合於該非共同程式模組54而使得該非共同程式模組54具有該啟動程式的各項功能,如此,即可透過該非共同程式模
組54執行儲存在該記憶體單元311中的其他應用程式。
此外,值得一提的是,雖然在此僅說明了對應該刷卡模組32的多個應用程式在該微控制器31的記憶體單元311中的配置,顯然上述方法可運用於任一對應有多個應用程式的硬體模組,只要該等應用程式具有相同的用於控制該硬體模組的程式部分。
綜上所述,本發明微控制器的程式配置方法,藉由將相關於該銷售點終端機的刷卡模組與金融交易的每一應用程式劃分成一用於控制該刷卡模組的共同程式模組與一非共同程式模組,並將該等共同程式模組的其中一者,與該等非共同程式模組分別儲存於該微控制器的記憶體單元的不同記憶體區塊,能在獨立設置該等應用程式的同時減少該微控制器的記憶體單元的硬體成本,故確實能達成本發明的目的。
惟以上所述者,僅為本發明的實施例而已,當不能以此限定本發明實施的範圍,凡是依本發明申請專利範圍及專利說明書內容所作的簡單的等效變化與修飾,皆仍屬本發明專利涵蓋的範圍內。
Claims (8)
- 一種微控制器的程式配置方法,該微控制器包含一記憶體單元,且適於設置於一包含一硬體模組的電子裝置並可控制該硬體模組,該微控制器的程式配置方法用於將多個相關於該硬體模組且相關於金融交易的應用程式配置於該記憶體單元,並包含以下步驟:(a)將每一應用程式劃分成一共同程式模組與一非共同程式模組,其中該等共同程式模組相同且用於控制該硬體模組;(b)該記憶體單元儲存該等共同程式模組的其中一者與該等非共同程式模組,且分別儲存於該記憶體單元的不同記憶體區塊;及(c)將一啟動程式儲存於該記憶體單元,該啟動程式記錄有每一非共同程式模組在該記憶體單元中的起始位址,每一非共同程式模組記錄有該共同程式模組在該記憶體單元中的起始位址,且該共同程式模組記錄有每一非共同程式模組在該記憶體單元中的起始位址。
- 如請求項1所述的微控制器的程式配置方法,每一應用程式包含一可控制該硬體模組的驅動程式單元,其中在該步驟(a),每一應用程式的該共同程式模組是從該應用程式的該驅動程式單元中劃分出來。
- 如請求項2所述的微控制器的程式配置方法,其中該步驟 (a)包含以下子步驟:(a1)將每一驅動程式單元劃分成一用於控制該硬體模組的程式部分及一非用於控制該硬體模組的程式部分;及(a2)將每一應用程式劃分成一共同程式模組與一非共同程式模組,其中每一應用程式的該共同程式模組即為該應用程式的該用於控制該硬體模組的程式部分,且每一應用程式的該非共同程式模組包含該應用程式的該非用於控制該硬體模組的程式部分。
- 如請求項3所述的微控制器的程式配置方法,該電子裝置為一銷售終端機,該硬體模組為一刷卡模組,其中在該步驟(a),該共同程式模組可藉由控制該硬體模組而接收一使用者輸入。
- 如請求項4所述的微控制器的程式配置方法,其中在該步驟(a),該使用者輸入為一密碼字串,且每一應用程式的該非用於控制該硬體模組的程式部分可對該密碼字串加密。
- 如請求項1所述的微控制器的程式配置方法,其中在該步驟(c),該啟動程式被儲存於該記憶體單元的起始位址。
- 如請求項1所述的微控制器的程式配置方法,其中該微控制器還包含一處理單元,當該處理單元執行該啟動程式時,該處理單元根據該等非共同程式模組中的一第一非共同程式模組在該記憶體單元中的起始位址,跳躍至該起始 位址以執行該第一非共同程式模組,且當該處理單元執行該第一非共同程式模組時,根據該共同程式模組在該記憶體單元中的起始位址,跳躍至該起始位址以執行該共同程式模組,且當該處理單元執行該共同程式模組時,根據該第一非共同程式模組在該記憶體單元中的起始位址,跳躍至該起始位址以執行該第一非共同程式模組。
- 如請求項1所述的微控制器的程式配置方法,其中每一應用程式均相關於執行該金融交易。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW106109266A TWI630547B (zh) | 2017-03-21 | 2017-03-21 | 微控制器的程式配置方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW106109266A TWI630547B (zh) | 2017-03-21 | 2017-03-21 | 微控制器的程式配置方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
TWI630547B true TWI630547B (zh) | 2018-07-21 |
TW201835755A TW201835755A (zh) | 2018-10-01 |
Family
ID=63640741
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW106109266A TWI630547B (zh) | 2017-03-21 | 2017-03-21 | 微控制器的程式配置方法 |
Country Status (1)
Country | Link |
---|---|
TW (1) | TWI630547B (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TW200523808A (en) * | 2004-01-06 | 2005-07-16 | Castles Technology Co Ltd | Smart card reader and method for storing data of the smart card and reader |
TWI262452B (en) * | 2004-04-20 | 2006-09-21 | Infoteam Technology Corp | Automatic fee collection system of manual gas station |
TW201121257A (en) * | 2009-12-11 | 2011-06-16 | Toro Dev Ltd | A mobile integrated distribution and transaction system and method for NFC services, and a mobile electronic device thereof |
US20140052620A1 (en) * | 2012-08-17 | 2014-02-20 | Google Inc. | Wireless reader and payment transaction terminal functionality within a portable device |
TWI434219B (zh) * | 2010-09-01 | 2014-04-11 | Innovision Technology Corp | 讀卡機系統及其讀卡機置換方法 |
-
2017
- 2017-03-21 TW TW106109266A patent/TWI630547B/zh not_active IP Right Cessation
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TW200523808A (en) * | 2004-01-06 | 2005-07-16 | Castles Technology Co Ltd | Smart card reader and method for storing data of the smart card and reader |
TWI262452B (en) * | 2004-04-20 | 2006-09-21 | Infoteam Technology Corp | Automatic fee collection system of manual gas station |
TW201121257A (en) * | 2009-12-11 | 2011-06-16 | Toro Dev Ltd | A mobile integrated distribution and transaction system and method for NFC services, and a mobile electronic device thereof |
US20110143663A1 (en) * | 2009-12-11 | 2011-06-16 | Toro Development Limited | Mobile integrated distribution and transaction system and method for nfc services, and a mobile electronic device thereof |
TWI434219B (zh) * | 2010-09-01 | 2014-04-11 | Innovision Technology Corp | 讀卡機系統及其讀卡機置換方法 |
US20140052620A1 (en) * | 2012-08-17 | 2014-02-20 | Google Inc. | Wireless reader and payment transaction terminal functionality within a portable device |
Also Published As
Publication number | Publication date |
---|---|
TW201835755A (zh) | 2018-10-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105404525B (zh) | 管理计算机系统中的基本输入输出系统配置的方法及装置 | |
US8214632B2 (en) | Method of booting electronic device and method of authenticating boot of electronic device | |
JP5380276B2 (ja) | 共用不揮発性メモリ・アーキテクチャ | |
US10819514B2 (en) | Electronic component of electronic device, method of starting electronic device and encryption method | |
US20180341937A1 (en) | Method and apparatus for performing settlement transaction | |
WO2018119904A1 (zh) | 一种实现安全操作系统切换的片上系统和方法 | |
US9703635B2 (en) | Method, computer program, and computer for restoring set of variables | |
JP4688929B2 (ja) | プログラマブル表示器および制御システム | |
TW201706899A (zh) | 安全裝置及在其內提供安全服務至主機的方法、安全設備以及電腦軟體產品 | |
JP2017509085A (ja) | ユーザー選択可能なオペレーティング・システム | |
US8799653B2 (en) | Storage device and method for storage device state recovery | |
CN101872289A (zh) | 控制设备及其控制方法 | |
US9916453B2 (en) | Derived keys for execution environments in a boot chain | |
WO2022256124A1 (en) | Firmware-based secure tenancy transfer | |
CN104808953B (zh) | 控制数据存储的方法、装置及移动终端 | |
JP5013352B2 (ja) | 情報生成システム及びその方法 | |
US20160048663A1 (en) | Systems and methods for automatic generation and retrieval of an information handling system password | |
CN110187872A (zh) | 一种bios开发方法、系统及电子设备和存储介质 | |
JP5085778B1 (ja) | 情報処理装置、起動制御方法およびプログラム | |
TWI630547B (zh) | 微控制器的程式配置方法 | |
US11354259B1 (en) | Computer system configurations based on accessing data elements presented by baseboard management controllers | |
WO2024113680A1 (zh) | 固件交互方法、装置、服务器和存储介质 | |
CN108694015B (zh) | 微控制器的程序配置方法 | |
EP3058450B1 (en) | Rendering interface objects defined by a separate application | |
US10699033B2 (en) | Secure enablement of platform features without user intervention |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
MM4A | Annulment or lapse of patent due to non-payment of fees |