[go: up one dir, main page]

JP2018147285A - Electronic device, starting method and program - Google Patents

Electronic device, starting method and program Download PDF

Info

Publication number
JP2018147285A
JP2018147285A JP2017042650A JP2017042650A JP2018147285A JP 2018147285 A JP2018147285 A JP 2018147285A JP 2017042650 A JP2017042650 A JP 2017042650A JP 2017042650 A JP2017042650 A JP 2017042650A JP 2018147285 A JP2018147285 A JP 2018147285A
Authority
JP
Japan
Prior art keywords
stored
electronic device
flash memory
special data
volatile memory
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.)
Pending
Application number
JP2017042650A
Other languages
Japanese (ja)
Inventor
石井 宏幸
Hiroyuki Ishii
宏幸 石井
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Panasonic Intellectual Property Management Co Ltd
Original Assignee
Panasonic Intellectual Property Management Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Panasonic Intellectual Property Management Co Ltd filed Critical Panasonic Intellectual Property Management Co Ltd
Priority to JP2017042650A priority Critical patent/JP2018147285A/en
Publication of JP2018147285A publication Critical patent/JP2018147285A/en
Pending legal-status Critical Current

Links

Images

Landscapes

  • Techniques For Improving Reliability Of Storages (AREA)
  • Memory System (AREA)
  • Stored Programmes (AREA)

Abstract

【課題】ブートローダにより使用されるデータの記憶領域が書き換え寿命に達するまでの期間を延ばす。【解決手段】NAND型フラッシュメモリ18には、車載装置10の起動の態様を示すデータであり、かつ、車載装置10の電源がオンの間に更新されうるデータであるVupフラグ36が格納される。CPU20は、車載装置10の電源がオンになった場合、ブートローダ30とOS32を実行する。ブートローダ30は、DRAM14にVupフラグ36が格納されている場合、Vupフラグ36が示す態様でOS32を起動する。ブートローダ30は、DRAM14にVupフラグ36が未格納の場合、OS32を特殊モードで起動する。特殊モードで起動されたOS32は、NAND型フラッシュメモリ18に記憶されたVupフラグ36をDRAM14へ格納して、ソフトリセットを実行する。【選択図】図1PROBLEM TO BE SOLVED: To extend a period until a storage area of data used by a boot loader reaches a rewriting life. A NAND flash memory 18 stores a Vup flag 36 which is data indicating a mode of activation of an in-vehicle device 10 and which can be updated while a power source of the in-vehicle device 10 is turned on. .. The CPU 20 executes the boot loader 30 and the OS 32 when the power of the vehicle-mounted device 10 is turned on. When the Vup flag 36 is stored in the DRAM 14, the boot loader 30 activates the OS 32 in the mode indicated by the Vup flag 36. The boot loader 30 starts the OS 32 in the special mode when the Vup flag 36 is not stored in the DRAM 14. The OS 32 started in the special mode stores the Vup flag 36 stored in the NAND flash memory 18 in the DRAM 14 and executes a soft reset. [Selection diagram] Figure 1

Description

本発明は、データ処理技術に関し、特に電子機器、起動方法およびプログラムに関する。   The present invention relates to a data processing technique, and more particularly to an electronic device, a startup method, and a program.

近年、電子機器のデータストレージとしてフラッシュメモリが使用されることがある。フラッシュメモリは、セクタの書き換え寿命が比較的短く、同一のセクタを何度も更新すると早期に書き換え寿命に達してしまう。この対策として、大量のセクタの集合(パーティションとも呼ばれる。)を対象に、データの書込先を自動的に循環または均一化させることにより、書き換え寿命に達するまでの期間を延ばす技術が採用されることがある。この技術は、ジャーナリングファイルシステムまたはウェアレベリングと呼ばれる。   In recent years, flash memory is sometimes used as data storage for electronic devices. A flash memory has a relatively short rewrite life of a sector, and if the same sector is updated many times, the rewrite life is reached early. As a countermeasure, a technique for extending the period until the rewrite life is reached by automatically circulating or equalizing the data write destination for a large set of sectors (also called a partition) is adopted. Sometimes. This technique is called journaling file system or wear leveling.

また、以下の特許文献1の半導体記憶装置は、フラッシュメモリのデータを書き換え寿命がないDRAMへコピーし、システム動作中はDRAMのデータを書き換え、電源断等のシステム終了時にDRAMからフラッシュメモリへデータを書き戻す。これにより、データの不揮発性を確保しつつ、フラッシュメモリの書き換え回数を低減する。   Further, the semiconductor memory device of Patent Document 1 below copies data in the flash memory to a DRAM having no rewriting life, rewrites data in the DRAM during system operation, and transfers data from the DRAM to the flash memory when the system is terminated such as when the power is turned off. Write back. As a result, the number of times the flash memory is rewritten is reduced while ensuring the non-volatility of the data.

特開2008−59007号公報JP 2008-59007 A

特許文献1に記載の技術では、電源断のたびにフラッシュメモリが書き換えられる。車載装置のように製品寿命が長くかつ頻繁に電源断されるシステムの場合、特許文献1に記載の技術を単独で採用してもいずれ書き換え寿命に達するため、ウェアレベリングとの組み合わせが必要になる。ただし、ウェアレベリングは多くのセクタを必要とする。そのため、セクタ数が多いNAND型フラッシュメモリにウェアレベリングを適用することは可能だが、セクタ数が少ないNOR型フラッシュメモリにウェアレベリングを適用することは困難である。   In the technique described in Patent Document 1, the flash memory is rewritten every time the power is turned off. In the case of a system that has a long product life and is frequently turned off, such as an in-vehicle device, even if the technology described in Patent Document 1 is adopted alone, the rewrite life will be reached, so a combination with wear leveling is required. . However, wear leveling requires many sectors. Therefore, it is possible to apply wear leveling to a NAND flash memory with a large number of sectors, but it is difficult to apply wear leveling to a NOR flash memory with a small number of sectors.

ここで、上述の課題について、より詳細に説明する。NAND型フラッシュメモリのドライバの実装、および、ウェアレベリングに対応したファイルシステムの実装には、比較的大きなメモリ容量が必要になる。一方、システムの環境によっては(例えば車載装置の場合等)、ブートローダは、小容量の内蔵RAMで動作する必要がある。この場合、ブートローダは、NAND型フラッシュメモリにアクセスできず、ブートローダが使用するデータは通常、NOR型フラッシュメモリに格納される。比較的頻繁に更新されるデータがNOR型フラッシュメモリに格納されると、書き換え寿命の延命技術(例えばウェアレベリング)を適用することは困難であり、早期に書き換え寿命に達してしまうことがあった。   Here, the above-described problem will be described in more detail. A relatively large memory capacity is required for mounting a NAND flash memory driver and a file system corresponding to wear leveling. On the other hand, depending on the system environment (for example, in the case of an in-vehicle device), the boot loader needs to operate with a small-capacity internal RAM. In this case, the boot loader cannot access the NAND flash memory, and data used by the boot loader is usually stored in the NOR flash memory. When data that is updated relatively frequently is stored in a NOR flash memory, it is difficult to apply a life-span extension technique (for example, wear leveling), and the rewrite life may be reached early. .

本発明はこうした状況に鑑みてなされたものであり、1つの目的は、ブートローダにより使用されるデータの記憶領域が書き換え寿命に達するまでの期間を延ばすことである。   The present invention has been made in view of such circumstances, and one object is to extend the period until the storage area of data used by the boot loader reaches the rewrite life.

上記課題を解決するために、本発明のある態様の、電子機器は、本電子機器の起動の態様を示すデータであり、かつ、本電子機器の電源がオンの間に更新されうるデータである特殊データが少なくとも格納されたNAND型フラッシュメモリと、揮発性メモリと、本電子機器の電源がオンになった場合、ブートローダとOS(Operating System)とを実行するプロセッサと、を備える。ブートローダは、揮発性メモリに特殊データが格納されている場合、特殊データが示す態様でOSを起動し、ブートローダは、揮発性メモリに特殊データが未格納の場合、OSを特殊モードで起動し、特殊モードで起動されたOSは、NAND型フラッシュメモリに記憶された特殊データを揮発性メモリへ格納して、本電子機器を再起動させる。   In order to solve the above-described problem, an electronic device according to an aspect of the present invention is data indicating a start-up mode of the electronic device and can be updated while the power of the electronic device is on. A NAND flash memory storing at least special data, a volatile memory, and a processor that executes a boot loader and an OS (Operating System) when the electronic apparatus is powered on. When the special data is stored in the volatile memory, the boot loader starts the OS in a mode indicated by the special data. When the special data is not stored in the volatile memory, the boot loader starts the OS in the special mode. The OS activated in the special mode stores the special data stored in the NAND flash memory in the volatile memory and restarts the electronic device.

本発明の別の態様は、起動方法である。この方法は、本電子機器の起動の態様を示すデータであり、かつ、本電子機器の電源がオンの間に更新されうるデータである特殊データが少なくとも格納されたNAND型フラッシュメモリと、揮発性メモリと、本電子機器の電源がオンになった場合、ブートローダとOS(Operating System)とを実行するプロセッサと、を備える電子機器が実行する起動方法であって、揮発性メモリに特殊データが格納されている場合、特殊データが示す態様でOSを起動し、揮発性メモリに特殊データが未格納の場合、OSを特殊モードで起動し、NAND型フラッシュメモリに記憶された特殊データを揮発性メモリへ格納して、本電子機器を再起動する。   Another aspect of the present invention is an activation method. This method is a NAND flash memory in which at least special data that is data indicating an activation mode of the electronic device and can be updated while the power of the electronic device is on, and volatile A startup method executed by an electronic device including a memory and a processor that executes a boot loader and an OS (Operating System) when the power of the electronic device is turned on, and stores special data in a volatile memory If the special data is not stored in the volatile memory, the OS is started in the special mode, and the special data stored in the NAND flash memory is stored in the volatile memory. And restart the electronic device.

