Страница 2 Оригинал: «Рисунок 1-1 показывает структуру зеркального изображения 4Mb Award BIOS» и «Рисунок 1-1 — 4Mb Award BIOS зеркальное изображение»
Исправлено: «Рисунок 1-1 показывает структуру зеркального изображения 2Mb Award BIOS» и «Рисунок 1-1 — 2Mb Award BIOS зеркальное изображение»
Страница 3 Оригинал: «Мы используем 4Mb Award BIOS в качестве примера для объяснения процесса загрузки BIOS-файлов и получения представления о процессе запуска Legacy BIOS»
Исправлено: «Мы используем 2Mb Award BIOS в качестве примера для объяснения процесса загрузки BIOS-файлов и получения представления о процессе запуска Legacy BIOS»
Оригинал: «BIOS-ROM обычно отображается в верхней части адресуемого диапазона памяти, например, для 4Mb BIOS диапазон памяти составляет 0FFF80000h ~ 0FFFFFFFFh. »
Исправлено: «BIOS-ROM обычно отображается в верхней части адресуемого диапазона памяти, например, для 2Mb BIOS диапазон памяти составляет 0FFFC0000h ~ 0FFFFFFFFh. »
Страница 4 Оригинал: «Legacy BIOS обычно работает в реальном режиме, с ограничением адресуемого пространства до 1Mb. »
Исправлено: «Legacy BIOS обычно работает в реальном режиме, с ограничением адресуемого пространства до 1 МБ. »
Страница 5 Оригинал: «Код Legacy BIOS обычно является статически связанным. »
Исправлено: «Код Legacy BIOS обычно является статически связанным. » Страница 6 Оригинал: «Программы и драйверы UEFI могут загружаться с любого устройства и файловой системы, поддерживаемых UEFI-спецификацией, а порядок загрузки определяется запускающим менеджером. »
Исправлено: «Операционная система или UEFI Shell и другие могут загружаться с любого устройства, соответствующего спецификации, а порядок загрузки определяется запускающим менеджером (Boot Manager). »
*Авторское примечание: Оригинальное описание не точное, см. раздел 3 Boot Manager UEFI Spec. *### Глава 2. Установка среды разработки и отладки UEFI
Страница 21 Оригинал: «Можно использовать следующую команду (в качестве примера AppPkg из edk2-libc, для компиляции 32-битного UEFI-программы).
C:\UEFIWorkspace>BUILD -p edk2-libc\AppPkg\AppPkg. dsc -t VS2015x86 \ –a IA32»
Исправлено: «Можно использовать следующую команду (в качестве примера AppPkg из edk2-libc, для компиляции 32-битного UEFI-программы).
C:\UEFIWorkspace>BUILD -p edk2-libc\AppPkg\AppPkg.dsc -t VS2015x86 -a IA32»
Страница 35 Оригинал: «(Пропущено, шаг 3)
~/UEFIWorkspace$ mkdir _ovmf_dbg
~/UEFIWorkspace$ cd _ovmf_dbg
~/UEFIWorkspace/_ovmf_dbg$ cp Build/OvmfIa32/DEBUG_GCC5/FV/OVMF.fd . /
Исправлено:
~/UEFIWorkspace$ mkdir _ovmf_dbg
~/UEFIWorkspace$ cd _ovmf_dbg
~/UEFIWorkspace/_ovmf_dbg$ cp Build/OvmfIa32/DEBUG_GCC5/FV/OVMF.fd ./
Оригинал:
(Пропущено ранее, шаг 4) Запустите следующую команду для запуска QEMU.
$qemu-system-x86_64 -s -pflash OVMF. fd -hadfat:rw:hda-contents/ -net none -debugcon file:debug. log -global isa-debugcon. iobase=0x402
Исправлено: Запустите следующую команду для запуска QEMU.
$qemu-system-x86_64 -s -pflash OVMF. fd -hda fat:rw:hda-contents/ -net none -debugcon file:debug. log -global isa-debugcon. iobase=0x402
Страница 37 Оригинал:
"После завершения установки, выполните файл /opt/intel/udkdebugger/bin."
Исправлено: "После завершения установки, выполните файл, расположенный в папке /opt/intel/udkdebugger/bin."
Страница 46 Оригинал (таблица 3-2, SKUID_IDENTIFIER): "Обычно Default, в противном случае должно быть значением из [Skuids]"
Исправлено: "Обычно DEFAULT, в противном случае должно быть другим значением из [Skuids]"
Страница 52 Оригинал:
"Важно отметить, что тот же исходный файл, который не находится в архитектуре COMMON (то есть, который является общим для всех архитектур), но находится в определенной архитектуре (например, IA32), такой подход запрещен."
Исправлено: "Важно отметить, что тот же исходный файл не может одновременно находиться в common и в определенной архитектуре."
Страница 62 Оригинал:
RETURN_STATUS EFIAPI MyLibDestructor (VOID)//функция-заглушка для освобождения ресурсов
{
Print(L"MyLibConstructor() is called! \n");
}
Исправлено:
RETURN_STATUS EFIAPI MyLibDestructor (VOID)//функция-заглушка для освобождения ресурсов
{
Print(L"MyLibDestructor() is called! \n");
}
}
:memo: **Страница 67** Оригинал: "SET PcdNmae = VALUE"
Исправлено: "SET PcdName = VALUE"
:memo: **Страница 85** Оригинал: "Она не требует указания параметра AgentHandel,"
Исправлено: "Она не требует указания параметра AgentHandle,"
### Глава 6. Развитие и перенос GUI
:memo: **Страница 175** Оригинал: "EFI_EVENT_NOTIFY)NotifyWaitFunc, //функция уведомления"
Исправлено: "(EFI_EVENT_NOTIFY)NotifyWaitFunc, //функция уведомления"
:memo: **Страница 177** Оригинал: "Если тип события EVT_NOTIFY_FIGNAL"
Исправлено: "Если тип события EVT_NOTIFY_SIGNAL"
### Глава 7. Доступ к периферии в окружении UEFI
:memo: **Страница 224** Оригинал: "Обычно используется расширенный ASCII-код, диапазон значений:"
Исправление: "Обычно используется расширенный ASCII-код, диапазон значений:"
### Глава 8. UEFI-драйверы и Option ROM
:memo: **Страница 234** Оригинал: "В стартовых службах UEFI присутствуют функции InstallProcotolInterface() и InstallMultipleProtocolInterfaces()"
Исправление: "В стартовых службах UEFI присутствуют функции InstallProtocolInterface() и InstallMultipleProtocolInterfaces()"
### Глава 10. UEFI и сеть
:memo: **Страница 311** Оригинал:
“На GitHub есть официальная справочная документация по адресу https://github.com/tianocore/tianocore.github.io/wiki/Network-io. Согласно документации, настройки сети для эмулятора Nt32 можно найти в руководстве по началу работы с UEFI Network Stack.” Исправление: "Настройки сети для эмулятора Nt32 можно найти в официальном руководстве UEFI Network Stack for EDK Getting Started Guide."
*Авторское примечание: Ссылка на документацию на GitHub больше недействительна, я разместил документ в папке /chap10.*
:memo: **Страница 333** Оригинал: "printf("Message form server: %s\n", RecvBuffer);"
Исправление: "printf("Message from server: %s\n", RecvBuffer);"
:memo: **Страница 336** Оригинал: "printf("Message form server: %s\n", recvStr);"
Исправление: "printf("Message from server: %s\n", recvStr);"
:memo: **Страница 342** Оригинал: "printf("Message form server: %s\n", recvStr);"
Исправление: "printf("Message from server: %s\n", recvStr);"
### Глава 12. Разработка UEFI-программ на платформе Loongson
:memo: **Страница 365** Оригинал: "git submodule update -init"
Исправление: "git submodule update --init"
## Список благодарностей
Каждый раз, получая письмо от читателя, я чувствую некоторую тревогу, думая, что меня слишком сильно поддерживают. Особенно хочу выразить благодарность тем, кто помогал исправлять ошибки.
Спасибо следующим людям за их помощь в исправлении ошибок, список представлен ниже (порядок не имеет значения).
### Волк (Zhihu)
### Новичок в BIOS (группа WeChat BIOS)
### Iversu (группа WeChat BIOS)
### Игорь (571870829@qq.com)
### cshinexsc@sina.com
### Джонс Цзен (289606637@qq.com)
### zhouby_cn@126.com
### houchengf@163.com
### zhangpeng_lx@qq.com
### yanfengzhao@163.com
### Любитель@@@ (пользователь CSDN)
### uefi_explorer@163.com
### lizic0228@foxmail.com
### colinzhao1992@hotmail.com
### 1570782729@qq.com
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Опубликовать ( 0 )