Patent ID: 7331046
Filing Date: 2008-02-12
Classification: G06F

Abstract:
1. A system for creating an application for an apparatus, comprising: at least a CPU; one of a volatile memory and a nonvolatile memory which include a boot memory area including a reset vector, the volatile memory being rewritable by a part other than the CPU and the nonvolatile memory being replaceable by a part other than the CPU; and one of a volatile memory and a nonvolatile memory which include a cache-executable or non-cache-executable application execution memory area, which are rewritable by a part other than the CPU, and in which initialization of a memory controller and read/write can be performed by the CPU, the memory controller being able to be initialized by a part other than the CPU as necessary in the volatile memory and the memory controller not being able to be initialized or not being required to be initialized by a part other than the CPU in the nonvolatile memory, the apparatus being able to execute an operating system and an application using the operating system and to execute a freestanding application in which the operating system is not used, wherein an application program and a bootstrap are linked so as to form a single execution file such that the entry point of the bootstrap corresponds to the entry point of the execution file, based on the single execution file, the entry point, the bootstrap, and the application program are mapped to a layout address in the application execution memory area so as to generate the execution file, the layout address in the application execution memory area corresponds to an area which is cached or not cached by the CPU, the execution file includes the layout address and the application program and the bootstrap to be mapped, when the application program is initially placed in the boot memory area, the layout address is offset-converted to an address as a load destination so that the entry point of the execution file is mapped to the reset vector in the corresponding boot memory area, whereby the input execution file is output as a load image file, when the application program is initially placed in the application execution memory area and when the placed area is not cached by the CPU, the execution file is output as-is as a load image file, when the layout address and the application program to be mapped in the execution file are initially placed in the application execution memory area and when the placed area is cached by the CPU, in order to reliably load the application program and the bootstrap to a RAM regardless of the state of a cache, the layout address is offset-converted to an address as a load destination so that the entry point of the execution file is mapped to a non-cache area of the CPU corresponding to this area, whereby the input execution file is output as a load image file, the load image file includes the address as the load destination and the application program and the bootstrap to be loaded, and when a file format different from that of the load image file is required, the format of the load image file is converted to the required format.