なお、以上の構成要素の任意の組合せ、本発明の表現を、コンピュータプログラム、コンピュータプログラムを記録した記録媒体、本装置を搭載した車両などの間で変換したものもまた、本発明の態様として有効である。   Note that any combination of the above components, the expression of the present invention converted between a computer program, a recording medium on which the computer program is recorded, a vehicle equipped with the present apparatus, and the like are also effective as an aspect of the present invention. It is.

本発明によれば、ブートローダにより使用されるデータの記憶領域が書き換え寿命に達するまでの期間を延ばすことができる。   According to the present invention, it is possible to extend the period until the storage area of data used by the boot loader reaches the rewrite life.

第1実施例の車載装置の構成を示す図である。It is a figure which shows the structure of the vehicle-mounted apparatus of 1st Example. 第1実施例の車載装置の動作を示すフローチャートである。It is a flowchart which shows operation | movement of the vehicle-mounted apparatus of 1st Example. 第2実施例の車載装置の動作を示すフローチャートである。It is a flowchart which shows operation | movement of the vehicle-mounted apparatus of 2nd Example. 図3に続く動作を示すフローチャートである。It is a flowchart which shows the operation | movement following FIG.

[第1実施例]
実施例の車載装置の構成を説明する前に概要を説明する。既述したように、車載装置の起動初期に実行されるブートローダがアクセス可能なフラッシュメモリは、NOR型フラッシュメモリに限定されることがある。NOR型フラッシュメモリは、容量単価がNAND型フラッシュメモリより高い。したがって、ブートローダが参照するデータ(ここでは「特殊データ」と呼ぶ。)の記憶領域の寿命を延ばすために当該記憶領域をローテーションさせる場合、NAND型フラッシュメモリよりも多くのコストがかかってしまう。
[First embodiment]
Before describing the configuration of the in-vehicle device of the embodiment, an outline will be described. As described above, the flash memory that can be accessed by the boot loader that is executed at the initial stage of startup of the in-vehicle device may be limited to the NOR flash memory. The NOR type flash memory has a higher capacity unit price than the NAND type flash memory. Therefore, if the storage area is rotated in order to extend the life of the storage area of data referred to by the boot loader (referred to herein as “special data”), it costs more than the NAND flash memory.

上記の特殊データは、読み取りおよび書き込みが可能なデータであり、かつ、車載装置の動作中に書き換えられうるデータである。また、特殊データは、車載装置の起動の態様を示すデータであり、言い換えれば、特定の態様での起動をブートローダに指示するデータである。実施例における特殊データは、バージョンアップ(言い換えればプログラムの更新)の要否を指定するバージョンアップフラグ(後述の「Vupフラグ36」)とする。ただし、特殊データは、バージョンアップフラグに限られない。特殊データは、ユーザによるカスタマイズに関するデータであってもよい。例えば、車載装置の起動時にディスプレイに表示する画像をユーザ指定の画像に差し替えるか否かを示すカスタマイズ画像フラグであってもよい。   The special data is data that can be read and written and can be rewritten during the operation of the in-vehicle device. The special data is data indicating a mode of starting the in-vehicle device. In other words, the special data is data instructing the boot loader to start in a specific mode. The special data in the embodiment is assumed to be a version upgrade flag (hereinafter referred to as “Vup flag 36”) that designates necessity of version upgrade (in other words, program update). However, the special data is not limited to the version upgrade flag. The special data may be data related to customization by the user. For example, it may be a customized image flag indicating whether or not to replace an image displayed on the display when the in-vehicle device is activated with a user-specified image.

実施例の車載装置は、NAND型フラッシュメモリに格納された特殊データをブートローダが参照可能になるよう構成される。具体的には、車載装置は、揮発性であるが、ソフトウェア制御による再起動時にデータの記憶を継続するメモリ(実施例ではDRAMとするが、所定のレジスタでもよい)を備える。以下、ソフトウェア制御による再起動をソフトリセットと呼ぶ。なお、ソフトリセットは、ソフトウェアリブートまたはソフトウェアリセットとも言える。車載装置の電源がオンされると、ブートローダは、まず特殊データの読み出しモード(以下「特殊モード」)でOSを起動する。OSは、NAND型フラッシュメモリからDRAMへ特殊データをロードし、ロード後直ちにソフトリセットして、制御をブートローダに戻す。ソフトリセット後、ブートローダは、DRAMに記憶された特殊データが示す態様にてOSを起動することができる。   The in-vehicle device according to the embodiment is configured such that the boot loader can refer to special data stored in the NAND flash memory. Specifically, the in-vehicle device includes a memory (in the embodiment, a DRAM, but may be a predetermined register) that is volatile but continues to store data when restarted by software control. Hereinafter, restart by software control is referred to as software reset. Note that soft reset can also be called software reboot or software reset. When the power of the in-vehicle device is turned on, the boot loader first starts up the OS in a special data read mode (hereinafter referred to as “special mode”). The OS loads special data from the NAND flash memory to the DRAM, performs a soft reset immediately after loading, and returns control to the boot loader. After the soft reset, the boot loader can start the OS in the manner indicated by the special data stored in the DRAM.

実施例の車載装置によると、ブートローダが参照する特殊データの記憶領域をNAND型フラッシュメモリに設定できるため、特殊データの記憶領域が書き換え寿命に達するまでの期間を延ばすことができる。さらに、NAND型フラッシュメモリでは、ウェアレベリングを適用したファイルシステムを介したデータの更新が可能である。そのため、特殊データの記憶領域が書き換え寿命に達するまでの期間を一層容易に延ばすことができる。   According to the in-vehicle device of the embodiment, the special data storage area referred to by the boot loader can be set in the NAND flash memory. Therefore, the period until the special data storage area reaches the rewrite life can be extended. Furthermore, in the NAND flash memory, data can be updated via a file system to which wear leveling is applied. Therefore, the period until the special data storage area reaches the rewrite life can be extended more easily.

図1は、第1実施例の車載装置10の構成を示す。車載装置10は、車両に搭載された電子機器であり、例えば、カーナビゲーション装置またはIVI(In-Vehicle Infotainment)装置であってもよい。   FIG. 1 shows a configuration of an in-vehicle device 10 of the first embodiment. The in-vehicle device 10 is an electronic device mounted on a vehicle, and may be a car navigation device or an IVI (In-Vehicle Infotainment) device, for example.

車載装置10は、SOC(System On a Chip)12、DRAM14、NOR型フラッシュメモリ16、NAND型フラッシュメモリ18を備える。車載装置10は、インターネット等の通信網を介して外部機器と通信する通信部(不図示)をさらに備える。実施例では、通信部は、車両外部のサーバと通信し、サーバから送信された更新プログラムを受信する。また、車載装置10は、様々な情報を表示するディスプレイ(不図示)をさらに備えてもよい。   The in-vehicle device 10 includes an SOC (System On a Chip) 12, a DRAM 14, a NOR flash memory 16, and a NAND flash memory 18. The in-vehicle device 10 further includes a communication unit (not shown) that communicates with an external device via a communication network such as the Internet. In the embodiment, the communication unit communicates with a server outside the vehicle and receives an update program transmitted from the server. The in-vehicle device 10 may further include a display (not shown) that displays various information.

SOC12は、CPU20、内蔵ROM22、内蔵RAM24を含む。内蔵RAM24は、16Kバイト程度の小容量のRAMであり、SRAMであってもよい。内蔵RAM24には、NOR型フラッシュメモリ16から読み出されたブートローダ30が格納される。実際には、CPU20が所定の領域に記憶されたプログラムを実行することにより、プログラムが定める機能が発揮されることは、当業者であれば容易に理解できよう。   The SOC 12 includes a CPU 20, a built-in ROM 22, and a built-in RAM 24. The built-in RAM 24 is a small capacity RAM of about 16 Kbytes, and may be an SRAM. The built-in RAM 24 stores a boot loader 30 read from the NOR flash memory 16. Actually, those skilled in the art can easily understand that the function determined by the program is exhibited when the CPU 20 executes the program stored in the predetermined area.

DRAM14は、NOR型フラッシュメモリ16から読み出されたOS32を記憶する。また、DRAM14は、NAND型フラッシュメモリ18から読み出されたVup検出App34およびVupフラグ36を記憶する。図1には不図示だが、DRAM14には、初期化完了フラグに対応する領域が設けられる。初期化完了フラグは、所定の初期化処理が完了したか否かを示すフラグであり、初期状態ではオフである。DRAM14の所定領域にVupフラグ36が格納された場合、初期化完了フラグはオンに切り替えられる。   The DRAM 14 stores the OS 32 read from the NOR flash memory 16. The DRAM 14 also stores a Vup detection App 34 and a Vup flag 36 read from the NAND flash memory 18. Although not shown in FIG. 1, the DRAM 14 is provided with an area corresponding to the initialization completion flag. The initialization completion flag is a flag indicating whether or not a predetermined initialization process has been completed, and is off in the initial state. When the Vup flag 36 is stored in a predetermined area of the DRAM 14, the initialization completion flag is switched on.

