Способ и устройство для обновления микропрограммного обеспечения

Иллюстрации

Показать все

Изобретение относится к области интеллектуальных устройств, а именно к обновлению микропрограммного обеспечения. Технический результат – возможность обновления микропрограммного обеспечения электронного устройства, даже если в нем не установлен драйвер, с помощью устройства, которому не требуется драйвер и которое подключают к этому электронному устройству. Способ обновления микропрограммного обеспечения, включающий, когда электронное устройство находится на стадии запуска, определение, требуется ли драйвер устройству, подключенному к электронному устройству перед стадией запуска, если обнаружено, что подключенному устройству драйвер не требуется, запись обновляющего микропрограммного обеспечения, содержащегося в подключенном устройстве, в электронное устройство, и если электронное устройство находится в нормальном режиме функционирования после перезапуска, запуск обновляющего микропрограммного обеспечения, записанного в электронное устройство, при этом процедура определения, требуется ли драйвер устройству, подключенному к электронному устройству перед стадией запуска, включает получение информации дескриптора интерфейса устройства, подключенного к электронному устройству перед стадией запуска, если информация дескриптора интерфейса указывает на то, что подключенное устройство представляет собой запоминающее устройство большой емкости, получение информации о типе подключенного устройства, и, если информация о типе устройства указывает на то, что подключенному устройству не требуется драйвер, определение того, что подключенное устройство применяется без драйвера. 3 н. и 8 з.п. ф-лы, 5 ил.

Реферат

[0001] По данной заявке испрашивается приоритет согласно заявке Китая №201410778909X, поданной 15 декабря 2014 года, содержание которой целиком включено в состав настоящей заявки посредством ссылки.

ОБЛАСТЬ ТЕХНИКИ

[0002] Раскрытие настоящего изобретения в целом относится к области интеллектуальных устройств, а более конкретно, - к способу и устройству обновления микропрограммного обеспечения.

ПРЕДПОСЫЛКИ СОЗДАНИЯ ИЗОБРЕТЕНИЯ

[0003] Микропрограммное обеспечение в качестве наиболее важного программного компонента электронных устройств обеспечивает корректное функционирование таких устройств. Однако некоторые внешние причины могут приводить к возникновению проблем при выполнении микропрограммного обеспечения и, таким образом, вызывать сбои в процессе нормального режима функционирования электронных устройств.

[0004] Если возникают проблемы, связанные с микропрограммным обеспечением электронного устройства, то для обновления микропрограммного обеспечения требуется применять специализированные средства. В процессе обновления микропрограммного обеспечения специализированное средство обновления для замены устаревшего микропрограммного обеспечения подключается к электронному устройству, которое затем запускает управляющую программу, соответствующую специализированному средству обновления, для чтения микропрограммного обеспечения, размещенного в специализированном средстве обновления.

[0005] При создании настоящего изобретения был найден по меньшей мере тот недостаток указанного выше способа, что в отсутствие установленной управляющей программы в электронном устройстве, микропрограммное обеспечение, хранимое в специализированном средстве обновления, не может быть считано, и в результате процесс обновления завершится неудачно.

СУЩНОСТЬ ИЗОБРЕТЕНИЯ

[0006] Для решения проблемы существующего уровня техники, заключающейся в том, что, если соответствующая управляющая программа не установлена в электронном устройстве, то микропрограммное обеспечение, содержащееся в специализированном средстве обновления, не может быть прочитано, и, следовательно, процесс обновления в этом случае завершится неудачно, в рамках раскрытия настоящего изобретения предлагается способ и устройство для обновления микропрограммного обеспечения. Ниже описываются соответствующие технические решения.

[0007] В соответствии с первым аспектом вариантов раскрытия настоящего изобретения предлагается способ обновления микропрограммного обеспечения. Способ включает выполнение следующих операций:

[0008] если электронное устройство находится на стадии запуска, определение, требуется ли управляющая программа устройству, подключенному к электронному устройству перед стадией запуска;

