EP1532526A2 - Verfahren zur initialisierung von programmierbaren systemen - Google Patents
Verfahren zur initialisierung von programmierbaren systemenInfo
- Publication number
- EP1532526A2 EP1532526A2 EP03793579A EP03793579A EP1532526A2 EP 1532526 A2 EP1532526 A2 EP 1532526A2 EP 03793579 A EP03793579 A EP 03793579A EP 03793579 A EP03793579 A EP 03793579A EP 1532526 A2 EP1532526 A2 EP 1532526A2
- Authority
- EP
- European Patent Office
- Prior art keywords
- initialization
- program
- external
- internal
- data
- 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.)
- Withdrawn
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/4401—Bootstrapping
- G06F9/4403—Processor initialisation
Definitions
- the invention relates to a method for initializing programmable systems in which the information required for initializing registers and internal and / or external modules is contained in an external memory and is read out, in particular for use in programmable system-on-chip ASIC elements.
- ASIC Application specific integrated circuit
- PCI Peripheral Components Interconnect
- Cardbus Cardbus
- USB Universal Serial Bus
- Due to the nature of the products, which are manufactured in large quantities at low prices, it is common for semiconductor design houses to develop a hard-wired solution that is manufactured by contract partners and sold to OEM customers (OEM original device manufacturer) who sell the semiconductors integrate into their peripherals. The resulting end products mostly differ by Functional scope, performance, power consumption and price, depending on which circuitry and additional components were used for the respective solution.
- the additional electronics on the circuit board must be brought into an initial state in a variable manner when the device is switched on or plugged in.
- the OEM-specific elements must be initialized when switching on. It can happen that the external electronic modules, which are located next to the ASIC on the device, have to be brought into a defined initial state directly when switching on or plugging in or within a very short time afterwards. B. destruction, excessive power consumption or confusing Avoid status displays, by means of LEDs or a display. Since the ASIC in the circuit is usually the only "intelligent component that can perform this task, but the external circuitry generally differs, as described above, a way must be found for the ASIC to provide information about the initialization of the other modules to convey so that it can carry out the initialization accordingly.
- Identification features and serial numbers are stored in the EEPROM.
- the identification features are understood to be the product ID, vendor ID, subsystem ID and subsystem vendor ID as revision identifier and device class.
- the MAC-ID should be used for Ethernet network cards.
- This OEM-specific information is read out by the end user by means of hardware logic from the EEPROM when the device is switched on and transferred to the corresponding register in the PCI / USB core of the ASIC. This enables the device to be recognized by the computer.
- the registers in the IO blocks via which the remaining electronics on the device are controlled, either remain uninitialized, are set to a "burned-in * reset value" in the ASIC or can be set by the hardware logic according to the EEPROM content.
- the invention is therefore based on the object of specifying a method in which all registers and assemblies can be initialized, flexible initialization of the external electronics is possible, the ASIC development is simplified and different external and internal storage media are supported.
- the object is achieved with a method for initializing programmable systems of the type mentioned in the introduction in that after switching on or another event triggering a restart, controlled by a program of an instruction memory, a transfer of initialization information from an external or internal non-volatile storage medium to an internal memory, that the initialization information contains initialization data and / or at least one initialization program, that the initialization of the registers and assemblies is controlled by one or more processor elements or other intelligent building blocks arranged in the system, which in turn are controlled by the initialization program.
- the initialization of the registers and Assemblies carried out by one or more processor elements. After switching on or after an external restart event of the device, this requires a program to be processed.
- the program for starting the initialization phase is contained in a so-called instruction memory (bootstrap loader).
- the initialization information can include both initialization data and an initialization program.
- Initialization data are identifications (ID), such as the product ID, vendor ID, subsystem vendor ID or a serial number of an Ethernet network card.
- ID identifications
- the initialization program controls the processor element after the transfer of the initialization information into the instruction RAM and realizes the initialization of the registers and modules.
- One embodiment of the invention provides that an integrity check of the initialization information is carried out after the transfer and that a program branch is carried out, controlled by the result of the integrity check.
- One embodiment of the invention provides that when an incorrect or missing internal or external storage medium is detected, an error routine is processed which carries out the initialization with standard values or restores the content of the internal or external storage medium in whole or in part.
- the data is checked for integrity, for example by determining a checksum.
- the processor element either processes the initialization program that has just been transmitted or macro instructions or a routine for handling exceptional cases in the instruction memory is started. Through this routine, the functionally most important registers in the ASIC are programmed in such a way that the device can at least basically be addressed via the respective PC interface. If a missing or incorrect storage medium was detected in the switch-on phase, a routine for initialization with standard values is also processed.
- the initialization data are read from the storage medium as standard values, changed by the processor element and the changed initialization data are used for initialization.
- the EEPROM contains standard values, for example for the product ID, vendor ID, subsystem vendor ID or a serial number of an Ethernet network card and the like. a. saved. These values can be used directly to initialize the registers and / or modules. However, the processor element can also be used to change the standard values or to make an alternative selection controlled by an event. From the point of view of error handling, this results in the possibility of using the support logic to change or restore the initialization information of the external EEPROM, and the checksum can also be recalculated.
- initialization data are calculated by the initialization program from the processor element and used for initialization.
- the processor element can calculate initialization data, for example depending on the status of a port or register.
- One embodiment of the invention provides that, depending on the status data of peripheral components and / or internal components, their initialization data and the data for the internal components are calculated.
- the program flow of the initialization program can be designed in such a way that an initialization value is selected or calculated depending on the status of individual internal or external registers or modules. For this purpose, for example, a register or port is queried in a first step and, depending on this result, the initialization takes place after a jump to a designated point in the program sequence.
- the processor element changes to a power-saving mode after initialization has taken place.
- the processor element can be put into a power-saving mode, from which it is reset, for example, by a signal from a PC or a peripheral module.
- the initialization of further processor elements is started and monitored.
- the processor element can carry out the initialization of further processors present in the system, which subsequently start their own initialization routines.
- the completion of the initialization is either reported back to the first processor or the first processor transfers control to another processor.
- the instruction memory arranged in the ASIC contains a start program to be executed after the device is switched on and reads the initialization information from the external EEPROM and transfers it to the instruction RAM.
- This start program contains a routine that recognizes the connected storage medium and ensures compliance with the transmission protocol required in each case.
- the initialization program reloads further data and / or program code from a storage medium.
- the processor element can reload further initialization information (program code or state data).
- Fig. 1 shows a circuit arrangement according to the prior art
- Fig. 2 shows a circuit arrangement for implementing the method according to the invention.
- a processor element 8 which does not necessarily have to be a component of the ASIC logic 1 in the prior art, an instruction memory 9 (bootstrap loader), an instruction RAM 10, a data RAM 11, an EEPROM interface 12 and a support -Logik 13.
- the external EEPROM 14 known from the prior art is also arranged outside the ASIC 1 and connected to it via a second bus system 15.
- An I 2 C, SPI or Microwire bus can be used as the second bus system 15.
- the ASIC 1, the external EEPROM 14 and the external electronics 7 form a peripheral device 18 to be controlled by the PC 3.
- the instruction memory 9 arranged in the ASIC contains a start program to be processed after the device is switched on and implements the readout of the initialization information from the external EEPROM 14 and the transfer into the instruction RAM 10. Since the exchange of the bus signals from the respectively used external EEPROM 14 and Bus system 15 is dependent and the process is controlled by a program, the adaptation to different bus systems 15 or EEPROM types 14 can be implemented in terms of program technology. This also enables automatic detection of the connected EEPROM type 14.
- the initialization information to be transmitted consists of the initialization data and an initialization program. After the initialization information has been transferred to the instruction RAM 10, an integrity check is carried out to ensure the error-free transfer of the data.
- the further program execution takes place using the initialization program just transferred into the instruction RAM 10.
- This program carries out the actual initialization of register 5 and modules with the aid of the initialization data.
- This initialization makes, for example, the necessary settings in the bus interface 2 in order to enable communication with the PC 3 and the initialization of the other internal modules and the I / O interface 6 for the control of the external electronics 7.
- the program-controlled initialization makes it possible to set all registers 5 or assemblies that are directly or indirectly addressable by processor element 8 and state machines that are dependent on them. Furthermore there is Possibility of performing the initialization dynamically, i.e. depending on input values. This makes it possible to immediately show on the display 7 in the commissioning phase of the device whether a certain condition is met or not.
- the method according to the invention enables the peripheral device 18 to act independently in order to “wake up” the PC 3 from an initial idle state (for example wake-on-lan or wake-up in the case of a fax call).
- PC personal computers
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
- Test And Diagnosis Of Digital Computers (AREA)
- Storage Device Security (AREA)
Abstract
Description
Claims
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE10240770 | 2002-08-30 | ||
DE10240770 | 2002-08-30 | ||
PCT/DE2003/001747 WO2004023299A2 (de) | 2002-08-30 | 2003-05-28 | Verfahren zur initialisierung von programmierbaren systemen |
Publications (1)
Publication Number | Publication Date |
---|---|
EP1532526A2 true EP1532526A2 (de) | 2005-05-25 |
Family
ID=31969024
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
EP03793579A Withdrawn EP1532526A2 (de) | 2002-08-30 | 2003-05-28 | Verfahren zur initialisierung von programmierbaren systemen |
Country Status (6)
Country | Link |
---|---|
US (1) | US20060155978A1 (de) |
EP (1) | EP1532526A2 (de) |
JP (1) | JP2005537575A (de) |
AU (1) | AU2003249842A1 (de) |
DE (1) | DE10393639D2 (de) |
WO (1) | WO2004023299A2 (de) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7356681B2 (en) * | 2004-03-05 | 2008-04-08 | Finisar Corporation | Transient transceiver clock configuration |
US7480740B1 (en) * | 2004-10-05 | 2009-01-20 | Lsi Corporation | Method and system for enforcing hardware/software compatibility constraints |
US9182999B2 (en) * | 2012-05-30 | 2015-11-10 | Advanced Micro Devices, Inc. | Reintialization of a processing system from volatile memory upon resuming from a low-power state |
JP6021836B2 (ja) * | 2014-02-25 | 2016-11-09 | Line株式会社 | 通信サーバ |
CN105487906A (zh) * | 2015-12-07 | 2016-04-13 | 浪潮集团有限公司 | 一种利用外挂flash实现mcu核代码更新的方法及系统 |
CN111443954A (zh) * | 2020-03-31 | 2020-07-24 | 广东美的制冷设备有限公司 | 设备的初始化方法、装置、电子设备和计算机存储介质 |
Family Cites Families (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US52067A (en) * | 1866-01-16 | Insect-trap | ||
US83427A (en) * | 1868-10-27 | Improvement in rotary steam-engines | ||
US73307A (en) * | 1868-01-14 | sttjaut | ||
US52068A (en) * | 1866-01-16 | Improved expanding tap | ||
US5101490A (en) * | 1989-01-10 | 1992-03-31 | Bull Hn Information Systems Inc. | Peripheral device controller with an EEPROM with microinstructions for a RAM control store |
CA2126950A1 (en) * | 1993-07-30 | 1995-01-31 | Bryan M. Willman | Booting a computer system using a last known good set of configuration data |
US5537558A (en) * | 1994-10-05 | 1996-07-16 | Halliburton Company | Apparatus and method for communicating multiple devices through one PCMCIA interface |
US6438687B2 (en) * | 1997-10-30 | 2002-08-20 | Micron Technology, Inc. | Method and apparatus for improved storage of computer system configuration information |
US6167472A (en) * | 1998-05-29 | 2000-12-26 | Motorola Inc. | System for communicating with and initializing a computer peripheral utilizing a masked value generated by exclusive-or of data and corresponding mask |
US6519716B1 (en) * | 1999-09-22 | 2003-02-11 | International Business Machines Corporation | Electronic device initialization with dynamic selection of access time for non-volatile memory |
JP2001195261A (ja) * | 2000-01-13 | 2001-07-19 | Nec Corp | 外部メモリから内蔵メモリへのプログラム転送方法およびその転送方法を用いたマイクロコンピュータ |
DE10050604A1 (de) * | 2000-10-12 | 2002-04-25 | Siemens Ag | Verfahren zum Starten einer Datenverarbeitungsanlage sowie zugehörige Komponenten |
US20020083427A1 (en) * | 2000-12-26 | 2002-06-27 | Chen-Pang Li | Embedded system capable of rapidly updating software and method for rapidly updating software of embedded system |
-
2003
- 2003-05-28 DE DE10393639T patent/DE10393639D2/de not_active Expired - Fee Related
- 2003-05-28 US US10/525,688 patent/US20060155978A1/en not_active Abandoned
- 2003-05-28 WO PCT/DE2003/001747 patent/WO2004023299A2/de active Application Filing
- 2003-05-28 EP EP03793579A patent/EP1532526A2/de not_active Withdrawn
- 2003-05-28 JP JP2004533191A patent/JP2005537575A/ja active Pending
- 2003-05-28 AU AU2003249842A patent/AU2003249842A1/en not_active Abandoned
Non-Patent Citations (1)
Title |
---|
See references of WO2004023299A2 * |
Also Published As
Publication number | Publication date |
---|---|
WO2004023299A3 (de) | 2004-10-07 |
WO2004023299A2 (de) | 2004-03-18 |
DE10393639D2 (de) | 2005-07-14 |
JP2005537575A (ja) | 2005-12-08 |
AU2003249842A1 (en) | 2004-03-29 |
US20060155978A1 (en) | 2006-07-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE69834401T2 (de) | Businterfacesystem und verfahren | |
DE3881414T2 (de) | Datenverarbeitungssystem mit einer steckbaren optionellen Karte. | |
DE69209538T2 (de) | Automatische Konfiguration einer Einheit für koppelbare Rechner | |
DE102004057756B4 (de) | USB-Steuerungseinrichtung mit OTG-Steuerungseinheit | |
DE102015217933B4 (de) | Vorrichtung zum Verarbeiten von Daten und Verfahren zum Betreiben einer solchen Vorrichtung | |
DE102021101458A1 (de) | Master- und Slave-Prozessoren zum Konfigurieren von Subsystemen | |
DE60202655T2 (de) | System zum Fernladen und zur Fernwartung einer elektronischen Karte | |
US6904484B1 (en) | Low pin count (LPC) firmware hub recovery | |
DE4238099C2 (de) | Mikroprozessor mit mehreren Betriebsmoden | |
EP1532526A2 (de) | Verfahren zur initialisierung von programmierbaren systemen | |
DE19960574A1 (de) | PCI-Fehlerbehebungsvorrichtung,-Verfahren und -System | |
DE60111542T2 (de) | Verfahren, vorrichtung und system fur allgemeines steuerungerweiterungsmoduls | |
DE69915788T2 (de) | Mikrokontrollgerät mit Fehlerbeseitigungsunterstützung | |
EP2287742B1 (de) | Programmgesteuerte Einheit | |
DE102006012677A1 (de) | Verfahren und Anordnung zur Freischaltung und zur Konfiguration spezifischer Systemabläufe eines Druckers oder Kopierers | |
EP2596429B1 (de) | Verfahren zum ausführen eines dienstprogramms, computersystem und computerprogrammprodukt | |
DE10050604A1 (de) | Verfahren zum Starten einer Datenverarbeitungsanlage sowie zugehörige Komponenten | |
DE4223398C2 (de) | Verfahren und Vorrichtung zur Programmierung von nichtflüchtigen Speichern | |
EP0464028B1 (de) | Multiprozessorsystem | |
DE10308295B4 (de) | Verfahren und System zur Anbindung von Baugruppen an ein Bussystem | |
DE102005017298B4 (de) | Verfahren und Vorrichtung zum Schreiben eines Ablaufsprogramms in eine Speichervorrichtung einer programmgesteuerten Steuervorrichtung | |
DE102015101327B4 (de) | Verfahren zur Anpassung der Aufteilung von Busleitungen eines Kommunikationsbusses in einem Computersystem | |
DE102021101460A1 (de) | Prozessoren zur Konfiguration von Subsystemen während andere Prozessoren im Reset gehalten werden | |
DE10300026B4 (de) | Softwaregesteuertes System zur Konfiguration von Zugriffs-Steuermodi eines DRAM-Modul-Sockels | |
DE102018218722A1 (de) | Verfahren und Vorrichtung zum Konfigurieren einer Bootsoftware eines elektronischen Steuergerätes |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PUAI | Public reference made under article 153(3) epc to a published international application that has entered the european phase |
Free format text: ORIGINAL CODE: 0009012 |
|
17P | Request for examination filed |
Effective date: 20050203 |
|
AK | Designated contracting states |
Kind code of ref document: A2 Designated state(s): AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HU IE IT LI LU MC NL PT RO SE SI SK TR |
|
AX | Request for extension of the european patent |
Extension state: AL LT LV MK |
|
DAX | Request for extension of the european patent (deleted) | ||
RBV | Designated contracting states (corrected) |
Designated state(s): DE FR GB |
|
RIN1 | Information on inventor provided before grant (corrected) |
Inventor name: BRETSCHNEIDER, JENS Inventor name: DAVID, JENS |
|
17Q | First examination report despatched |
Effective date: 20070129 |
|
RAP1 | Party data changed (applicant data changed or rights of an application transferred) |
Owner name: NXP SEMICONDUCTORS GERMANY GMBH |
|
RAP1 | Party data changed (applicant data changed or rights of an application transferred) |
Owner name: NXP B.V. |
|
STAA | Information on the status of an ep patent application or granted ep patent |
Free format text: STATUS: THE APPLICATION IS DEEMED TO BE WITHDRAWN |
|
18D | Application deemed to be withdrawn |
Effective date: 20090317 |