NOR型フラッシュメモリ16は、ブートローダ30とOS32を記憶する。NAND型フラッシュメモリ18は、Vup検出App34とVupフラグ36を記憶する。Vup検出App34は、OS32上で動作するアプリケーションプログラムであり、通信部を介してサーバと通信し、車載装置10に搭載されたプログラムを更新すべきタイミングであるかどうかを検出する。Vupフラグ36は、OS32をバージョンアップモードで起動すべきか、または通常モードで起動すべきかを示すデータである。   The NOR flash memory 16 stores a boot loader 30 and an OS 32. The NAND flash memory 18 stores a Vup detection App 34 and a Vup flag 36. The Vup detection App 34 is an application program that runs on the OS 32, communicates with the server via the communication unit, and detects whether it is time to update the program installed in the in-vehicle device 10. The Vup flag 36 is data indicating whether the OS 32 should be started in the upgrade mode or the normal mode.

車載装置10では、NAND型フラッシュメモリ18の各記憶素子に対する書き換え回数を平滑化する公知のウェアレベリング制御(言い換えれば、ジャーナリングファイルシステム)が実装される。ウェアレベリング制御は、ハードウェアウェアレベリングとして実装されてもよく、ソフトウェアウェアレベリングとして実装されてもよい。実施例では、OS32上で動作するアプリケーションは、OS32またはNAND型フラッシュメモリ18のファームウェアが提供するファイルシステムであり、ウェアレベリングが適用されたファイルシステムを介して、NAND型フラッシュメモリ18のデータを更新する。   In the in-vehicle device 10, known wear leveling control (in other words, a journaling file system) for smoothing the number of rewrites to each storage element of the NAND flash memory 18 is implemented. The wear leveling control may be implemented as hardware hardware leveling, or may be implemented as software wear leveling. In the embodiment, the application operating on the OS 32 is a file system provided by the firmware of the OS 32 or the NAND flash memory 18, and updates the data of the NAND flash memory 18 through the file system to which wear leveling is applied. To do.

DRAM14は、車載装置10のメインメモリとして機能する。実施例のDRAM14は、車載装置10においてソフトウェア制御下での再起動(ソフトリセット)がなされた場合、再起動前のデータを再起動後も記憶する。なお、DRAM14は、バックアップ機能を備えてもよい。このバックアップ機能は、少なくともソフトリセットの場合に、再起動前のDRAM14の記憶データを一時的に不揮発メモリに格納し、起動後に当該記憶データをDRAM14へ書き戻してもよい。   The DRAM 14 functions as a main memory of the in-vehicle device 10. When the in-vehicle device 10 is restarted under software control (soft reset), the DRAM 14 of the embodiment stores data before the restart even after the restart. Note that the DRAM 14 may have a backup function. In this backup function, at least in the case of a soft reset, the storage data of the DRAM 14 before the restart may be temporarily stored in the nonvolatile memory, and the storage data may be written back to the DRAM 14 after the start.

以上の構成による車載装置10の動作を説明する。
図2は、第1実施例の車載装置10の動作を示すフローチャートである。車載装置10の電源がオンになると(S10のY)、CPU20は、内蔵ROM22に記憶されたNOR型フラッシュメモリ16の所定領域からブートローダ30を読み出す。CPU20は、読み出したブートローダ30を内蔵RAM24へ格納して実行する。ブートローダ30(実際にはブートローダ30のプロセス)は、DRAM14における初期化完了フラグを確認し、言い換えれば、初期化完了フラグに対応する領域の値がオンを示す値か、オフを示す値かを確認する。
The operation of the in-vehicle device 10 having the above configuration will be described.
FIG. 2 is a flowchart showing the operation of the in-vehicle device 10 of the first embodiment. When the power of the in-vehicle device 10 is turned on (Y in S10), the CPU 20 reads the boot loader 30 from a predetermined area of the NOR flash memory 16 stored in the built-in ROM 22. The CPU 20 stores the read boot loader 30 in the built-in RAM 24 and executes it. The boot loader 30 (actually the process of the boot loader 30) confirms the initialization completion flag in the DRAM 14, in other words, confirms whether the value of the area corresponding to the initialization completion flag is a value indicating ON or OFF. To do.

初期化完了フラグがオフの場合(S12のN)、ブートローダ30は、特殊モードでOS32を起動する(S14)。例えば、ブートローダ30は、特殊モードを示すパラメータを付加してOS32のプログラムを起動してもよい。特殊モードは、Vupフラグ36を読み出すための動作モードと言える。特殊モードで起動したOS32は、NAND型フラッシュメモリ18に格納されたVupフラグ36を読み出し、DRAM14の所定領域に格納する(S16)。OS32は、DRAM14の初期化完了フラグをオンに設定し(S18)、車載装置10をソフトリセットする(S20)。   When the initialization completion flag is off (N in S12), the boot loader 30 starts up the OS 32 in the special mode (S14). For example, the boot loader 30 may start a program of the OS 32 by adding a parameter indicating the special mode. The special mode can be said to be an operation mode for reading the Vup flag 36. The OS 32 activated in the special mode reads the Vup flag 36 stored in the NAND flash memory 18 and stores it in a predetermined area of the DRAM 14 (S16). The OS 32 sets the initialization completion flag of the DRAM 14 to ON (S18), and soft resets the in-vehicle device 10 (S20).

S20のソフトリセットにより、例えば、CPU20のプログラムカウンタが0番に戻り、S12に戻る。既述したように、DRAM14は、ソフトリセット時点で記憶しているデータ(少なくともVupフラグ36および初期化完了フラグを含む)をソフトリセット後も保持する。CPU20は、ブートローダ30を内蔵RAM24へ格納して実行する。ブートローダ30は、DRAM14の初期化完了フラグがオンの場合(S12のY)、DRAM14のVupフラグ36がオンか否かを確認する。   By the software reset in S20, for example, the program counter of the CPU 20 returns to 0 and returns to S12. As described above, the DRAM 14 retains data (including at least the Vup flag 36 and the initialization completion flag) stored at the time of the soft reset even after the soft reset. The CPU 20 stores the boot loader 30 in the built-in RAM 24 and executes it. When the initialization completion flag of the DRAM 14 is on (Y in S12), the boot loader 30 checks whether the Vup flag 36 of the DRAM 14 is on.

Vupフラグ36がオンの場合(S22のY)、ブートローダ30は、OS32のプログラムをDRAM14へロードし、OS32をバージョンアップモードで起動する(S24)。OS32(実際にはOS32のプロセス)は、バージョンアップ(プログラム更新等)を実行する所定のアプリケーション(以下「Vup実行App」とも呼ぶ。)を起動する(S26)。Vup実行Appは、例えば外部のサーバと通信して更新プログラムを取得し、その更新プログラムをNAND型フラッシュメモリ18等に格納することによりシステムを更新する(S28)。   When the Vup flag 36 is on (Y in S22), the boot loader 30 loads the program of the OS 32 into the DRAM 14 and starts the OS 32 in the upgrade mode (S24). The OS 32 (actually the process of the OS 32) starts a predetermined application (hereinafter also referred to as “Vup execution App”) that executes version upgrade (program update or the like) (S26). For example, the Vup execution App communicates with an external server to acquire an update program, and updates the system by storing the update program in the NAND flash memory 18 or the like (S28).

Vup実行Appは、DRAM14のVupフラグ36をオフに設定するとともに、NAND型フラッシュメモリ18のVupフラグ36をオフに設定する(S30)。このときVup実行Appは、ウェアレベリングが適用されたファイルシステムを介して、NAND型フラッシュメモリ18のVupフラグ36を更新する。なお、Vup実行Appは、両者のフラグを同期的に更新してもよく、非同期に更新してもよい。例えば、DRAM14のフラグを先に更新し、NAND型フラッシュメモリ18のフラグを後で(ソフトリセット時等に)更新してもよい。Vup実行Appは、OS32の機能を利用して、車載装置10をソフトリセットする(S32)。   The Vup execution App sets the Vup flag 36 of the DRAM 14 to OFF and also sets the Vup flag 36 of the NAND flash memory 18 to OFF (S30). At this time, the Vup execution App updates the Vup flag 36 of the NAND flash memory 18 via the file system to which wear leveling is applied. The Vup execution App may update both flags synchronously or asynchronously. For example, the flag of the DRAM 14 may be updated first, and the flag of the NAND flash memory 18 may be updated later (at the time of soft reset or the like). The Vup execution App uses the function of the OS 32 to soft reset the in-vehicle device 10 (S32).

S32のソフトリセットにより、再びS12に戻る。CPU20は、ブートローダ30を内蔵RAM24へ格納して実行する。ブートローダ30は、DRAM14の初期化完了フラグがオン(S12のY)、かつ、DRAM14のVupフラグ36がオフの場合(S22のN)、OS32を通常モードで起動する(S34)。OS32は、車載装置10の様々な機能を実行する所定のアプリケーションを起動する(S36)。以降、車載装置10は定常状態となり、例えば、カーナビゲーション機能を実行する。   The process returns to S12 again by the soft reset in S32. The CPU 20 stores the boot loader 30 in the built-in RAM 24 and executes it. When the initialization completion flag of the DRAM 14 is on (Y in S12) and the Vup flag 36 of the DRAM 14 is off (N in S22), the boot loader 30 starts the OS 32 in the normal mode (S34). The OS 32 activates a predetermined application that executes various functions of the in-vehicle device 10 (S36). Thereafter, the in-vehicle device 10 is in a steady state, and executes a car navigation function, for example.