[0009] если обнаружено, что подключенному устройству управляющая программа не требуется, запись обновляющего микропрограммного обеспечения, содержащегося в подключенном устройстве, в электронное устройство; и

[0010] если электронное устройство находится в нормальном режиме функционирования после перезапуска, запуск обновляющего микропрограммного обеспечения, записанного в электронное устройство.

[0011] Дополнительно процедура определения, требуется ли управляющая программа устройству, подключенному к электронному устройству перед стадией запуска, включает:

[0012] получение информации дескриптора интерфейса устройства, подключенного к электронному устройству перед стадией запуска;

[0013] если информация дескриптора интерфейса указывает на то, что подключенное устройство представляет собой запоминающее устройство большой емкости, получение информации о типе подключенного устройства; и

[0014] если информация о типе устройства указывает на то, что подключенному устройству не требуется управляющая программа, определение того, что подключенное устройство применяется без управляющей программы.

[0015] Дополнительно процедура записи обновляющего микропрограммного обеспечения, содержащегося в подключенном устройстве, в электронное устройство включает:

[0016] получение из подключенного устройства адреса памяти обновляющего микропрограммного обеспечения;

[0017] определение области памяти микропрограммного обеспечения в электронном устройстве и

[0018] запись обновляющего микропрограммного обеспечения, хранящегося по адресу памяти, в область памяти микропрограммного обеспечения.

[0019] Дополнительно процедура получения из подключенного устройства адреса памяти обновляющего микропрограммного обеспечения включает:

[0020] чтение информации в конкретном секторе подключенного устройства;

[0021] оценка, использует ли подключенное устройство конкретную файловую систему, в соответствии с информацией, хранимой в конкретном секторе;

[0022] если принимается решение о том, что подключенное устройство использует конкретную файловую систему, определение заранее заданного адреса памяти в качестве адреса памяти обновляющего микропрограммного обеспечения;

[0023] если принимается решение о том, что подключенное устройство не использует конкретную файловую систему, определение адреса памяти обновляющего микропрограммного обеспечения в соответствии с метаинформацией, входящей в состав информации, содержащейся в конкретном секторе, при этом метаинформация содержит данные о начальном адресе и размере данных обновляющего микропрограммного обеспечения.

[0024] Дополнительно процедура записи обновляющего микропрограммного обеспечения, хранящегося по адресу памяти, в область памяти микропрограммного обеспечения включает:

[0025] если в электронном устройстве существует одна область памяти микропрограммного обеспечения, замена исходного микропрограммного обеспечения, хранящегося в области памяти микропрограммного обеспечения, на обновляющее микропрограммное обеспечение; и

[0026] если в электронном устройстве существуют по меньшей мере две области памяти обновляющего микропрограммного обеспечения, запись обновляющего микропрограммного обеспечения в область памяти обновляющего микропрограммного обеспечения, установленную в качестве неактивной области, которая сконфигурирована для хранения микропрограммного обеспечения, не выполняющегося в электронном устройстве.

[0027] Дополнительно способ также включает:

[0028] определение, корректно ли записано обновляющее микропрограммное обеспечение в область памяти микропрограммного обеспечения, установленную в качестве неактивной области;

[0029] если обнаруживается, что обновляющее микропрограммное обеспечение корректно записано в область памяти микропрограммного обеспечения, установленную в качестве неактивной области, установку области памяти микропрограммного обеспечения, которая ранее являлась активной, в качестве неактивной области и установку области памяти микропрограммного обеспечения, в которую корректно записано обновляющее микропрограммное обеспечение, в качестве активной области, которая конфигурируется для хранения микропрограммного обеспечения, выполняемого электронным устройством в нормальном режиме функционирования.

[0030] В соответствии со вторым аспектом вариантов раскрытия настоящего изобретения предлагается устройство обновления микропрограммного обеспечения. Устройство содержит:

[0031] модуль обнаружения устройства, сконфигурированный для определения, требуется ли управляющая программа устройству, подключенному к электронному устройству перед стадией запуска, если электронное устройство находится на стадии запуска;

