Способ, устройство и терминал для восстановления микропрограммы
METHOD, DEVICE AND TERMINAL FOR RESTORING FIRMWARE

ПЕРЕКРЕСТНАЯ ССЫЛКА НА РОДСТВЕННЫЕ ЗАЯВКИ
[0001] Настоящая заявка основана на китайской патентной заявке №201410806750.8, поданной 22 декабря 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] Фиг. 1 - схема, демонстрирующая среду реализации, предусмотренную в способе восстановления микропрограммы согласно части иллюстративных вариантов осуществления.
[0061] Фиг. 2 - блок-схема, демонстрирующая терминал согласно иллюстративному варианту осуществления.
[0062] Фиг. 3 - блок-схема операций, демонстрирующая способ восстановления микропрограммы согласно иллюстративному варианту осуществления.
[0063] Фиг. 4А - блок-схема операций, демонстрирующая способ восстановления микропрограммы согласно другому иллюстративному варианту осуществления.
[0064] Фиг. 4В - блок-схема операций, демонстрирующая процесс получения первого адреса хранения и второго адреса хранения на терминале согласно другому иллюстративному варианту осуществления.
[0065] Фиг. 4С - блок-схема операций, демонстрирующая активацию второй области хранения на терминале согласно другому иллюстративному варианту осуществления.
[0066] Фиг. 4D - блок-схема операций, демонстрирующая обновление микропрограммы на терминале согласно другому иллюстративному варианту осуществления.
[0067] Фиг. 4Е - другая блок-схема операций, демонстрирующая способ восстановления микропрограммы согласно другому иллюстративному варианту осуществления.
[0068] Фиг. 4F - еще одна блок-схема операций, демонстрирующая способ восстановления микропрограммы согласно другому иллюстративному варианту осуществления.
[0069] Фиг. 5 - блок-схема, демонстрирующая устройство для восстановления микропрограммы согласно иллюстративному варианту осуществления.
[0070] Фиг. 6 - блок-схема, демонстрирующая устройство для восстановления микропрограммы согласно другому иллюстративному варианту осуществления.
[0071] Фиг. 7 - блок-схема, демонстрирующая устройство для восстановления микропрограммы согласно иллюстративному варианту осуществления.
ПОДРОБНОЕ ОПИСАНИЕ
[0072] Ниже подробно описаны иллюстративные варианты осуществления, примеры которых проиллюстрированы на прилагаемых чертежах. Нижеследующее описание приведено со ссылкой на прилагаемые чертежи, в которых одинаковые номера в разных чертежах представляют одинаковые или аналогичные элементы, если не указано обратное. Реализации, изложенные в нижеследующем описании иллюстративных вариантов осуществления, не представляют все реализации, согласующиеся с изобретением. Напротив, они являются лишь примерами устройств и способов, согласующихся с аспектами, относящимися к изобретению, представленными в нижеследующей формуле изобретения.
[0073] На фиг. 1 показана схема, демонстрирующая среду реализации, предусмотренную в способе восстановления микропрограммы согласно иллюстративным вариантам осуществления настоящего изобретения. Как показано на фиг. 1, среда реализации может включать в себя терминал 110 и сервер 120.
[0074] Терминал 110 представляет собой, например, мобильный телефон, планшетный компьютер, устройство чтения электронных книг, настольный компьютер, компьютер-ноутбук, цифровую камеру, маршрутизатор, коммутационное оборудование, принтер, главный пульт, игровую консоль и т.п. Терминал 110 может подключаться к серверу 120 через проводную или беспроводную сеть.
[0075] Сеть 120 может включать в себя один или более высокопроизводительных компьютеров или облачный компьютерный центр. Сервер 120 выполнен с возможностью предоставления услуги для терминала 110.
[0076] Как показано на фиг. 2, терминал 110 может включать в себя активированную первую область 210 хранения для хранения микропрограммы, наиболее недавно выполнявшейся терминалом, и инактивированную вторую область 220 хранения для хранения запасной микропрограммы.
[0077] В необязательном порядке первая область 210 хранения и вторая область 220 хранения могут быть двумя областями хранения во внутренней памяти терминала. Например, первая область 210 хранения и вторая область 220 хранения могут быть двумя областями хранения во флэш-памяти.
[0078] в необязательном порядке микропрограмма, хранящаяся в первой области 210 хранения и во второй области 220 хранения может храниться запасная микропрограмма с одинаковым номером версии или разными номерами версии.
[0079] Например, микропрограмма, хранящаяся в первой области 210 хранения, имеет версию 3.2, и запасная микропрограмма, хранящаяся во второй области 220 хранения, является ранее распространенной версией, например, версией 3.1. Однако в первой области 210 хранения и второй области 220 хранения может храниться та же версия, например версия 3.2. Это не имеет ограничений в настоящем варианте осуществления.
[0080] В необязательном порядке первая область 210 хранения и вторая область 220 хранения могут иметь одинаковый или разный размер. В необязательном порядке первую область 210 хранения и вторую область 220 хранения, в целом, можно реализовать как имеющие одинаковый размер.
[0081] В необязательном порядке можно обеспечить одну, две или более вторых областей 220 хранения. Это не имеет ограничений в настоящих вариантах осуществления. В необязательном порядке для экономии ресурсов хранения терминала и дополнительного улучшения использования ресурсов терминала, в целом, предусмотрена одна из вторых областей 220 хранения.
[0082] На фиг. 3 показана блок-схема операций, демонстрирующая способ восстановления микропрограммы согласно иллюстративному варианту осуществления. Как показано на фиг. 3, в настоящем варианте осуществления способ восстановления микропрограммы может применяться на терминале 110, как показано, например, на фиг. 1. Способ восстановления микропрограммы может включать в себя следующие этапы.
[0083] На этапе 301 принимается сигнал восстановления для восстановления микропрограммы на терминале.
[0084] На этапе 302 первая область хранения деактивируется и вторая область хранения активируется.
[0085] На этапе 303 загружается микропрограмма, хранящаяся в активированной второй области хранения.
[0086] Соответственно в способе восстановления микропрограммы, предусмотренном согласно варианту осуществления настоящего изобретения, на терминале предусмотрены активированная первая область хранения для хранения микропрограммы, наиболее недавно выполнявшейся терминалом, и инактивированная вторая область хранения для хранения запасной микропрограммы. Таким образом, для восстановления микропрограммы желаемым образом, терминал может просто деактивировать первую область хранения, активировать вторую область хранения и загружать запасную микропрограмму, хранящуюся в активированной второй области хранения. Таким образом, он позволяет решить проблему уровня техники, состоящую в том, что микропрограмму можно восстанавливать только средством прошивки, и может обеспечивать эффект восстановления микропрограммы нажатием одной клавиши и облегчения работы пользователя.
[0087] На фиг. 4 показана блок-схема операций, демонстрирующая способ восстановления микропрограммы согласно иллюстративному варианту осуществления. Как показано на фиг. 4, в настоящем варианте осуществления способ восстановления микропрограммы может применяться на терминале 110, как показано, например, на фиг. 1. Способ восстановления микропрограммы может включать в себя следующие этапы.
[0088] На этапе 401 принимается сигнал восстановления для восстановления микропрограммы на терминале.
[0089] Пользователь может инициировать восстановление микропрограммы на терминале. Соответственно терминал принимает сигнал восстановления для восстановления микропрограммы на терминале. Терминал может быть снабжен клавишей восстановления, и пользователь может отправлять сигнал восстановления нажатием клавиши восстановления. Это не имеет ограничений в настоящем варианте осуществления.
[0090] В необязательном порядке при сбое микропрограммы на терминале пользователь может инициировать восстановление микропрограммы на терминале.
[0091] В необязательном порядке, когда пользователю не нравится текущая версия микропрограммы на терминале, и он желает восстановить микропрограмму к предыдущей версии, пользователь может инициировать восстановление микропрограммы на терминале.
[0092] На этапе 402 получаются первый адрес хранения первой области хранения и второй адрес хранения второй области хранения.
[0093] В необязательном порядке, как показано на фиг. 4В, этот этап может включать в себя следующие этапы.
[0094] На этапе 402а извлекается таблица разделов, содержащая адреса хранения областей хранения.
[0095] Приняв сигнал восстановления, терминал может извлекать заранее сохраненную таблицу разделов, которая содержит адреса хранения областей хранения.
[0096] На этапе 402b первый адрес хранения и второй адрес хранения определяются на основании таблицы разделов.
[0097] Терминал выводит из таблицы разделов первый адрес хранения, соответствующий первой области хранения, и второй адрес хранения, соответствующий второй области хранения.
[0098] В необязательном порядке при наличии двух или более вторых областей хранения, терминал может выводить два или более вторых адресов хранения, соответственно соответствующих вторым областям хранения. Это не имеет ограничений в настоящем варианте осуществления.
[0099] На этапе 403 деактивируется область хранения, соответствующая первому адресу хранения.
[00100] Приняв сигнал восстановления, терминал может деактивировать область хранения, соответствующую первому адресу хранения.
[00101] В необязательном порядке терминал может устанавливать флаг состояния для каждой области хранения, и терминал может изменять флаг области хранения, соответствующей первому адресу хранения. Например, терминал может устанавливать флаг активированной области хранения равным "1", и устанавливать флаг инактивированной области хранения равным "0". В этом случае терминал может изменять флаг области хранения, соответствующей первому адресу хранения, на "0".
[00102] В необязательном порядке терминал может устанавливать флаг только для активированной области хранения, и не устанавливать флаг для инактивированной области хранения. В этом случае терминал может удалять флаг области хранения, соответствующей первому адресу хранения.
[00103] В необязательном порядке терминал также может устанавливать флаг только для инактивированной области хранения, и не устанавливать флаг для активированной области хранения. В этом случае терминал может устанавливать флаг для области хранения, соответствующей первому адресу хранения.
[00104] В настоящем варианте осуществления вышеописанные способы, согласно которым терминал деактивирует область хранения, соответствующую первому адресу хранения, являются лишь иллюстративными. В необязательном порядке терминал может деактивировать область хранения, соответствующую первому адресу хранения, другими способами, которые не ограничены в настоящем варианте осуществления.
[00105] На этапе 404 активируется область хранения, соответствующая второму адресу хранения.
[00106] Приняв сигнал восстановления, терминал может активировать область хранения, соответствующую второму адресу хранения.
[00107] В необязательном порядке терминал может устанавливать флаг состояния для каждой области хранения, и терминал может изменять флаг области хранения, соответствующей второму адресу хранения. Например, терминал может устанавливать флаг активированной области хранения равным "1", и устанавливать флаг инактивированной области хранения равным "0". В этом случае терминал может изменять флаг области хранения, соответствующей второму адресу хранения, на "1".
[00108] В необязательном порядке терминал может устанавливать флаг только для активированной области хранения, и не устанавливать флаг для инактивированной области хранения. В этом случае терминал может устанавливать флаг для области хранения, соответствующей второму адресу хранения.
[00109] В необязательном порядке терминал также может устанавливать флаг только для инактивированной области хранения, и не устанавливать флаг для активированной области хранения. В этом случае терминал может удалять флаг для области хранения, соответствующей второму адресу хранения.
[00110] В настоящем варианте осуществления вышеописанные способы, согласно которым терминал активирует область хранения, соответствующую второму адресу хранения, являются лишь иллюстративными. В необязательном порядке терминал может активировать область хранения, соответствующую второму адресу хранения, другими способами, которые не ограничены в настоящем варианте осуществления.
[00111] В необязательном порядке при наличии двух или более вторых областей хранения и получении двух или более вторых адресов хранения, соответственно соответствующих вторым областям хранения, этот этап может включать в себя следующие этапы, как показано на фиг. 4С.
[00112] На этапе 404а один из вторых адресов хранения выбирается согласно заранее заданному условию, причем заранее заданное условие включает в себя, по меньшей мере, одно из: уровней приоритета вторых областей хранения, соответственно соответствующих вторым адресам хранения, целостности микропрограмм, соответственно хранящихся во вторых областях хранения, и номеров версии микропрограмм, соответственно хранящихся во вторых областях хранения.
[00113] Терминал может выбирать один из вторых адресов хранения согласно заранее заданному условию.
[00114] В необязательном порядке терминал может устанавливать уровни приоритета восстановления соответственно для вторых областей хранения, каждая из которых представляет уровень приоритета второй области хранения при восстановлении микропрограммы. Терминал может выбирать второй адрес хранения, имеющий наивысший уровень приоритета, из вторых адресов хранения. Например, имеется три вторых адреса хранения А, В и С, с приоритетным порядком восстановления В, А и С. В этом случае терминал может выбирать второй адрес хранения В.
[00115] В необязательном порядке терминал также может устанавливать контрольные коды для микропрограмм, хранящихся в областях хранения, соответствующих вторым адресам хранения. Терминал может определять, остается ли целостной микропрограмма, хранящаяся в области хранения, соответствующей второму адресу хранения, посредством ее контрольному коду, и выбирать второй адрес хранения, в котором микропрограмма остается целостной. В необязательном порядке при наличии двух или более вторых адресов хранения, имеющих целостные микропрограммы, терминал может произвольно выбирать один из них, или выбирать один на основании двух других условий. Это не имеет ограничений в настоящем варианте осуществления.
[00116] В необязательном порядке терминал может выводить номера версии микропрограмм, хранящиеся в областях хранения, соответствующих вторым адресам хранения, и выбирать второй адрес хранения, которому соответствует область хранения с более высоким номером версии.
[00117] Выше в порядке примера настоящее условие включает в себя одно условие. Однако в необязательном порядке в качестве настоящего условия можно устанавливать комбинацию двух или трех условий. Это не имеет ограничений в настоящем варианте осуществления. В необязательном порядке согласно вышеописанному варианту осуществления в порядке примера настоящее условие включает в себя три условия. Однако в необязательном порядке заранее заданное условие также может включать в себя другие условия. Это не имеет ограничений в настоящем варианте осуществления.
[00118] На этапе 404b активируется вторая область хранения, соответствующая выбранному второму адресу хранения.
[00119] Выбрав один второй адрес хранения из двух или более вторых адресов хранения, терминал может активировать вторую область хранения, соответствующую выбранному второму адресу хранения.
[00120] В необязательном порядке терминал может активировать вторую область хранения, соответствующую выбранному второму адресу хранения аналогично тому, как описано выше. Это не имеет ограничений в настоящем варианте осуществления.
[00121] На этапе 405 загружается микропрограмма, хранящаяся в активированной второй области хранения.
[00122] Терминал может загружать микропрограмму, хранящуюся в активированной второй области хранения.
[00123] В необязательном порядке терминал может загружать микропрограмму, хранящуюся в активированной второй области хранения, в процессе перезагрузки.
[00124] В необязательном порядке, деактивировав первую область хранения и активировав вторую область хранения, терминал может автоматически перезагружаться, и загружать микропрограмму, хранящуюся в активированной второй области хранения, в процессе перезагрузки.
[00125] В необязательном порядке, деактивировав первую область хранения и активировав вторую область хранения, терминал может представлять пользователю сообщение приглашения для его перезагрузки. Затем терминал может перезагружаться по команде пользователя, и загружать микропрограмму, хранящуюся в активированной второй области хранения, в процессе перезагрузки.
[00126] Соответственно в способе восстановления микропрограммы, предусмотренном согласно варианту осуществления настоящего изобретения, на терминале предусмотрены активированная первая область хранения для хранения микропрограммы, наиболее недавно выполнявшейся терминалом, и инактивированная вторая область хранения для хранения запасной микропрограммы. Таким образом, для восстановления микропрограммы желаемым образом терминал может просто деактивировать первую область хранения, активировать вторую область хранения и загружать запасную микропрограмму, хранящуюся в активированной второй области хранения. Таким образом, он позволяет решить проблему уровня техники, состоящую в том, что микропрограмму можно восстанавливать только средством прошивки, и может обеспечивать эффект восстановления микропрограммы нажатием одной клавиши и облегчения работы пользователя.
[00127] В настоящем варианте осуществления пользователь может восстанавливать микропрограмму на терминале нажатием одной клавиши, что позволяет пользователю экономить время при восстановлении микропрограммы.
[00128] Следует отметить, что пользователь также может инициировать обновление микропрограммы, хранящейся на терминале. Как показано на фиг. 4D, процесс обновление микропрограммы на терминале может включать в себя следующие этапы.
[00129] На этапе 406 запрос для получения новейшей микропрограммы терминала отправляется на сервер.
[00130] В необязательном порядке пользователь может находить нужную версию микропрограммы на веб-сайте и оперировать терминалом для загрузки новейшей микропрограммы. Терминал может отправлять на сервер запрос для получения новейшей микропрограммы терминала.
[00131] На этапе 407 принимается новейшая микропрограмма, возвращаемая сервером.
[00132] На этапе 408 определяются состояния первой области хранения и второй области хранения.
[00133] В необязательном порядке терминал может извлекать флаги состояния первой области хранения и второй области хранения и определять состояния первой области хранения и второй области хранения на основании флагов состояния.
[00134] На этапе 409, если первая область хранения активирована и вторая область хранения инактивирована, микропрограмма, хранящаяся в инактивированной второй области хранения, обновляется новейшей микропрограммой; первая область хранения деактивируется и вторая область хранения активируется.
[00135] Если определено, что первая область хранения активирована и вторая область хранения инактивирована, терминал может обновлять микропрограмму, хранящуюся во второй области хранения новейшей микропрограммой. В необязательном порядке терминал может удалять микропрограмму, хранящуюся во второй области хранения, и записывать принятую новейшую микропрограмму во вторую область хранения.
[00136] Для запуска обновленной микропрограммы терминал может деактивировать первую область хранения и активировать вторую область хранения, и этот процесс может быть связан с этапами 402-404 и не будет здесь повторно описан.
[00137] В необязательном порядке, активировав вторую область хранения, терминал может загружать микропрограмму, хранящуюся в активированной второй области хранения.
[00138] На этапе 410, если вторая область хранения активирована и первая область хранения инактивирована, микропрограмма, хранящаяся в инактивированной первой области хранения, обновляется новейшей микропрограммой; вторая область хранения деактивируется и первая область хранения активируется.
[00139] Если определено, что вторая область хранения активирована и первая область хранения инактивирована, терминал может обновлять микропрограмму, хранящуюся в инактивированной первой области хранения, новейшей микропрограммой. Затем вторая область хранения деактивируется и первая область хранения активируется, и этот процесс аналогичен этапу 409 и не будет здесь повторно описан.
[00140] Следует отметить, что, в настоящем варианте осуществления в порядке примера терминал обновляет только микропрограмму, хранящуюся в инактивированной области хранения. Однако в необязательном порядке терминал также может обновлять микропрограммы, хранящиеся в обеих областях хранения. Это не имеет ограничений в настоящем варианте осуществления. В настоящем варианте осуществления в порядке примера терминал обновляет только микропрограмму, хранящуюся в инактивированной области хранения, чтобы гарантировать, что терминал может непрерывно работать в ходе обновления микропрограммы. Конкретная реализация не имеет ограничений.
[00141] Следует дополнительно отметить, что, как показано на фиг. 4Е, способ восстановления микропрограммы также включает в себя следующие этапы.
[00142] На этапе 411 удаляется микропрограмма, хранящаяся в деактивированной первой области хранения.
[00143] Восстановление микропрограммы на терминале обычно бывает обусловлено сбоем в микропрограмме, которая наиболее недавно выполнялась, то есть повреждением микропрограммы, хранящейся в первой области хранения. Таким образом, деактивировав первую область хранения, терминал может удалять микропрограмму, хранящуюся в деактивированной первой области хранения, то есть удалять поврежденную микропрограмму.
[00144] На этапе 412 микропрограмма, хранящаяся в активированной второй области хранения, записывается в деактивированную первую область хранения.
[00145] Для восстановления поврежденной микропрограммы, хранящейся в деактивированной первой области хранения, терминал может записывать микропрограмму, хранящуюся в активированной второй области хранения, в деактивированную первую область хранения.
[00146] В необязательном порядке терминал может представлять пользователю сообщение приглашения, предлагающее заархивировать микропрограмму, хранящуюся во второй области хранения, в первую область хранения как. Увидев сообщение приглашения, пользователь может инициировать архивацию.
[00147] В необязательном порядке, деактивировав первую область хранения и активировав вторую область хранения, терминал может автоматически записывать микропрограмму, хранящуюся в активированной второй области хранения, в деактивированную первую область хранения. Таким образом, даже в случае повторного сбоя микропрограммы в активированной второй области хранения пользователь сможет восстановить микропрограмму запасной микропрограммой в деактивированной первой области хранения. Это не имеет ограничений в настоящем варианте осуществления.
[00148] Следует отметить, что в настоящем варианте осуществления в порядке примера микропрограмма, хранящаяся в активированной второй области хранения, записывается в деактивированную первую область хранения. Однако в необязательном порядке пользователь также может подключить терминал к средству прошивки или U-диску для восстановления поврежденной микропрограммы, хранящейся в деактивированной первой области хранения, с помощью средства прошивки или U-диска. Это не имеет ограничений в настоящем варианте осуществления. В необязательном порядке терминал также может подключаться к серверу и загружать микропрограмму с сервера для восстановления микропрограммы, хранящейся в деактивированной первой области хранения. Это не имеет ограничений в настоящем варианте осуществления.
[00149] Следует дополнительно отметить, что, как показано на фиг. 4F, после этапа 405, терминал также может осуществлять следующий этап.
[00150] На этапе 413 загружается одно или оба из пользовательских настроек и данных конфигурации, ранее сохраненных на терминале.
[00151] В ходе эксплуатации терминала одно или оба из пользовательских настроек и данных конфигурации, сконфигурированных пользователем для терминала, могут сохраняться на терминале. В необязательном порядке терминал может автоматически осуществлять сохранение с заранее определенным интервалом времени, или может осуществлять сохранение каждый раз при приеме инициирующего сигнала от пользователя. Это не имеет ограничений в настоящем варианте осуществления.
[00152] Загрузив микропрограмму, хранящуюся в активированной второй области хранения, терминал может дополнительно загружать одно или оба из пользовательских настроек и данных конфигурации, ранее сохраненных на терминале. Таким образом, даже если терминал восстанавливает микропрограмму, пользователь по-прежнему может использовать пользовательские настройки, которые были до восстановления микропрограммы, и не нуждается в повторном осуществлении сложных операций настройки. Это позволяет упрощать пользовательскую операцию и гарантировать защиту данных для данных конфигурации на терминале в ходе восстановления микропрограммы.
[00153] Ниже представлены варианты осуществления устройства настоящего изобретения, которые позволяют реализовать варианты осуществления способа настоящего изобретения. Детали, не раскрытые в вариантах осуществления устройства настоящего изобретения, можно найти в вариантах осуществления способа настоящего изобретения.
[00154] На фиг. 5 показана блок-схема, демонстрирующая устройство для восстановления микропрограммы согласно иллюстративному варианту осуществления. Как показано на фиг. 5, устройство для восстановления микропрограммы применяется на терминале 110 в среде реализации, показанной на фиг. 1. Устройство для восстановления микропрограммы может включать в себя, но без ограничения, модуль 501 приема сигнала, первый модуль 502 обработки и модуль 503 загрузки микропрограммы.
[00155] Модуль 501 приема сигнала выполнен с возможностью приема сигнала восстановления для восстановления микропрограммы на терминале;
[00156] первый модуль 502 обработки выполнен с возможностью деактивации первой области хранения и активации второй области хранения; и
[00157] модуль 503 загрузки микропрограммы выполнен с возможностью загрузки микропрограммы, хранящейся в активированной второй области хранения.
[00158] Соответственно в устройстве для восстановления микропрограммы, предусмотренном согласно варианту осуществления настоящего изобретения, на терминале предусмотрены активированная первая область хранения для хранения микропрограммы, наиболее недавно выполнявшейся терминалом, и инактивированная вторая область хранения для хранения запасной микропрограммы. Таким образом, для восстановления микропрограммы желаемым образом, терминал может просто деактивировать первую область хранения, активировать вторую область хранения и загружать запасную микропрограмму, хранящуюся в активированной второй области хранения. Таким образом, он позволяет решить проблему уровня техники, состоящую в том, что микропрограмму можно восстанавливать только средством прошивки, и может обеспечивать эффект восстановления микропрограммы нажатием одной клавиши и облегчения работы пользователя.
[00159] На фиг. 6 показана блок-схема, демонстрирующая устройство для восстановления микропрограммы согласно иллюстративному варианту осуществления. Как показано на фиг. 6, устройство для восстановления микропрограммы применяется на терминале 110 в среде реализации, показанной на фиг. 1. Устройство для восстановления микропрограммы может включать в себя, но без ограничения, модуль 601 приема сигнала, первый модуль 602 обработки и модуль 603 загрузки микропрограммы.
[00160] Модуль 601 приема сигнала выполнен с возможностью приема сигнала восстановления для восстановления микропрограммы на терминале;
[00161] первый модуль 602 обработки выполнен с возможностью деактивации первой области хранения и активации второй области хранения; и
[00162] модуль 603 загрузки микропрограммы выполнен с возможностью загрузки микропрограммы, хранящейся в активированной второй области хранения.
[00163] В необязательном порядке первый модуль 602 обработки включает в себя:
[00164] подмодуль 602а получения адреса, выполненный с возможностью получения первого адреса хранения первой области хранения и второго адреса хранения второй области хранения;
[00165] подмодуль 602b деактивации, выполненный с возможностью деактивации области хранения, соответствующей первому адресу хранения; и
[00166] подмодуль 602с активации, выполненный с возможностью активации области хранения, соответствующей второму адресу хранения.
[00167] В необязательном порядке подмодуль 602а получения адреса выполнен с возможностью:
[00168] извлекать таблицу разделов, содержащую адреса хранения областей хранения; и
[00169] определять первый адрес хранения и второй адрес хранения на основании таблицы разделов.
[00170] В необязательном порядке подмодуль 602с активации выполнен с возможностью:
[00171] при наличии двух или более вторых адресов хранения, выбирать один из вторых адресов хранения согласно заранее заданному условию, причем заранее заданное условие включает в себя, по меньшей мере, одно из: уровней приоритета вторых областей хранения, соответственно соответствующих вторым адресам хранения, целостности микропрограмм, соответственно хранящихся во вторых областях хранения, и номеров версии микропрограмм, соответственно хранящихся во вторых областях хранения; и
[00172] активировать вторую область хранения, соответствующую выбранному второму адресу хранения.
[00173] В необязательном порядке устройство дополнительно включает в себя:
[00174] модуль 604 отправки запроса, выполненный с возможностью отправки на сервер запроса для получения новейшей микропрограммы терминала;
[00175] модуль 605 приема микропрограммы, выполненный с возможностью приема новейшей микропрограммы, возвращаемой сервером;
[00176] модуль 606 определения состояния, выполненный с возможностью определения состояний первой области хранения и второй области хранения;
[00177] первый модуль 607 обновления, выполненный с возможностью, если первая область хранения активирована и вторая область хранения инактивирована, обновлять микропрограмму, хранящуюся в инактивированной второй области хранения, новейшей микропрограммой, принятой модулем приема микропрограммы; деактивировать первую область хранения и активировать вторую область хранения; и
[00178] второй модуль 608 обновления, выполненный с возможностью, если вторая область хранения активирована и первая область хранения инактивирована, обновлять микропрограмму, хранящуюся в инактивированной первой области хранения, новейшей микропрограммой; деактивировать вторую область хранения и активировать первую область хранения.
[00179] В необязательном порядке устройство дополнительно включает в себя:
[00180] модуль 609 удаления микропрограммы, выполненный с возможностью удаления микропрограммы, хранящейся в деактивированной первой области хранения; и
[00181] модуль 610 записи микропрограммы, выполненный с возможностью записи микропрограммы, хранящейся в активированной второй области хранения, в деактивированную первую область хранения.
[00182] В необязательном порядке устройство дополнительно включает в себя:
[00183] модуль 611 загрузки данных, выполненный с возможностью, после загрузки микропрограммы, хранящейся в активированной второй области хранения, загружать одно или оба из пользовательских настроек и данных конфигурации, ранее сохраненных на терминале.
[00184] Соответственно в устройстве для восстановления микропрограммы, предусмотренном согласно варианту осуществления настоящего изобретения, на терминале предусмотрены активированная первая область хранения для хранения микропрограммы, наиболее недавно выполнявшейся терминалом, и инактивированная вторая область хранения для хранения запасной микропрограммы. Таким образом, для восстановления микропрограммы желаемым образом, терминал может просто деактивировать первую область хранения, активировать вторую область хранения и загружать запасную микропрограмму, хранящуюся в активированной второй области хранения. Таким образом, он позволяет решить проблему уровня техники, состоящую в том, что микропрограмму можно восстанавливать только средством прошивки, и может обеспечивать эффект восстановления микропрограммы нажатием одной клавиши и облегчения работы пользователя.
[00185] Кроме того, в настоящем варианте осуществления микропрограмма, хранящаяся во второй области хранения может обновляться новейшей микропрограммой, что позволяет обеспечивать эффект обновления микропрограммы на терминале. Кроме того, в настоящем варианте осуществления только микропрограмма, хранящаяся во второй области хранения обновляется, и микропрограмма, хранящаяся в первой области хранения, которая в данный момент выполняется, не обновляется, и это позволяет гарантировать, что терминал может непрерывно работать в ходе обновления микропрограммы.
[00186] Дополнительно, в настоящем варианте осуществления микропрограмма, хранящаяся в активированной второй области хранения, записывается в деактивированную первую область хранения. Таким образом, даже в случае повторного сбоя микропрограммы в активированной второй области хранения, пользователь сможет восстановить микропрограмму запасной микропрограммой в деактивированной первой области хранения.
[00187] В отношении устройств в вышеприведенных вариантах осуществления конкретный порядок работы их отдельных модулей подробно описан в вариантах осуществления способа и здесь повторно не рассмотрен.
[00188] Загрузив микропрограмму, хранящуюся в активированной второй области хранения, терминал может дополнительно загружать одно или оба из пользовательских настроек и данных конфигурации, ранее сохраненных на терминале. Таким образом, после восстановления микропрограммы, пользователь не нуждается в осуществлении сложных операций настройки. Это позволяет упрощать пользовательскую операцию и гарантировать защиту данных для данных конфигурации на терминале в ходе восстановления микропрограммы.
[00189] На фиг. 7 показана блок-схема устройства 700 для восстановления микропрограммы согласно иллюстративному варианту осуществления. Например, устройство 700 может представлять собой мобильный телефон, компьютер, цифровой широковещательный терминал, устройство обмена сообщениями, игровую консоль, планшет, медицинское устройство, тренировочное оборудование, карманный персональный компьютер и пр.
[00190] Согласно фиг. 7 устройство 700 может включать в себя один или более из следующих компонентов: компонент 702 обработки, память 704, компонент 706 питания, мультимедийный компонент 708, аудиокомпонент 710, интерфейс 712 ввода/вывода (I/O), компонент 714 датчика и компонент 716 связи.
[00191] Компонент 702 обработки обычно управляет работой устройства 700 в целом, например операциями, связанными с отображением, телефонными вызовам, передачей данных, операциями камеры и операциями записи. Компонент 702 обработки может включать в себя один или более процессоров 718 для выполнения инструкций для осуществления всех или части этапов согласно вышеописанным способам. Кроме того, компонент 702 обработки может включать в себя один или более модулей, которые облегчают взаимодействие между компонентом 702 обработки и другими компонентами. Например, компонент 702 обработки может включать в себя мультимедийный модуль для облегчения взаимодействия между мультимедийным компонентом 708 и компонентом 702 обработки.
[00192] Память 704 выполнена с возможностью хранения различных типов данных для поддержки работы устройства 700. Примеры таких данных включают в себя инструкции для любых приложений или способов, применяемых на устройстве 700, контактные данные, данные телефонной книги, сообщения, изображения, видеозаписи и т.д. Память 704 может быть реализована с использованием любого типа энергозависимых или энергонезависимых запоминающих устройств или их комбинации, например, статической оперативной памяти (SRAM), электрически стираемой программируемой постоянной памяти (EEPROM), стираемая программируемой постоянной памяти (EPROM), программируемой постоянной памяти (PROM), постоянной памяти (ROM), магнитной памяти, флэш-памяти, магнитного или оптического диска.
[00193] Компонент 706 питания обеспечивает питание для различных компонентов устройства 700. Компонент 706 питания может включать в себя систему управления питанием, один или более источников питания и любые другие компоненты, связанные с генерацией, управлением и распределением мощности в устройстве 700.
[00194] Мультимедийный компонент 708 включает в себя экран, обеспечивающий выходной интерфейс между устройством 700 и пользователем. В некоторых вариантах осуществления экран может включать в себя жидкокристаллический дисплей (LCD) и сенсорную панель (TP). Если экран включает в себя сенсорную панель, экран может быть реализован как сенсорный экран для приема входных сигналов от пользователя. Сенсорная панель включает в себя один или более тактильных датчиков для регистрации касаний, махов и жестов на сенсорной панели. Тактильные датчики могут не только регистрировать границу действия касания или маха, но и регистрировать период времени и давление, связанные с действием касания или маха. В некоторых вариантах осуществления мультимедийный компонент 708 включает в себя переднюю камеру и/или заднюю камеру. Передняя камера и задняя камера могут принимать внешние мультимедийные данные, когда устройство 700 находится в рабочем режиме, например, режиме фотографирование или режиме видеосъемки. Каждая из передней камера и задней камеры может быть фиксированной оптической линзовой системой или иметь возможности фокусировки и оптической трансфокации.
[00195] Аудиокомпонент 710 выполнен с возможностью вывода и/или ввода аудиосигналов. Например, аудиокомпонент 710 включает в себя микрофон ("MIC"), выполненный с возможностью приема внешнего аудиосигнала, когда устройство 700 находится в рабочем режиме, например, режиме вызова, режиме записи и режиме распознавания речи. Принятый аудиосигнал может дополнительно сохраняться в памяти 704 или передаваться через компонент 716 связи. В некоторых вариантах осуществления аудиокомпонент 710 дополнительно включает в себя громкоговоритель для вывода аудиосигналов.
[00196] Интерфейс 712 ввода-вывода обеспечивает интерфейс между компонентом 702 обработки и модулями периферийного интерфейса, например клавиатурой, колесиком с функцией кнопки, кнопками и пр. Кнопки могут содержать, но без ограничения, кнопку возврата в главное меню, кнопку регулировки громкости, кнопку начала работы и кнопку блокировки.
[00197] Компонент 714 датчика включает в себя один или более датчиков для обеспечения оценок статуса различных аспектов устройства 700. Например, компонент 714 датчика может обнаруживать открытый/закрытый статус устройства 700, относительное размещение компонентов, например, дисплея и клавишной панели, устройства 700, изменение положения устройства 700 или компонента устройства 700, наличие или отсутствие контакта пользователя с устройством 700, ориентацию или ускорение/замедление устройства 700 и изменение температуры устройства 700. Компонент 714 датчика может включать в себя датчик близости, выполненный с возможностью обнаружения присутствия близлежащих объектов без какого-либо физического контакта. Компонент 714 датчика также может включать в себя датчик света, например, датчик изображения на основе CMOS или CCD, для использования в приложениях формирования изображения. В некоторых вариантах осуществления компонент 714 датчика также может включать в себя акселерометрический датчик, гироскопический датчик, магнитный датчик, датчик давления или датчик температуры.
[00198] Компонент 716 связи выполнен с возможностью облегчения проводной или беспроводной связи между устройством 700 и другими устройствами. Устройство 700 может осуществлять доступ к беспроводной сети на основании стандарта связи, например, WiFi, 2G или 3G или их комбинации. В одном иллюстративном варианте осуществления компонент 716 связи принимает широковещательный сигнал или информацию, связанную с широковещанием, от внешней системы управления широковещанием через широковещательный канал. В одном иллюстративном варианте осуществления компонент 716 связи дополнительно включает в себя модуль ближней бесконтактной связи (NFC) для облегчения ближней связи. Например, модуль NFC можно реализовать на основании технологии радиочастотной идентификации (RFID), технологии ассоциации передачи данных в инфракрасном диапазоне (IrDA), сверхширокополосной (UWB) технологии, технологии Bluetooth (ВТ), и других технологий.
[00199] В иллюстративных вариантах осуществления устройство 700 можно реализовать посредством одного или более из специализированных интегральных схем (ASIC), цифровых сигнальных процессоров (DSP), устройства цифровой обработки сигнала (DSPD), программируемых логических устройств (PLD), вентильных матриц, программируемых пользователем (FPGA), контроллеров, микроконтроллеров, микроконтроллеров, микропроцессоров или других электронных компонентов, для осуществления вышеописанных способов.
[00200] В иллюстративных вариантах осуществления также предусмотрен компьютерно-считываемый носитель данных, включающий в себя инструкции, например, хранящиеся в памяти 704, исполняемые процессором 718 в устройстве 700, для осуществления вышеописанных способов. Например, компьютерно-считываемый носитель данных может представлять собой ROM, RAM, CD-ROM, магнитную ленту, флоппи-диск, оптическое устройство хранения данных и пр.
[00201] Очевидно, что настоящее изобретение не ограничивается конкретной конструкцией, которая описана выше и проиллюстрирована в прилагаемых чертежах, и в которой различные модификации и изменения можно вносить без отклонения от его объема. Предполагается, что объем изобретения ограничивается только нижеследующей формулой изобретения.