S36で起動されるアプリケーションにはVup検出App34が含まれる。Vup検出App34は、外部のサーバからバージョンアップ開始トリガを受信すると(S38のY)、DRAM14のVupフラグ36をオンに設定するとともに、NAND型フラッシュメモリ18のVupフラグ36をオンに設定する(S40)。このときVup検出App34は、ウェアレベリングが適用されたファイルシステムを介して、NAND型フラッシュメモリ18のVupフラグ36を更新する。Vup実行Appと同様にVup検出App34も、両者のフラグを同期的に更新してもよく、非同期に更新してもよい。Vup検出App34は、OS32の機能を利用して、車載装置10をソフトリセットする(S42)。S42のソフトリセットがなされると、S12のY、S22のYの経路を辿り、Vup実行Appによりシステムが更新される。   The application activated in S36 includes Vup detection App34. When receiving the upgrade start trigger from the external server (Y in S38), the Vup detection App 34 sets the Vup flag 36 of the DRAM 14 to ON and sets the Vup flag 36 of the NAND flash memory 18 to ON (S40). ). At this time, the Vup detection App 34 updates the Vup flag 36 of the NAND flash memory 18 via the file system to which wear leveling is applied. Similarly to the Vup execution App, the Vup detection App 34 may update both flags synchronously or asynchronously. The Vup detection App 34 uses the function of the OS 32 to soft reset the in-vehicle device 10 (S42). When the soft reset in S42 is performed, the system is updated by Vup execution App, following the path of Y in S12 and Y in S22.

定常状態においてバージョンアップ開始トリガを未受信であり(S38のN)、電源オフ等の終了条件が満たされると(S44のY)、本図のフローを終了する。終了条件が満たされなければ(S44のN)、S38に戻り、定常状態を維持する。車載装置10の電源がオンされなければ(S10のN)、以降の処理をスキップし、本図のフローを終了する。   If a version upgrade start trigger has not been received in a steady state (N in S38) and an end condition such as power off is satisfied (Y in S44), the flow of FIG. If the termination condition is not satisfied (N in S44), the process returns to S38 and the steady state is maintained. If the power of the in-vehicle device 10 is not turned on (N in S10), the subsequent processing is skipped, and the flow of this figure is ended.

図2では、バージョンアップ開始トリガを受信した場合に、S40でDRAM14のVupフラグ36とNAND型フラッシュメモリ18のVupフラグ36をオンに設定し、S42でソフトリセットを実行した。変形例として、S40の後、S44に進んでもよく、すなわち、Vupフラグ36の更新後、定常状態を維持してもよい。この場合、一旦電源がオフされて、再度電源がオンされたタイミングで、S14〜S18が実行され、NAND型フラッシュメモリ18のVupフラグ36がDRAM14へロードされる。そして、S24〜S28が実行され、システムが更新される。   In FIG. 2, when the upgrade start trigger is received, the Vup flag 36 of the DRAM 14 and the Vup flag 36 of the NAND flash memory 18 are set to ON in S40, and a soft reset is executed in S42. As a modification, the process may proceed to S44 after S40, that is, the steady state may be maintained after the Vup flag 36 is updated. In this case, S14 to S18 are executed at the timing when the power is turned off and then turned on again, and the Vup flag 36 of the NAND flash memory 18 is loaded into the DRAM 14. Then, S24 to S28 are executed, and the system is updated.

[第2実施例]
第2実施例では、車載装置10の迅速な起動を実現する技術を提案する。第2実施例の車載装置10の構成は第1実施例(図1)と同様である。以下、第1実施例と同じ内容については適宜説明を省略する。
[Second Embodiment]
In the second embodiment, a technique for realizing quick start-up of the in-vehicle device 10 is proposed. The configuration of the in-vehicle device 10 of the second embodiment is the same as that of the first embodiment (FIG. 1). Hereinafter, the description of the same contents as in the first embodiment will be omitted as appropriate.

第2実施例では、ブートローダ30とOS32の少なくとも一方(実施例では両方)は、DRAM14にVupフラグ36が未格納の場合、DRAM14にVupフラグ36が格納されている場合と比べて制限された初期化処理を実行する。DRAM14にVupフラグ36が未格納の場合は、DRAM14の初期化完了フラグがオフの場合と言える。また、DRAM14にVupフラグ36が格納されている場合は、DRAM14の初期化完了フラグがオンの場合と言える。初期化処理は、デバイスの内部状態を初期設定して、CPU20による読み書き等のアクセスを可能にする一連の手続である。   In the second embodiment, at least one of the boot loader 30 and the OS 32 (both in the embodiment) has a limited initial value when the Vup flag 36 is not stored in the DRAM 14 as compared with the case where the Vup flag 36 is stored in the DRAM 14. Execute the conversion process. When the Vup flag 36 is not stored in the DRAM 14, it can be said that the initialization completion flag of the DRAM 14 is off. When the Vup flag 36 is stored in the DRAM 14, it can be said that the initialization completion flag of the DRAM 14 is on. The initialization process is a series of procedures for initializing the internal state of the device and enabling access such as reading and writing by the CPU 20.

具体的には、ブートローダ30とOS32は、DRAM14にVupフラグ36が未格納の場合の起動処理において、DRAM14にVupフラグ36が格納されている場合の起動処理で実行する複数種類の初期化処理の一部を実行する。言い換えれば、ブートローダ30とOS32は、DRAM14にVupフラグ36が未格納の場合、通常の起動処理で実行する初期化処理より少ない個数の初期化処理を実行する。すなわち、ブートローダ30とOS32は、DRAM14にVupフラグ36が未格納の場合、NAND型フラッシュメモリ18からDRAM14へVupフラグ36をロードするために必要最低限の初期化処理を実行する。   Specifically, the boot loader 30 and the OS 32 perform a plurality of types of initialization processes executed in the startup process when the Vup flag 36 is not stored in the DRAM 14 in the startup process when the Vup flag 36 is not stored in the DRAM 14. Run part. In other words, when the Vup flag 36 is not stored in the DRAM 14, the boot loader 30 and the OS 32 execute a smaller number of initialization processes than the initialization process executed in the normal startup process. That is, when the Vup flag 36 is not stored in the DRAM 14, the boot loader 30 and the OS 32 execute a minimum initialization process necessary for loading the Vup flag 36 from the NAND flash memory 18 to the DRAM 14.

DRAM14にVupフラグ36が未格納の場合に実行される必要最低限の初期化処理の例を示す。
(1)SOC12のピンマルチ設定(図3のS52):
SOC12のどの端子をどの機能に割り当てるかを設定する。ピン機能設定およびGPIO(General Purpose Input/Output)の初期化を含む。
(2)NOR型フラッシュメモリ16の初期化:(図3のS54)
内蔵ROM22に格納されたプログラムによる初期化処理と、ブートローダ30による初期化処理の2つを含む。前者は、NOR型フラッシュメモリ16から内蔵RAM24へブートローダ30をロードする(図3のS56)ために必要となる。また、後者は、NOR型フラッシュメモリ16からDRAM14へOS32をロードする(図3のS64)ために必要となる。
An example of the minimum necessary initialization process executed when the Vup flag 36 is not stored in the DRAM 14 is shown.
(1) SOC 12 pin multi setting (S52 in FIG. 3):
It is set which terminal of the SOC 12 is assigned to which function. Including pin function setting and GPIO (General Purpose Input / Output) initialization.
(2) Initialization of the NOR flash memory 16: (S54 in FIG. 3)
It includes two processes: an initialization process by a program stored in the built-in ROM 22 and an initialization process by the boot loader 30. The former is necessary for loading the boot loader 30 from the NOR flash memory 16 to the built-in RAM 24 (S56 in FIG. 3). The latter is necessary for loading the OS 32 from the NOR flash memory 16 to the DRAM 14 (S64 in FIG. 3).

(3)DRAM14の初期化(図3のS62):
NOR型フラッシュメモリ16からDRAM14へOS32をロードする(図3のS64)ために必要となる。また、NAND型フラッシュメモリ18からDRAM14へVupフラグ36をロードする(図3のS70)ために必要となる。
(4)NAND型フラッシュメモリ18の初期化(図3のS68):
NAND型フラッシュメモリ18からDRAM14へVupフラグ36をロードする(図3のS70)ために必要となる。
(3) Initialization of DRAM 14 (S62 in FIG. 3):
This is necessary for loading the OS 32 from the NOR flash memory 16 to the DRAM 14 (S64 in FIG. 3). Further, it is necessary for loading the Vup flag 36 from the NAND flash memory 18 to the DRAM 14 (S70 in FIG. 3).
(4) Initialization of the NAND flash memory 18 (S68 in FIG. 3):
This is necessary for loading the Vup flag 36 from the NAND flash memory 18 to the DRAM 14 (S70 in FIG. 3).