[0032] модуль записи микропрограммного обеспечения, сконфигурированный для записи обновляющего микропрограммного обеспечения, содержащегося в подключенном устройстве, в электронное устройство, если модуль обнаружения устройства определяет, что подключенному устройству управляющая программа не требуется; и

[0033] модуль запуска микропрограммного обеспечения, сконфигурированный для запуска обновляющего микропрограммного обеспечения, записанного в электронное устройство, если электронное устройство находится в нормальном режиме функционирования после перезапуска.

[0034] Модуль обнаружения устройства содержит: [0035] первый подмодуль получения информации, сконфигурированный для получения информации дескриптора интерфейса устройства, подключенного к электронному устройству перед стадией запуска;

[0036] второй подмодуль получения информации, сконфигурированный для получения информации о типе подключенного устройства, если информация дескриптора интерфейса, полученная первым подмодулем получения информации, указывает на то, что подключенное устройство представляет собой запоминающее устройство большой емкости; и

[0037] подмодуль определения устройства, сконфигурированный для определения того, что подключенному устройству не требуется управляющая программа, если информация о типе устройства, полученная вторым подмодулем получения информации, указывает на то, что подключенному устройству не требуется управляющая программа.

[0038] Дополнительно модуль записи микропрограммного обеспечения содержит:

[0039] подмодуль получения адреса, сконфигурированный для получения из подключенного устройства адреса памяти обновляющего микропрограммного обеспечения;

[0040] подмодуль определения области, сконфигурированный для определения области памяти микропрограммного обеспечения в электронном устройстве; и

[0041] подмодуль записи микропрограммного обеспечения, сконфигурированный для записи обновляющего микропрограммного обеспечения, хранимого по адресу памяти, полученному подмодулем получения адреса, в область памяти микропрограммного обеспечения, которая определена подмодулем определения области.

[0042] Дополнительно подмодуль получения адреса содержит:

[0043] подмодуль чтения информации сектора, сконфигурированный для чтения информации в конкретном секторе подключенного устройства;

[0044] подмодуль оценки системы, сконфигурированный для определения, использует ли подключенное устройство конкретную файловую систему, в соответствии с информацией в конкретном секторе, полученной подмодулем чтения информации сектора;

[0045] первый подмодуль определения, сконфигурированный для определения заранее заданного адреса памяти в качестве адреса памяти обновляющего микропрограммного обеспечения, если подмодуль оценки системы принимает решение о том, что подключенное устройство использует конкретную файловую систему; и

[0046] второй подмодуль определения, сконфигурированный для определения адреса памяти обновляющего микропрограммного обеспечения в соответствии с метаинформацией, входящей в состав информации, содержащейся в конкретном секторе, если подмодуль оценки системы принимает решение о том, что подключенное устройство не использует конкретную файловую систему; при этом метаинформация содержит данные о начальном адресе и размере данных обновляющего микропрограммного обеспечения.

[0047] Дополнительно подмодуль записи микропрограммного обеспечения содержит:

[0048] первый подмодуль записи, сконфигурированный для замены исходного микропрограммного обеспечения, хранящегося в области памяти микропрограммного обеспечения, на обновляющее микропрограммное обеспечение, если в электронном устройстве существует одна область памяти микропрограммного обеспечения; и

[0049] второй подмодуль записи, сконфигурированный для записи обновляющего микропрограммного обеспечения в область памяти микропрограммного обеспечения, установленную в качестве неактивной области, если в электронном устройстве существуют по меньшей мере две области памяти микропрограммного обеспечения, при этом области памяти микропрограммного обеспечения, установленная в качестве неактивной, сконфигурирована для хранения микропрограммного обеспечения, не выполняющегося в электронном устройстве.

[0050] Дополнительно устройство также содержит

[0051] модуль обнаружения микропрограммного обеспечения, сконфигурированный для определения, корректно ли записано обновляющее микропрограммное обеспечение в область памяти микропрограммного обеспечения, установленную в качестве неактивной области; и

