Electronic device for identifying audio circuit connected to processor, and method therefor

The electronic device's processor initializes and identifies audio circuits, ensuring all are active and logs inactive ones, addressing the challenge of audio circuit initialization and maintenance in electronic devices.

WO2025009800A1PCT designated stage expired Publication Date: 2025-01-09SAMSUNG ELECTRONICS CO LTD
View PDF 5 Cites 0 Cited by

Patent Information

Application Number
PCT/KR2024/008866
Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
Priority Date
2023-07-05
Filing Date
2024-06-26
Publication Date
2025-01-09

AI Technical Summary

Technical Problem

Electronic devices face challenges in identifying and initializing audio circuits during booting, leading to potential issues with audio functionality and maintenance, as existing methods lack efficient mechanisms to detect inactive or faulty audio circuits.

Method used

The electronic device includes a processor and memory that initializes multiple audio circuits, switches them between active and inactive states, and identifies any circuits remaining in an inactive state, storing log information for maintenance and diagnosis.

Benefits of technology

This approach ensures that all audio circuits are properly initialized and functioning, allowing for effective audio-related functions and facilitating troubleshooting by logging inactive or faulty circuits, thus enhancing device reliability and user experience.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure KR2024008866_09012025_PF_FP_ABST
    Figure KR2024008866_09012025_PF_FP_ABST
Patent Text Reader

Abstract

An electronic device according to one embodiment may comprise: a processor; a plurality of audio circuits connected to the processor; and a memory configured to store instructions. The instructions, when executed by the processor, may instruct the processor to initialize the plurality of audio circuits in a first state while booting the electronic device. Each of the plurality of audio circuits may be switched to a second state different from the first state on the basis of initialization. The instructions, when executed by the processor, may instruct the processor to, on the basis of identifying at least one audio circuit maintained in the first state among the plurality of audio circuits, store, in the memory, log information including information about the identified at least one audio circuit.
Need to check novelty before this filing date? Find Prior Art

Description

Electronic device and method for identifying audio circuits connected to a processor

[0001] The present disclosure relates to an electronic device and method for identifying audio circuitry connected to a processor.

[0002] To support various audio-related functions, an electronic device may include one or more audio circuits. These functions may include functions for recording audio, playing audio, and encoding and / or decoding audio data. Circuits supporting these functions may be electrically connected to a processor within the electronic device.

[0003] According to one embodiment, an electronic device may include a processor, a plurality of audio circuits coupled to the processor, and a memory configured to store instructions. The instructions, when executed by the processor, may cause the processor to perform initialization of the plurality of audio circuits in a first state while booting the electronic device. Each of the plurality of audio circuits may be switched to a second state different from the first state based on the initialization. The instructions, when executed by the processor, may cause the processor to store, in the memory, log information including information about the identified at least one audio circuit based on identifying at least one audio circuit among the plurality of audio circuits that remains in the first state.

[0004] According to one embodiment, a method of an electronic device may include an operation of performing initialization of a plurality of audio circuits in a first state while booting the electronic device. Each of the plurality of audio circuits of the electronic device may be switched to a second state different from the first state based on the initialization. The method may include an operation of storing, in the memory, log information including information about the identified at least one audio circuit, based on identifying at least one audio circuit among the plurality of audio circuits that is maintained in the first state.

[0005] In one embodiment, a computer-readable storage medium may include instructions. The instructions, when executed by a processor of an electronic device, may cause the processor to perform initialization of the plurality of audio circuits in a first state while booting the electronic device. Each of the plurality of audio circuits may be switched to a second state different from the first state based on the initialization. The instructions, when executed by the processor, may cause the processor to store log information, including information about the identified at least one audio circuit, in a memory of the electronic device, based on identifying at least one audio circuit among the plurality of audio circuits that remains in the first state.

[0006] FIG. 1 illustrates a block diagram of an electronic device according to one embodiment.

[0007] FIG. 2 illustrates an example of a flowchart of an electronic device according to one embodiment.

[0008] FIG. 3 illustrates an example block diagram of software applications executed by a processor of an electronic device, according to one embodiment.

[0009] FIG. 4 illustrates an example block diagram of software applications executed by a processor of an electronic device, according to one embodiment.

[0010] Figure 5 illustrates an example of the operation of an electronic device for storing log information.

[0011] FIG. 6 illustrates an example of a screen displayed by an electronic device according to one embodiment.

[0012] FIGS. 7A and 7B illustrate an example of a flowchart of an electronic device according to one embodiment.

[0013] FIG. 8 is a block diagram of an electronic device within a network environment according to various embodiments.

[0014] Figure 9 is a block diagram of an audio module according to various embodiments.

[0015] Hereinafter, various embodiments of this document are described with reference to the attached drawings.

[0016] The various embodiments of this document and the terminology used therein are not intended to limit the technology described in this document to a specific embodiment, but should be understood to include various modifications, equivalents, and / or substitutes of the embodiment. In connection with the description of the drawings, similar reference numerals may be used for similar components. The singular expression may include plural expressions unless the context clearly indicates otherwise. In this document, expressions such as "A or B", "at least one of A and / or B", "A, B, or C", or "at least one of A, B, and / or C" may include all possible combinations of the items listed together. Expressions such as "first", "second", "first", or "second" may modify the corresponding components regardless of order or importance, and are only used to distinguish one component from another, but do not limit the corresponding components. When it is said that a component (e.g., a first component) is “(functionally or communicatively) connected” or “connected” to another component (e.g., a second component), the component may be directly connected to the other component, or may be connected via another component (e.g., a third component).

[0017] The term "module" as used in this document includes a unit composed of hardware, software, or firmware, and may be used interchangeably with terms such as logic, logic block, component, or circuit. A module may be an integral component, or a minimal unit or portion thereof that performs one or more functions. For example, a module may be composed of an application-specific integrated circuit (ASIC).

[0018] FIG. 1 illustrates a block diagram of an electronic device (101) according to one embodiment. In one embodiment, the electronic device (101) may be referred to as a terminal (or user terminal). The terminal may include, for example, a smartphone (e.g., electronic device (101-1)), a foldable phone (e.g., electronic device (101-2)), a smartpad, and / or a tablet PC. The terminal may include a smart accessory, such as a smartwatch (e.g., electronic device (101-3)) and / or a head-mounted device (HMD) (e.g., electronic device (101-4)). The terminal may include, for example, a personal computer (PC), such as a laptop (e.g., electronic device (101-5)) and a desktop.

[0019] Referring to FIG. 1, one or more hardware components included in an electronic device (101) according to one embodiment are illustrated by different blocks. According to one embodiment, the electronic device (101) may include an application processor (110) and / or a memory (120). The application processor (110) may include a circuit for processing data based on one or more instructions. The hardware components for processing data may include, for example, an arithmetic and logic unit (ALU), a floating point unit (FPU), a field programmable gate array (FPGA), and / or a central processing unit (CPU). The number of application processors (110) included in the electronic device (101) may be one or more. For example, the application processor (110) may have a multi-core processor structure such as a dual core, a quad core, or a hexa core. In one embodiment, the application processor (110) may be referred to as a processor.

[0020] According to one embodiment, the memory (120) of the electronic device (101) may include hardware for storing data and / or instructions input and / or output to the application processor (110). The memory (120) may include, for example, volatile memory such as random-access memory (RAM) and / or non-volatile memory such as read-only memory (ROM). The volatile memory may include, for example, at least one of dynamic RAM (DRAM), static RAM (SRAM), cache RAM, and pseudo SRAM (PSRAM). The non-volatile memory may include, for example, at least one of programmable ROM (PROM), erasable PROM (EPROM), electrically erasable PROM (EEPROM), flash memory, hard disk, compact disc, solid state drive (SSD), and embedded multi media card (eMMC).

[0021] According to one embodiment, one or more instructions (or commands) representing operations and / or actions to be performed on data by the application processor (110) may be stored in the memory (120) of the electronic device (101). A set of one or more instructions may be referred to as firmware, an operating system, a process, a routine, a sub-routine, a software application, and / or an application. For example, the electronic device (101) and / or the application processor (110) may perform at least one of the operations of FIG. 2 and / or FIGS. 7A to 7B when a set of a plurality of instructions distributed in the form of an operating system, firmware, driver, and / or application is executed. Hereinafter, the fact that an application is installed in an electronic device (101) may mean that one or more instructions provided in the form of an application are stored in the memory (120) of the electronic device (101), and that the one or more applications are stored in a format executable by the application processor (110) of the electronic device (101) (e.g., a file having an extension specified by the operating system of the electronic device (101)).

[0022] Referring to FIG. 1, according to one embodiment, an application processor (110) of an electronic device (101) may include an audio digital signal processor (DSP) (130). The audio DSP (130) may be included in the application processor (110) for signal processing related to audio. For example, the audio DSP (130) may be included in the application processor (110) as a coprocessor for audio. Through the audio DSP (130), the application processor (110) may be electrically connected to a plurality of audio circuits (150) included in the electronic device (101). Hereinafter, electrical connection of circuits may mean establishment of a wired signal path between two circuits. Electrical connection of circuits may include direct connection and / or indirect connection between circuits. For example, one or more circuit elements for transmitting an electrical signal may be located between electrically connected circuits. Hereinafter, the circuits being connected may mean that the circuits are electrically connected. In order to be connected to a plurality of audio circuits (150), the audio DSP (130) may include a plurality of audio interfaces (140). For example, the application processor (110) and the plurality of audio circuits (150) may be connected to each other through the plurality of audio interfaces (140). Hereinafter, the sound card of the electronic device (101) may mean a group of the audio DSP (130) and the plurality of audio circuits (150).

[0023] Referring to FIG. 1, an embodiment in which an audio DSP (130) is included in an application processor (110) is illustrated, but the embodiment is not limited thereto. For example, the audio DSP (130) may be located outside the application processor (110) (e.g., on a printed circuit board (PCB) on which the application processor (110) is located). Within a case located outside the application processor (110), the audio DSP (130) may be electrically directly connected to a plurality of audio circuits (150) via a plurality of audio interfaces (140), and / or may be electrically connected to a plurality of audio circuits (150) via the application processor (110).

[0024] According to one embodiment, a plurality of audio circuits (150) of the electronic device (101) may be connected to the application processor (110) to support different functions related to audio. For example, the first audio circuit (150-1) may include circuits for signal processing of an audio signal (e.g., an analog-to-digital converter (ADC), a digital-to-analog converter (DAC), a filter for the audio signal, and a gain setting circuit). For example, the second audio circuit (150-2) may include an amplification circuit for amplifying an electrical signal (e.g., an audio signal) to be transmitted to a speaker of the electronic device (101). For example, the third audio circuit (150-3) may include a haptic actuator for outputting a vibration notification. For example, the Nth audio circuit (150-N) may include a communication circuit based on Bluetooth. The embodiment is not limited thereto, and for example, the plurality of audio circuits (150) may include a microphone. The microphone may be directly electrically connected to the application processor (110) via an audio interface, or may be indirectly electrically connected to the application processor (110) via the audio circuit.

[0025] According to one embodiment, a plurality of audio interfaces (140) included in an application processor (110) and / or an audio DSP (130) of an electronic device (101) may be designed based on a standard for exchanging audio data in order to communicate with an audio circuit (150) corresponding to the audio interface. The standard may include I2S (integrated interchip sound), SLIMbus (serial low-power inter-chip media bus) and / or SoundWire. The embodiment is not limited thereto, and at least one of the plurality of audio interfaces (140) may be designed based on a standard such as MIPI (Mobile Industry Processor Interface) and / or GPIO (general purpose input output). The plurality of audio interfaces (140) may include one or more circuits included in or formed in the application processor (110) in order to be electrically connected to the plurality of audio circuits (150).