SOC12は、図1に不図示の様々な外部機器が接続されうるものであり、通常の起動時は、多くの外部機器に対する初期化処理が必要になる。しかし、DRAM14にVupフラグ36が未格納の場合、NAND型フラッシュメモリ18からDRAM14へVupフラグ36をロードするために必要となる初期化処理に制限することで、Vupフラグ36のロード完了までに要する時間を短縮できる。   The SOC 12 can be connected to various external devices (not shown in FIG. 1), and during normal startup, initialization processing for many external devices is required. However, when the Vup flag 36 is not stored in the DRAM 14, it is necessary to complete the loading of the Vup flag 36 by limiting the initialization process necessary for loading the Vup flag 36 from the NAND flash memory 18 to the DRAM 14. You can save time.

また、第2実施例では、ブートローダ30とOS32の少なくとも一方(実施例では両方)は、DRAM14にVupフラグ36が格納されている場合、DRAM14にVupフラグ36が未格納の場合に実行した複数の初期化処理のうち少なくとも一部の初期化処理をスキップする。DRAM14にVupフラグ36が未格納の場合に実行した初期化処理は、ソフトリセット前に実行した初期化処理と言える。また、DRAM14にVupフラグ36が格納されている場合は、ソフトリセット後(再起動後)とも言える。   In the second embodiment, at least one of the boot loader 30 and the OS 32 (both in the embodiment) executes a plurality of operations executed when the Vup flag 36 is not stored in the DRAM 14 when the Vup flag 36 is stored in the DRAM 14. At least a part of the initialization process is skipped. It can be said that the initialization process executed when the Vup flag 36 is not stored in the DRAM 14 is the initialization process executed before the soft reset. Further, when the Vup flag 36 is stored in the DRAM 14, it can be said that it is after a soft reset (after a restart).

スキップにより大きな効果が見込めるのは、SOC12と接続された外部機器(例えば図1のDRAM14等)の初期化である。外部機器の初期化は、一般的に、1)SOC12から外部機器へ初期化コマンドを送信、2)外部機器からSOC12へ初期化完了を通知、というシーケンスを繰り返して完了する。ここで、SOC12が外部機器からの応答を待つ時間は、数ミリ秒〜数100ミリ秒になる場合があり、車載装置10の起動開始から起動完了までの時間の中で大きな割合を占めることが多い。そのため、外部機器の初期化を可及的にスキップすることにより、車載装置10の起動に要する時間を短縮できる。   A large effect can be expected by skipping is initialization of an external device (for example, DRAM 14 in FIG. 1) connected to the SOC 12. The initialization of the external device is generally completed by repeating a sequence of 1) sending an initialization command from the SOC 12 to the external device and 2) notifying completion of the initialization from the external device to the SOC 12. Here, the time for which the SOC 12 waits for a response from the external device may be several milliseconds to several hundred milliseconds, and may occupy a large proportion of the time from the start of the in-vehicle device 10 to the completion of the start. Many. Therefore, the time required for starting the in-vehicle device 10 can be shortened by skipping initialization of the external device as much as possible.

なお、外部機器の初期化をスキップするためには、以下2点の考慮が必要になる。1)SOC12が再起動する際に、外部機器の電源をオフにしないようにすること。一般的に外部機器の電源がオフになると、設定値がクリアされてしまい、再度の初期化が必要になるからである。第2実施例の車載装置10では、SOC12がソフトリセットされる場合、DRAM14、NOR型フラッシュメモリ16、NAND型フラッシュメモリ18への電力供給を維持する。2)SOC12の再起動後、SOC12が外部機器にアクセスする前に、そのデバイスに関連するSOC12の内部設定(例えばIOレジスタの設定値等)を、再起動前と同じ内容に再設定すること。第2実施例のSOC12は、この再設定のための構成を備え、例えば内蔵ROM22のプログラムに実装される。   In order to skip the initialization of the external device, the following two points need to be considered. 1) Do not turn off the power of the external device when the SOC 12 is restarted. This is because, generally, when an external device is turned off, the set value is cleared and reinitialization is required. In the in-vehicle device 10 of the second embodiment, when the SOC 12 is soft reset, the power supply to the DRAM 14, the NOR flash memory 16, and the NAND flash memory 18 is maintained. 2) After the SOC 12 is restarted, before the SOC 12 accesses the external device, the internal settings of the SOC 12 related to the device (for example, the setting value of the IO register) are reset to the same contents as before the restart. The SOC 12 of the second embodiment has a configuration for this resetting, and is mounted on a program in the built-in ROM 22, for example.

第2実施例において、再起動後にスキップする初期化処理は、上記の(3)DRAM14の初期化、および、(4)NAND型フラッシュメモリ18の初期化である。いずれも初期化に要する時間が比較的長いため、スキップによる時間短縮効果を期待できる。   In the second embodiment, the initialization process to be skipped after restarting is (3) initialization of the DRAM 14 and (4) initialization of the NAND flash memory 18. In any case, since the time required for initialization is relatively long, the effect of shortening time by skipping can be expected.

上記の(1)NOR型フラッシュメモリ16の初期化、および、(2)SOC12のピンマルチ設定は、再起動後もスキップせず再実行する。(1)は、以下の2つの前提条件を満たせばスキップ可能である。しかし、一般的にNOR型フラッシュメモリ16は初期化に要する時間が短く、再実行しても遅延は小さいため、実施例では(1)の処理を再実行する。なお、第1の前提条件は、SOC12の内蔵ROM22のプログラムによる設定値と、ブートローダ30による設定値が完全に一致することである。第2の前提条件は、SOC12の内蔵ROM22のプログラムを、初期化をスキップできるように実装することである。また、(2)は、外部機器の初期化ではなく、SOC12内部の初期化であり、その設定時間は無視できるほど短いため、実施例では(2)の処理を再実行する。   The above (1) initialization of the NOR flash memory 16 and (2) the pin multi setting of the SOC 12 are executed again without being skipped even after restarting. (1) can be skipped if the following two preconditions are satisfied. However, since the NOR flash memory 16 generally requires a short time for initialization and the delay is small even if it is re-executed, the process (1) is re-executed in the embodiment. The first precondition is that the setting value set by the program in the built-in ROM 22 of the SOC 12 and the setting value set by the boot loader 30 completely match. The second precondition is that the program in the built-in ROM 22 of the SOC 12 is mounted so that initialization can be skipped. Also, (2) is not initialization of the external device but initialization of the SOC 12, and the setting time is negligibly short. Therefore, in the embodiment, the processing of (2) is re-executed.

以上の構成による車載装置10の動作を説明する。
図3は、第2実施例の車載装置10の動作を示すフローチャートである。車載装置10の電源がオンになると(S50のY)、CPU20は、内蔵ROM22に記憶されたプログラム(ここでは「内蔵ROMプログラム」と呼ぶ。)を実行する。内蔵ROMプログラムは、SOC12のピンマルチ設定を行う(S52)。内蔵ROMプログラムは、NOR型フラッシュメモリ16に対する初期化処理を実行する(S54)。内蔵ROMプログラムは、ブートローダ30をNOR型フラッシュメモリ16から内蔵RAM24へロードする(S56)。
The operation of the in-vehicle device 10 having the above configuration will be described.
FIG. 3 is a flowchart showing the operation of the in-vehicle device 10 of the second embodiment. When the power of the in-vehicle device 10 is turned on (Y in S50), the CPU 20 executes a program stored in the built-in ROM 22 (herein referred to as “built-in ROM program”). The built-in ROM program performs pin multi setting of the SOC 12 (S52). The built-in ROM program executes an initialization process for the NOR flash memory 16 (S54). The built-in ROM program loads the boot loader 30 from the NOR flash memory 16 to the built-in RAM 24 (S56).

ブートローダ30は、NOR型フラッシュメモリ16に対する初期化処理を実行する(S58)。DRAM14の初期化完了フラグがオフであり、または、DRAM14の初期化が未実行で、DRAM14の初期化完了フラグを参照できない場合(S60のN)、ブートローダ30は、DRAM14に対する初期化処理を実行し(S62)、NOR型フラッシュメモリ16からDRAM14へOS32をロードする(S64)。ブートローダ30は、特殊モードでOS32を起動する(S66)。   The boot loader 30 executes an initialization process for the NOR flash memory 16 (S58). When the initialization completion flag of the DRAM 14 is off, or when the initialization of the DRAM 14 is not executed and the initialization completion flag of the DRAM 14 cannot be referred to (N in S60), the boot loader 30 executes the initialization process for the DRAM 14. (S62) The OS 32 is loaded from the NOR flash memory 16 to the DRAM 14 (S64). The boot loader 30 starts up the OS 32 in the special mode (S66).

OS32は、NAND型フラッシュメモリ18に対する初期化処理を実行し(S68)、NAND型フラッシュメモリ18からDRAM14へVupフラグ36をロードする(S70)。OS32は、DRAM14の初期化完了フラグをオンに設定して(S72)、ソフトリセットを実行する(S74)。ソフトリセット後、S52〜S58の処理が再度実行される。ブートローダ30は、DRAM14の初期化完了フラグがオンであれば(S60のY)、図4の処理に移る。   The OS 32 executes initialization processing for the NAND flash memory 18 (S68), and loads the Vup flag 36 from the NAND flash memory 18 to the DRAM 14 (S70). The OS 32 sets the initialization completion flag of the DRAM 14 to ON (S72), and executes a soft reset (S74). After the soft reset, the processes from S52 to S58 are executed again. If the initialization completion flag of the DRAM 14 is on (Y in S60), the boot loader 30 proceeds to the process of FIG.