[0052] модуль установки области, сконфигурированный таким образом, чтобы, если модуль обнаружения микропрограммного обеспечения определяет корректность записи обновляющего микропрограммного обеспечения в область памяти микропрограммного обеспечения, установленную в качестве неактивной области, область памяти микропрограммного обеспечения, которая ранее являлась активной, устанавливалась в качестве неактивной области, а область памяти микропрограммного обеспечения, в которую корректно записано обновляющее микропрограммное обеспечение, устанавливалась в качестве активной области, которая конфигурируется для хранения микропрограммного обеспечения, выполняемого электронным устройством в нормальном режиме функционирования.

[0053] В соответствии с третьим аспектом вариантов раскрытия настоящего изобретения предлагается устройство обновления микропрограммного обеспечения. Устройство содержит:

[0054] процессор и

[0055] память, в которой хранятся инструкции, выполняемые процессором;

[0056] при этом процессор сконфигурирован для выполнения следующих операций:

[0057] если электронное устройство находится на стадии запуска, определение, требуется ли управляющая программа устройству, подключенному к электронному устройству перед стадией запуска;

[0058] если обнаружено, что подключенному устройству управляющая программа не требуется, запись обновляющего микропрограммного обеспечения, содержащегося в подключенном устройстве, в электронное устройство; и

[0059] если электронное устройство находится в нормальном режиме функционирования после перезапуска, запуск обновляющего микропрограммного обеспечения, записанного в электронное устройство.

[0060] Путем реализации технических решений, соответствующих вариантам раскрытия настоящего изобретения, можно добиться преимуществ путем выполнения следующих операций.

[0061] Если электронное устройство находится на стадии запуска, определение, требуется ли управляющая программа устройству, подключенному к электронному устройству перед стадией запуска; если обнаружено, что подключенному устройству управляющая программа не требуется, запись обновляющего микропрограммного обеспечения, содержащегося в подключенном устройстве, в электронное устройство; и если электронное устройство находится в нормальном режиме функционирования после перезапуска, запуск обновляющего микропрограммного обеспечения, записанного в электронное устройство. Таким образом, даже если в электронном устройстве не установлена управляющая программа, обновление микропрограммного обеспечения электронного устройства может осуществляться с помощью устройства, которому не требуется управляющая программа, благодаря чему решается проблема, связанная с тем, что в отсутствие установленной в электронном устройстве управляющей программы не может быть прочитано микропрограммное обеспечение в специализированном средстве обновления, и, как следствие, процесс обновления микропрограммного обеспечения завершается неудачно. В результате процедура обновления микропрограммного обеспечения упрощается, благодаря чему можно повысить долю успешных попыток выполнения этой процедуры.

[0062] Следует принимать во внимание, что как предшествующее общее описание, так и последующее подробное описание представлено только в качестве примера и разъяснения сути изобретения и не ограничивает его объем, указанный в формуле изобретения.

КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙ

[0063] Прилагаемые чертежи, которые включены в состав этой спецификации и составляют одну из ее частей, иллюстрируют варианты осуществления, не противоречащие сути настоящего изобретения, и совместно с описанием помогают разобраться в принципах изобретения.

[0064] На фиг. 1 показан алгоритм выполнения способа обновления микропрограммного обеспечения в соответствии с примером раскрытия настоящего изобретения.

[0065] На фиг. 2 показан алгоритм выполнения способа обновления микропрограммного обеспечения в соответствии с другим примером раскрытия настоящего изобретения.

[0066] На фиг. 3 показана структурная блок-схема устройства обновления микропрограммного обеспечения в соответствии с примером осуществления настоящего изобретения.

[0067] На фиг. 4 показана структурная блок-схема устройства обновления микропрограммного обеспечения в соответствии с примером осуществления настоящего изобретения; и

[0068] на фиг. 5 показана структурная блок-схема устройства обновления микропрограммного обеспечения в соответствии с примером осуществления настоящего изобретения.

[0069] Посредством указанных выше чертежей иллюстрируются конкретные варианты раскрытия настоящего изобретения, более подробное описание которых приводится ниже. Эти чертежи и текстовое описание не предназначены для ограничения каким-либо образом объема концепции раскрытия настоящего изобретения, но служат для специалистов в этой области техники для разъяснения концепции раскрытия настоящего изобретения посредством конкретных вариантов его осуществления.