[0026] According to one embodiment, the electronic device (101) may perform initialization of a plurality of audio circuits (150) in order to execute a function related to audio. Initializing the audio circuit may mean controlling the audio circuit to change the state of the audio circuit to a state controllable by the application processor (110) or the audio DSP (130). Hereinafter, the enabled state or activated state of the audio circuit may include a state of the audio circuit controllable by the application processor (110) or the audio DSP (130). According to one embodiment, the enabled state of the audio circuit may include a state in which the initialization of a driver application corresponding to the audio circuit is completed. The activated state of the audio circuit may include a state in which the audio circuit can execute a function specified by an application programmable interface (API) corresponding to the audio circuit. For example, the application processor (110) may execute a function of an audio circuit in an active state based on the execution of a software application. The active state of the audio circuit may include an idle state of the audio circuit. The active state may be referred to as a wake-up state, an idle state, or a turn-on state. The active state of the audio circuit may include a state in which a power signal exceeding a specified voltage is provided to the audio circuit.

[0027] In one embodiment, a disabled state (or deactivated state) of an audio circuit may include a different state of the audio circuit than the activated state. The disabled state of the audio circuit may include a state of the audio circuit that is not controllable by the application processor (110) or the audio DSP (130). For example, the audio circuit in the disabled state may not respond to a signal transmitted from the application processor (110) or the audio DSP (130) via the audio interface. For example, the disabled state of the audio circuit may include a state in which the audio circuit does not execute a function specified by an API corresponding to the audio circuit. The disabled state of the audio circuit may be referred to as a sleep state. The disabled state of the audio circuit may include a state in which a power signal below a specified voltage is provided to the audio circuit, and / or the power signal is restricted from being provided to the audio circuit. The disabled state of the audio circuit may include a state in which initialization of the audio circuit is at least temporarily interrupted due to a failure, damage, and / or burnout. For example, an inactive state of an audio circuit may include a state in which the audio circuit is substantially inactive. For example, the inactive state may include a state in which the audio circuit is electrically deactivated due to at least a portion of the audio circuit and / or at least one of the circuit elements of the audio circuit being turned off. The inactive state may be referred to as a turn-off state.

[0028] According to one embodiment, the application processor (110) of the electronic device (101) may perform booting of the electronic device (101). According to one embodiment, booting the electronic device (101) may mean activating hardware (or circuits) included in the electronic device (101) to make at least one or more hardware included in the electronic device (101) controllable by software of the electronic device (101). Booting the electronic device (101) may include an operation of identifying a state of hardware included in the electronic device (101). The operation of identifying a state of the hardware may include an operation of detecting, recognizing, sensing, and / or determining a state of the hardware. According to one embodiment, booting the electronic device (101) may include loading an operating system (e.g., Android OS) contained in a memory of the electronic device (101) into an executable state by the electronic device (101) and / or the application processor (110).

[0029] According to one embodiment, the application processor (110) may perform initialization of a plurality of audio circuits (150) in an inactive state while booting the electronic device (101). Each of the plurality of audio circuits (150) may be switched from the inactive state to an active state based on the initialization. According to one embodiment, the operation of initializing the plurality of audio circuits (150) may include the operation of driving the plurality of audio circuits (150) based on initial parameters and / or preset parameters, thereby making the plurality of audio circuits (150) available to the application processor (110) and / or the audio DSP (130). The operation of initializing the plurality of audio circuits (150) may include the operation of loading a device driver (e.g., the plurality of device drivers (360) of FIG. 3) corresponding to each of the plurality of audio circuits (150) based on system software (e.g., a kernel) executed by the application processor (110).

[0030] According to one embodiment, the application processor (110) of the electronic device (101) may identify, among the plurality of audio circuits (150), at least one audio circuit that is maintained in an inactive state independently of the initialization of the plurality of audio circuits (150). For example, the application processor (110) may identify whether each of the plurality of audio circuits (150) has been switched to an active state based on the initialization. Based on identifying at least one audio circuit that is maintained in an inactive state despite the initialization, the application processor (110) may store, in the memory (120), log information (160) including information about the identified at least one audio circuit. The log information (160) may indicate that the identified at least one audio circuit is different from an audio circuit that is accessible by the initialization. For example, the application processor (110) may store, in the memory (120), log information (160) indicating at least one audio circuit corresponding to an inactive state among the plurality of audio circuits (150). For example, the log information (160) may include a list of at least one audio circuit corresponding to an inactive state. According to one embodiment, from the perspective of solving a problem caused by an audio circuit in an inactive state, the log information (160) may be referred to as debug information and / or a debug file. For example, the application processor (110) may identify an audio circuit in which an error and / or a failure has occurred by comparing information indicating at least one audio circuit corresponding to an inactive state among the plurality of audio circuits (150) with information about an audio circuit that can be initially accessed.

[0031] As described above, according to one embodiment, the electronic device (101) can individually check the plurality of audio circuits (150) while booting the electronic device (101). For example, the electronic device (101) can identify whether each of the plurality of audio circuits (150) has been switched to an active state based on initialization. When identifying an audio circuit in an inactive state different from the active state among the plurality of audio circuits (150), the electronic device (101) can store information indicating the identified audio circuit in log information (160). The log information (160) can be used for maintenance of the electronic device (101).

[0032] Hereinafter, with reference to FIG. 2, an example of an operation performed by an electronic device (101) and / or an application processor (110) according to one embodiment for initializing a plurality of audio circuits (150) is described.

[0033] FIG. 2 illustrates an example of a flowchart of an electronic device according to one embodiment. The electronic device (101) and / or the application processor (110) of FIG. 1 may perform at least one of the operations described with reference to FIG. 2.