図4は、図3に続く動作を示すフローチャートである。図3のS60のYに続いて、ブートローダ30は、DRAM14のVupフラグ36がオンであれば(S76のY)、DRAM14に対する初期化処理(図3のS62)をスキップして、NOR型フラッシュメモリ16からDRAM14へOS32をロードする(S78)。ブートローダ30は、バージョンアップモードでOS32を起動する(S80)。OS32は、起動処理の過程で、NAND型フラッシュメモリ18に対する初期化処理(図3のS68)をスキップする。以降のS82〜S88は、図2のS26〜S32と同じであるため、説明を省略する。   FIG. 4 is a flowchart showing the operation following FIG. Following Y in S60 in FIG. 3, if the Vup flag 36 of the DRAM 14 is on (Y in S76), the boot loader 30 skips the initialization process (S62 in FIG. 3) for the DRAM 14 and performs the NOR flash memory. The OS 32 is loaded from 16 to the DRAM 14 (S78). The boot loader 30 starts up the OS 32 in the upgrade mode (S80). The OS 32 skips the initialization process (S68 in FIG. 3) for the NAND flash memory 18 in the course of the startup process. Subsequent S82 to S88 are the same as S26 to S32 in FIG.

図3のS60のYに続いて、ブートローダ30は、DRAM14のVupフラグ36がオフであれば(S76のN)、DRAM14に対する初期化処理をスキップして、NOR型フラッシュメモリ16からDRAM14へOS32をロードする(S90)。ブートローダ30は、通常モードでOS32を起動する(S92)。OS32は、起動処理の過程で、NAND型フラッシュメモリ18に対する初期化処理をスキップする。以降のS94〜S102は、図2のS36〜S44と同じであるため、説明を省略する。なお、S88およびS100におけるソフトリセット後は、図3のS52に戻る。また、図3において車載装置の電源がオフであれば(S50のN)、図3および図4の処理をスキップして本図のフローを終了する。   3, if the Vup flag 36 of the DRAM 14 is OFF (N in S76), the boot loader 30 skips the initialization process for the DRAM 14 and transfers the OS 32 from the NOR flash memory 16 to the DRAM 14. Load (S90). The boot loader 30 starts up the OS 32 in the normal mode (S92). The OS 32 skips the initialization process for the NAND flash memory 18 during the boot process. Subsequent S94 to S102 are the same as S36 to S44 in FIG. After the soft reset in S88 and S100, the process returns to S52 in FIG. If the power of the in-vehicle device is turned off in FIG. 3 (N in S50), the processing of FIG. 3 and FIG. 4 is skipped and the flow of FIG.

以上、本発明を第1実施例および第2実施例をもとに説明した。これらの実施例は例示であり、各構成要素あるいは各処理プロセスの組合せにいろいろな変形例が可能なこと、またそうした変形例も本発明の範囲にあることは当業者に理解されるところである。   The present invention has been described based on the first and second embodiments. These embodiments are examples, and it will be understood by those skilled in the art that various modifications can be made to each component or combination of processing processes, and such modifications are within the scope of the present invention.

上記実施例では、NAND型フラッシュメモリに格納されたデータをブートローダが参照可能にする技術を車載装置に適用した。既述したように、車両は頻繁に電源のオン/オフが繰り返される。また、自動運転の普及に伴って、車両には一層高いセキュリティが求められ、また、高い頻度でプログラム更新が必要になると想定される。したがって、ブートローダにより使用されるデータの記憶領域が書き換え寿命に達するまでの期間を延ばすことを容易化する実施例の技術は、車載装置に好適である。ただし、実施例の技術の適用対象は車載装置に限定されず、様々な電子機器に適用可能である。例えば、PC、タブレット端末、スマートフォン、組み込みシステムに適用可能である。   In the above-described embodiment, the technology that enables the boot loader to refer to the data stored in the NAND flash memory is applied to the in-vehicle device. As described above, the vehicle is frequently turned on and off repeatedly. Further, with the spread of automatic driving, it is assumed that the vehicle is required to have higher security and that the program needs to be updated frequently. Therefore, the technology of the embodiment that facilitates extending the period until the storage area of the data used by the boot loader reaches the rewrite life is suitable for the in-vehicle device. However, the application target of the technology of the embodiment is not limited to the in-vehicle device, and can be applied to various electronic devices. For example, it can be applied to a PC, a tablet terminal, a smartphone, and an embedded system.

上記実施例では、車載装置10の制御をOS32からブートローダ30に戻すための再起動処理としてソフトリセットを実行した。変形例として、他の種類の再起動処理を実行してもよい。例えば、制御が一旦OS32からブートローダ30に戻るように実装されたサスペンド/レジューム機能を車載装置10が備える場合、再起動処理としてサスペンド/レジュームを実行してもよい。   In the above embodiment, the soft reset is executed as the restart process for returning the control of the in-vehicle device 10 from the OS 32 to the boot loader 30. As a modification, another type of restart process may be executed. For example, when the in-vehicle apparatus 10 includes a suspend / resume function that is implemented so that control is once returned from the OS 32 to the boot loader 30, the suspend / resume may be executed as the restart process.