ПОДРОБНОЕ ОПИСАНИЕ

[0070] Далее более подробно описываются примеры осуществления настоящего изобретения, иллюстрируемые посредством прилагаемых чертежей. Последующее описание приводится со ссылками на прилагаемые чертежи, на которых одинаковые цифровые отметки обозначают одинаковые или схожие элементы, если явно не указано иное. Изложенные в последующем описании примеры осуществления не охватывают всех вариантов реализации, не противоречащих настоящему изобретению. В этом описании приводятся только примеры реализации устройств и способов, соответствующих аспектам, связанным с изобретением, сущность которого излагается в прилагаемой формуле изобретения.

[0071] Способы обновления микропрограммного обеспечения, представленные соответствующими вариантами раскрытия настоящего изобретения, могут быть реализованы с помощью электронного устройства, поддерживающего функцию обновления микропрограммного обеспечения. Электронное устройство может представлять собой смартфон, интеллектуальный телевизионный приемник, планшет, устройство чтения электронных книг, устройство воспроизведения файлов формата MP3 (Moving Picture Experts Group Audio Layer III, звуковой кодек третьего уровня, разработанный группой экспертов в области движущихся изображений), устройство воспроизведения файлов формата MP4 и т.п.

[0072] Для простоты описания настоящее изобретение раскрывается на примере способа обновления микропрограммного обеспечения, применимого к электронному устройству, однако, объем настоящего изобретения не ограничен этим способом.

[0073] На фиг. 1 показан алгоритм выполнения способа обновления микропрограммного обеспечения в соответствии с примером осуществления настоящего изобретения. Способ обновления микропрограммного обеспечения может применяться к электронному устройству и включать указанные ниже шаги.

[0074] На шаге 101, определяется, требуется ли управляющая программа устройству, подключенному к электронному устройству перед стадией запуска, если электронное устройство находится на стадии запуска.

[0075] На шаге 102, если обнаружено, что подключенному устройству управляющая программа не требуется, выполняется запись обновляющего микропрограммного обеспечения, содержащегося в подключенном устройстве, в электронное устройство.

[0076] На шаге 103, если электронное устройство находится в нормальном режиме функционирования после перезапуска, запускается обновляющее микропрограммное обеспечение, записанное в электронное устройство.

[0077] Дополнительно процедура определения, требуется ли управляющая программа устройству, подключенному к электронному устройству перед стадией запуска, включает получение информации дескриптора интерфейса устройства, подключенного к электронному устройству перед стадией запуска;

[0078] если информация дескриптора интерфейса указывает на то, что подключенное устройство представляет собой запоминающее устройство большой емкости, получение информации о типе подключенного устройства; и

[0079] если информация о типе устройства указывает на то, что подключенному устройству не требуется управляющая программа, определение того, что подключенное устройство применяется без управляющей программы.

[0080] Дополнительно процедура записи обновляющего микропрограммного обеспечения, содержащегося в подключенном устройстве, в электронное устройство включает:

[0081] получение из подключенного устройства адреса памяти обновляющего микропрограммного обеспечения;

[0082] определение области памяти микропрограммного обеспечения в электронном устройстве и

[0083] запись обновляющего микропрограммного обеспечения, размещенного по адресу памяти, в область памяти микропрограммного обеспечения.

[0084] Дополнительно процедура получения из подключенного устройства адреса памяти обновляющего микропрограммного обеспечения включает:

[0085] чтение информации в конкретном секторе подключенного устройства;

[0086] определение, использует ли подключенное устройство конкретную файловую систему, в соответствии с информацией, хранимой в конкретном секторе;

[0087] если принимается решение о том, что подключенное устройство использует конкретную файловую систему, определение заранее заданного адреса памяти в качестве адреса памяти обновляющего микропрограммного обеспечения;