[0034] Referring to FIG. 2, in operation (210), according to one embodiment, a processor of an electronic device may initiate initialization of at least one of a plurality of audio circuits (e.g., the plurality of audio circuits (150) of FIG. 1) indicated by first list information and connected to the processor. Hereinafter, an audio circuit indicated by the list information and / or an audio circuit corresponding to the list information may mean that the list information includes a parameter for specifying the audio circuit (e.g., an identifier, a serial number, and / or a name assigned to the audio circuit). The first list information may be stored in a memory of the electronic device (101) (e.g., the memory (120) of FIG. 1). The first list information may correspond to at least a portion of hardware and / or circuits included in the electronic device. The operation (210) of FIG. 2 may, according to one embodiment, be performed by a processor of the electronic device (101) (e.g., an application processor (110) of FIG. 2) while the electronic device (101) is booting. The embodiment is not limited thereto, and the operation may be performed by the processor of the electronic device (101) while the processor of the electronic device (101) is performing a state and / or operation different from booting (e.g., an operation related to recovery and / or diagnosis of the electronic device (101).

[0035] According to one embodiment, the first list information may include information for identifying a plurality of audio circuits (150) included in the electronic device (101) (e.g., names assigned to each of the plurality of audio circuits (150). According to one embodiment, based on the first list information, the processor may execute a system application (e.g., a device driver) corresponding to each of the plurality of audio circuits.

[0036] In one embodiment, based on the execution of the device driver, the processor may execute a function for initializing at least one audio circuit. For example, the processor may initialize each of the plurality of audio circuits individually or for all of the audio circuits. For example, the processor may perform initialization for the plurality of audio circuits individually and / or independently. According to one embodiment, the function may include a function for providing a power signal set by the device driver to each of the plurality of audio circuits. According to one embodiment, the function may include a function for activating an audio interface between the plurality of audio circuits and the processor. For example, to activate the audio interface, the processor may adjust a clock of the audio interface to a clock specified by the device driver. For example, to activate the audio interface, the processor may transmit an electrical signal to the audio interface to transmit and receive audio-related signals with the device driver. The electrical signals transmitted and / or received between the processor and the audio circuits may be referred to as control signals, data signals, and / or audio signals.

[0037] In one embodiment, while the plurality of audio circuits are initialized based on the operation (210), the processor of the electronic device may perform initialization for a device driver (e.g., a machine driver (330) of FIG. 3) for a sound card of the electronic device (e.g., a group of audio DSPs (130) and the plurality of audio circuits (150) of FIG. 1). For example, the processor may perform initialization and / or loading for the plurality of device drivers (360) and / or the machine driver (330) of FIG. 3. Based on the device driver for the sound card, the processor may electrically or physically bind each of the plurality of audio circuits to the plurality of audio interfaces (e.g., the plurality of audio interfaces (140) of FIG. 1).

[0038] Referring to FIG. 2, in operation (215), according to one embodiment, the processor of the electronic device may add information about the initialized audio circuit (e.g., text indicating a name assigned to the audio circuit) to the second list information. For example, the processor that has identified the initialized audio circuit based on operation (210) may perform operation (215) to add information about the initialized audio circuit (e.g., a name uniquely assigned to the audio circuit, a serial number, or an ID assigned to the audio circuit, etc.) to the second list information. According to one embodiment, in terms of the list of initialized components, the second list information may be referred to as a component list. Based on operation (215), information about at least one audio circuit that has been switched to an active state may be included in the second list information and / or accumulated.

[0039] Referring to FIG. 2, in operation (220), according to one embodiment, a processor of an electronic device may identify whether information about all of a plurality of audio circuits (e.g., audio circuits whose names are stored in the first list information) associated with the first list information has been added to the second list information. The processor may perform operations (215, 220) of FIG. 2 based on each of the plurality of audio circuits being initialized. In one embodiment, the processor may compare the first list information and the second list information to identify at least one audio circuit indicated by the first list information among the first list information and the second list information. For example, the fact that information about a specific audio circuit is included only in the first list information among the first list information and the second list information may mean that the specific audio circuit is not initialized (e.g., in an inactive state). For example, if all of the plurality of audio circuits indicated by the first list information are included in the second list information (220 - Yes), the processor may perform operation (225). If information about at least one of the audio circuits indicated by the first list information is not included in the second list information, or information about all of the audio circuits included in the first list information is not included in the second list information (220-No), the processor may perform operation (230). For example, the processor may perform operation (230) before information about all of the audio circuits indicated by the first list information is included in the second list information.

[0040] Referring to FIG. 2, within operation (225), according to one embodiment, a processor of an electronic device may complete initialization of a plurality of audio circuits. While performing operation (225), since information about all of the plurality of audio circuits has been added to the second list information, all of the plurality of audio circuits may correspond to an active state based on the initialization. After operation (225), the processor may complete booting of the electronic device. Based on operation (225), the processor may complete registration and / or activation of a sound card. Registering a sound card may mean changing a state of hardware of the electronic device related to the sound card (e.g., audio DSP (130) and the plurality of audio circuits (150) of FIG. 1) to a state controllable by a software application executed by the processor. For example, based on completion of the initialization of operation (225), the processor may control all of the plurality of audio signals that are in an active state. For example, after operation (225), the processor may control at least one of the plurality of audio circuits and / or an audio DSP (e.g., audio DSP (130) of FIG. 1) based on the execution of the software application. For example, based on operation (225), the processor may not store log information (e.g., log information (160) of FIG. 1). For example, the log information may not be generated and / or changed by operation (225) of FIG. 2.

[0041] Referring to FIG. 2, in operation (230), a processor of an electronic device according to an embodiment may identify whether the audio circuits have been initialized a specified number of times. For example, the processor may repeatedly perform an operation of comparing the first list information of operation (210) and the second list information of operation (215) a specified number of times in operation (230). The operation (230) of comparing the first list information and the second list information may be performed in a state where not all information about the audio circuits indicated by the first list information is included in the second list information, based on operation (220).

[0042] For example, the processor may repeatedly perform a check for initialization of audio circuits based on a retry counter that is set to be decremented by a specified number based on identifying an audio circuit that is inactive among a plurality of audio circuits. For example, before checking whether the audio circuits are initialized a specified number of times (or if the audio circuits are initialized less than the specified number of times) (230-No), the processor may perform operation (232). For example, if at least one audio circuit is not initialized and the audio circuits are initialized less than the specified number of times (230-No), the processor may perform operation (232). In operation (232), according to an embodiment, the processor of the electronic device may reset a driver for registering audio circuits (e.g., machine driver (330) of FIG. 3). For example, the processor may perform operations (215, 220) of FIG. 2 by resetting the loaded driver for comparison of the first list information and the second list information for registration of audio circuits among the loaded drivers based on operation (210). For example, if the number of times the initialization of the audio circuits is checked is less than the specified number of times in operation (230), the processor performs the machine driver initialization process again based on operations (215, 220). For example, the machine driver initialization may be a sound card registration process. According to one embodiment, the processor may perform operation (230) of FIG. 2 based on a retry counter that includes a number of times that starts from the specified number and is gradually decremented. For example, the retry counter may increase depending on the number of attempts to initialize the audio circuit, and if it is determined that the counter has checked whether the audio circuits have been initialized a predetermined specified number of times, the processor may perform operation (235).If the initialization of the audio circuit is attempted a specified number of times (or more than the specified number of times), but at least one audio circuit is not initialized (230-Yes), the processor may perform operation (235). For example, if the state of the at least one audio circuit remains inactive despite repeatedly checking whether the audio circuits are initialized a specified number of times or more while booting the electronic device, the processor may perform operation (235).

[0043] Referring to FIG. 2, in operation (235), according to one embodiment, the processor of the electronic device may identify, based on second list information, at least one audio circuit that is not initialized among a plurality of audio circuits connected to the processor. For example, the processor may identify, among the audio circuits indicated by the first list information, one or more audio circuits indicated by the second list information. According to one embodiment, among the audio circuits of operation (210), the audio circuit included in both the first list information and the second list information may be an audio circuit that has completed initialization and is in an active state. Among the audio circuits of operation (210), at least one audio circuit indicated by the first list information among the first list information or the second list information may be at least one audio circuit that is not initialized and is in an inactive state. In view of comparison with the second list information, the first list information may be referred to as a check list. The processor can search for each of the audio circuits indicated by the first list information within the second list information to identify whether information about each of the audio circuits is included in the second list information. Among the audio circuits indicated by the first list information, an audio circuit not indicated by the second list information may be an uninitialized audio circuit.

[0044] Referring to FIG. 2, in operation (250), according to one embodiment, a processor of an electronic device may store log information indicating at least one audio circuit that has not been initialized. For example, the processor may store text indicating at least one audio circuit that remains in an inactive state after the initialization of operation (210) in the log information. Based on operation (210), the at least one audio circuit that has not been initialized may remain in an inactive state due to a defect and / or failure. Based on operation (250), the processor may check for a failure of a plurality of audio circuits included in the electronic device while booting the electronic device or under a specific situation (e.g., receiving an audio circuit check command, a diagnostic command, etc.). According to one embodiment, based on operation (250), the processor may obtain log information indicating at least one audio circuit that has not been initialized independently of a software application that is executed to diagnose the audio circuit after booting. Based on the log information, the processor may guide repair of the at least one audio circuit that has not been initialized.

[0045] Referring to FIG. 2, in operation (255), according to one embodiment, a processor of an electronic device may determine that the initialization of at least one of a plurality of audio circuits has failed based on the first list information and / or the second list information. After operation (255), if operation (255) was performed while the electronic device was booting, the processor may complete the booting of the electronic device. In one embodiment, the processor performing operation (255) may stop the registration and / or activation of all or at least one sound card of the electronic device including at least one audio circuit in an inactive state. For example, after operation (255), execution of a function related to audio based on an audio DSP and / or a plurality of audio circuits included in the electronic device may be restricted. The embodiment is not limited thereto, and the processor may support executing a function for another audio circuit different from the at least one audio circuit identified based on operation (235). After the operation (255), the processor can display a user interface (UI) that guides the output of the stored log information based on the operation (250) through the display.

[0046] The operations of the electronic device described with reference to FIG. 2 may be performed based on one or more software applications installed in the electronic device. Below, an example of one or more software applications included in the electronic device for performing the operations of FIG. 2 is described with reference to FIG. 3.

[0047] FIG. 3 illustrates an example of a block diagram (300) for software applications executed by a processor of an electronic device, according to one embodiment. The electronic device (101) and / or the application processor (110) of FIG. 1 may perform at least one of the operations described with reference to FIG. 3. The operations of the electronic device described with reference to FIG. 3 may be related to the operations of FIG. 2.

[0048] Referring to FIG. 3, according to one embodiment, software applications installed in an electronic device may be classified into a user space (310) and a kernel space (320). A software application (e.g., a log application (312)) installed in the electronic device to directly interact with a user of the electronic device may be classified as software that runs in the user space (310). According to one embodiment, at least one software application (e.g., a machine driver (330), a sound debug driver (340), and / or a plurality of device drivers (360)) installed in the electronic device to support control of the electronic device based on a software application classified as software that runs in the user space (310) may be classified as software that runs in the kernel space (320).

[0049] Referring to FIG. 3, according to one embodiment, a processor of an electronic device (e.g., an application processor (110) of FIG. 1) may execute device drivers (360) corresponding to each of a plurality of audio circuits (e.g., a plurality of audio circuits (150) of FIG. 1) included in the electronic device. The device driver may be installed in the electronic device to control the audio circuit through the processor. For example, based on the device driver, the processor may generate a control signal to be transmitted to the audio circuit. For example, based on the device driver, the processor may identify or process information included in a data signal transmitted from the audio circuit.

[0050] Referring to FIG. 3, a machine driver (330) executed by a processor of an electronic device may include instructions for registering a sound card included in the electronic device (e.g., a group of audio DSPs (130) and a plurality of audio circuits (150) of FIG. 1). According to one embodiment, in terms of corresponding to a sound card, the machine driver (330) may be referred to as a sound card driver. According to one embodiment, the machine driver (330) may include digital audio interfaces (DAIs) (350), which are connection information for audio interfaces connected to a plurality of audio circuits (e.g., a plurality of audio interfaces (140) of FIG. 1). According to one embodiment, audio devices are connected via DAIs, controlled by a driver of each audio device, and may transmit / receive audio data between the processor and the audio devices. The connection information may include at least one of information about an audio interface between a processor and an audio circuit (e.g., a type of the audio interface), a name of an audio circuit corresponding to the connection information, a format of audio data transmitted or received by the audio circuit, or a function (or API) to be executed when starting or ending transmission of the audio data. The DAIs (350) may include a data structure formed in the memory (120) and including the connection information.

[0051] In one embodiment, based on the execution of the machine driver (330), the processor may identify first list information (370) representing all audio circuits included in the electronic device. Based on the execution of the machine driver (330), the processor may identify and / or manage second list information (380) representing one or more audio circuits in an active state. For example, the first list information (370) may include the first list information of operation (210) of FIG. 2. For example, the second list information (380) may include the second list information of operation (220) of FIG. 2.

[0052] According to one embodiment, a processor of an electronic device may control a plurality of audio circuits connected to the processor based on the execution of a machine driver (330). In one embodiment, based on the machine driver (330), the processor may establish connections between the plurality of audio circuits and the processor. While performing initialization for the plurality of audio circuits, the processor may perform binding for the plurality of audio circuits connected to the processor based on a plurality of DAIs (350). For example, the processor may initialize or load device drivers (e.g., the first device driver (360-1) to the Nth device driver (360-N)) and / or the machine driver (330) corresponding to the audio circuits indicated by the first list information. The processor may use the machine driver (330) to determine whether each of the device drivers has been initialized. The processor may perform the determination of whether each of the device drivers has been initialized a specified number of times, as in operation (230) of FIG. 2. For example, if not all of the device drivers are initialized, the processor can repeatedly initialize and / or reset the machine driver (330) to determine whether each of the device drivers has been initialized.

[0053] According to one embodiment, a processor of an electronic device may control audio input (e.g., recording) and / or audio output (e.g., playback) to the electronic device based on a machine driver (330). For example, the processor may communicate with an Nth audio circuit (e.g., the Nth audio circuit (150-N) of FIG. 1) corresponding to the Nth device driver (360-N) using the Nth DAI (350-N) and / or the Nth device driver (360-N). Communicating with the Nth audio circuit may include transmitting audio data to the Nth audio circuit and / or receiving audio data from the Nth audio circuit.

[0054] According to one embodiment, a processor of an electronic device may perform an operation of registering a sound card included in the electronic device based on a machine driver (330). After all of a plurality of audio circuits connected to the processor have been switched to an active state, the processor may register the sound card. For example, if at least one of a plurality of audio circuits connected to the processor remains in an inactive state based on the machine driver (330), the processor may initialize the machine driver (330) to check the states of each of the plurality of audio circuits and / or perform an operation of obtaining second list information (380) again. The processor may repeatedly initialize the machine driver (330) a specified number of times (e.g., a specified number of times in operation (230) of FIG. 2) if at least one of the plurality of audio circuits remains in an inactive state. If the processor identifies that all of the plurality of audio circuits have been switched to an active state based on the initialized machine driver (330) in a number of times less than the specified number, the processor may register the sound card without additionally initializing the machine driver (330). If at least one of the plurality of audio circuits remains inactive even after the machine driver (330) has been initialized a specified number of times, the processor may generate or store log information (160) containing information about the at least one audio circuit.

[0055] In one embodiment, if at least one audio circuit among the plurality of audio circuits is not initialized based on a control signal indicating initialization, the processor may repeatedly transmit the control signal to the audio circuit based on a specified number of times (e.g., the specified number of times of operation (230) of FIG. 2). The embodiment is not limited thereto, and based on the repeatedly transmitted control signal, the processor may repeatedly attempt to initialize the audio circuit. If the audio circuit is initialized based on the repeatedly transmitted control signals, the processor may perform another operation for registering the sound card. If the audio circuit is not initialized based on the repeatedly transmitted control signals, the processor may stop registering the sound card and determine that the audio circuit is faulty.

[0056] In one embodiment, the processor may identify whether the plurality of audio circuits have been initialized after transmitting control signals for initialization to the plurality of audio circuits of the electronic device based on the execution of the machine driver (330). For example, the processor, which has identified an audio circuit that has been switched to an active state based on the initialization, may add the audio circuit that has been switched to the active state to the second list information (380). The processor may compare the first list information (370) and the second list information (380) to identify whether each of the plurality of audio circuits has been initialized. In one embodiment, the processor may repeatedly transmit a control signal for initialization based on a specified number of times for the audio circuit included in the first list information (370) among the first list information (370) and the second list information (380). In one embodiment, if the audio circuit is not initialized by the repeatedly transmitted control signals, the processor may determine that the audio circuit is faulty. In one embodiment, when the audio circuit is initialized, the processor may add information about the audio circuit to a second list of information (380), and in the case of an audio circuit that is not initialized even after a specified number of initialization attempts, the processor may operate not to include information about the audio circuit in the second list. In one embodiment, to identify whether the audio circuit is faulty, the processor may perform an input / output test on the audio circuit. If the audio circuit does not respond to the input / output test, the processor may determine that the audio circuit is faulty.

[0057] According to one embodiment, the processor of the electronic device may execute a function corresponding to an API related to the log information (160) based on the execution of the sound debug driver (340). For example, the processor, which identifies at least one audio circuit in an inactive state based on the execution of the machine driver (330), may execute the sound debug driver (340) to add the identified audio circuit to the log information (160). Based on the execution of the sound debug driver (340), the processor may store and / or modify the log information (160) in a log buffer (342) formed in a memory (e.g., the memory (120) of FIG. 1). The log buffer (342) managed by the sound debug driver (340) may be formed in a volatile memory of the electronic device. For example, after the log buffer (342) is formed in the volatile memory, the log buffer (342) may be maintained in the volatile memory until the electronic device is turned off.

[0058] According to one embodiment, the processor of the electronic device may obtain a file including log information (160) stored in the log buffer (342) based on the execution of the log application (312). According to one embodiment, the file may be stored in a non-volatile memory of the electronic device. Based on the execution of the log application (312), the processor may display a screen (e.g., the screen described with reference to FIG. 6) for guiding a user of the electronic device about a failure in the initialization of at least one audio circuit. Based on the execution of the log application (312), the processor may copy or move the log information (160) stored in the log buffer (342) from the volatile memory in which the log buffer (342) is formed to the non-volatile memory. According to one embodiment, if at least one of the plurality of audio circuits is not initialized, a sound card including all of the plurality of audio circuits may not be registered, and thus, execution of audio-related functions may be limited. While the processor is restricted from executing audio-related functions, it may output an error in response to an event (e.g., an API called by a software application) for executing said function. In one embodiment, the processor that has identified said error may obtain a file containing log information (160) based on the execution of a log application (312). The file may be transmitted by the processor to an external electronic device (e.g., a server and / or a repair technician's terminal) that is different from the electronic device.

[0059] As described above, according to one embodiment, the processor of the electronic device may attempt to initialize a plurality of audio circuits based on the execution of the machine driver (330). If a request to control an uninitialized audio circuit is identified, the processor may generate an error. For example, if at least one of the plurality of audio circuits is uninitialized, the processor may stop initializing all of the plurality of audio circuits. For example, if at least one of the plurality of audio circuits is initialized, execution of all functions supported by the plurality of audio circuits may be restricted.

[0060] In one embodiment, a processor of an electronic device may use a dummy driver (362) to complete initialization for audio circuits that are different from the uninitialized audio circuit. For example, a processor that identifies at least one audio circuit that remains in an inactive state despite initialization may connect the identified at least one audio circuit to the dummy driver (362) to complete initialization for a plurality of audio circuits. For example, connecting the dummy driver may include adding information about the identified at least one audio circuit to the second list information. After connecting the dummy driver (362), the processor may register a sound card including a plurality of audio circuits. Based on the dummy driver (362), the processor may respond to a request to execute a function of at least one audio circuit that is in an inactive state. A processor that has registered a sound card based on the dummy driver (362) may execute a function corresponding to other audio circuits excluding the at least one audio circuit that is in an inactive state.

[0061] As described above, according to one embodiment, the processor of the electronic device can diagnose a failure of all audio circuits by using the machine driver (330) for initializing a plurality of audio circuits. Since the machine driver (330) is used to diagnose all audio circuits, the processor can diagnose all audio circuits without changing the device drivers (360) corresponding to each audio circuit. For example, the processor can identify whether each audio circuit has been initialized independently of whether the device drivers (360) individually support diagnosis of the audio circuits. Since the audio circuits are diagnosed without changing each device driver (360), fragmentation caused by the device drivers (360) individually diagnosing the audio circuits can be prevented. The fragmentation can occur because the function for diagnosing the audio circuits is implemented differently by each device driver (360).

[0062] FIG. 4 illustrates an example of a block diagram (400) for software applications executed by a processor of an electronic device, according to one embodiment. The electronic device (101) and / or the application processor (110) of FIG. 1 may perform at least one of the operations described with reference to FIG. 4. The operations of the electronic device described with reference to FIG. 4 may be related to the operations of FIG. 2. The software applications of FIG. 4 may correspond to the software applications of FIG. 3. Among the software applications of FIG. 4, a description corresponding to a software application having a reference number illustrated in FIG. 3 may be omitted to avoid duplication with the description of FIG. 3.

[0063] According to one embodiment, a processor of an electronic device (e.g., an application processor (110) of FIG. 1) may perform initialization of audio circuits (e.g., power, gpio, register settings) and initialize each device driver (360), and establish a connection between an audio circuit (e.g., a plurality of audio circuits (150) of FIG. 1) and an audio interface (e.g., a plurality of audio interfaces (140) of FIG. 1) based on the execution of a machine driver (330). The operation of establishing the connection may be referred to as binding. When the initialization of the audio circuits is completed, the processor may add data about the initialized audio circuit to the second list information (380). The data may include a name and / or identifier (e.g., an ID and / or a serial number) uniquely assigned to the audio circuit.

[0064] According to one embodiment, a processor of an electronic device may establish connections between a plurality of audio interfaces and a plurality of audio circuits using DAIs (e.g., a first DAI (350-1) to an Nth DAI (350-N)), which are connection information related to a machine driver (330). The connection information included in the DAI may include a parameter indicating a type of audio interface corresponding to the DAI (e.g., I2S, slim bus, and / or sound wire). The connection information included in the DAI may include a name of an audio circuit connected via the audio interface corresponding to the DAI. The connection information included in the DAI may include a parameter indicating a data format required for communicating with the audio circuit connected via the audio interface corresponding to the DAI. The connection information included in the DAI may include a function and / or API called when communicating with the audio circuit connected via the audio interface corresponding to the DAI. For example, the connection information may include a name (or function pointer) uniquely assigned to the function. Based on the DAI, the processor can control circuits included in the signal path between the audio interface and the audio circuit. For example, the processor can set the clock of the circuit to the clock indicated by the DAI. For example, the processor can control the GPIO of the circuit based on the DAI.

[0065] In one embodiment, if the audio circuit is not initialized based on the connection, the processor may repeatedly check for or attempt to initialize the audio circuit based on a specified number of times. If the audio circuit is initialized while repeatedly checking and / or attempting to initialize the audio circuit based on the specified number of times, the processor may add data about the audio circuit to the second list information (380). If the state of the audio circuit remains in an inactive state even after repeatedly checking and / or attempting to initialize the audio circuit based on the specified number of times, the processor may not add data about the audio circuit to the second list information (380). Since the processor performs the above-described operation for all of the plurality of audio circuits, data about one or more audio circuits among the plurality of audio circuits that have been switched to an active state based on initialization may be accumulated in the second list information (380).

[0066] In one embodiment, the processor may compare the DAIs (e.g., the first DAI (350-1) to the Nth DAI (350-N)) with the second list information (380) to identify or determine whether each of the plurality of audio circuits has been initialized. For example, the processor may search for a name of an audio circuit included in each of the DAIs in the second list information (380). If the processor determines that the second list information (380) includes information about an audio circuit included in each of the DAIs, or identifies the name, the processor may determine that the initialization of the audio circuit corresponding to the name is complete. If the name is not identified in the second list information (380) (e.g., by checking whether the name is included in the second list), the processor may determine that the initialization of the audio circuit corresponding to the name has failed. If the name is not identified in the second list information (380), the processor may determine that the audio circuit is faulty.

[0067] As described above, according to one embodiment, the processor of the electronic device may use information corresponding to each of the audio interfaces connecting the processor and each of the plurality of audio circuits (e.g., the first DAI (350-1) to the Nth DAI (350-N)) to identify at least one audio circuit among the plurality of audio circuits that is maintained in an inactive state. The information corresponding to each of the audio interfaces may indicate at least one of a type of the audio interface, a name of an audio circuit connected via the audio interface, or a format of a signal exchanged via the audio interface. Based on identifying the at least one audio circuit that is maintained in an inactive state, the processor may add data representing the at least one audio circuit identified in the log information (160). By adding the at least one audio circuit in the log information (160), the processor may obtain a result of performing a diagnosis on the plurality of audio circuits while booting the electronic device.

[0068] Hereinafter, with reference to FIGS. 5 and 6, an example of an operation of a processor of an electronic device outputting the log information (160) according to one embodiment will be described.

[0069] FIG. 5 illustrates an example of an operation of an electronic device (101) for storing log information (160). The electronic device (101) and / or the application processor (110) of FIG. 1 may perform the operations described with reference to FIG. 5. The operations of the electronic device (101) described with reference to FIG. 5 may be related to the operations of FIG. 2.

[0070] Referring to FIG. 5, according to one embodiment, the memory (120) of the electronic device (101) may be divided into a volatile memory (510) and a non-volatile memory (520). The non-volatile memory (520) may include a universal flash storage (UFS), a secure digital (SD) card, a solid state drive (SSD), and / or a hard disk drive (HDD). The non-volatile memory (520) may be configured to retain stored data even when a power signal is not provided. The volatile memory (510) may include a circuit configured to retain information while a power signal is provided, such as a RAM. The embodiment is not limited thereto, and the volatile memory (510) may include a virtual memory set in at least a portion of the non-volatile memory (520) by the application processor (110).

[0071] According to one embodiment, the application processor (110) of the electronic device (101) may store log information (160) in the volatile memory (510) based on the operation described with reference to FIG. 2. As described above with reference to FIGS. 3 and 4 , the application processor (110) may store the log information (160) in a log buffer formed in the volatile memory (510) (e.g., the log buffer (342) of FIGS. 3 and / or 4 ). The log information (160) may be managed by a software application and / or a system process (e.g., the sound debug driver (340) of FIG. 3 ) executed by the application processor (110). For example, access to the log information (160) stored in the volatile memory (510) may be permitted by the sound debug driver executed by the application processor (110).

[0072] In one embodiment, the log information (160) stored in the volatile memory (510) may be maintained in the volatile memory (510) while the electronic device (101) is turned on. According to one embodiment, when the initialization of at least one of the plurality of audio circuits (150) fails, the application processor (110) may store the log information (160) and output a notification message notifying the failure of the initialization. The notification message may be output through a pop-up window (e.g., toast and / or icon) displayed through the display of the electronic device (101). The embodiment is not limited thereto, and the notification message may include vibration of the electronic device (101) generated by a vibration motor. The notification message may include an electrical signal transmitted from the electronic device (101) to an external electronic device.

[0073] According to one embodiment, the application processor (110) may identify an event for outputting log information (160). The event may be generated by the addition of at least one audio circuit to the log information (160). The event may be generated by a user input for outputting the log information (160). For example, in response to an input indicating output of the log information (160), the application processor (110) may copy the log information (160) stored in the volatile memory (510) to the non-volatile memory (520). For example, the application processor (110) may move, transmit, and / or store the log information (160) stored in the volatile memory (510) to the non-volatile memory (520). For example, based on the execution of the sound debug driver (340) of FIGS. 3 and 4, the application processor (110) may store log information (530) in the non-volatile memory (520).

[0074] In one embodiment, the log information (530) stored in the nonvolatile memory (520) may include text about one or more audio circuits maintained in an inactive state while booting the electronic device (101). Table 1 illustrates the text included in the log information (530) stored in the nonvolatile memory (520). The embodiment is not limited thereto, and the log information (530) may include data and / or information about one or more audio circuits maintained in an inactive state based on a different format than the text.

[0075] Line Number Text Line 1 [11.169826] snd-dbg: cannot find the cs35l43.18-0041 Line 2 [11.169830] snd-dbg: cannot find the cs40l26-codec

[0076] Referring to Table 1, the text included in the log information (530) may be divided into a plurality of lines. Each of the plurality of lines may include text accumulated by the application processor (110) that identified at least one audio circuit that was not initialized as it was maintained in an inactive state. Referring to line 1, the application processor (110) may store text indicating that an audio circuit (e.g., an amplifier circuit) with the name "cs35l43.18-0041" was not initialized, along with a time stamp (e.g., "11.169826") and the name of the system process executed by the application processor (110) to record the text (e.g., "snd-dbg", which is a name assigned to a sound debug driver). The time stamp of line 1 may indicate the timing at which the application processor (110) determined that the audio circuit with the name "cs35l43.18-0041" was faulty. Similarly, line 2 of the log information (530) may have been inserted by the application processor (110) which identified the audio circuit having the name "cs40l26-codec" that is maintained in the inactive state.

[0077] According to one embodiment, the application processor (110) may store log information (530) in a designated partition and / or designated directory of the non-volatile memory (520). For example, the application processor (110) may store log information (530) in a directory within the non-volatile memory (520) allocated for the sound debug driver (e.g., a directory having a directory name of " / proc / snd_debug_proc / "). When the log information (530) is stored in a file format, the log information (530) may be stored within the non-volatile memory (520) in the form of a file having a name (e.g., "sdp_boot_log") allocated by the sound debug driver.

[0078] As described above, according to one embodiment, the application processor (110) of the electronic device (101) may switch a plurality of audio circuits (150) connected to the application processor (110) to an active state while booting the electronic device (101). The application processor (110) may store the result of switching the plurality of audio circuits (150) to an active state in log information (160). If the audio circuit is not switched to an active state, the application processor (110) may determine that the audio circuit is faulty. According to one embodiment, based on the log information (160) including at least one audio circuit determined to be faulty, the application processor (110) may generate and / or provide a result of diagnosing the plurality of audio circuits (150) included in the electronic device (101) at the timing of booting the electronic device (101). According to one embodiment, the operation of diagnosing the plurality of audio circuits (150) by the processor (110) may be performed at a time other than the booting timing. For example, when a command requesting confirmation of the audio circuit is received from a device external to the electronic device, or when confirmation of the audio circuit is delayed, the operation may be performed even after the booting is completed. Since the log information (160) is acquired while the electronic device (101) is booting, an additional operation for diagnosing the plurality of audio circuits (150) (e.g., an operation for acquiring an additional log different from the log information (160)) may not be required.

[0079] In one embodiment, the application processor (110) of the electronic device (101) may perform an operation (e.g., the operations described with reference to FIG. 2) for diagnosing a plurality of audio circuits (150) every time the electronic device (101) boots up. Accordingly, the application processor (110) may more quickly identify a failure, damage, and / or deterioration of at least one of the plurality of audio circuits (150). The application processor (110) that identifies a failure of at least one of the plurality of audio circuits (150) may display a UI for guiding the failure. Hereinafter, an example of the UI displayed by the application processor (110) will be described with reference to FIG. 6.

[0080] FIG. 6 illustrates an example of a screen displayed by an electronic device (101-1) according to one embodiment. The electronic device (101) and / or the application processor (110) of FIG. 1 may perform the operations described with reference to FIG. 6. The operations of the electronic device (101-1) described with reference to FIG. 6 may be related to the operations of FIG. 5. Although the screen displayed by the electronic device (101-1) having a form factor of a smartphone is illustrated as an example, the embodiment is not limited thereto.

[0081] Referring to FIG. 6, according to one embodiment, the electronic device (101-1) may display a screen based on the result of initialization of a plurality of audio circuits (e.g., the plurality of audio circuits (150) of FIG. 1) included in the electronic device (101-1) on a display (610). The display (610) may include a liquid crystal display (LCD), a plasma display panel (PDP), and / or one or more light emitting diodes (LEDs). The LEDs may include organic LEDs (OLEDs). The display (610) may include a flat panel display (FPD) and / or electronic paper. In one embodiment, the display (610) may have an at least partially curved shape or a deformable shape.

[0082] According to one embodiment, the electronic device (101-1) may display a visual object to indicate an inactivity of at least one audio circuit based on identifying at least one audio circuit that is not switched to an active state and remains in an inactive state while the electronic device (101-1) is booting. For example, the electronic device (101-1) may display the visual object based on the execution of the log application (312) of FIG. 2. Referring to FIG. 6, the visual object may include an icon (632) and / or a pop-up window (640). For example, the electronic device (101-1) may display the icon (632) within a status bar (630), which is an area formed along a periphery of the display (610). For example, an electronic device (101-1) that has identified at least one audio circuit in an inactive state may display an icon (632) along with other icons arranged along the edge within a status bar (630), such as an icon representing the state of charge (SOC) of a battery and / or an icon representing the reception sensitivity of a wireless network.

[0083] Referring to FIG. 6, a visual object for notifying the inactivity of at least one audio circuit may include a pop-up window (640) superimposed on a screen displayed on the display (610). For example, the electronic device (101-1) may display the pop-up window (640) superimposed on a launcher screen, a home screen, and / or an execution screen provided by a software application being executed by the electronic device (101-1). Within the pop-up window (640), the electronic device (101-1) may display text (e.g., “Audio device initialization failure”) to guide the failure of sound card registration and / or audio circuit initialization based on at least one audio circuit being in an inactive state. Together with the text, the electronic device (101-1) may display text (e.g., “Would you like to share log information?”) to guide the output of log information (e.g., log information (160) of FIG. 1). Within the state where the text for guiding the output of log information is displayed within the pop-up window (640), the electronic device (101-1) may display visual objects (642, 644) for receiving an input indicating the output of the log information. Although visual objects (642, 644) in the form of buttons are illustrated as an example, the embodiment is not limited thereto.

[0084] Within a state of displaying a pop-up window (640) of FIG. 6, the electronic device (101-1) may hide the pop-up window (640) being displayed on the display (610) in response to an input indicating selection of a visual object (644). For example, an input indicating selection of a visual object (644) may correspond to an input for stopping display of the pop-up window (640). In response to an input indicating selection of a visual object (642), the electronic device (101-1) may store a file (e.g., log information (530) stored in a non-volatile memory (520) of FIG. 5) corresponding to log information stored in the electronic device (101-1) (e.g., log information (160) stored in a volatile memory (510) of FIG. 5). The electronic device (101-1) can make the stored file accessible to the user of the electronic device (101-1) and / or an external electronic device. The electronic device (101-1) can further display a screen for transmitting the file via email, messenger, and / or a wireless communication protocol for transmitting the file (e.g., WiFi direct, Bluetooth, and / or NFC (near field communication)). Based on the screen, the electronic device (101-1) can transmit the file to an external electronic device. According to one embodiment, sharing of the files can be performed without displaying a pop-up window (640) regarding sharing to the user based on preset settings (e.g., automatic transmission to a specific device when a problem occurs).

[0085] As described above, according to one embodiment, an electronic device can perform initialization for a plurality of audio circuits included in the electronic device. The initialization for the plurality of audio circuits can be performed while booting the electronic device. The electronic device can identify whether each of the plurality of audio circuits has been switched to an active state based on the initialization. For example, by updating a list of audio circuits switched to an active state, such as the second list information (380) of FIG. 2, the electronic device can identify whether each of the plurality of audio circuits has been switched to an active state based on the initialization.

[0086] In one embodiment, if any one of the plurality of audio circuits is not switched to the active state, the electronic device may attempt to switch the audio circuit to the active state based on a specified number of times. After attempting to switch the audio circuit to the active state based on the specified number of times, based on whether the audio circuit remains in the inactive state, the electronic device may determine whether to record the audio circuit in log information as an uninitialized audio circuit. Using the log information, the electronic device may display a list of audio circuits among the plurality of audio circuits that are not switched to the active state while the electronic device is booting. In one embodiment, all of the plurality of audio circuits are inaccessible to the electronic device if at least one audio circuit fails to be switched to the active state. The electronic device may use the log information to inform the user of the audio circuits that remain in the inactive state while not being able to control all of the plurality of audio circuits.

[0087] FIGS. 7A and 7B illustrate an example of a flowchart of an electronic device according to one embodiment. The electronic device (101) and / or the application processor (110) of FIG. 1 may perform the operations described with reference to FIGS. 7A and 7B . The operations of FIGS. 7A and 7B may be related to at least one of the operations of FIG. 2 .

[0088] Referring to FIG. 7A, in operation (710), a processor of an electronic device (e.g., an application processor (110) of FIG. 1) according to an embodiment may perform initialization on a plurality of audio circuits (e.g., a plurality of audio circuits (150) of FIG. 1) in a first state. According to an embodiment, operation (710) of FIG. 7A may be performed while booting the electronic device. According to an embodiment, operation (710) of FIG. 7A may also be performed after booting the electronic device. The first state of operation (710) may correspond to an inactive state. The processor may include audio interfaces (e.g., a plurality of audio interfaces (140) of FIG. 1) for connecting to the plurality of audio circuits. The processor may transmit control signals for initialization to the plurality of audio circuits based on connection information for each of the audio interfaces (e.g., DAIs (350) of FIG. 3). Each of the audio circuits receiving the above control signals can be switched from a first state to a second state (e.g., an active state).

[0089] Referring to FIG. 7A, in operation (720), a processor of an electronic device according to an embodiment may identify whether all of the plurality of audio circuits have switched from a first state to a second state based on initialization. If all of the plurality of audio circuits have switched to the second state in which they are active (720—Yes), the processor may perform operation (750). If at least one of the plurality of audio circuits remains in the first state (720—No), the processor may perform operation (730).

[0090] Referring to FIG. 7A, in operation (750), according to one embodiment, a processor of an electronic device may execute at least one of functions supported by each of a plurality of audio circuits based on the execution of a software application. When all of the plurality of audio circuits are switched to a second state, the processor may complete initialization of the plurality of audio circuits. According to one embodiment, after the plurality of audio circuits are switched to the second state, the processor may complete booting of the electronic device. After completing booting of the electronic device, the processor may execute a function related to audio, which is directed by a software application executed by the processor, using the plurality of audio circuits in the second state. The function related to audio may include recording audio, playing audio, encoding and / or decoding audio.

[0091] Referring to FIG. 7A, in operation (730), a processor of an electronic device according to an embodiment may store log information for at least one audio circuit maintained in a first state. The log information of operation (730) may include log information (160) of FIG. 1. The processor, which has identified at least one audio circuit maintained in the first state, may repeatedly check for or attempt to initialize the at least one audio circuit based on a specified number of times or based on the elapse of a specified time. According to an embodiment of the invention, if the state of the at least one audio circuit is maintained in the first state after repeatedly checking for or attempting to initialize the at least one audio circuit based on a specified number of times, the processor may perform operation (730). According to an embodiment of the invention, if the state of the at least one audio circuit is maintained in the first state after repeatedly attempting to initialize the at least one audio circuit for a specified time, the processor may perform operation (730). Based on the operation (730), the processor can obtain a list (e.g., log information of the operation (730)) of at least one audio circuit that has not switched to the second state.

[0092] Referring to FIG. 7A, in operation (740), according to one embodiment, a processor of an electronic device may output log information based on a user input. The user input may include the user input described with reference to FIG. 6. Based on the user input, the processor may generate and / or store a file containing the log information in a non-volatile memory (e.g., the non-volatile memory (520) of FIG. 5). The processor may display the file to a user of the electronic device and / or transmit the file to an external electronic device.

[0093] Referring to FIG. 7A, if at least one audio circuit maintained within the first state is identified (720-No), the processor may restrict execution of functions supported by each of the plurality of audio circuits. To execute functions supported by other audio circuits different from the at least one audio circuit within the first state, the processor may utilize a dummy driver (e.g., the dummy driver (362) of FIG. 3). Referring to FIG. 7B, operations of an electronic device performed based on the dummy driver are illustrated. Among the operations of FIG. 7B, descriptions of operations (710, 720, 730, 750) described with reference to FIG. 7A may be omitted to reduce repetition.

[0094] Referring to FIG. 7B, based on operation (710), a processor of an electronic device (e.g., application processor (110) of FIG. 1) according to an embodiment may perform initialization on a plurality of audio circuits in a first state. Within operation (720), the processor of the electronic device according to an embodiment may identify, based on the initialization, whether all of the plurality of audio circuits have been switched from the first state to the second state. If all of the plurality of audio circuits have been switched to the second state (720—Yes), the processor may perform operation (750). If at least one of the plurality of audio circuits has not been switched to the second state (720—No), the processor may perform operation (730).

[0095] Referring to FIG. 7B , in operation (730), a processor of an electronic device according to one embodiment may store log information for at least one audio circuit maintained in a first state. Based on operation (730), the processor may obtain log information accessible to a user of the electronic device and / or an external electronic device. After storing the log information, the processor may output the log information according to a user input based on operation (740) of FIG. 7A .

[0096] Referring to FIG. 7B , in operation (732), according to an embodiment, a processor of an electronic device may initialize at least one audio circuit maintained in a first state based on a dummy driver (e.g., dummy driver 362 of FIG. 3 ). For example, the processor may set or bind the dummy driver to a device driver corresponding to the at least one audio circuit maintained in the first state. After operation (732), the processor may execute the dummy driver in response to a request to execute a function of the at least one audio circuit. The dummy driver may be provided for registering a sound card including a plurality of audio circuits. The dummy driver may be provided for making the plurality of audio circuits accessible by a software application executed by the processor. Referring to FIG. 7B , after initializing at least one audio circuit based on operation (732), the processor may perform operation (750).

[0097] Referring to FIG. 7B, in operation (750), according to an embodiment, a processor of an electronic device may execute at least one of functions supported by each of a plurality of audio circuits based on the execution of a software application. When executing a function supported by an audio circuit switched to a second state, the processor may transmit a control signal to the audio circuit for executing the function using a device driver corresponding to the audio circuit. When executing a function supported by an audio circuit in a first state, the processor may restrict the transmission of a control signal to the audio circuit using a dummy driver. For example, based on the dummy driver, the processor may block the transmission of a control signal to the audio circuit in the first state. The processor may generate an error message that can be processed by a software application that has requested the execution of a function for the audio circuit in the first state using the dummy driver.

[0098] FIG. 8 is a block diagram of an electronic device (801) within a network environment (800) according to various embodiments. Referring to FIG. 8, in the network environment (800), the electronic device (801) may communicate with the electronic device (802) via a first network (898) (e.g., a short-range wireless communication network), or may communicate with at least one of the electronic device (804) or the server (808) via a second network (899) (e.g., a long-range wireless communication network). In one embodiment, the electronic device (801) may communicate with the electronic device (804) via the server (808). According to one embodiment, the electronic device (801) may include a processor (820), a memory (830), an input module (850), an audio output module (855), a display module (860), an audio module (870), a sensor module (876), an interface (877), a connection terminal (878), a haptic module (879), a camera module (880), a power management module (888), a battery (889), a communication module (890), a subscriber identification module (896), or an antenna module (897). In some embodiments, the electronic device (801) may omit at least one of these components (e.g., the connection terminal (878)), or may have one or more other components added. In some embodiments, some of these components (e.g., the sensor module (876), the camera module (880), or the antenna module (897)) may be integrated into one component (e.g., the display module (860)).

[0099] The processor (820) may, for example, execute software (e.g., a program (840)) to control at least one other component (e.g., a hardware or software component) of the electronic device (801) connected to the processor (820) and perform various data processing or operations. According to one embodiment, as at least a part of the data processing or operations, the processor (820) may store commands or data received from other components (e.g., a sensor module (876) or a communication module (890)) in a volatile memory (832), process the commands or data stored in the volatile memory (832), and store result data in a non-volatile memory (834). According to one embodiment, the processor (820) may include a main processor (821) (e.g., a central processing unit or an application processor) or an auxiliary processor (823) (e.g., a graphics processing unit, a neural processing unit (NPU), an image signal processor, a sensor hub processor, or a communication processor) that can operate independently or together with the main processor (821). For example, when the electronic device (801) includes the main processor (821) and the auxiliary processor (823), the auxiliary processor (823) may be configured to use less power than the main processor (821) or to be specialized for a given function. The auxiliary processor (823) may be implemented separately from the main processor (821) or as a part thereof.

[0100] The auxiliary processor (823) may control at least a portion of functions or states associated with at least one component (e.g., a display module (860), a sensor module (876), or a communication module (890)) of the electronic device (801), for example, on behalf of the main processor (821) while the main processor (821) is in an inactive (e.g., sleep) state, or together with the main processor (821) while the main processor (821) is in an active (e.g., application execution) state. In one embodiment, the auxiliary processor (823) (e.g., an image signal processor or a communication processor) may be implemented as a part of another functionally related component (e.g., a camera module (880) or a communication module (890)). In one embodiment, the auxiliary processor (823) (e.g., a neural network processing unit) may include a hardware structure specialized for processing artificial intelligence models. The artificial intelligence models may be generated through machine learning. This learning can be performed, for example, on the electronic device (801) itself where the artificial intelligence model is executed, or can be performed through a separate server (e.g., server (808)). The learning algorithm can include, for example, supervised learning, unsupervised learning, semi-supervised learning, or reinforcement learning, but is not limited to the examples described above. The artificial intelligence model can include multiple artificial neural network layers.The artificial neural network may be one of a deep neural network (DNN), a convolutional neural network (CNN), a recurrent neural network (RNN), a restricted Boltzmann machine (RBM), a deep belief network (DBN), a bidirectional recurrent deep neural network (BRDNN), a deep Q-network, or a combination of two or more of the above, but is not limited to the examples described above. In addition to, or alternatively to, a hardware structure, an artificial intelligence model may include a software structure.

[0101] The memory (830) can store various data used by at least one component (e.g., the processor (820) or the sensor module (876)) of the electronic device (801). The data can include, for example, software (e.g., the program (840)) and input data or output data for commands related thereto. The memory (830) can include a volatile memory (832) or a non-volatile memory (834).

[0102] The program (840) may be stored as software in the memory (830) and may include, for example, an operating system (842), middleware (844), or an application (846).

[0103] The input module (850) can receive commands or data to be used in a component of the electronic device (801) (e.g., a processor (820)) from an external source (e.g., a user) of the electronic device (801). The input module (850) can include, for example, a microphone, a mouse, a keyboard, a key (e.g., a button), or a digital pen (e.g., a stylus pen).

[0104] The audio output module (855) can output audio signals to the outside of the electronic device (801). The audio output module (855) can include, for example, a speaker or a receiver. The speaker can be used for general purposes, such as multimedia playback or recording playback. The receiver can be used to receive incoming calls. In one embodiment, the receiver can be implemented separately from the speaker or as part of the speaker.

[0105] The display module (860) can visually provide information to an external party (e.g., a user) of the electronic device (801). The display module (860) may include, for example, a display, a holographic device, or a projector and a control circuit for controlling the device. In one embodiment, the display module (860) may include a touch sensor configured to detect a touch, or a pressure sensor configured to measure the intensity of a force generated by the touch.

[0106] The audio module (870) can convert sound into an electrical signal, or vice versa, convert an electrical signal into sound. According to one embodiment, the audio module (870) can acquire sound through the input module (850), output sound through the sound output module (855), or an external electronic device (e.g., electronic device (802)) (e.g., speaker or headphone) directly or wirelessly connected to the electronic device (801).

[0107] The sensor module (876) can detect the operating status (e.g., power or temperature) of the electronic device (801) or the external environmental status (e.g., user status) and generate an electrical signal or data value corresponding to the detected status. According to one embodiment, the sensor module (876) can include, for example, a gesture sensor, a gyro sensor, a barometric pressure sensor, a magnetic sensor, an acceleration sensor, a grip sensor, a proximity sensor, a color sensor, an IR (infrared) sensor, a biometric sensor, a temperature sensor, a humidity sensor, or an illuminance sensor.

[0108] The interface (877) may support one or more designated protocols that may be used to directly or wirelessly connect the electronic device (801) with an external electronic device (e.g., the electronic device (802)). In one embodiment, the interface (877) may include, for example, a high definition multimedia interface (HDMI), a universal serial bus (USB) interface, an SD card interface, or an audio interface.

[0109] The connection terminal (878) may include a connector through which the electronic device (801) may be physically connected to an external electronic device (e.g., the electronic device (802)). In one embodiment, the connection terminal (878) may include, for example, an HDMI connector, a USB connector, an SD card connector, or an audio connector (e.g., a headphone connector).

[0110] The haptic module (879) can convert electrical signals into mechanical stimuli (e.g., vibration or movement) or electrical stimuli that a user can perceive through tactile or kinesthetic sensations. According to one embodiment, the haptic module (879) can include, for example, a motor, a piezoelectric element, or an electrical stimulation device.

[0111] The camera module (880) can capture still images and videos. According to one embodiment, the camera module (880) may include one or more lenses, image sensors, image signal processors, or flashes.

[0112] The power management module (888) can manage the power supplied to the electronic device (801). According to one embodiment, the power management module (888) can be implemented as, for example, at least a part of a power management integrated circuit (PMIC).

[0113] A battery (889) may power at least one component of the electronic device (801). In one embodiment, the battery (889) may include, for example, a non-rechargeable primary battery, a rechargeable secondary battery, or a fuel cell.

[0114] The communication module (890) may support the establishment of a direct (e.g., wired) communication channel or a wireless communication channel between the electronic device (801) and an external electronic device (e.g., electronic device (802), electronic device (804), or server (808)), and the performance of communication through the established communication channel. The communication module (890) may operate independently from the processor (820) (e.g., application processor) and may include one or more communication processors that support direct (e.g., wired) communication or wireless communication. According to one embodiment, the communication module (890) may include a wireless communication module (892) (e.g., a cellular communication module, a short-range wireless communication module, or a global navigation satellite system (GNSS) communication module) or a wired communication module (894) (e.g., a local area network (LAN) communication module, or a power line communication module). Any of these communication modules may communicate with an external electronic device (804) via a first network (898) (e.g., a short-range communication network such as Bluetooth, wireless fidelity (WiFi) direct, or infrared data association (IrDA)) or a second network (899) (e.g., a long-range communication network such as a legacy cellular network, a 5G network, a next-generation communication network, the Internet, or a computer network (e.g., a LAN or WAN)). These various types of communication modules may be integrated into a single component (e.g., a single chip) or implemented as multiple separate components (e.g., multiple chips). The wireless communication module (892) may use subscriber information (e.g., an international mobile subscriber identity (IMSI)) stored in the subscriber identification module (896) to identify or authenticate the electronic device (801) within a communication network such as the first network (898) or the second network (899).

[0115] The wireless communication module (892) can support 5G networks and next-generation communication technologies following the 4G network, such as NR access technology (new radio access technology). The NR access technology can support high-speed transmission of high-capacity data (eMBB (enhanced mobile broadband)), minimizing terminal power and connecting multiple terminals (mMTC (massive machine type communications)), or high reliability and low latency (URLLC (ultra-reliable and low-latency communications)). The wireless communication module (892) can support, for example, a high-frequency band (e.g., mmWave band) to achieve a high data transmission rate. The wireless communication module (892) can support various technologies for securing performance in a high-frequency band, such as beamforming, massive multiple-input and multiple-output (MIMO), full dimensional MIMO (FD-MIMO), array antenna, analog beam-forming, or large scale antenna. The wireless communication module (892) can support various requirements specified in the electronic device (801), an external electronic device (e.g., the electronic device (804)), or a network system (e.g., the second network (899)). According to one embodiment, the wireless communication module (892) may support a peak data rate (e.g., 20 Gbps or more) for eMBB realization, a loss coverage (e.g., 164 dB or less) for mMTC realization, or a U-plane latency (e.g., 0.5 ms or less for downlink (DL) and uplink (UL), or 1 ms or less for round trip) for URLLC realization.

[0116] The antenna module (897) can transmit or receive signals or power to or from an external device (e.g., an external electronic device). In one embodiment, the antenna module (897) may include an antenna including a radiator formed of a conductor or a conductive pattern formed on a substrate (e.g., a PCB). In one embodiment, the antenna module (897) may include a plurality of antennas (e.g., an array antenna). In this case, at least one antenna suitable for a communication method used in a communication network, such as the first network (898) or the second network (899), may be selected from the plurality of antennas by, for example, the communication module (890). A signal or power may be transmitted or received between the communication module (890) and an external electronic device via the selected at least one antenna. In some embodiments, in addition to the radiator, another component (e.g., a radio frequency integrated circuit (RFIC)) may be additionally formed as a part of the antenna module (897).

[0117] According to various embodiments, the antenna module (897) may form a mmWave antenna module. In one embodiment, the mmWave antenna module may include a printed circuit board, an RFIC disposed on or adjacent a first side (e.g., a bottom side) of the printed circuit board and capable of supporting a designated high frequency band (e.g., a mmWave band), and a plurality of antennas (e.g., an array antenna) disposed on or adjacent a second side (e.g., a top side or a side side) of the printed circuit board and capable of transmitting or receiving signals in the designated high frequency band.

[0118] At least some of the above components can be interconnected and exchange signals (e.g., commands or data) with each other via a communication method between peripheral devices (e.g., a bus, GPIO (general purpose input and output), SPI (serial peripheral interface), or MIPI (mobile industry processor interface)).

[0119] According to one embodiment, commands or data may be transmitted or received between the electronic device (801) and an external electronic device (804) via a server (808) connected to a second network (899). Each of the external electronic devices (802 or 804) may be the same or a different type of device as the electronic device (801). According to one embodiment, all or part of the operations executed in the electronic device (801) may be executed in one or more of the external electronic devices (802, 804, or 808). For example, when the electronic device (801) is to perform a certain function or service automatically or in response to a request from a user or another device, the electronic device (801) may, instead of or in addition to executing the function or service itself, request one or more external electronic devices to perform the function or at least a part of the service. One or more external electronic devices that receive the request may execute at least a portion of the requested function or service, or an additional function or service related to the request, and transmit the result of the execution to the electronic device (801). The electronic device (801) may process the result as is or additionally and provide it as at least a portion of a response to the request. For this purpose, cloud computing, distributed computing, mobile edge computing (MEC), or client-server computing technology may be used, for example. The electronic device (801) may provide an ultra-low latency service by using distributed computing or mobile edge computing, for example. In another embodiment, the external electronic device (804) may include an Internet of Things (IoT) device. The server (808) may be an intelligent server utilizing machine learning and / or a neural network. According to one embodiment, the external electronic device (804) or the server (808) may be included in the second network (899).The electronic device (801) can be applied to intelligent services (e.g., smart home, smart city, smart car, or healthcare) based on 5G communication technology and IoT-related technology.

[0120] Fig. 9 is a block diagram (900) of an audio module (870) according to various embodiments. Referring to Fig. 9, the audio module (870) may include, for example, an audio input interface (910), an audio input mixer (920), an analog to digital converter (ADC) (930), an audio signal processor (940), a digital to analog converter (DAC) (950), an audio output mixer (960), or an audio output interface (970).

[0121] The audio input interface (910) can receive an audio signal corresponding to a sound acquired from outside the electronic device (801) as part of the input module (850) or through a microphone (e.g., a dynamic microphone, a condenser microphone, or a piezo microphone) configured separately from the electronic device (801). For example, when the audio signal is acquired from an external electronic device (802) (e.g., a headset or a microphone), the audio input interface (910) can receive the audio signal by being directly connected to the external electronic device (802) through a connection terminal (878) or wirelessly (e.g., Bluetooth communication) through a wireless communication module (892). According to one embodiment, the audio input interface (910) can receive a control signal (e.g., a volume control signal received through an input button) related to the audio signal acquired from the external electronic device (802). The audio input interface (910) includes a plurality of audio input channels and can receive different audio signals for each corresponding audio input channel among the plurality of audio input channels. According to one embodiment, additionally or alternatively, the audio input interface (910) can receive audio signals from other components of the electronic device (801), such as the processor (820) or the memory (830).

[0122] The audio input mixer (920) can synthesize a plurality of input audio signals into at least one audio signal. For example, according to one embodiment, the audio input mixer (920) can synthesize a plurality of analog audio signals input through the audio input interface (910) into at least one analog audio signal.

[0123] The ADC (930) can convert an analog audio signal into a digital audio signal. For example, according to one embodiment, the ADC (930) can convert an analog audio signal received through the audio input interface (910) or, additionally or alternatively, an analog audio signal synthesized through the audio input mixer (920) into a digital audio signal.

[0124] The audio signal processor (940) may perform various processing on a digital audio signal input through the ADC (930) or a digital audio signal received from another component of the electronic device (801). For example, according to one embodiment, the audio signal processor (940) may change a sampling rate, apply one or more filters, perform interpolation processing, amplify or attenuate all or part of a frequency band, process noise (e.g., noise or echo reduction), change a channel (e.g., switching between mono and stereo), mix, or extract a specified signal on one or more digital audio signals. According to one embodiment, one or more functions of the audio signal processor (940) may be implemented in the form of an equalizer.

[0125] The DAC (950) can convert a digital audio signal into an analog audio signal. For example, according to one embodiment, the DAC (950) can convert a digital audio signal processed by an audio signal processor (940) or a digital audio signal obtained from another component of the electronic device (801) (e.g., a processor (820) or a memory (830)) into an analog audio signal.

[0126] The audio output mixer (960) can synthesize a plurality of audio signals to be output into at least one audio signal. For example, according to one embodiment, the audio output mixer (960) can synthesize an audio signal converted into analog through the DAC (950) and another analog audio signal (e.g., an analog audio signal received through the audio input interface (910)) into at least one analog audio signal.

[0127] The audio output interface (970) can output an analog audio signal converted by the DAC (950), or additionally or alternatively, an analog audio signal synthesized by the audio output mixer (960), to the outside of the electronic device (801) through the audio output module (855). The audio output module (855) can include, for example, a speaker, such as a dynamic driver or a balanced armature driver, or a receiver. According to one embodiment, the audio output module (855) can include a plurality of speakers. In this case, the audio output interface (970) can output an audio signal having a plurality of different channels (e.g., stereo or 5.1 channels) through at least some of the speakers. According to one embodiment, the audio output interface (970) can be directly connected to an external electronic device (802) (e.g., an external speaker or a headset) through a connection terminal (878) or wirelessly through a wireless communication module (892) to output an audio signal.

[0128] According to one embodiment, the audio module (870) can generate at least one digital audio signal by synthesizing a plurality of digital audio signals using at least one function of the audio signal processor (940) without separately having an audio input mixer (920) or an audio output mixer (960).

[0129] According to one embodiment, the audio module (870) may include an audio amplifier (not shown) (e.g., a speaker amplifier circuit) capable of amplifying an analog audio signal input through the audio input interface (910) or an audio signal to be output through the audio output interface (970). According to one embodiment, the audio amplifier may be configured as a separate module from the audio module (870).

[0130] Electronic devices according to the various embodiments disclosed in this document may take various forms. Electronic devices may include, for example, portable communication devices (e.g., smartphones), computer devices, portable multimedia devices, portable medical devices, cameras, wearable devices, or home appliances. Electronic devices according to the embodiments of this document are not limited to the aforementioned devices.

[0131] The various embodiments of this document and the terminology used therein are not intended to limit the technical features described in this document to specific embodiments, but should be understood to include various modifications, equivalents, or substitutes of the embodiments. In connection with the description of the drawings, similar reference numerals may be used for similar or related components. The singular form of a noun corresponding to an item may include one or more of the items, unless the context clearly indicates otherwise. In this document, each of the phrases "A or B", "at least one of A and B", "at least one of A or B", "A, B, or C", "at least one of A, B, and C", and "at least one of A, B, or C" can include any one of the items listed together in the corresponding phrase among those phrases, or all possible combinations thereof. Terms such as "first," "second," or "first" or "second" may be used merely to distinguish one component from another, and do not limit the components in any other respect (e.g., importance or order). When a component (e.g., a first component) is referred to as "coupled" or "connected" to another component (e.g., a second component), with or without the terms "functionally" or "communicatively," it means that the component can be connected to the other component directly (e.g., wired), wirelessly, or through a third component.

[0132] The term "module" used in various embodiments of this document may include a unit implemented in hardware, software, or firmware, and may be used interchangeably with terms such as logic, logic block, component, or circuit. A module may be an integral component, or a minimum unit or part of such a component that performs one or more functions. For example, according to one embodiment, a module may be implemented in the form of an application-specific integrated circuit (ASIC).

[0133] Various embodiments of the present document may be implemented as software (e.g., a program (840)) including one or more instructions stored in a storage medium (e.g., an internal memory (836) or an external memory (838)) readable by a machine (e.g., an electronic device (801)). For example, a processor (e.g., a processor (820)) of the machine (e.g., an electronic device (801)) may call at least one instruction among the one or more instructions stored from the storage medium and execute it. This enables the machine to operate to perform at least one function according to the at least one called instruction. The one or more instructions may include code generated by a compiler or code executable by an interpreter. The machine-readable storage medium may be provided in the form of a non-transitory storage medium. Here, 'non-transitory' simply means that the storage medium is a tangible device and does not contain signals (e.g., electromagnetic waves), and the term does not distinguish between cases where data is stored semi-permanently or temporarily on the storage medium.

[0134] According to one embodiment, the method according to various embodiments disclosed in this document may be provided as included in a computer program product. The computer program product may be traded as a commodity between a seller and a buyer. The computer program product may be distributed in the form of a machine-readable storage medium (e.g., compact disc read-only memory (CD-ROM)), or may be distributed online (e.g., downloaded or uploaded) via an application store (e.g., Play Store™) or directly between two user devices (e.g., smart phones). In the case of online distribution, at least a portion of the computer program product may be temporarily stored or temporarily generated in a machine-readable storage medium, such as the memory of a manufacturer's server, an application store's server, or an intermediary server.

[0135] According to various embodiments, each component (e.g., a module or a program) of the above-described components may include one or more entities, and some of the entities may be separated and placed in other components. According to various embodiments, one or more components or operations of the aforementioned components may be omitted, or one or more other components or operations may be added. Alternatively or additionally, a plurality of components (e.g., a module or a program) may be integrated into a single component. In such a case, the integrated component may perform one or more functions of each of the plurality of components identically or similarly to those performed by the corresponding component among the plurality of components prior to the integration. According to various embodiments, the operations performed by a module, program, or other component may be executed sequentially, in parallel, iteratively, or heuristically, or one or more of the operations may be executed in a different order, omitted, or one or more other operations may be added.

[0136] The electronic device (801) described with reference to FIGS. 8 and 9 may be an example of the electronic device (101) of FIG. 1. For example, the processor (820) of FIG. 8 may correspond to the application processor (110) of FIG. 1. The audio DSP (130) of FIG. 1 may correspond to the auxiliary processor (823) of FIG. 8. The plurality of audio circuits (150) of FIG. 1 may correspond to the audio module (870) described with reference to FIGS. 8 and 9.

[0137] In one embodiment, a method for identifying a failure of audio circuits included in an electronic device may be required. As described above, according to one embodiment, an electronic device (e.g., the electronic device (101) of FIGS. 1 to 6) may include a processor (e.g., the application processor (110) of FIG. 1), a plurality of audio circuits (e.g., the plurality of audio circuits (150) of FIG. 1) connected to the processor, and a memory (e.g., the memory (120) of FIG. 1) configured to store instructions. The instructions, when executed by the processor, may cause the processor to perform initialization of the plurality of audio circuits in a first state while booting the electronic device. Each of the plurality of audio circuits may be switched to a second state different from the first state based on the initialization. The instructions, when executed by the processor, may cause the processor to store, in the memory, log information (e.g., log information (160) of FIG. 1) including information about the identified at least one audio circuit based on identifying at least one audio circuit among the plurality of audio circuits that is maintained in the first state. In one embodiment, the electronic device may output a list of at least one audio circuit that is not initialized among the plurality of audio circuits.

[0138] For example, the instructions, when executed by the processor, may cause the processor to perform the initialization for the plurality of audio circuits corresponding to first list information (e.g., first list information (370) of FIG. 3) stored in the memory. The instructions, when executed by the processor, may cause the processor to, in response to an audio circuit, among the plurality of audio circuits, that has been switched to the second state based on the initialization, add the audio circuit that has been switched to the second state to second list information (e.g., second list information (380) of FIG. 3) that is different from the first list information.

[0139] For example, the instructions, when executed by the processor, may cause the processor to identify, among the plurality of audio circuits, at least one audio circuit that is maintained in the first state, using information corresponding to each of the audio interfaces (e.g., the plurality of audio interfaces (140) of FIG. 1) connecting the processor and each of the plurality of audio circuits.

[0140] For example, the instructions, when executed by the processor, may cause the processor to identify the at least one audio circuit maintained within the first state using the information indicating at least one of a type of audio interface, a name of an audio circuit connected via the audio interface, or a format of a signal exchanged via the audio interface.

[0141] For example, the instructions, when executed by the processor, may cause the processor to connect the identified at least one audio circuit and a dummy driver to complete initialization of the plurality of audio circuits based on identifying the at least one audio circuit that is maintained within the first state.

[0142] For example, the instructions, when executed by the processor, may cause the processor to execute a function of the audio circuit of the second state based on execution of a software application.

[0143] For example, the instructions, when executed by the processor, may cause the processor to repeatedly identify a state of the at least one audio circuit identified from among the plurality of audio circuits based on identifying the at least one audio circuit in the first state a specified number of times. The instructions, when executed by the processor, may cause the processor to store, in the log information, information indicating that the at least one audio circuit is maintained in the first state, based on identifying that the state of the at least one audio circuit is maintained in the first state during the specified number of times of identifying the state of the at least one audio circuit.

[0144] For example, the instructions, when executed by the processor, may cause the processor to store, in a log buffer formed in a volatile memory included in the memory, the log information indicating that the at least one audio circuit is different from an audio circuit accessible by the initialization. The instructions, when executed by the processor, may cause the processor to, in response to an input indicating an output of the log information, copy the log information to the nonvolatile memory among the nonvolatile memory and the volatile memory included in the memory.

[0145] For example, the first state may include an inactive state, and the second state may include an active state.

[0146] According to one embodiment, a method of an electronic device as described above may include an operation of performing initialization of a plurality of audio circuits in a first state while booting the electronic device (e.g., operation 710 of FIGS. 7A-7B ). Each of the plurality of audio circuits of the electronic device may be switched to a second state different from the first state based on the initialization. The method may include an operation of storing, in the memory, log information including information about the identified at least one audio circuit, based on identifying at least one audio circuit maintained in the first state among the plurality of audio circuits (e.g., operation 730 of FIGS. 7A-7B ).

[0147] For example, the performing operation may include performing the initialization for the plurality of audio circuits corresponding to the first list information stored in the memory of the electronic device. The storing operation may include adding, in response to an audio circuit switched to the second state based on the initialization among the plurality of audio circuits, the audio circuit switched to the second state to second list information that is different from the first list information.

[0148] For example, the storing operation may include an operation of identifying, among the plurality of audio circuits, at least one audio circuit maintained in the first state, using information corresponding to each of the audio interfaces connecting the processor of the electronic device and each of the plurality of audio circuits.

[0149] For example, the identifying operation may include identifying at least one audio circuit maintained within the first state using the information indicating at least one of a type of audio interface, a name of an audio circuit connected via the audio interface, or a format of a signal exchanged via the audio interface.

[0150] For example, the method may include connecting the identified at least one audio circuit and a dummy drive to complete initialization of the plurality of audio circuits based on identifying the at least one audio circuit that is maintained within the first state.

[0151] For example, the method may include an operation of executing a function of the audio circuit of the second state based on execution of a software application by a processor of the electronic device.

[0152] For example, the storing operation may include an operation of repeatedly identifying a state of at least one audio circuit identified based on a specified number of times, based on identifying an audio circuit in the first state among the plurality of audio circuits. The storing operation may include an operation of storing information representing the at least one audio circuit maintained within the first state within the log information, based on identifying that the state of the at least one audio circuit is maintained within the first state while identifying the state of the at least one audio circuit the specified number of times.

[0153] For example, the storing operation may include storing log information indicating that the at least one audio circuit is different from an audio circuit accessible by the initialization in a log buffer formed in a volatile memory of the electronic device. The method may include storing the log information in the non-volatile memory among the volatile memory and the non-volatile memory of the electronic device in response to an input indicating an output of the log information.

[0154] According to one embodiment, a computer-readable storage medium as described above may include instructions. The instructions, when executed by a processor of an electronic device, may cause the processor to perform initialization of the plurality of audio circuits in a first state while booting the electronic device. Each of the plurality of audio circuits may be switched to a second state different from the first state based on the initialization. The instructions, when executed by the processor, may cause the processor to store log information, including information about the identified at least one audio circuit, in a memory of the electronic device, based on identifying at least one audio circuit among the plurality of audio circuits that remains in the first state.

[0155] For example, the instructions, when executed by the processor, may cause the processor to perform the initialization for the plurality of audio circuits corresponding to the first list information stored in the memory. The instructions, when executed by the processor, may cause the processor to, in response to an audio circuit among the plurality of audio circuits that has been switched to the second state based on the initialization, add the audio circuit that has been switched to the second state to second list information that is different from the first list information.

[0156] For example, the instructions, when executed by the processor, may cause the processor to identify, from among the plurality of audio circuits, at least one audio circuit that is maintained in the first state using information corresponding to each of the audio interfaces connecting the processor and each of the plurality of audio circuits.

[0157] For example, the instructions, when executed by the processor, may cause the processor to identify the at least one audio circuit maintained within the first state using the information indicating at least one of a type of audio interface, a name of an audio circuit connected via the audio interface, or a format of a signal exchanged via the audio interface.

[0158] For example, the instructions, when executed by the processor, may cause the processor to connect the identified at least one audio circuit and a dummy driver to complete initialization of the plurality of audio circuits based on identifying the at least one audio circuit that is maintained within the first state.

[0159] For example, the instructions, when executed by the processor, may cause the processor to execute a function of the audio circuit of the second state based on execution of a software application.

[0160] For example, the instructions, when executed by the processor, may cause the processor to repeatedly identify a state of the at least one audio circuit identified from among the plurality of audio circuits based on identifying the at least one audio circuit in the first state a specified number of times. The instructions, when executed by the processor, may cause the processor to store, in the log information, information indicating that the at least one audio circuit is maintained in the first state, based on identifying that the state of the at least one audio circuit is maintained in the first state during the specified number of times of identifying the state of the at least one audio circuit.

[0161] For example, the instructions, when executed by the processor, may cause the processor to store the log information in a log buffer formed in a volatile memory of the electronic device. The instructions, when executed by the processor, may cause the processor to, in response to an input indicating an output of the log information, copy the log information to the nonvolatile memory of the electronic device and the volatile memory.

[0162] The devices described above may be implemented as hardware components, software components, and / or a combination of hardware components and software components. For example, the devices and components described in the embodiments may be implemented using one or more general-purpose computers or special-purpose computers, such as a processor, a controller, an arithmetic logic unit (ALU), a digital signal processor, a microcomputer, a field programmable gate array (FPGA), a programmable logic unit (PLU), a microprocessor, or any other device capable of executing instructions and responding to them. The processing device may execute an operating system (OS) and one or more software applications running on the operating system. The processing device may also access, store, manipulate, process, and generate data in response to the execution of the software. For ease of understanding, the processing device is sometimes described as being used alone; however, one of ordinary skill in the art will recognize that the processing device may include multiple processing elements and / or multiple types of processing elements. For example, a processing unit may include multiple processors, or a processor and a controller. Other processing configurations, such as parallel processors, are also possible.

[0163] Software may include a computer program, code, instructions, or a combination of one or more of these, which may configure a processing device to perform a desired operation or may independently or collectively command the processing device. The software and / or data may be embodied in any type of machine, component, physical device, computer storage medium, or device for interpretation by the processing device or for providing instructions or data to the processing device. The software may also be distributed over networked computer systems and stored or executed in a distributed manner. The software and data may be stored on one or more computer-readable recording media.

[0164] The method according to the embodiment may be implemented in the form of program commands that can be executed through various computer means and recorded on a computer-readable medium. In this case, the medium may be one that continuously stores a computer-executable program or one that temporarily stores it for execution or download. In addition, the medium may be various recording means or storage means in the form of a single or multiple hardware combinations, and is not limited to a medium directly connected to a computer system, but may also be distributed over a network. Examples of the medium may include magnetic media such as hard disks, floppy disks, and magnetic tapes, optical recording media such as CD-ROMs and DVDs, magneto-optical media such as floptical disks, and those configured to store program commands, including ROM, RAM, and flash memory. In addition, examples of other media may include recording media or storage media managed by app stores that distribute applications, sites that supply or distribute various software, servers, etc.

[0165] Although the embodiments described above have been described by way of limited examples and drawings, those skilled in the art will appreciate that various modifications and variations can be made based on the above teachings. For example, appropriate results can still be achieved even if the described techniques are performed in a different order than described, and / or components of the described systems, structures, devices, circuits, etc. are combined or combined in a different manner than described, or are replaced or substituted with other components or equivalents.

[0166] Therefore, other implementations, other embodiments, and equivalents to the claims also fall within the scope of the claims described below.

Claims

1. In an electronic device (101), A plurality of audio circuits (150) connected to the above processor; and A memory (120) comprising one or more storage media storing instructions; and comprising at least one processor (110) including a processing circuit; The above instructions, when individually and / or collectively executed by the at least one processor, While booting the electronic device, initialization of the plurality of audio circuits in a first state is performed, and each of the plurality of audio circuits is switched to a second state different from the first state based on the initialization; and Causing the electronic device to store, in the memory, log information (160) including information about the identified at least one audio circuit, based on identifying at least one audio circuit among the plurality of audio circuits that is maintained in the first state. Electronic devices.

2. In claim 1, the instructions, when individually and / or collectively executed by the at least one processor, Performing the initialization for the plurality of audio circuits corresponding to the first list information (370) stored in the memory; Causing the electronic device to add the audio circuit switched to the second state to second list information (380) different from the first list information, in response to the audio circuit switched to the second state based on the initialization among the plurality of audio circuits. Electronic devices.

3. In claim 1, the instructions, when individually and / or collectively executed by the at least one processor, Causing the electronic device to identify at least one audio circuit maintained in the first state among the plurality of audio circuits by using information corresponding to each of the audio interfaces (140) connecting the processor and each of the plurality of audio circuits. Electronic devices.

4. In claim 3, the instructions, when individually and / or collectively executed by the at least one processor, Causing the electronic device to identify the at least one audio circuit maintained in the first state by using the information indicating at least one of a type of audio interface, a name of an audio circuit connected via the audio interface, or a format of a signal exchanged via the audio interface. Electronic devices.

5. In claim 1, the instructions, when individually and / or collectively executed by the at least one processor, Causing the electronic device to connect the identified at least one audio circuit and the dummy driver to complete the initialization of the plurality of audio circuits based on identifying the at least one audio circuit that is maintained within the first state. Electronic devices.

6. In claim 1, the instructions, when individually and / or collectively executed by the at least one processor, Causing the electronic device to execute the function of the audio circuit of the second state based on the execution of the software application; Electronic devices.

7. In claim 1, the instructions, when individually and / or collectively executed by the at least one processor, Based on identifying at least one audio circuit in the first state among the plurality of audio circuits, repeatedly identifying the state of the identified at least one audio circuit based on a specified number of times; Causing the electronic device to store, in the log information, information representing the at least one audio circuit being maintained within the first state, based on identifying that the state of the at least one audio circuit is maintained within the first state while identifying the state of the at least one audio circuit a specified number of times. Electronic devices.

8. In claim 1, the instructions, when individually and / or collectively executed by the at least one processor, Store the log information indicating that the at least one audio circuit is different from the audio circuit accessible by the initialization in the log buffer formed in the volatile memory (510) included in the above memory; and In response to an input indicating the output of said log information, causing said electronic device to replicate said log information to said nonvolatile memory (520) included in said memory and said nonvolatile memory among said volatile memory, Electronic devices.

9. In claim 1, The first state includes a deactivated state, and the second state includes an activated state. Electronic devices.

10. In the method of an electronic device, An operation (710) for performing initialization of a plurality of audio circuits in a first state while booting the electronic device, each of the plurality of audio circuits of the electronic device is switched to a second state different from the first state based on the initialization; An operation (730) of storing log information including information about the identified at least one audio circuit in a memory of the electronic device based on identifying at least one audio circuit among the plurality of audio circuits that are maintained in the first state. method.

11. In claim 10, the operation performed is: Including an operation of performing the initialization for the plurality of audio circuits corresponding to the first list information stored in the memory, The above saving action is, Among the plurality of audio circuits, in response to the audio circuit switched to the second state based on the initialization, an operation of adding the audio circuit switched to the second state to second list information different from the first list information is included. method.

12. In claim 10, the storing operation comprises: An operation of identifying at least one audio circuit maintained in the first state among the plurality of audio circuits by using information corresponding to each of the audio interfaces connecting the processor of the electronic device and each of the plurality of audio circuits, method.

13. In claim 12, the identifying action comprises: An operation of identifying at least one audio circuit maintained in the first state by using the information indicating at least one of a type of audio interface, a name of an audio circuit connected via the audio interface, or a format of a signal exchanged via the audio interface. method.

14. In claim 10, Further comprising an operation of connecting the identified at least one audio circuit and a dummy drive to complete initialization of the plurality of audio circuits based on identifying the at least one audio circuit maintained within the first state. method.

15. A non-transitory computer-readable storage medium storing instructions, wherein the instructions, when executed by an electronic device including a plurality of audio circuits and a memory including one or more storage media, cause the electronic device to: While booting the electronic device, initialization of a plurality of audio circuits in a first state is performed, and each of the plurality of audio circuits is switched to a second state different from the first state based on the initialization, and Causing to store, in the memory, log information including information about the identified at least one audio circuit, based on identifying at least one audio circuit among the plurality of audio circuits that are maintained in the first state. A non-transitory computer-readable storage medium.

Citation Information

Patent Citations

  • Always-on audio control for mobile device

    KR1020160074656A

  • Clock switching in always-on component

    KR1020170107492A

  • Measurement system for microdisplay

    KR1020240060046A

  • Cloud mist spray apparatus

    KR102189472B1

  • Optimizing audio signal networks using partitioning and mixer processing graph recomposition

    US20210365235A1