なお、実施例および変形例に記載の技術は、以下の項目によって特定されてもよい。
[項目1]
本電子機器の起動の態様を示すデータであり、かつ、本電子機器の電源がオンの間に更新されうるデータである特殊データが少なくとも格納されたNAND型フラッシュメモリと、
揮発性メモリと、
本電子機器の電源がオンになった場合、ブートローダとOS(Operating System)とを実行するプロセッサと、
を備え、
前記ブートローダは、前記揮発性メモリに前記特殊データが格納されている場合、前記特殊データが示す態様で前記OSを起動し、
前記ブートローダは、前記揮発性メモリに前記特殊データが未格納の場合、前記OSを特殊モードで起動し、
前記特殊モードで起動されたOSは、前記NAND型フラッシュメモリに記憶された特殊データを前記揮発性メモリへ格納して、本電子機器を再起動させる、電子機器。
この電子機器のブートローダは、NAND型フラッシュメモリへ直接アクセスすることはできないが、OSとの連携により、NAND型フラッシュメモリに格納された特殊データを参照可能になり、特殊データが示す態様でOSを起動することができる。また、特殊データをNAND型フラッシュメモリに格納することにより、特殊データを記憶する領域が書き換え寿命に達するまでの期間を延ばすことが容易になる。
[項目2]
前記OS上で動作する所定のアプリケーションは、ウェアレベリングが適用されたファイルシステムを経由して、前記NAND型フラッシュメモリに格納された前記特殊データを更新する、項目1に記載の電子機器。
この態様によると、NAND型フラッシュメモリにおける特殊データの記憶領域が書き換え寿命に達するまでの期間を容易に延ばすことができる。
[項目3]
前記揮発性メモリに前記特殊データが格納されている場合、前記ブートローダと前記OSの少なくとも一方は、前記揮発性メモリに前記特殊データが未格納の場合に実行した複数の初期化処理のうち少なくとも一部の初期化処理をスキップする、項目1または2に記載の電子機器。
この態様によると、再起動がなされた場合に実行する初期化処理の個数を低減し、起動が完了するまでの時間を短縮することができる。
[項目4]
前記スキップされる少なくとも一部の初期化処理は、前記揮発性メモリの初期化処理と、前記NAND型フラッシュメモリの初期化処理とを含む、項目3に記載の電子機器。
この態様によると、再起動がなされた場合に実行する初期化処理の個数を低減し、起動が完了するまでの時間を短縮することができる。
[項目5]
前記ブートローダが少なくとも格納されたNOR型フラッシュメモリをさらに備え、
前記プロセッサはSOC(System On a Chip)として実装され、
前記揮発性メモリに前記特殊データが格納されている場合と前記揮発性メモリに前記特殊データが未格納の場合の両方で、前記SOCのピンマルチ設定と前記NOR型フラッシュメモリの初期化処理とが実行される、項目1から4のいずれかに記載の電子機器。
この態様によると、実行時間が短い初期化処理は、揮発性メモリに特殊データが格納されているか否かに関わらず実行することで、電子機器の実装が容易になる。
[項目6]
前記揮発性メモリに前記特殊データが未格納の場合、前記ブートローダと前記OSの少なくとも一方は、前記揮発性メモリに前記特殊データが格納されている場合にスキップされる少なくとも一部の初期化処理を実行する、項目1から3のいずれかに記載の電子機器。
この態様によると、揮発性メモリに特殊データが格納されている場合に必要な初期化処理を、揮発性メモリに前記特殊データが未格納であるときに予め実行しておくことで、揮発性メモリに特殊データが格納されている場合の初期化処理に要する時間を低減できる。
[項目7]
前記スキップされる少なくとも一部の初期化処理は、前記揮発性メモリの初期化処理と、前記NAND型フラッシュメモリの初期化処理とを含む、項目6に記載の電子機器。
この態様によると、揮発性メモリに特殊データが格納されている場合の初期化処理に要する時間を低減できる。
[項目8]
前記ブートローダが少なくとも格納されたNOR型フラッシュメモリをさらに備え、
前記プロセッサはSOC(System On a Chip)として実装され、
前記揮発性メモリに前記特殊データが未格納の場合に実行される初期化処理は、前記SOCのピンマルチ設定と、前記NOR型フラッシュメモリの初期化処理と、前記揮発性メモリの初期化処理と、前記NAND型フラッシュメモリの初期化処理とを含む、項目1から7のいずれかに記載の電子機器。
この態様によると、揮発性メモリに特殊データが格納されている場合に必要な初期化処理を、揮発性メモリに前記特殊データが未格納であるときに予め実行しておくことができる。
[項目9]
本電子機器の起動の態様を示すデータであり、かつ、本電子機器の電源がオンの間に更新されうるデータである特殊データが少なくとも格納されたNAND型フラッシュメモリと、
揮発性メモリと、
本電子機器の電源がオンになった場合、ブートローダとOS(Operating System)とを実行するプロセッサと、
を備える電子機器が実行する起動方法であって、
前記揮発性メモリに前記特殊データが格納されている場合、前記特殊データが示す態様で前記OSを起動し、
前記揮発性メモリに前記特殊データが未格納の場合、前記OSを特殊モードで起動し、
前記NAND型フラッシュメモリに記憶された特殊データを前記揮発性メモリへ格納して、本電子機器を再起動する、起動方法。
この起動方法によると、ブートローダは、NAND型フラッシュメモリへ直接アクセスすることはできないが、OSとの連携により、NAND型フラッシュメモリに格納された特殊データを参照可能になり、特殊データが示す態様でOSを起動することができる。また、特殊データをNAND型フラッシュメモリに格納することにより、特殊データを記憶する領域が書き換え寿命に達するまでの期間を延ばすことが容易になる。
[項目10]
本電子機器の起動の態様を示すデータであり、かつ、本電子機器の電源がオンの間に更新されうるデータである特殊データが少なくとも格納されたNAND型フラッシュメモリと、
揮発性メモリと、
本電子機器の電源がオンになった場合、ブートローダとOS(Operating System)とを実行するプロセッサと、
を備える電子機器において実行されるプログラムであって、
前記揮発性メモリに前記特殊データが格納されている場合、前記特殊データが示す態様で前記OSを起動し、
前記揮発性メモリに前記特殊データが未格納の場合、前記OSを特殊モードで起動し、
前記NAND型フラッシュメモリに記憶された特殊データを前記揮発性メモリへ格納して、本電子機器を再起動する、プログラム。
このプログラムによると、ブートローダは、NAND型フラッシュメモリへ直接アクセスすることはできないが、OSとの連携により、NAND型フラッシュメモリに格納された特殊データを参照可能になり、特殊データが示す態様でOSを起動することができる。また、特殊データをNAND型フラッシュメモリに格納することにより、特殊データを記憶する領域が書き換え寿命に達するまでの期間を延ばすことが容易になる。
Note that the techniques described in the examples and the modifications may be specified by the following items.
[Item 1]
NAND type flash memory storing at least special data that is data indicating a mode of activation of the electronic device and that can be updated while the electronic device is powered on;
Volatile memory,
A processor that executes a boot loader and an OS (Operating System) when the electronic device is powered on;
With
When the special data is stored in the volatile memory, the boot loader boots the OS in a mode indicated by the special data,
The boot loader boots the OS in a special mode when the special data is not stored in the volatile memory,
An electronic device in which the OS activated in the special mode stores the special data stored in the NAND flash memory in the volatile memory and restarts the electronic device.
The boot loader of this electronic device cannot directly access the NAND flash memory, but it can refer to the special data stored in the NAND flash memory in cooperation with the OS, and the OS is started in the manner indicated by the special data. can do. Further, by storing the special data in the NAND flash memory, it becomes easy to extend the period until the area for storing the special data reaches the rewrite life.
[Item 2]
The electronic device according to Item 1, wherein the predetermined application operating on the OS updates the special data stored in the NAND flash memory via a file system to which wear leveling is applied.
According to this aspect, the period until the special data storage area in the NAND flash memory reaches the rewrite life can be easily extended.
[Item 3]
When the special data is stored in the volatile memory, at least one of the boot loader and the OS is at least one of a plurality of initialization processes executed when the special data is not stored in the volatile memory. Item 3. The electronic device according to Item 1 or 2, wherein part initialization processing is skipped.
According to this aspect, it is possible to reduce the number of initialization processes to be executed when restarting, and to shorten the time until startup is completed.
[Item 4]
4. The electronic device according to item 3, wherein the skipped at least part of the initialization process includes an initialization process of the volatile memory and an initialization process of the NAND flash memory.
According to this aspect, it is possible to reduce the number of initialization processes to be executed when restarting, and to shorten the time until startup is completed.
[Item 5]
A NOR-type flash memory in which the boot loader is stored;
The processor is implemented as an SOC (System On a Chip),
The SOC multi-pin setting and the NOR flash memory initialization process are executed both when the special data is stored in the volatile memory and when the special data is not stored in the volatile memory. The electronic device according to any one of items 1 to 4.
According to this aspect, the initialization process with a short execution time is executed regardless of whether or not the special data is stored in the volatile memory, thereby facilitating mounting of the electronic device.
[Item 6]
When the special data is not stored in the volatile memory, at least one of the boot loader and the OS performs at least a part of initialization processing that is skipped when the special data is stored in the volatile memory. The electronic device according to any one of items 1 to 3 to be executed.
According to this aspect, the initialization process required when the special data is stored in the volatile memory is executed in advance when the special data is not stored in the volatile memory. It is possible to reduce the time required for the initialization process when special data is stored in the.
[Item 7]
7. The electronic device according to item 6, wherein at least a part of the initialization process skipped includes an initialization process of the volatile memory and an initialization process of the NAND flash memory.
According to this aspect, the time required for the initialization process when special data is stored in the volatile memory can be reduced.
[Item 8]
A NOR-type flash memory in which the boot loader is stored;
The processor is implemented as an SOC (System On a Chip),
The initialization process executed when the special data is not stored in the volatile memory includes the SOC pin multi setting, the NOR flash memory initialization process, the volatile memory initialization process, The electronic device according to any one of items 1 to 7, including an initialization process of the NAND flash memory.
According to this aspect, the initialization process required when special data is stored in the volatile memory can be executed in advance when the special data is not stored in the volatile memory.
[Item 9]
NAND type flash memory storing at least special data that is data indicating a mode of activation of the electronic device and that can be updated while the electronic device is powered on;
Volatile memory,
A processor that executes a boot loader and an OS (Operating System) when the electronic device is powered on;
A startup method executed by an electronic device comprising:
When the special data is stored in the volatile memory, the OS is started in a mode indicated by the special data,
If the special data is not stored in the volatile memory, the OS is started in a special mode,
A startup method for storing special data stored in the NAND flash memory in the volatile memory and restarting the electronic device.
According to this startup method, the boot loader cannot directly access the NAND flash memory, but by cooperation with the OS, the special data stored in the NAND flash memory can be referred to, and the OS is displayed in a manner indicated by the special data. Can be launched. Further, by storing the special data in the NAND flash memory, it becomes easy to extend the period until the area for storing the special data reaches the rewrite life.
[Item 10]
NAND type flash memory storing at least special data that is data indicating a mode of activation of the electronic device and that can be updated while the electronic device is powered on;
Volatile memory,
A processor that executes a boot loader and an OS (Operating System) when the electronic device is powered on;
A program executed in an electronic device comprising:
When the special data is stored in the volatile memory, the OS is started in a mode indicated by the special data,
If the special data is not stored in the volatile memory, the OS is started in a special mode,
A program for storing special data stored in the NAND flash memory in the volatile memory and restarting the electronic apparatus.
According to this program, the boot loader cannot directly access the NAND flash memory, but by cooperation with the OS, the special data stored in the NAND flash memory can be referred to, and the OS is displayed in the manner indicated by the special data. Can be activated. Further, by storing the special data in the NAND flash memory, it becomes easy to extend the period until the area for storing the special data reaches the rewrite life.

上述した実施例および変形例の任意の組み合わせもまた本発明の実施の形態として有用である。組み合わせによって生じる新たな実施の形態は、組み合わされる実施例および変形例それぞれの効果をあわせもつ。また、請求項に記載の各構成要件が果たすべき機能は、実施例および変形例において示された各構成要素の単体もしくはそれらの連携によって実現されることも当業者には理解されるところである。   Any combination of the above-described embodiments and modifications is also useful as an embodiment of the present invention. The new embodiment resulting from the combination has the effects of the combined example and modification. Further, it should be understood by those skilled in the art that the functions to be fulfilled by the constituent elements described in the claims are realized by the individual constituent elements shown in the embodiments and the modified examples or by their cooperation.

10 車載装置、 14 DRAM、 16 NOR型フラッシュメモリ、 18 NAND型フラッシュメモリ、 20 CPU、 30 ブートローダ、 32 OS。   10 on-vehicle device, 14 DRAM, 16 NOR type flash memory, 18 NAND type flash memory, 20 CPU, 30 boot loader, 32 OS.

Claims (10)