[0088] если принимается решение о том, что подключенное устройство не использует конкретную файловую систему, определение адреса памяти обновляющего микропрограммного обеспечения в соответствии с метаинформацией, входящей в состав информации, содержащейся в конкретном секторе, при этом метаинформация содержит данные о начальном адресе и размере данных обновляющего микропрограммного обеспечения.

[0089] Дополнительно процедура записи обновляющего микропрограммного обеспечения, хранящегося по адресу памяти, в область памяти микропрограммного обеспечения включает:

[0090] если в электронном устройстве существует одна область памяти микропрограммного обеспечения, замену исходного микропрограммного обеспечения, хранящегося в области памяти микропрограммного обеспечения, на обновляющее микропрограммное обеспечение; и

[0091] если в электронном устройстве существуют по меньшей мере две области памяти обновляющего микропрограммного обеспечения, запись обновляющего микропрограммного обеспечения в область памяти обновляющего микропрограммного обеспечения, установленную в качестве неактивной области, которая сконфигурирована для хранения микропрограммного обеспечения, не выполняющегося в электронном устройстве.

[0092] Дополнительно способ также включает определение, корректно ли записано обновляющее микропрограммное обеспечение в область памяти микропрограммного обеспечения, установленную в качестве неактивной области, если обнаруживается, что обновляющее микропрограммное обеспечение корректно записано в область памяти микропрограммного обеспечения, установленную в качестве неактивной области, установку области памяти микропрограммного обеспечения, которая ранее являлась активной, в качестве неактивной области, и установку области памяти микропрограммного обеспечения, в которую корректно записано обновляющее микропрограммное обеспечение, в качестве активной области, которая конфигурируется для хранения микропрограммного обеспечения, выполняемого электронным устройством в нормальном режиме функционирования.

[0093] В целом способ обновления микропрограммного обеспечения, реализуемый в рамках осуществления настоящего изобретения, заключается в определении, требуется ли управляющая программа устройству, подключенному к электронному устройству перед стадией запуска, если электронное устройство находится на стадии запуска; записи в электронное устройство обновляющего микропрограммного обеспечения, содержащегося в подключенном устройстве, если обнаружено, что подключенному устройству управляющая программа не требуется; и запуске обновляющего микропрограммного обеспечения, записанного в электронное устройство, если электронное устройство находится в нормальном режиме функционирования после перезапуска. Таким образом, даже если в электронном устройстве не установлена управляющая программа, обновление микропрограммного обеспечения электронного устройства может осуществляться с помощью устройства, которому не требуется управляющая программа, благодаря чему решается проблема, связанная с тем, что в отсутствие установленной в электронном устройстве управляющей программы не может быть прочитано микропрограммное обеспечение в специализированном средстве обновления, и, как следствие, процесс обновления микропрограммного обеспечения завершается неудачно. В результате процедура обновления микропрограммного обеспечения упрощается, и появляется возможность повысить долю успешных попыток выполнения этой процедуры.

[0094] На фиг. 2 показан алгоритм выполнения способа обновления микропрограммного обеспечения в соответствии с другим примером осуществления настоящего изобретения. Способ обновления микропрограммного обеспечения может применяться к электронному устройству и включать указанные ниже шаги.

[0095] На шаге 201, определяется, требуется ли управляющая программа устройству, подключенному к электронному устройству перед стадией запуска, если электронное устройство находится на стадии запуска.

[0096] Если электронное устройство не запущено, устройство подключается к электронному устройству через внешний интерфейс, поддерживаемый электронным устройством (и поэтому такое устройство называется подключенным устройством). Внешний интерфейс может представлять собой интерфейс универсальной последовательной шины (USB, Universal Serial Bus) электронного устройства. Если электронное устройство не оснащено USB-интерфейсом, то оно может соединяться с подключаемым устройством через выделенную соединительную линию. Например, такие электронные устройства, как смартфон, не поддерживают USB-интерфейс, и они могут соединяться с подключаемым устройством с помощью выделенной соединительной линии.

