DE602006000424T2 - Testen von Mobilfunkeinrichtungen während der Herstellung - Google Patents

Testen von Mobilfunkeinrichtungen während der Herstellung Download PDF

Info

Publication number
DE602006000424T2
DE602006000424T2 DE602006000424T DE602006000424T DE602006000424T2 DE 602006000424 T2 DE602006000424 T2 DE 602006000424T2 DE 602006000424 T DE602006000424 T DE 602006000424T DE 602006000424 T DE602006000424 T DE 602006000424T DE 602006000424 T2 DE602006000424 T2 DE 602006000424T2
Authority
DE
Germany
Prior art keywords
test
data
buffer
testing
log
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.)
Active
Application number
DE602006000424T
Other languages
English (en)
Other versions
DE602006000424D1 (de
Inventor
Lianghau Kitchener Yang
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.)
BlackBerry Ltd
Original Assignee
Research in Motion 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 Research in Motion Ltd filed Critical Research in Motion Ltd
Publication of DE602006000424D1 publication Critical patent/DE602006000424D1/de
Application granted granted Critical
Publication of DE602006000424T2 publication Critical patent/DE602006000424T2/de
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W24/00Supervisory, monitoring or testing arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M1/00Substation equipment, e.g. for use by subscribers
    • H04M1/24Arrangements for testing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W88/00Devices specially adapted for wireless communication networks, e.g. terminals, base stations or access point devices
    • H04W88/02Terminal devices

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Debugging And Monitoring (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Fittings On The Vehicle Exterior For Carrying Loads, And Devices For Holding Or Mounting Articles (AREA)
  • Monitoring And Testing Of Transmission In General (AREA)

Description

  • Die folgenden Ausführungen beziehen sich auf das Gebiet von Funkkommunikationseinrichtungen und insbesondere auf das Testen und/oder Kalibrieren von Funkkommunikationseinrichtungen während der Herstellung der Einrichtungen.
  • Funkkommunikationseinrichtungen, wie z. B. Mobiltelefone, PDAs (Personal Digital Assistants) und dergleichen, verfügen über Komponenten, zu denen Mikroprozessoren, Eingabeperipheriemodule wie z. B. ein Tastenfeld, spezielle Funktionstasten und -räder, Ausgabeperipheriegeräte und Informationsspeichermittel zählen. Diese Einrichtungen führen eine oder mehrere Softwareanwendungen wie Mikro-Browser, Adressbücher und E-Mail-Clients aus. Außerdem hat die aktuelle Generation dieser Einrichtungen Zugang zu einer Vielzahl von Diensten über das Internet. Eine Funkeinrichtung kann beispielsweise zum Browsen von Webseiten im Internet, zum Senden und Empfangen von Grafiken und zum Ausführen von Audio- und/oder Video-Streaming-Anwendungen verwendet werden.
  • Solche Einrichtungen werden typischerweise während ihrer jeweiligen Herstellung getestet und kalibriert, um die Zuverlässigkeit und die Qualitätskontrolle entsprechend den relevanten Standards und Leistungsanforderungen zu gewährleisten. Eine Funkeinrichtung durchläuft dabei typischerweise mehrere Kalibrierungs- und Teststufen, um die qualitative Eignung jeder ihrer Komponenten zu überprüfen. Für Mobileinrichtungen können diese Tests Folgendes einschließen: Wechselstrom (AC), Gleichstrom (DC), abgestrahlte Funkfrequenz (HF), Tasten, internes Mikrofon, interner Lautsprecher, Ladefunktion, Summer, Vibrator und Bildschirm. In Abhängigkeit von dem anfänglich gewählten Weg der Testentwicklung enthalten die meisten Fertigungsstraßen eine Reihe von Kalibrierungs- und Teststationen, wobei jede dieser Stationen nacheinander eine Reihe von Kalibrierungen und Tests durchführt, die einem Testplan entnommen sind. Die Teststationen enthalten oft Computer, auf denen Daten aufgezeichnet werden können, die während der Tests gewonnen werden; die Daten können vom zu testenden Gerät (Device Under Test – DUT) über eine Datenverbindung zwischen dem Computer und dem DUT zum Teststationscomputer übertragen und dort gespeichert werden.
  • Das Durchführen von Kalibrierung und Tests für immer komplexer werdende Funkeinrichtungen hat zu immer längeren Herstellungszeiten pro Einheit und/oder zu niedrigen Ausstoßraten geführt. Die Techniker der Fertigungsstraße sind oft nicht in der Lage, die Ursache von Gerätefehlern in einer Teststation zu diagnostizieren und müssen den Fehler replizieren, um dynamische geräteseitige Datenprotokolle auf Teststationscomputern zur späteren Analyse durch Firmware- und/oder Software-Entwickler aufzuzeichnen. Außerdem haben die Techniker der Fertigungsstraße oft Schwierigkeiten, vollständige und genaue Protokolle von den gerade getesteten oder kalibrierten Geräten zu gewinnen. Umgekehrt erhalten die Entwickler oft nicht rechtzeitig den Informations-Input von der Fertigungsstraße, der verwendet werden könnte, um existierende oder potenzielle Probleme in der Fertigungsstraße zu vermeiden.
  • EP 1517570 offenbart ein System zum Durchführen von Leistungstests von Funkeinrichtungen, wodurch Testskripts über ein Verbindungskabel hochgeladen werden und der Test durchgeführt wird, nachdem das Kabel abgetrennt wurde. In EP 1309214 erfolgt die Lieferung von leistungsbezogenen Daten zu einem Netzwerk als Reaktion auf eine verschlüsselte Anforderung, und ein Test wird implementiert, indem die Daten verarbeitet werden.
  • Es besteht daher ein Bedarf nach einem Verfahren, Produkt und/oder System zum effizienten Testen von Funkeinrichtungen und zum Ausgeben von originalen, genauen und vollständigen geräteseitigen Protokollen während der Herstellung der Einrichtungen. Entsprechend ist eine Lösung erwünscht, welche die oben beschriebenen und andere Mängel zumindest teilweise behebt.
  • ALLGEMEINES
  • Gemäß einem Aspekt wird vorzugsweise ein Verfahren zum Testen einer Mobilfunkeinrichtung während der Herstellung bereitgestellt. Das Verfahren umfasst das Festlegen von zumindest einem Teil des für die virtuelle Geräte- und/oder Anwendungsnutzung zugewiesenen Random Access Memory (RAM) der Einrichtung als einen Datenprotokollpuffer während der Herstellung der Einrichtung, wenn die Einrichtung im Endbenutzermodus betrieben wird; und das Testen der Einrichtung und das Speichern von Testprotokolldaten in dem Puffer. Die zugewiesene Puffergröße kann groß genug sein, um eine vollständige Einrichtungstest- und – kalibrierungsprozedur zu speichern. Das Verfahren kann des Weiteren nach dem Testen das Abrufen der protokollierten Daten aus dem RAM-Puffer und das Verarbeiten der Daten mithilfe eines Fehlerbeseitigungs- und Protokollanalysewerkzeugs umfassen. Die protokollierten Daten können zu einer Teststation gesendet werden, dann zu einem Intranet-Speicher, und die Daten können später durch Techniker mit unterschiedlichem Fachwissen verarbeitet werden. Bei dem RAM kann es sich um einen Static Random Access Memory (SRAM) handeln.
  • Gemäß einem anderen Aspekt wird vorzugsweise ein Computerprogrammprodukt zum Testen einer Mobilfunkeinrichtung während der Herstellung bereitgestellt. Das Produkt umfasst einen Speicher, in dem ein computerlesbarer Code verkörpert ist, wobei der Code Befehle und Anweisungen zur Implementierung des obigen Verfahrens enthält.
  • Gemäß einem noch weiteren Aspekt wird vorzugsweise ein System zum Testen einer Mobilfunkeinrichtung während der Herstellung bereitgestellt. Das System umfasst eine Teststation, die mit der Einrichtung kommuniziert und dem Testen der Einrichtung während der Herstellung dient; und einen computerlesbaren Speicher, der mit der Einrichtung kommuniziert und auf dem Befehle und Anweisungen gespeichert sind zum Festlegen von zumindest einem Teil des für die virtuelle Geräte- und/oder Anwendungsnutzung zugewiesenen Random Access Memory (RAM) der Einrichtung als einen Datenprotokollpuffer während der Herstellung der Einrichtung, wenn die Einrichtung im Endbenutzermodus betrieben wird, und zum Speichern von Testprotokolldaten in dem Puffer, die aus dem Testen der Einrichtung gewonnen werden. Das System kann des Weiteren ein mit der Einrichtung kommunizierendes Fehlerbeseitigungs- und Protokollanalysewerkzeug enthalten, das zur Verarbeitung der aus dem Puffer gewonnenen Daten verwendet wird.
  • Gemäß einem noch weiteren Aspekt wird vorzugsweise ein Verfahren zum Montieren einer Mobilfunkeinrichtung bereitgestellt, umfassend das Zuführen der Komponenten der Einrichtung zu einer Fertigungsstraße, wobei zu den Komponenten ein Random Access Memory (RAM) gehört, und das Montieren der Komponenten zu einer vollständigen Einrichtung in der Fertigungsstraße; vor und/oder während und/oder nach dem Montieren der Komponenten das Festlegen von zumindest einem Teil des für die virtuelle Geräte- und/oder Anwendungsnutzung zugewiesenen Random Access Memory (RAM) der Einrichtung als einen Datenprotokollpuffer, wenn die Einrichtung im Endbenutzermodus betrieben wird; und vor und/oder während und/oder nach dem Montieren der Komponenten das Testen der Einrichtung und das Speichern von Testprotokolldaten in dem Puffer.
  • KURZE BESCHREIBUNG DER ZEICHNUNGEN
  • Weitere Merkmale und Vorteile der Ausführungsformen der vorliegenden Erfindung werden aus der folgenden detaillierten Beschreibung deutlich, die in Verbindung mit den beigefügten Zeichnungen erfolgt, welche folgende Bedeutung haben:
  • 1 ist ein Blockdiagramm einer bevorzugten Funkkommunikationseinrichtung, die zur Implementierung einer Ausführungsform eingerichtet ist;
  • 2 ist ein Blockdiagramm zur Darstellung der Verwendung des Dauerspeichers und des flüchtigen Speichers in der Einrichtung aus 1;
  • 3 ist ein Flussdiagramm zur Darstellung eines ersten Verfahrens zum Testen von Funkeinrichtungen gemäß einer Ausführungsform;
  • 4 ist ein Flussdiagramm zur Darstellung eines zweiten Verfahrens zum Testen von Funkeinrichtungen gemäß einer Ausführungsform;
  • 5 ist ein Blockdiagramm zur Darstellung eines exemplarischen Testsystems, das zur Implementierung einer Ausführungsform eingerichtet ist;
  • 6 ist ein Flussdiagramm zur Darstellung eines Verfahrens zur Fehlersuche, das während des ersten oder zweiten Verfahrens gemäß einer Ausführungsform verwendet wird.
  • Es wird darauf hingewiesen, dass bei allen beigefügten Zeichnungen gleiche Merkmale durch die gleichen Bezugsziffern gekennzeichnet sind.
  • BESCHREIBUNG BEVORZUGTER AUSFÜHRUNGSFORMEN
  • Gemäß einer Ausführungsform wird ein bestimmter Teil des SRAM, der sich in einer Funkkommunikationseinrichtung befindet, während des Testens und Kalibrierens der Einrichtung in der Fertigungsstraße als ein Datenprotokollpuffer verwendet, um Protokolle für eine Post-Mortem-Fehlerbeseitigung mithilfe eines Protokollanalysewerkzeugs aufzuzeichnen. Dieser Teil des SRAM ist normalerweise für die JVM-Verwendung (Java Virtual Machine) reserviert, wenn die Einrichtung im Endbenutzermodus betrieben wird; dieser Teil ist jedoch ungenutzt, wenn die Einrichtung gerade in einer Fertigungsstraße hergestellt, kalibriert und getestet wird, d. h. die Einrichtung ein "DUT" (Device Under Test – zu testendes Gerät) ist. Während es sich in der Fertigungsstraße befindet, wird mindestens ein Megabyte dieses Teils des SRAM zur Verwendung als Datenprotokollpuffer neu zugewiesen, um einige oder alle der Kalibrierungs- und Testbefehle, -aktionen und -ergebnisse sowie einige oder alle der Gerätekalibrierungs- und Testaktionen der Funk- und Geräte-Firmware im Gerätebetriebssystem (Operating System – OS), die während des Testens in jeder Teststation der Fertigungsstraße generiert werden, zu protokollieren. Die im Datenprotokollpuffer protokollierten Daten können andere und detailliertere Daten sein als die Daten, die herkömmlich durch die Teststationen während der Gerätetests gewonnen werden. Nach dem Abschluss der Gerätetests kann der Datenprotokollpuffer vom DUT zu einem Teststationscomputer heruntergeladen und dort zur sofortigen oder späteren Analyse gespeichert werden. Alternativ oder zusätzlich kann der heruntergeladene Datenprotokollpuffer zu anderen Standorten zur Analyse gesendet werden, z. B. zu entfernt gelegenen Entwicklungsteams für Funkeinrichtungssoftware und -firmware. Der Datenprotokollpuffer kann jedes Mal heruntergeladen werden, wenn sich das DUT in einer Teststation befindet, oder nur dann, wenn das DUT einen Test nicht besteht oder es unerwartet mehr Zeit in Anspruch nimmt, um den Test zu bestehen. Das Protokollieren der originalen Test- und Kalibrierungsdaten auf eine solche Weise ist besonders vorteilhaft, da das Personal, das die Tests an der Teststation durchführt, oft nicht über das nötige Fachwissen verfügt, um den Fehler direkt beim Auftreten des Fehlers zu diagnostizieren, und die Testdaten, die herkömmlich während der Gerätetests aufgezeichnet werden, sind oft für die Entwicklungsteams oder für anderes qualifiziertes Personal nicht ausreichend, um den Fehler zu einem späteren Zeitpunkt zu diagnostizieren. Darüber hinaus repräsentiert der Datenprotokollpuffer zusätzliche Fertigungsstraßendaten, die den Entwicklungsteams zur Verfügung stehen und es diesen Teams ermöglichen können, potenzielle Probleme zu antizipieren und zu lösen, die ansonsten während der Herstellung auftreten würden.
  • Ein Beispiel einer Funkkommunikationseinrichtung 102, die gemäß einer Ausführungsform eingerichtet ist, wird in 1 dargestellt. Die Einrichtung 102 ist ein Zweiwegkommunikationsgerät, das zumindest über Sprach- und erweiterte Datenkommunikationsfunktionen verfügt, wozu die Fähigkeit zur Kommunikation mit anderen Computersystemen zählt. Je nach Funktionalität, die die Einrichtung 102 bereitstellt, kann sie als Daten-Messaging-Gerät, als Zweiweg-Pager, als Mobiltelefon mit Daten-Messaging-Funktionen, als Drahtlos-Internet-Einrichtung oder als Datenkommunikationsgerät (mit oder ohne Telefoniefunktionen) bezeichnet werden. Die Einrichtung 102 kann einer beliebigen aus einer Vielzahl von feststehenden Funkstationen 100 innerhalb ihres geografischen Abdeckungsgebiets kommunizieren.
  • Die Einrichtung 102 enthält normalerweise ein Kommunikationssubsystem 111, das einen Empfänger, einen Sender und die zugehörigen Komponenten wie beispielsweise ein oder mehrere (vorzugsweise eingebettete oder interne) Antennenelemente und Lokaloszillatoren (LOs) einschließt, sowie ein Verarbeitungsmodul wie beispielsweise einen digitalen Signalprozessor (DSP) (alle nicht dargestellt). Wie dem Fachmann auf dem Gebiet der Kommunikationstechnik deutlich wird, richtet sich der konkrete Aufbau des Kommunikationssubsystems 111 nach dem Kommunikationsnetzwerk, in dem die Einrichtung 102 betrieben werden soll.
  • Der Netzwerkzugriff ist mit einem Teilnehmer bzw. mit einem Benutzer der Einrichtung 102 assoziiert, weshalb in die Einrichtung 102 je nach Netzwerktyp ein Teilnehmererkennungsmodul (Subscriber Identity Module – SIM) 162 bzw. eine SIM-Karte in eine SIM-Schnittstelle 164 eingesetzt werden muss, um den Betrieb im Netzwerk zu ermöglichen. Die Einrichtung 102 ist ein batteriebetriebenes Gerät, weshalb sie ebenfalls eine Batterieschnittstelle 154 zum Aufnehmen von einer oder mehreren wiederaufladbaren Batterien 156 aufweist. Eine solche Batterie 156 liefert den elektrischen Strom für einen Großteil oder sogar für die gesamte elektrische Schaltung in der Einrichtung 102, und die Batterieschnittstelle 154 sorgt für ihre mechanische und elektrische Verbindung. Die Batterieschnittstelle 154 ist mit einem Regler (nicht dargestellt) gekoppelt, der die Spannung V+ für die gesamte Schaltung zur Verfügung stellt.
  • Die Einrichtung 102 enthält einen Mikroprozessor 138, der den Gesamtbetrieb der Einrichtung 102 steuert. Die Kommunikationsfunktionen, wozu zumindest Daten- und Sprachkommunikation zählen, werden durch das Kommunikationssubsystem 111 durchgeführt. Der Mikroprozessor 138 interagiert auch mit weiteren Gerätesubsystemen wie einem Display 122, einem Flash-Speicher 124 oder einem anderen Dauerspeicher, einem SRAM (Static Random Access Memory) 126, zusätzlichen Eingabe-/Ausgabe-Subsystemen (EIA) 128, einem seriellen Anschluss 130, einer Tastatur 132, einem Lautsprecher 134, einem Mikrofon 136, einem Nahbereichskommunikationssubsystem 140 und mit allen sonstigen Gerätesubsystemen, die allgemein als 142 bezeichnet werden. Einige der in 1 gezeigten Subsysteme führen kommunikationsbezogene Funktionen aus, während andere Subsysteme für "residente" oder geräteeigene Funktionen verantwortlich sind. Vor allem können einige Subsysteme wie beispielsweise die Tastatur 132 und das Display 122 sowohl für kommunikationsbezogene Funktionen wie das Eingeben einer Textnachricht zur Übertragung über ein Kommunikationsnetz als auch für geräteresidente Funktionen wie einen Taschenrechner oder eine Aufgabenliste verwendet werden. Die Funk- und eingebettete Software sowie JVM (zusammenfassend als "Haupt-Betriebssystem-(OS)-Firmware" bezeichnet), sowie Java-Anwendungen sind vorzugsweise in einem Dauerspeicher wie dem Flash-Speicher 124 gespeichert, was alternativ auch ein Festwertspeicher (Read Only Memory – ROM) oder ein ähnliches Speicherelement (nicht dargestellt) sein kann. Dem Fachmann auf dem Gebiet der Technik wird einleuchten, dass durch die Haupt-OS-Firmware erzeugte Objekte und andere Daten, spezifische Geräteanwendungen oder Teile davon temporär in einen flüchtigen Speicher wie den SRAM 126 geladen werden können.
  • Obwohl die Funkeinrichtung 102 auf der Java-Plattform betrieben wird und JVM- und Java-Anwendungen verwendet, können an deren Stelle auch andere Software-Plattformen unter Verwendung eines unterschiedlichen Virtual Machine/Anwendungs-Frameworks und anderer Anwendungen, wie sie nach dem Stand der Technik bekannt sind, verwendet werden.
  • Der Mikroprozessor 138 ermöglicht vorzugsweise zusätzlich zu seinen Betriebssystemfunktionen die Ausführung von Softwareanwendungen in der Einrichtung 102. Eine bestimmte Anzahl von Anwendungen zur Steuerung der grundlegenden Gerätefunktionen, einschließlich z. B. mindestens der Anwendungen zur Daten- und Sprachkommunikation, sind normalerweise bereits herstellerseitig auf der Einrichtung 102 installiert. Eine bevorzugte Softwareanwendung, die auf die Einrichtung 102 geladen werden kann, kann eine PIM-Anwendung (Personal Information Manager) sein, die über Funktionen zum Organisieren und Verwalten von Datenobjekten verfügt, die zu dem Benutzer gehören, was beispielsweise unter anderem Instant Messaging (IM), E-Mails, Kalenderereignisse, Sprachnachrichten, Termine und Aufgabenobjekte sein können. Natürlich würden auf der Einrichtung 102 und im SIM 162 auch ein oder mehrere Speicherbereiche verfügbar sein, um die Speicherung von PIM-Datenobjekten und anderer Informationen zu ermöglichen.
  • Die PIM-Anwendung ist vorzugsweise in der Lage, Datenobjekte über das Funknetzwerk zu senden und zu empfangen. In einer bevorzugten Ausführungsform werden die PIM-Datenobjekte über das Funknetzwerk nahtlos mit den zum Benutzer der Mobilstation gehörenden Datenobjekten integriert, synchronisiert und aktualisiert, die auf einem Host-Computersystem gespeichert und/oder diesem zugehörig sind, wodurch im Hinblick auf diese Objekte ein gespiegeltes Abbild des Host-Computers auf der Einrichtung 102 erstellt wird. Das ist insbesondere dann vorteilhaft, wenn es sich beim Host-Computersystem um das Bürocomputersystem des Benutzers der Mobilstation handelt. Weitere Anwendungen können auch über das Netzwerk 100, über ein zusätzliches E/A-Subsystem 128, über den Datenanschluss 130, über das Nahbereichskommunikationssubsystem 140 oder über jedes andere geeignete Subsystem 142 auf die Einrichtung 102 geladen und durch einen Benutzer im SRAM 126 oder vorzugsweise im nichtflüchtigen Speicher 124 installiert werden, so dass sie durch den Mikroprozessor 138 ausgeführt werden können. Eine derartige Flexibilität bei der Anwendungsinstallation erhöht die Funktionalität der Einrichtung 102 und kann erweiterte geräteeigene Funktionen, kommunikationsbezogene Funktionen oder beides ermöglichen. Zum Beispiel können durch sichere Kommunikationsanwendungen E-Commerce-Funktionen und ähnliche finanzielle Transaktionen auf der Einrichtung 102 ermöglicht werden.
  • In einem Datenkommunikationsmodus wird ein empfangenes Signal wie z. B. eine Textnachricht, eine E-Mail-Nachricht oder ein Webseitendownload durch das Kommunikationssubsystem 111 verarbeitet und in den Mikroprozessor 138 eingespeist. Der Mikroprozessor 138 verarbeitet das Signal vorzugsweise weiter zur Ausgabe an das Display 122 oder alternativ an das zusätzliche E/A-Gerät 128. Ein Benutzer der Einrichtung 102 kann auch Datenobjekte wie beispielsweise E-Mail- Nachrichten erstellen, wozu die Tastatur 132 in Verbindung mit dem Display 122 und möglicherweise einem zusätzlichen E/A-Gerät 128 verwendet wird. Bei der Tastatur 132 handelt es sich vorzugsweise um eine vollständige alphanumerische Tastatur und/oder um ein für Telefone typisches Tastenfeld. Die so erstellten Objekte können durch das Kommunikationssubsystem 111 oder das Nahbereichssubsystem 140 über ein Kommunikationsnetzwerk übertragen werden.
  • Für die Sprachkommunikation ist der allgemeine Betrieb der Einrichtung 102 im Wesentlichen gleich, außer dass die empfangenen Signale zum Lautsprecher 134 ausgegeben würden, und die Signale für die Übertragung durch das Mikrofon 136 erzeugt würden. Alternative Sprach- oder Audio-E/A-Subsysteme, wie z. B. ein Aufzeichnungssubsystem für Sprachnachrichten, können auch in der Einrichtung 102 implementiert sein. Obwohl die Sprach- oder Audiosignalausgabe in erster Linie und vorzugsweise durch den Lautsprecher 134 erreicht wird, kann auch das Display 122 verwendet werden, um beispielsweise eine Anzeige zur Identität des Anrufers, zur Dauer eines Sprachanrufs oder zu anderen auf Sprachanrufe bezogene Informationen bereitzustellen.
  • Der Datenanschluss 130 aus 1 ist normalerweise in einem Kommunikationsgerät des Typs PDA (Personal Digital Assistent) implementiert, für das eine Synchronisierung mit einem Desktopcomputer des Benutzers erwünscht ist, es handelt sich dabei jedoch um eine optionale Komponente. Der Datenanschluss 130 kann seriell oder USB sein. Der Datenanschluss 130 ermöglicht es einem Benutzer, über ein externes Gerät oder eine Softwareanwendung Voreinstellungen festzulegen, und erweitert die Fähigkeiten der Einrichtung 102 durch das Bereitstellen von Informationen oder Softwaredownloads zur Einrichtung 102, welches nicht über ein drahtloses Kommunikationsnetzwerk erfolgt. Der alternative Downloadpfad kann beispielsweise verwendet werden, um über eine direkte und damit zuverlässige und vertrauenswürdige Verbindung einen Verschlüsselungsschlüssel auf die Einrichtung 102 zu laden, um eine sichere Gerätekommunikation zu ermöglichen.
  • Das Nahbereichskommunikationssubsystem 140 aus 1 ist eine weitere optionale Komponente, die die Kommunikation zwischen der Einrichtung 102 und verschiedenen Systemen oder Geräten ermöglicht, bei denen es sich nicht unbedingt um gleichartige Geräte handeln muss. Beispielsweise kann das Subsystem 140 ein Infrarotgerät sowie die zugehörigen Schaltungen und Komponenten oder ein BluetoothTM-Kommunikationsmodul enthalten, um die Kommunikation mit Systemen und Geräten zu ermöglichen, die über die gleichen Funktionen verfügen. BluetoothTM ist ein eingetragenes Warenzeichen von Bluetooth SIG. Inc.
  • 2 zeigt die Verwendung des Dauerspeichers und des flüchtigen Speichers der Einrichtung während des Testens und Kalibrierens in der Fertigungsstraße. Ein wichtiger Teil des SRAM 126 in der Einrichtung 102 ist normalerweise für die Verwendung durch JVM- und/oder Java-Anwendungen reserviert. Dieser SRAM 126 ist jedoch ungenutzt, wenn die Einrichtung 102 gerade in einer Fertigungsstraße hergestellt, kalibriert und getestet wird. Während der Tests und Kalibrierung in der Fertigungsstraße ist in den Flash-Dauerspeicher 124 der bestückten Leiterplatte einer Einrichtung ein Build der Funk- oder eingebetteten Firmware zur sofortigen Initialisierung beim Einschalten (zusammenfassend als "werksseitige OS-Firmware" bezeichnet) 166 geladen; in diesem Stadium befindet sich im Flash-Speicher 124 noch keine JVM- oder Java-Anwendungssoftware (leere Speichermodule mit 167 dargestellt). Ein bestimmter Anteil 168 des SRAM 126 ist dem Speichern von Datenobjekten zugewiesen, die während des normalen Betriebs der werksseitigen OS-Firmware erstellt werden. Der restliche SRAM 126, der während des Betriebs der Einrichtung 102 für JVM und Anwendungen reserviert ist, wird während der Herstellung der Einrichtung als ein Datenprotokollpuffer 170 festgelegt, um sämtliche Ereignisse, Aktionen und Ergebnisse einer Test- und Kalibrierungsprozedur aufzuzeichnen. Die werksseitige OS-Firmware enthält ein SCM-Build (Software Configuration Management) mit integrierten Ausgabebefehlsanweisungen für jedes Ereignis, jede Aktion und jedes Ergebnis der Kalibrierung, um die entsprechenden Daten in den Datenprotokollpuffer 170 ausgeben zu können ("Protokollierungs-Firmware").
  • Jede Ausgabebefehlsanweisung ist ein Makro, das bei der Kompilierung in ein reguläres Funktionsaufruf-Codestück übersetzt wird. Das heißt, dass jeder Ausgabebefehlsanweisung eine separate entsprechende Funktion zur Ausführung einer Datenoperation zugeordnet ist, z. B. zum Vorbereiten und Formatieren des Dateneintrags, zum kontinuierlichen Schreiben des Dateneintrags in den RAM-Puffer 170. Die Ausgabebefehlsanweisungen werden durch Programmierer in jedem der Kalibrierungs-/Testpfade zum Firmware-Code hinzugefügt.
  • Die Ausgabebefehlsanweisungen sind reguläre Code-Zeilen, deren Ausgabe auch kompatibel ist zu einem Fehlerbeseitigungs- und Protokollanalyseprogramm, das auf Teststationen und anderen Computern der Entwickler ausgeführt wird und das weiter unten detailliert beschrieben wird. Jede Ausgabebefehlsanweisung generiert einen Datenprotokolleintrag, der mit einer entsprechenden vordefinierten Struktur formatiert ist, z. B. mit einer grundlegenden Struktur im Stil der Programmiersprache C unter Verwendung der TLD-Elementerweiterung (Type-Length-Data). Der Datenprotokolleintrag wird in dem Puffer 170 gespeichert. Beim Speichern kann der Datenprotokolleintrag so weit wie möglich binär codiert und verdichtet werden. Beispielsweise kann jede Beschreibungszeichenfolge durch das Protokollanalyseprogramm mit einer eindeutigen Vier-Byte-Kennung assoziiert werden, um eine eindeutige Eins-zu-Eins-Zuordnung zu erzeugen. In dem Datenprotokollpuffer 170 wird nur die Vier-Byte-Kennung in einem Datenprotokolleintrag protokolliert. Später kann das Protokollanalyseprogramm mithilfe der Zuordnung die gespeicherte Kennung wieder in die ursprüngliche Beschreibungszeichenfolge zurückübersetzen. Ein Datenprotokolleintrag in dem Puffer 170 kann den Inhalts-Byte-Strom direkt enthalten, und zwar basierend auf einem selbstdefinierten Datenprotokoll, beispielsweise einem bestimmten Kalibrierungsbefehl und einem assoziierten Längenindikator und einem Set aus assoziierten Parametern.
  • Betrachten wir ein Beispiel, in dem der 2MB-Geräte-SRAM bei der Adresse 0x0800 0000 startet und bei 0×081F FFFF endet. Angenommen der SRAM-Speicher 168 belegt 0x0800 0000 bis 0x0809 6000 (diese Adresse kann aus einem Compiler/Linker ermittelt werden), dann kann der Datenprotokollpuffer 170 bei 0x0809 6004 starten (4-Byte-Ausrichtung).
  • Das Folgende ist ein grundlegender konzeptueller Pseudo-Code, um die Funktionsaufrufe der Ausgabebefehle zum Datenprotokollpuffer 170 zu leiten:
    BYTE* actualLogBuf;
    DWORD actualLogSize;
    #define FIRMWARE_LOG_BUFFER_SIZE (16*1024)
    BYTE firmwareLogBuf[FIRMWARE_LOG_BUFFER_SIZE];
    #ifdef (FACTORY_OS_WITH_BIG_BUF)//neu verwenden von Puffer 170 von Speicher 126
    actualLogBuf = APP_SRAM_START;
    actualLogSize = APP_SRAM_END-APP_SRAM_START + 1;
    #else //nicht verwenden von Puffer 170 von Speicher 126
    actualLogBuf = (BYTE*)firmwareLogBuf;
    actualLogSize = APP FIRMWARE_LOG_BUFFER_SIZE;
    #endif
  • APP_SRAM_START; APP_SRAM_END sind Makros, die in einer Linker-Datei definiert und im obigen Beispiel auf 0x0809 6004 und 0x081F FFFF festgelegt sind. Wenn die Ausgabebefehlsfunktionen und die Protokoll-Dump-Funktion nur "actualLogBuf" und "actualLogSize" verwenden, wird mit einem neuen Build jeder Dateneintrag automatisch umgeleitet.
  • Typische Funkkommunikationseinrichtungen 102 verfügen über vier oder mehr Megabyte an SRAM, wobei ungefähr 800 Kilobyte für den Normalbetrieb der werksseitigen OS-Firmware zugewiesen ist und der Großteil des Rests für die Verwendung für JVM- und Java-Anwendungen zugewiesen ist. Da in der Fertigungsstraße nur das werksseitige OS arbeitet, werden nur ungefähr 800 Kilobyte des SRAM verwendet, und über 3 Megabyte des SRAM bleiben für den Datenprotokollpuffer 170 verfügbar. Natürlich können Einrichtungen 102, die über größere Mengen an SRAM verfügen, mit einem größeren Datenprotokollpuffer 170 konfiguriert werden.
  • 3 und 4 zeigen zwei unterschiedliche Herangehensweisen an das Testen und Kalibrieren von Funkeinrichtungen 102 gemäß einer Ausführungsform der Erfindung. Wenn die Einrichtung 102 den Tests unterzogen wird, dann wird sie in dieser Beschreibung als ein "Device Under Testing" (zu testendes Gerät) bzw. DUT 102 bezeichnet. Bezug nehmend auf ein erstes Test- und Kalibrierungsverfahren 200, wie es in 3 dargestellt ist, ist das Testen unterteilt in eine Testphase auf Platinenebene 210 und in eine Testphase auf der Ebene der vollständig montierten Einrichtung ("ASY") 220. Die Platinenebenenphase 210 kann einen Wechselstrom-(AC) und Gleichstromtest (DC) 211, einen Kalibrierungstest 212 z. B. zum Kalibrieren der HF-Leistung sowie einen GPS-Test (Global Positioning System) (nicht dargestellt) umfassen. In jeder Montage- und Testphase 221, 222, 223 sind eine oder mehrere Teststationen (nicht dargestellt) vorgesehen. Während der ASY-Ebene der Tests werden die Funkkommunikationseinrichtungen 102 montiert und durchlaufen eine Reihe von Funktions-, HF- und Audiotests. Bisher hat jede Teststufe in der ASY-Testphase 220 für gewöhnlich ihre eigene Teststation erfordert, die aus einer Testhalterung und einem externen Testsystem bestand. Oft werden solche Tests wie folgt in drei Stufen durchgeführt: Montage 221, Multifunktionstest (MFT) 222 mit z. B. Testen von LCD, Tastenfeld, Vibrator, Daumenrad, LED usw. sowie End-/Audiotests (oder HF und Audio) 223.
  • Bezug nehmend auf ein zweites Test- und Kalibrierungsverfahren 201, wie es in 4 dargestellt ist, umfasst die ASY-Testphase 220 nur zwei Teststufen: Montage und Interaktivtest 230 sowie Nicht-Interaktivtest 232. Durch die Klassifizierung der ASY-Testphasentests 220 als entweder interaktiv 230 oder nicht-interaktiv 232 kann der Testprozess basierend auf den Anforderungen der Tests im Hinblick auf die physische Interaktion neu organisiert werden. Eine einzelne externe Teststation 234 kann genutzt werden.
  • Die Teststufe Montage + Interaktivtests 230 ist die Stufe, wo jede interaktive Komponente der montierten Einrichtung (typischerweise Benutzereingabeelemente wie Tastatur- oder Tastenfeldtasten, Sondertasten und Räder oder andere derartige manuell manipulierte Eingabeelemenete) auf ihre Betriebsfähigkeit getestet werden. Ein zusätzlicher interaktiver Test kann einen Dockingstationstest einschließen, bei dem sofern zutreffend das Einsetzen in eine Dockingstation getestet wird. Dieses Einsetzen in eine Dockingstation kann durch die Einrichtung erkannt werden und zur Auslösung von einer oder mehreren Reaktionen verwendet werden, z. B. zum Auslösen einer Stromsparreaktion oder zur Aktivierung eines Status der Einrichtung, der nützlich ist für Benutzerbenachrichtigungsprofile.
  • Die Teststufe Nicht-Interaktivtests 232 schließt alle nicht-interaktiven Tests ein, die an einer einzigen Teststation durchgeführt werden. Die Konstruktion der Teststation zur Durchführung der Nicht-Interaktivtests 232 weist minimale mechanische Anforderungen auf. Die Teststation für diese Tests enthält ein externes Testsystem 234, das mit einem Testfeld (nicht dargestellt) verbunden ist, welches wiederum so eingerichtet ist, dass es eine Testpalette (nicht dargestellt) aufnehmen kann, die die Mobilkommunikationseinrichtung hält.
  • Während der Kalibrierung und der Tests an jeder der Kalibrierungs- bzw. Teststationen 211, 212, 222, 223, 230 und 232 ist das DUT 102 durch ein Kabel (nicht dargestellt), das an den Datenanschluss 130 der Einrichtung angeschlossen ist, mit der Teststation gekoppelt. Beispielsweise kann ein USB-Kabel verwendet werden, um das DUT 102 mit Strom zu versorgen und um die Zweiwegkommunikation zwischen der Teststation 211, 212, 222, 223, 230 und 232 und dem DUT 102 zu ermöglichen. Während der Tests sendet die Teststation 211, 212, 222, 223, 230 und 232 Kalibrierungs- und Testbefehle über das USB-Kabel zum DUT 102, die im DUT 102 befindliche Kalibrierungs- und Test-Firmware reagiert auf diese Befehle und gibt über das USB-Kabel Reaktionen an die Teststation 211, 212, 222, 223, 230 und 232 zurück. Ein solches Testen erfolgt in herkömmlicher Weise und wird daher hier nicht im Detail beschrieben.
  • Während das DUT 102 den Tests unterzogen wird, wird die Protokollierungs-Firmware des DUT 102 ausgeführt, und ein neues Datenprotokoll, das verschiedene Datenprotokolleinträge enthält, wird separat und unabhängig im Puffer 170 aufgezeichnet. Diese Einträge schließen die Kalibrierungs- und Testbefehle, die Aktionen der Einrichtungen sowie die Ergebnisse entsprechend den Befehlen ein. Wie im Folgenden noch detailliert beschrieben wird, wird der Datenprotokollpuffer 170 nach Abschluss der Tests über das USB-Kabel vom DUT 102 in die Teststation 211, 212, 222, 223, 230 und 232 heruntergeladen, um den Testbetrieb nicht zu behindern. Der heruntergeladene Datenprotokollpuffer 170 kann als eine separate Datendatei in einem Teststationscomputer 300 oder in einem Unternehmensdatenbanksystem oder in einem Intranet-Speichersystem gespeichert werden, und die Protokolleinträge können später mithilfe des Protokollanalysewerkzeugs analysiert werden.
  • Nunmehr Bezug nehmend auf 5, umfasst eine exemplarische Teststation das Computersystem 300 und ein Testfeld und/oder eine Testpalette (beides nicht dargestellt), die mit dem Computersystem 300 kommunizieren. Das Computersystem 300 enthält ein Eingabegerät 310, eine Zentraleinheit (Central Processing Unit – CPU) 320, einen Speicher 330, ein Display 340 und eine Schnittstelle 350. Das Eingabegerät 310 kann eine Tastatur, eine Maus, einen Trackball, eine Fernbedienung oder ein ähnliches Gerät einschließen Die CPU 320 kann zweckgebundene Koprozessoren und Speicherelemente einschließen. Der Speicher 330 kann RAM, ROM oder Plattenspeichereinrichtungen einschließen. Das Display 340 kann einen Computerbildschirm, eine Terminaleinheit oder ein Ausgabegerät zur Hardcopy-Erzeugung wie z. B. ein Drucker oder Plotter einschließen. Und die Schnittstelle 350 kann eine Netzwerkverbindung einschließen, was z. B. eine Internet-Verbindung sein kann. Das Computersystem 300 ist zum Testen von Mobileinrichtungen 102 in Verbindung mit einer Testpalette (nicht dargestellt) und einem Testfeld (nicht dargestellt) eingerichtet. Die Schnittstelle 350 schließt auch verschiedene Testanschlüsse zum Anschließen an das Testfeld ein, wie das weiter unten noch beschrieben wird.
  • Das Computersystem 300 kann ein Serversystem oder ein Personal-Computer-System (PC) sein. Die CPU 320 des Computersystems 300 ist im Betrieb mit dem Speicher 330 gekoppelt, auf dem ein Betriebssystem (nicht dargestellt) wie z. B. OS/2TM der IBM Corporation, Windows® von Microsoft, UNIX usw. zur allgemeinen Verwaltung des Systems 300 gespeichert ist. Die Schnittstelle 350 kann zur Kommunikation mit externen Datenverarbeitungssystemen über ein Netzwerk wie z. B. dem Internet verwendet werden. Beispiele für geeignete Plattformen für das Computersystem 300 sind iSeriesTM-Server und ThinkCentreTM-PCs, die von der IBM Corporation angeboten werden. Das Computersystem 300 kann Anwendungsserver-Software (nicht dargestellt) einschließen, z. B. das von BEA Systems, Inc. angebotene WebLogic® Server, das zum Entwickeln und Verwalten verteilter Anwendungen dient.
  • Das Computersystem 300 enthält computerausführbare programmierte Anweisungen, die das System 300 dazu bringen, unter Verwendung der Testfelder und Testpaletten die Einrichtungstests zu implementieren ("Einrichtungstestanweisungen") 370. Das Computersystem 300 kann auch ein in Echtzeit agierendes Fehlerbeseitigungs- und Protokollanalysewerkzeug ("Fehleranzeigewerkzeug") 360 enthalten, das die von dem DUT 102 aufgezeichneten Testdaten analysiert. Die Testanweisungen 370 und das Fehleranzeigewerkzeug 360 können in einem oder mehreren Testsoftware-Modulen 360, 370 ausgeführt sein, die sich im Speicher 330 des Computersystems 300 befinden. Alternativ können die Testanweisungen 370 und das Fehleranzeigewerkzeug 360 auch auf einem computerlesbaren Medium (wie z. B. einem CD-Datenträger oder einer Diskette) ausgeführt sein, das zur Übertragung der programmierten Anweisungen in den Speicher 330 des Computersystems 300 verwendet werden kann. Alternativ können die Testanweisungen 370 und das Fehleranzeigewerkzeug 360 auch in ein computerlesbares, signaltragendes Mediums eingebettet sein, das durch einen Verkäufer oder Anbieter der programmierten Anweisungen in ein Netzwerk hochgeladen wird, und dieses signaltragende Medium kann von dem Netzwerk durch die Endbenutzer oder potenzielle Käufer über die Schnittstelle 350 zum Computersystem 300 heruntergeladen werden.
  • Die CPU 320 des Computersystems 300 ist typischerweise mit einem oder mehreren Eingabegeräten 310 gekoppelt, die dem Empfangen von Benutzerbefehlen oder Abfragen und zum Anzeigen der Ergebnisse dieser Befehle oder Abfragen für den Benutzer auf einem Display 340 dienen. Beispielsweise können Benutzerabfragen in eine Kombination von SQL-Befehlen transformiert werden, um eine oder mehrere Tabellen mit Ausgabedaten zu erzeugen, die in eine oder mehrere Anzeigeseiten integriert werden, welche dem Benutzer angezeigt werden. Die CPU 320 ist mit dem Speicher 330 gekoppelt, um Softwaremodule 360, 370 und Daten wie z. B. Datenbanktabellen oder virtuelle Tabellen wie z. B. Ansichten oder abgeleitete Tabellen zu speichern. Wie bereits erwähnt wurde, kann der Speicher 330 eine Vielzahl von Speicherelementen umfassen, zu denen interner Speicher und externer Massenspeicher zählen kann und die typischerweise in einer Speicherhierarchie angeordnet sind, wie das dem Fachmann auf dem Gebiet der Technik bekannt sein dürfte.
  • Ein Benutzer kann mit dem Computersystem 300 und dessen Softwaremodulen 360, 370 mithilfe einer grafischen Benutzeroberfläche (Graphical User Interface – GUI) 380 interagieren. Die GUI 380 kann Web-basiert sein und kann zur Überwachung und Verwaltung des Computersystems 300 und zum Zugriff auf dieses verwendet werden. GUIs werden durch die üblichen Betriebssysteme unterstützt und bieten ein Anzeigeformat, das es einem Benutzer ermöglicht, Befehle auszuwählen, Anwendungsprogramme auszuführen, Computerdateien zu verwalten und andere Funktionen auszuführen, indem unter Verwendung eines Eingabe- oder Zeigergeräts wie eine Maus 310 bildliche Darstellungen ausgewählt werden, die als Icons bzw. Symbole bezeichnet werden, oder indem in gleicher Weise Elemente aus einem Menü ausgewählt werden. Im Allgemeinen wird eine GUI verwendet, um Informationen zu Benutzern zu übertragen und Befehle von Benutzern zu empfangen, und schließt im Allgemeinen unterschiedlichste GUI-Objekte und Steuerungseinrichtungen ein, was unter anderem Symbole, Werkzeugleisten, Dropdown-Menüs, Text, Dialogfelder, Schaltflächen und dergleichen sind. Ein Benutzer interagiert typischerweise mit einer auf einem Display 340 präsentierten GUI 380, indem er ein Eingabe- oder Zeigergerät (z. B. eine Maus) 310 verwendet, um einen Zeiger bzw. Cursor 390 über ein Objekt 391 zu bewegen und dann auf das Objekt 391 zu "klicken".
  • Typischerweise präsentiert ein GUI-basiertes System dem Benutzer die Anwendung, den Systemstatus und andere Informationen in Form von "Fenstern", die auf dem Display 340 erscheinen. Ein Fenster 392 ist ein mehr oder weniger rechteckiger Bereich innerhalb des Displays 340, in dem ein Benutzer eine Anwendung oder ein Dokument betrachten kann. Ein solches Fenster 392 kann geöffnet, geschlossen, in Vollbildgröße angezeigt, auf ein Symbol reduziert, in seiner Größe verändert oder auf unterschiedliche Bereiche des Displays 340 verschoben werden. Gleichzeitig können mehrere Fenster angezeigt werden, beispielsweise: als Fenster, die in andere Fenster eingeschlossen sind, als Fenster, die andere Fenster überlappen, oder als Fenster, die innerhalb des Anzeigebereichs gekachelt sind.
  • Unter Bezug auf 6 erfolgt das Aufzeichnen eines Datenprotokoll-Puffers 170 auf dem DUT 102 während des herkömmlichen Testens und Kalibrierens des DUT 102 in jeder der Teststationen 211, 212, 222, 223, 230 und 232. Das DUT 102 kommt in einer Teststation 211, 212, 222, 223, 230 und 232 an und wird in der Teststation 211, 212, 222, 223, 230 und 232 durch ein Kabel, das an den Datenanschluss 130 des Geräts angeschlossen wird, mit dem Testfeld oder mit der Testpalette verbunden. Wenn der Test gestartet wird (Schritt 405), führt das Teststationscomputersystem 300 die Gerätetest-Software 370 aus und sendet über den Datenanschluss 130 Testbefehle zum Testfeld und damit zum DUT 102. Als Reaktion auf die Befehle führt das DUT 102 eine Test/Kalibrierungs-Firmware-Anwendung aus und gibt die Ergebnisse ebenfalls über den Datenanschluss 130 zur Teststation 21, 212, 222, 223, 230 und 232 zurück (Schritt 410). Die durch das Computersystem 300 gesendeten Befehle und die vom Testfeld und/oder vom DUT 102 empfangenen Ergebnisse werden im Stationsspeicher 330 gespeichert. Ebenfalls während des Tests führt das DUT 102 die Protokollierungs-Firmware-Anwendung aus, die in seiner Firmware gespeichert ist (Schritt 415); in den Test/Kalibrierungs-Anwendungscode sind für die Teile des Tests, wo Daten protokolliert werden sollen, Ausgabebefehlsanweisungen eingebettet. Die als Reaktion auf die Anweisungen erzeugten Datenprotokolleinträge werden im Datenprotokollpuffer 170 gespeichert. Diese Protokolleinträge können detailliertere Daten über den internen Test- und Kalibrierungsablauf des Geräts liefern als die Daten, die aus dem Testen mithilfe der Teststationssoftware 370 gewonnen werden, und können somit besonders nützlich für die Fehlersuche und Fehlerbehebung durch Entwicklungsteams im Anschluss an die Tests sein.
  • Nach dem Ende der Gerätetests (Schritt 420) ist der Datenanschluss 130 zur Kommunikation der Datenprotokolleinträge vom Puffer 170 zu einem Speicher 330 im Computersystem 300 der Teststation verfügbar. Das Computersystem 300 ist so programmiert, dass es über den Datenanschluss 130 ein Signal überträgt, welches das Ende des Tests anzeigt und die Übertragung der Datenprotokolleinträge anfordert; nach Empfang dieses Signals überträgt das DUT 102 die Datenprotokolleinträge aus dem Puffer 170 zum Speicher 330 der Teststation (Schritt 430). Optional kann das Computersystem 300 so programmiert sein, dass es vom DUT 102 nur dann die Übertragung der Datenprotokolleinträge anfordert, wenn ein Gerätefehler vorliegt oder wenn ein Test eine längere Zeit als geplant in Anspruch genommen hat, was darauf hindeutet, dass möglicherweise ein Problem aufgetreten ist (Schritt 425).
  • In dieser Ausführungsform werden die Dateneinträge erst dann übertragen, wenn die Tests abgeschlossen sind (nach Schritt 420), um eine mögliche Störung der Tests zu vermeiden. Bestimmte Tests testen das Timing und die Ansprechempfindlichkeit des DUT 102; während solcher Tests erwartet die Teststationssoftware 370, dass die gesamte Bandbreite des Datenanschlusses 130 für die Kommunikation zwischen dem DUT 102 und der Teststation verfügbar ist. Wenn die Protokollierungs-Firmware während solcher Tests Daten über den Datenanschluss 130 übertragen müsste, könnte es zu Verzögerungen in der Kommunikation zwischen der Teststation 211, 212, 222, 223, 230 und 232 und dem DUT 102 kommen, was sich negativ auf das Timing der Tests und auf die Erzielung genauer Testergebnisse auswirken würde.
  • Gemäß einer alternativen Ausführungsform ist die Protokollierungs-Firmware so programmiert, dass die Datenprotokolleinträge während der Gerätetests übertragen werden, und zwar mit einer Datenrate, die sich nicht störend auf die Ausführung der Tests auswirkt. Gemäß einer noch anderen alternativen Ausführungsform ist die Teststationssoftware 370 so programmiert, dass sie das DUT 102 anweist, die Dateneinträge nur dann während der Tests zu übertragen, wenn es sich beim gerade ausgeführten Test nicht um einen Timing-Test handelt.
  • Beispiele für Ausgabebefehlsanweisungen, die in den Protokollierungs-Firmware-Code integriert werden können und die Datenprotokolleinträge bzw. -anweisungen erzeugen, die durch das Fehleranzeigewerkzeug (oder ein anderes Protokollanalysewerkzeug oder Fehlerbeseitigungswerkzeug) erkannt werden können, sind:
    PRINT: gibt eine Anweisung ohne eine bestimmte Hervorhebung aus. PRINT-Anweisungen werden typischerweise zur Protokollierung normaler Ereignisse verwendet, die es wert sind, protokolliert zu werden.
    WARN: identisch mit PRINT-Anweisungen, außer dass die Ausgabe hervorgehoben ist. WARN-Anweisungen sind nützlich zur Identifizierung von Transaktionen, die verdächtig oder etwas ungewöhnlich sind oder die möglicherweise in anderer Weise Aufmerksamkeit erfordern.
    ASSERT: eine bedingte Anweisung, die zur Überprüfung von Annahmen verwendet werden kann. Die ASSERT-Anweisung bestätigt, dass eine spezifizierte Bedingung als wahr (true) bewertet wird. Wenn die Bedingung als falsch (false) bewertet wird, wird die ASSERT-Anweisung ausgegeben.
    PRINTCOPY: ermöglicht das Dumping einer ASCII-Zeichenfolge, und zwar im Unterschied zur PRINT-Anweisung, bei der lediglich eine Literalzeichenfolge ausgegeben wird.
    SHOW_MEMORY: zeigt einen Abschnitt des Speichers in Form von hexadezimalen Bytes an.
    EMIT_STRUCTURE: ähnlich wie SHOW_MEMORY, außer dass ein Stück des Speichers als eine Struktur behandelt und auch als solche decodiert wird.
  • Andere Formen der Ausgabe. Zusätzlich zu den oben angeführten Ausgabeanweisungen kann das Fehleranzeigewerkzeug 360 auch andere hartcodierte Ausgaben anzeigen, die zur Darstellung von komplizierten, jedoch wichtigen und häufig verwendeten Datenteilen verwendet werden. Beispiele hierfür sind die Inter-Task-Multithreading-Meldungsprotokollierung für Inter-Task-Signale sowie Benutzerdatenblock-Protokollierung und Funksignalisierungsdatenblöcke.
  • Nachdem die Datenprotokolleinträge im Computersystemspeicher 330 gespeichert wurden, kann das Fehleranzeigewerkzeug 360 auf dem Teststationscomputer 300 ausgeführt werden. Bei der Ausführung des Fehleranzeigewerkzeugs 360 werden die Datenprotokolleinträge bzw. Anweisungen dekompaktiert, indem die Modulkennungen in den kompaktierten Ausgabeanweisungen den entsprechenden Fehlerbeseitigungszeichenfoigen aus einer im Speicher 330 gespeicherten Zeichenfolge-Verweistabelle zugeordnet werden. Die dekompaktierten Ausgabeanweisungen bestehen damit aus einer Liste von Fehlerbeseitigungszeichenfolgen, die im Computersystemspeicher 330 gespeichert sind. Dann kann das Computersystem 300 die Ausgabeanweisungen auf der GUI 380 anzeigen, und das Testpersonal an der Teststation kann diese sofort überprüfen, und/oder das Protokoll kann in Form einer Datendatei mit Ausgabeanweisungen über ein Netzwerk in ein Unternehmensdatenbanksystem oder in eine Intranet-Speichersystem gesendet werden, sodass entfernt arbeitende Entwicklungsteams die Analyse vornehmen können (Schritt 440). Diese Entwicklungsteams können das auf ihre jeweiligen Computer geladene Fehleranzeigewerkzeug verwenden, um die Ausgabeanweisungen zu analysieren. Die Entwicklungsteams analysieren die Ausgabeanweisungen und versuchen die Ursachen für eventuelle Fehler zu diagnostizieren (Schritt 440). Etwaige Maßnahmen zur Behebung des Fehlers ("Fixes") werden in die nachfolgenden Geräte in der Fertigungsstraße integriert ("neues Build"), die dann ebenfalls Tests unterzogen werden. Wenn ein von dem Gerät des neuen Build gewonnenes Datenprotokoll anzeigt, dass alle Probleme beseitigt wurden, dann ist die Test/Kalibrierungsprozedur abgeschlossen (Schritt 410). Von diesem Prozess wird eine Steigerung der Produktivität und der Ausstoßrate erwartet.
  • Das Fehleranzeigewerkzeug 360 verfügt über weitere Merkmale und funktioniert wie andere handelsübliche Fehlerbeseitigungs- und Protokollanalysewerkzeuge. Deshalb wird die Programmierung und der Betrieb dieses Werkzeugs 360 hier nicht weiter detailliert beschrieben. Beispielsweise kann das Fehleranzeigewerkzeug 360 mit Merkmalen programmiert sein, die bei der Diagnose der Ereignisse nach dem Fehlschlagen eines Gerätetests hilfreich sind. Das Gerät bzw. die Einrichtung 102 ist so programmiert, dass der Inhalt des Speichers zum Zeitpunkt des Fehlschlagens des Gerätetests möglichst genau im Datenprotokollpuffer 170 festgehalten wird, sodass der Gerätezustand durch das Fehleranzeigewerkzeug 360 ermittelt werden kann, um hoffentlich die Ursache für das Fehlschlagen des Tests feststellen zu können. Wenn die Einrichtung 102 mit dem Teststationscomputersystem 300 verbunden ist, wird der Datenprotokollpuffer 170 zum Computersystem 300 übertragen; dieser Puffer repräsentiert die protokollierten Ereignisse, die zum Fehlschlagen des Tests geführt haben.
  • Obwohl sich die hier beschriebene Ausführungsform auf ein bestimmtes Fehleranzeigewerkzeug 360 bezog, können auch andere beim Stand der Technik bekannte Fehlerbeseitigungs- und/oder Protokollanalyse-Softwareprogramme zum Einsatz kommen, die ebenfalls von der Verwendung von ungenutztem SRAM während der Geräteherstellung als ein Datenprotokollpuffer für die Kalibrierung und Testdurchführung profitieren können.
  • Ein Teil der Offenbarung dieses Patentdokuments enthält Material, das dem Urheberrechtsschutz unterliegt. Der Inhaber des Urheberrechts erhebt keinerlei Einwände gegen die Faksimile-Reproduktion durch das Patentdokument oder die Patentoffenbarung, wie sie in der Patentakte oder den Patentunterlagen des Patent- und Warenzeichenamts vorkommen, behält sich aber alle sonstigen Urheberrechte vor.
  • Der Umfang der Erfindung wird einzig und allein durch die beigefügten Ansprüche definiert.

Claims (18)

  1. Ein Verfahren zum Testen einer Mobilfunkeinrichtung (102) während der Herstellung, umfassend: das Festlegen von zumindest einem Teil des für die virtuelle Geräte- und/oder Anwendungsnutzung zugewiesenen Random Access Memory (RAM) (126) der Einrichtung (102) als einen Datenprotokollpuffer (170) während der Herstellung der Einrichtung (102), wenn die Einrichtung (102) im Endbenutzermodus betrieben wird; und das Testen der Einrichtung (102) und das Speichern von Testprotokolldaten in dem Puffer (170).
  2. Das Verfahren gemäß Anspruch 1, des Weiteren umfassend das Übertragen der Testprotokolldaten von dem Puffer zu einer Teststation (211, 212, 222, 223, 230, 232) nach dem Testen.
  3. Das Verfahren gemäß Anspruch 2, des Weiteren umfassend das Verarbeiten der übertragenen Daten mithilfe eines Fehlerbeseitigungs- und Protokollanalysewerkzeugs (360).
  4. Das Verfahren gemäß einem der Ansprüche 1 bis 3, wobei der Datenprotokollpuffer (170) groß genug angelegt wird, um die Ergebnisse aus einer vollständigen Einrichtungstest- und -kalibrierungsprozedur zu speichern.
  5. Das Verfahren gemäß einem der Ansprüche 1 bis 4, wobei der RAM (126) ein Static Random Access Memory (SRAM) ist.
  6. Das Verfahren gemäß einem der Ansprüche 1 bis 5, wobei das Testen der Einrichtung (102) einen der folgenden Tests oder eine Kombination von diesen umfasst: Wechselstrom (AC), Gleichstrom (DC), Kalibrierung, GPS, Funktion, HF und Audio.
  7. Das Verfahren gemäß einem der Ansprüche 1 bis 6, wobei das Testen der Einrichtung (102) zumindest eine Ausgabebefehlsanweisung im Firmwarecode der Einrichtung sowie das Durchführen eines mit der Ausgabebefehlsanweisung assoziierten Funktionsaufrufs umfasst.
  8. Ein System zum Testen einer Mobilfunkeinrichtung (102) während der Herstellung, umfassend: eine Teststation (211, 212, 222, 223, 230, 232), die mit der Einrichtung (102) kommuniziert und dem Testen der Einrichtung (102) während der Herstellung dient; und einen computerlesbaren Speicher (124), der mit der Einrichtung kommuniziert und auf dem Befehle und Anweisungen zum Festlegen von zumindest einem Teil des für die virtuelle Geräte- und/oder Anwendungsnutzung zugewiesenen Random Access Memory (RAM) (126) der Einrichtung (102) als einen Datenprotokollpuffer (170) während der Herstellung der Einrichtung (102), wenn die Einrichtung (102) im Endbenutzermodus betrieben wird, und zum Speichern von Testprotokolldaten in dem Puffer (170), die aus dem Testen der Einrichtung (102) gewonnen werden.
  9. Das System gemäß Anspruch 8, des Weiteren umfassend ein in der Teststation (211, 212, 222, 223, 230, 232) gespeichertes Fehlerbeseitigungs- und Protokollanalysewerkzeug (360), das auch zur Verarbeitung der aus dem Puffer (170) gewonnenen Daten verwendet wird.
  10. Das System gemäß Anspruch 8 oder Anspruch 9, wobei der Datenprotokollpuffer (170) groß genug ist, um die Ergebnisse aus einer vollständigen Einrichtungstest- und -kalibrierungsprozedur zu speichern.
  11. Das System gemäß einem der Ansprüche 8 bis 10, wobei der RAM (126) ein Static Random Access Memory (SRAM) ist.
  12. Das System gemäß einem der Ansprüche 8 bis 11, wobei die Teststation (211, 212, 222, 223, 230, 232) zum Testen der Einrichtung (102) eingerichtet ist, indem einer der folgenden Tests oder eine Kombination von diesen durchgeführt wird: Wechselstrom (AC), Gleichstrom (DC), Kalibrierung, GPS, Funktion, HF und Audio.
  13. Das System gemäß einem der Ansprüche 8 bis 12, wobei die Befehle und Anweisungen mindestens eine Ausgabebefehlsanweisung im Firmwarecode der Einrichtung umfasst, welche das Durchführen eines mit der Ausgabebefehlsanweisung assoziierten Funktionsaufrufs bewirkt.
  14. Das System gemäß einem der Ansprüche 8 bis 13, wobei der Speicher (124) ein nicht-flüchtiger Speicher in der Einrichtung (102) ist.
  15. Ein Computerprogrammprodukt zum Testen einer Mobilfunkeinrichtung (102) während der Herstellung, das Produkt umfassend einen Speicher (124), in dem ein computerlesbarer Code zur Implementierung des Verfahrens gemäß einem der Ansprüche 1 bis 7 in einer Teststation (211, 212, 222, 223, 230, 232) verkörpert ist.
  16. Ein Verfahren zum Montieren einer Mobilfunkeinrichtung (102), umfassend: das Zuführen der Komponenten der Einrichtung (102) zu einer Fertigungsstraße, wobei zu den Komponenten ein Random Access Memory (RAM) (126) gehört; das Montieren der Komponenten zu einer vollständigen Einrichtung (102) in der Fertigungsstraße; vor und/oder während und/oder nach dem Montieren der Komponenten das Festlegen von zumindest einem Teil des für die virtuelle Geräte- und/oder Anwendungsnutzung zugewiesenen Random Access Memory (RAM) (126) der Einrichtung (102) als einen Datenprotokollpuffer (170) während der Herstellung der Einrichtung (102), wenn die Einrichtung (102) im Endbenutzermodus betrieben wird; und vor und/oder während und/oder nach dem Montieren der Komponenten das Testen der Einrichtung (102) und das Speichern von Testprotokolldaten in dem Puffer (170).
  17. Das Verfahren zum Montieren einer Mobilfunkeinrichtung (102) gemäß Anspruch 16, des Weiteren umfassend das Übertragen der Daten von dem Puffer (170) zu einer Teststation (211, 212, 222, 223, 230, 232) nach dem Speichern der Testprotokolldaten in dem Puffer (170) und vor und/oder während und/oder nach dem Montieren der Komponenten.
  18. Das Verfahren zum Montieren einer Mobilfunkeinrichtung (102) gemäß Anspruch 17, des Weiteren umfassend das Verarbeiten der übertragenen Daten mithilfe eines Fehlerbeseitigungs- und Protokollanalysewerkzeugs (360).
DE602006000424T 2006-04-28 2006-04-28 Testen von Mobilfunkeinrichtungen während der Herstellung Active DE602006000424T2 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
EP06113287A EP1871022B1 (de) 2006-04-28 2006-04-28 Testen von Mobilfunkeinrichtungen während der Herstellung

Publications (2)

Publication Number Publication Date
DE602006000424D1 DE602006000424D1 (de) 2008-03-13
DE602006000424T2 true DE602006000424T2 (de) 2009-01-02

Family

ID=36693747

Family Applications (1)

Application Number Title Priority Date Filing Date
DE602006000424T Active DE602006000424T2 (de) 2006-04-28 2006-04-28 Testen von Mobilfunkeinrichtungen während der Herstellung

Country Status (4)

Country Link
EP (1) EP1871022B1 (de)
AT (1) ATE383683T1 (de)
CA (1) CA2585900C (de)
DE (1) DE602006000424T2 (de)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102019207868A1 (de) * 2019-05-29 2020-12-03 Continental Teves Ag & Co. Ohg Modul und Verfahren zur Initialisierung und Kalibrierung eines Produkts während dessen Herstellung

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111488231B (zh) * 2020-01-07 2024-02-06 中国银联股份有限公司 一种操作诊断方法、设备、系统以及用于其的主控设备和计算机可读存储介质

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5805666A (en) * 1995-02-28 1998-09-08 Sony Corporation Method of and apparatus for diagnosing personal communication system
ES2341314T3 (es) * 2001-11-05 2010-06-18 Nokia Corporation Envio de resultados de analisis de auto-rendimiento y operacional de una estacion movil a una red en respuesta a un mensaje de solicitud cifrado.
JP2005071324A (ja) * 2003-08-01 2005-03-17 Nec Corp 無線通信端末試験方法、無線通信端末試験システム、および無線通信端末
ATE360969T1 (de) * 2003-09-16 2007-05-15 Research In Motion Ltd Verfahren zum ausführen von strahlungstests von drahtlosen geräten

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102019207868A1 (de) * 2019-05-29 2020-12-03 Continental Teves Ag & Co. Ohg Modul und Verfahren zur Initialisierung und Kalibrierung eines Produkts während dessen Herstellung
US11953551B2 (en) 2019-05-29 2024-04-09 Continental Automotive Technologies GmbH Module and method for initializing and calibrating a product during the manufacture thereof

Also Published As

Publication number Publication date
EP1871022B1 (de) 2008-01-09
CA2585900C (en) 2011-11-15
EP1871022A1 (de) 2007-12-26
CA2585900A1 (en) 2007-10-28
ATE383683T1 (de) 2008-01-15
DE602006000424D1 (de) 2008-03-13

Similar Documents

Publication Publication Date Title
US7856580B2 (en) Testing mobile wireless devices during device production
US5841972A (en) System using displayed configuration utility on monitor including list of target nodes, for administering interconnected nodes of computer network
US7171659B2 (en) System and method for configurable software provisioning
DE60108851T2 (de) Mehrkanal, mehrdienstfehlerbeseitigung in pipeline-cpu-architektur
US8234633B2 (en) Incident simulation support environment and business objects associated with the incident
US7020699B2 (en) Test result analyzer in a distributed processing framework system and methods for implementing the same
US20030233637A1 (en) Universal system component emulator with human readable output
KR20010042737A (ko) 비쥬얼 데이터 통합 시스템 및 그 방법
CN103544100A (zh) 便携数据处理设备应用程序的测试方法、系统和客户端
CN107395747B (zh) 一种基于stf平台的高扩展方法
US20020194320A1 (en) Remote support system
CN101502047A (zh) 存储网络管理系统中的网络节点的配置信息的方法和系统
CN115658529A (zh) 用户页面的自动化测试方法以及相关设备
DE602006000424T2 (de) Testen von Mobilfunkeinrichtungen während der Herstellung
CN111045940A (zh) 软件自动化测试方法、装置、架构、服务器及存储介质
DE102004048666A1 (de) Erweiterbarer Netzwerkagent - Verfahren, System und Architektur
US8032540B1 (en) Description-based user interface engine for network management applications
CN116467188A (zh) 一种多环境场景下的通用本地复现系统和方法
CN111698109A (zh) 监控日志的方法和装置
CN109274715A (zh) 车载多通道通信系统的平台资源管理系统
CN114860240A (zh) 一种低代码页面创建方法、装置、设备及介质
CN101217332A (zh) 同步数字体系设备的告警测试方法及测试控制平台
EP1457002B1 (de) Persistente speicherung von netzwerkmanagementdaten unter verwendung von objektreferenzen
Ayed et al. A data model for context-aware deployment of component-based applications onto distributed systems
CN112241359B (zh) 一种设备测试方法及设备

Legal Events

Date Code Title Description
8364 No opposition during term of opposition
8328 Change in the person/name/address of the agent

Representative=s name: MERH-IP, 80336 MUENCHEN