本電子機器の起動の態様を示すデータであり、かつ、本電子機器の電源がオンの間に更新されうるデータである特殊データが少なくとも格納されたNAND型フラッシュメモリと、
揮発性メモリと、
本電子機器の電源がオンになった場合、ブートローダとOS(Operating System)とを実行するプロセッサと、
を備え、
前記ブートローダは、前記揮発性メモリに前記特殊データが格納されている場合、前記特殊データが示す態様で前記OSを起動し、
前記ブートローダは、前記揮発性メモリに前記特殊データが未格納の場合、前記OSを特殊モードで起動し、
前記特殊モードで起動されたOSは、前記NAND型フラッシュメモリに記憶された特殊データを前記揮発性メモリへ格納して、本電子機器を再起動させる、
電子機器。
NAND type flash memory storing at least special data that is data indicating a mode of activation of the electronic device and that can be updated while the electronic device is powered on;
Volatile memory,
A processor that executes a boot loader and an OS (Operating System) when the electronic device is powered on;
With
When the special data is stored in the volatile memory, the boot loader boots the OS in a mode indicated by the special data,
The boot loader boots the OS in a special mode when the special data is not stored in the volatile memory,
The OS started in the special mode stores the special data stored in the NAND flash memory in the volatile memory, and restarts the electronic device.
Electronics.
前記OS上で動作する所定のアプリケーションは、ウェアレベリングが適用されたファイルシステムを経由して、前記NAND型フラッシュメモリに格納された前記特殊データを更新する、
請求項1に記載の電子機器。
The predetermined application operating on the OS updates the special data stored in the NAND flash memory via a file system to which wear leveling is applied.
The electronic device according to claim 1.
前記揮発性メモリに前記特殊データが格納されている場合、前記ブートローダと前記OSの少なくとも一方は、前記揮発性メモリに前記特殊データが未格納の場合に実行した複数の初期化処理のうち少なくとも一部の初期化処理をスキップする、
請求項1または2に記載の電子機器。
When the special data is stored in the volatile memory, at least one of the boot loader and the OS is at least one of a plurality of initialization processes executed when the special data is not stored in the volatile memory. Part initialization processing is skipped,
The electronic device according to claim 1.
前記スキップされる少なくとも一部の初期化処理は、前記揮発性メモリの初期化処理と、前記NAND型フラッシュメモリの初期化処理とを含む、
請求項3に記載の電子機器。
The skipped at least part of the initialization process includes an initialization process of the volatile memory and an initialization process of the NAND flash memory.
The electronic device according to claim 3.
前記ブートローダが少なくとも格納されたNOR型フラッシュメモリをさらに備え、
前記プロセッサはSOC(System On a Chip)として実装され、
前記揮発性メモリに前記特殊データが格納されている場合と前記揮発性メモリに前記特殊データが未格納の場合の両方で、前記SOCのピンマルチ設定と前記NOR型フラッシュメモリの初期化処理とが実行される、
請求項1から4のいずれかに記載の電子機器。
A NOR-type flash memory in which the boot loader is stored;
The processor is implemented as an SOC (System On a Chip),
The SOC multi-pin setting and the NOR flash memory initialization process are executed both when the special data is stored in the volatile memory and when the special data is not stored in the volatile memory. To be
The electronic device according to claim 1.
前記揮発性メモリに前記特殊データが未格納の場合、前記ブートローダと前記OSの少なくとも一方は、前記揮発性メモリに前記特殊データが格納されている場合にスキップされる少なくとも一部の初期化処理を実行する、
請求項1から5のいずれかに記載の電子機器。
When the special data is not stored in the volatile memory, at least one of the boot loader and the OS performs at least a part of initialization processing that is skipped when the special data is stored in the volatile memory. Run,
The electronic device according to claim 1.
前記スキップされる少なくとも一部の初期化処理は、前記揮発性メモリの初期化処理と、前記NAND型フラッシュメモリの初期化処理とを含む、
請求項6に記載の電子機器。
The skipped at least part of the initialization process includes an initialization process of the volatile memory and an initialization process of the NAND flash memory.
The electronic device according to claim 6.
前記ブートローダが少なくとも格納されたNOR型フラッシュメモリをさらに備え、
前記プロセッサはSOC(System On a Chip)として実装され、
前記揮発性メモリに前記特殊データが未格納の場合に実行される初期化処理は、前記SOCのピンマルチ設定と、前記NOR型フラッシュメモリの初期化処理と、前記揮発性メモリの初期化処理と、前記NAND型フラッシュメモリの初期化処理とを含む、
請求項1から7のいずれかに記載の電子機器。
A NOR-type flash memory in which the boot loader is stored;
The processor is implemented as an SOC (System On a Chip),
The initialization process executed when the special data is not stored in the volatile memory includes the SOC pin multi setting, the NOR flash memory initialization process, the volatile memory initialization process, Including initialization processing of the NAND flash memory,
The electronic device according to claim 1.
本電子機器の起動の態様を示すデータであり、かつ、本電子機器の電源がオンの間に更新されうるデータである特殊データが少なくとも格納されたNAND型フラッシュメモリと、
揮発性メモリと、
本電子機器の電源がオンになった場合、ブートローダとOS(Operating System)とを実行するプロセッサと、
を備える電子機器が実行する起動方法であって、
前記揮発性メモリに前記特殊データが格納されている場合、前記特殊データが示す態様で前記OSを起動し、
前記揮発性メモリに前記特殊データが未格納の場合、前記OSを特殊モードで起動し、
前記NAND型フラッシュメモリに記憶された特殊データを前記揮発性メモリへ格納して、本電子機器を再起動する、
起動方法。
NAND type flash memory storing at least special data that is data indicating a mode of activation of the electronic device and that can be updated while the electronic device is powered on;
Volatile memory,
A processor that executes a boot loader and an OS (Operating System) when the electronic device is powered on;
A startup method executed by an electronic device comprising:
When the special data is stored in the volatile memory, the OS is started in a mode indicated by the special data,
If the special data is not stored in the volatile memory, the OS is started in a special mode,
Storing special data stored in the NAND flash memory in the volatile memory and restarting the electronic device;
starting method.
本電子機器の起動の態様を示すデータであり、かつ、本電子機器の電源がオンの間に更新されうるデータである特殊データが少なくとも格納されたNAND型フラッシュメモリと、
揮発性メモリと、
本電子機器の電源がオンになった場合、ブートローダとOS(Operating System)とを実行するプロセッサと、
を備える電子機器において実行されるプログラムであって、
前記揮発性メモリに前記特殊データが格納されている場合、前記特殊データが示す態様で前記OSを起動し、
前記揮発性メモリに前記特殊データが未格納の場合、前記OSを特殊モードで起動し、
前記NAND型フラッシュメモリに記憶された特殊データを前記揮発性メモリへ格納して、本電子機器を再起動する、
プログラム。
NAND type flash memory storing at least special data that is data indicating a mode of activation of the electronic device and that can be updated while the electronic device is powered on;
Volatile memory,
A processor that executes a boot loader and an OS (Operating System) when the electronic device is powered on;
A program executed in an electronic device comprising:
When the special data is stored in the volatile memory, the OS is started in a mode indicated by the special data,
If the special data is not stored in the volatile memory, the OS is started in a special mode,
Storing special data stored in the NAND flash memory in the volatile memory and restarting the electronic device;
program.
JP2017042650A 2017-03-07 2017-03-07 Electronic device, starting method and program Pending JP2018147285A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2017042650A JP2018147285A (en) 2017-03-07 2017-03-07 Electronic device, starting method and program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2017042650A JP2018147285A (en) 2017-03-07 2017-03-07 Electronic device, starting method and program

Publications (1)

Publication Number Publication Date
JP2018147285A true JP2018147285A (en) 2018-09-20

Family

ID=63591265

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017042650A Pending JP2018147285A (en) 2017-03-07 2017-03-07 Electronic device, starting method and program

Country Status (1)

Country Link
JP (1) JP2018147285A (en)

Similar Documents

Publication Publication Date Title
CN110032403B (en) Memory device and start program loading method of electronic device
EP1873638A1 (en) Portable apparatus supporting multiple operating systems and supporting method therefor
EP3037968A1 (en) Electronic device and firmware recovery program that ensure recovery of firmware
US7908469B2 (en) Method for executing power on self test on a computer system and updating SMBIOS information partially
CN109032846A (en) Equipment remote backup upgrade method, device, computer storage medium and equipment
JP2007213571A (en) Method for starting system using direct memory access in novel memory architecture
KR102107843B1 (en) Firmware updating method and electronic device using the same
KR20200090010A (en) Method for updating firmware, electronic device and storage medium therefor
WO2013103023A1 (en) Information processing device, information processing method, and computer program
JP6070360B2 (en) Information processing apparatus and processing method thereof
CN113934445B (en) Device firmware upgrading system, method, device, computer device and storage medium
US20080114923A1 (en) Apparatus and method for controlling operation processing in nonvolatile memory
CN105183517A (en) Method and device for mounting external storage equipment in recovery mode and electronic device
CN111026417A (en) Embedded equipment upgrading method and embedded equipment
CN109753299A (en) A system upgrade method, device and computer storage medium
US12468527B2 (en) Information processing apparatus, method of controlling the same, and storage medium
JP2011095952A (en) Method for updating firmware and electronic equipment
CN110874237A (en) Software upgrading method, device, terminal and readable storage medium
JP2007206885A (en) Computer system and system startup method
US20140258699A1 (en) Boot fault tolerant device and method thereof
CN114691539A (en) Electronic equipment starting method and electronic equipment
WO2020241473A1 (en) Computation processing device, vehicle control device, and update method
JP5084853B2 (en) Firmware update device, communication device, electronic device, firmware update system, firmware update method, and program
CN111381892A (en) Data processing method, device, equipment and machine readable medium
JP7180542B2 (en) Information processing device and information processing method

Legal Events

Date Code Title Description
RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20180417