[0097] После соединения с подключаемым устройством электронное устройство запускается. На стадии запуска электронное устройство определяет, установлено ли соединение с подключенным устройством. Если обнаруживается, что соединение с подключенным устройством установлено, электронное устройство определяет, требуется ли управляющая программа подключенному устройству. Устройство, которому не требуется управляющая программа, может функционировать в отсутствие конкретной управляющей программы. Процедура определения электронным устройством, требуется ли подключенному устройству управляющая программа, может включать следующие дополнительные шаги.

[0098] 1. Получение электронным устройством информации дескриптора интерфейса устройства, подключенного к электронному устройству перед стадией запуска.

[0099] Информация дескриптора интерфейса подключенного устройства сконфигурирована для указания функций подключенного устройства. Электронное устройство определяет управляющую программу, которую требуется загрузить для управления подключенным устройством, путем получения информации дескриптора интерфейса. Информация дескриптора интерфейса включает в свой состав сведения о базовом типе интерфейса, типе подкласса интерфейса и о протоколе интерфейса. Электронное устройство соответственно получает сведения о базовом типе интерфейса, типе подкласса интерфейса и о протоколе интерфейса, содержащиеся в составе информации дескриптора интерфейса, путем использования перечислимых типов данных, описывающих интерфейс. Например, с помощью перечислимых типов данных, описывающих интерфейс, электронное устройство получает следующую информацию: базовый тип интерфейса подключенного устройства: USB_CLASS_MASS_STORAGE; тип подкласса интерфейса подключенного устройства: USB_SCSI и интерфейс протокола: USB_PR_BULK.

[00100] 2. Если информация дескриптора интерфейса указывает на то, что подключенное устройство представляет собой запоминающее устройство большой емкости, электронное устройство получает информацию о типе подключенного устройства.

[00101] Электронное устройство распознает информацию дескриптора интерфейса, полученную с помощью перечислимых данных, описывающих интерфейс. Если информация дескриптора интерфейса указывает на то, что подключенное устройство представляет собой запоминающее устройство большой емкости, электронное устройство получает также информацию о типе подключенного устройства. Информация о типе устройства может быть получена путем передачи из электронного устройства инструкции получения данных о системном интерфейсе малых компьютеров (SCSI, Small Computer System Interface).

[00102] Например, электронное устройство получает следующую информацию дескриптора интерфейса подключенного устройства: базовый тип интерфейса: USB_CLASS_MASS_STORAGE, тип подкласса интерфейса: USB_SCSI и интерфейс протокола: USB_PR_BULK, после чего электронное устройство может определить, что подключено запоминающее устройство большой емкости. Электронное устройство передает инструкцию получения данных о SCSI и определяет возвращаемое значение в качестве информации о типе устройства.

[00103] 3. Электронное устройство определяет, что подключенному устройству не требуется управляющая программа, на основе информации о типе устройства.

[00104] Соответствующая взаимосвязь между возвращаемыми значениями и типами устройств может устанавливаться предварительно. Например, после передачи электронным устройством инструкции о получении данных SCSI-интерфейса электронному устройство возвращается следующее значение: 0x00. На основе соответствующего взаимоотношения и возвращаемого значения электронное устройство может определить, что подключаемым устройством является U-диск, который относится к устройствам, работающим без управляющей программы, и, таким образом, электронное устройство может определить, что подключенное устройство не требует запуска управляющей программы.

[00105] На шаге 202 электронное устройство получает из подключенного устройства адрес памяти обновляющего микропрограммного обеспечения.

[00106] Поскольку определяется, что подключенному устройству не требуется управляющая программа, электронное устройство может считывать обновляющее микропрограммное обеспечение, хранящееся в подключенном устройстве, без использования конкретной управляющей программы. Поскольку различные подключенные устройства могут использовать различные типы файловых систем и адреса памяти соответствующего обновляющего микропрограммного обеспечения, при чтении обновляющего микропрограммного обеспечения электронному устройству требуется определить адрес памяти обновляющего микропрограммного обеспечения в соответствии с типом файловой системы подключенного устройства. На шаге получения необходимой информации могут выполняться следующие дополнительные шаги.

[00107] 1. Чтение электронным устройством информации в конкретном секторе подключенного устройства.

[00108] Информация в конкретных секторах, соответствующих различным файловым системам, может храниться в различных форматах, и, таким образом, электронное устройство может определять файловую систему подключенного устройства путем чтения информации в конкретном секторе подключенного устройства. Следует отметить, что электронное устройство обычно считывает информацию из первого сектора подключенного устройства.

[00109] 2. Принятие решения электронным устройством, использует ли подключенное устройство конкретную файловую систему, в соответствии с информацией, хранимой в конкретном секторе.

[00110] Если электронное устройство определяет тип файловой системы, применяемой подключенным устройством, в соответствии с прочитанной информацией в конкретном секторе, то поскольку электронное устройство заранее сохраняет соответствующую таблицу взаимоотношений между информацией в конкретных секторах и типами систем, электронное устройство находит соответствующий тип файловой системы согласно информации, прочитанной в конкретном секторе. Если осуществляется поиск информации о соответствующем типе файловой системы, может быть определено, что подключенное устройство применяет конкретную файловую систему. Ниже показан пример структуры таблицы, в которой представлена взаимосвязь между информацией в конкретных секторах и типами файловых систем.

[00111] 3. Если принимается решение о том, что подключенное устройство использует конкретную файловую систему, определение электронным устройством заранее заданного адреса памяти в качестве адреса памяти обновляющего микропрограммного обеспечения.

[00112] После определения файловой системы в соответствии с информацией, содержащейся в конкретном секторе, электронное устройство может определить адрес памяти обновляющего микропрограммного обеспечения, соответствующего файловой системе. Соответствующая взаимосвязь между файловыми системами и адресами памяти обновляющего микропрограммного обеспечения в качестве примера представлена в таблице 2.

[00113] Заранее заданный адрес памяти может представлять собой путь к каталогу подключенного устройства. Например, заранее заданный адрес памяти может задаваться в виде пути "H:/firmware", указывающего, что по этому адресу памяти обновляющего микропрограммного обеспечения в корневом каталоге диска H находится файл firmware.

[00114] Различные файловые системы могут соответствовать различным или одинаковым адресам памяти обновляющего микропрограммного обеспечения, и данный вариант осуществления описывается на примере, в котором различные файловые системы соответствуют различным адресам памяти обновляющего микропрограммного обеспечения, однако раскрытие настоящего изобретения не ограничивается этим примером.

[00115] 4. Если принимается решение о том, что подключенное устройство не использует конкретную файловую систему, то электронное устройство определяет адрес памяти обновляющего микропрограммного обеспечения в соответствии с метаинформацией, входящей в состав информации, содержащейся в конкретном секторе. В состав метаинформации входит начальный адрес и размер данных обновляющего микропрограммного обеспечения.

[00116] Если электронное устройство не может найти файловую систему, соответствующую прочитанной информации в конкретном секторе, на основе таблицы взаимоотношений между информацией в конкретных секторах и типами файловых систем, то электронное устройство определяет, что подключенное устройство не использует какую-либо определенную файловую систему. Электронное устройство может в соответствии с метаинформацией, включенной в информацию, содержащуюся в конкретном секторе, получить значения начального адреса и размера данных обновляющего микропрограммного обеспечения, которые указаны в метаинформации, и определить адрес памяти обновляющего микропрограммного обеспечения.

[00117] На шаге 203 определяется область памяти микропрограммного обеспечения в электронном устройстве.

[00118] Поскольку информация об области памяти микропрограммного обеспечения в электронном устройстве хранится в составе метаинформации во внутренней флэш-памяти, электронное устройство может считывать данные метаинформации из внутренней флэш-памяти и определять адрес памяти для сохранения обновляющего микропрограммного обеспечения. Область памяти микропрограммного обеспечения конфигурируется для хранения микропрограммного обеспечения.

[00119] Если существует одна область памяти микропрограммного обеспечения, содержащаяся в электронном устройстве, то эта область конфигурируется для хранения микропрограммного обеспечения, выполняемого электронным устройс