Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Remove efuse validation for JTAG #1382

Open
wants to merge 1 commit into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 0 additions & 2 deletions l10n/bundle.l10n.es.json
Original file line number Diff line number Diff line change
Expand Up @@ -189,8 +189,6 @@
"Unknown error occurred while setting IDF target.": "Ocurrió un error desconocido al configurar el objetivo IDF.",
"compile_commands.json is missing. This may cause errors with code analysis extensions.": "Falta compile_commands.json. Esto puede causar errores con las extensiones de análisis de código.",
"Generate compile_commands.json": "Generar compile_commands.json",
"Cannot flash via JTAG method: {0}": "No se puede flashear mediante el método JTAG: {0}",
"{0}\n\nThe JTAG configuration may depend on hardware strapping. Please consult the ESP32 technical documentation for your specific model to ensure proper JTAG configuration before proceeding.": "{0}\n\nLa configuración de JTAG puede depender del acoplamiento del hardware. Por favor, consulte la documentación técnica del ESP32 para su modelo específico para asegurar la configuración correcta de JTAG antes de continuar.",
"JTAG is permanently disabled in hardware ({0} is set).": "JTAG está deshabilitado permanentemente en hardware (se ha establecido {0}).",
"USB-to-JTAG functionality is disabled ({0} is set).": "La funcionalidad USB a JTAG está deshabilitada (se ha establecido {0}).",
"JTAG is soft-disabled ({0} is set to an odd value: {1}).": "JTAG está deshabilitado por software ({0} se ha establecido con un valor impar: {1}).",
Expand Down
2 changes: 0 additions & 2 deletions l10n/bundle.l10n.pt.json
Original file line number Diff line number Diff line change
Expand Up @@ -189,8 +189,6 @@
"Unknown error occurred while setting IDF target.": "Ocorreu um erro desconhecido ao definir o alvo IDF.",
"compile_commands.json is missing. This may cause errors with code analysis extensions.": "O arquivo compile_commands.json está faltando. Isso pode causar erros com extensões de análise de código.",
"Generate compile_commands.json": "Gerar compile_commands.json",
"Cannot flash via JTAG method: {0}": "Não é possível flashear pelo método JTAG: {0}",
"{0}\n\nThe JTAG configuration may depend on hardware strapping. Please consult the ESP32 technical documentation for your specific model to ensure proper JTAG configuration before proceeding.": "{0}\n\nA configuração JTAG pode depender da configuração do hardware. Por favor, consulte a documentação técnica do ESP32 para o seu modelo específico para garantir a configuração adequada do JTAG antes de prosseguir.",
"JTAG is permanently disabled in hardware ({0} is set).": "JTAG está permanentemente desativado no hardware ({0} está definido).",
"USB-to-JTAG functionality is disabled ({0} is set).": "A funcionalidade USB para JTAG está desativada ({0} está definido).",
"JTAG is soft-disabled ({0} is set to an odd value: {1}).": "JTAG está desativado por software ({0} está definido com um valor ímpar: {1}).",
Expand Down
2 changes: 0 additions & 2 deletions l10n/bundle.l10n.ru.json
Original file line number Diff line number Diff line change
Expand Up @@ -189,8 +189,6 @@
"Unknown error occurred while setting IDF target.": "Произошла неизвестная ошибка при установке цели IDF.",
"compile_commands.json is missing. This may cause errors with code analysis extensions.": "Отсутствует файл compile_commands.json. Это может вызвать ошибки в работе расширений для анализа кода.",
"Generate compile_commands.json": "Создать compile_commands.json",
"Cannot flash via JTAG method: {0}": "Невозможно прошить методом JTAG: {0}",
"{0}\n\nThe JTAG configuration may depend on hardware strapping. Please consult the ESP32 technical documentation for your specific model to ensure proper JTAG configuration before proceeding.": "{0}\n\nКонфигурация JTAG может зависеть от аппаратной конфигурации. Пожалуйста, обратитесь к технической документации ESP32 для вашей конкретной модели, чтобы обеспечить правильную конфигурацию JTAG перед продолжением.",
"JTAG is permanently disabled in hardware ({0} is set).": "JTAG постоянно отключен на аппаратном уровне (установлен {0}).",
"USB-to-JTAG functionality is disabled ({0} is set).": "Функциональность USB-to-JTAG отключена (установлен {0}).",
"JTAG is soft-disabled ({0} is set to an odd value: {1}).": "JTAG программно отключен ({0} установлен на нечетное значение: {1}).",
Expand Down
2 changes: 0 additions & 2 deletions l10n/bundle.l10n.zh-CN.json
Original file line number Diff line number Diff line change
Expand Up @@ -189,8 +189,6 @@
"Unknown error occurred while setting IDF target.": "设置 IDF 目标时发生未知错误",
"compile_commands.json is missing. This may cause errors with code analysis extensions.": "缺少 compile_commands.json 文件,代码分析扩展可能会出错。",
"Generate compile_commands.json": "生成 compile_commands.json",
"Cannot flash via JTAG method: {0}": "无法通过 JTAG 接口烧录:{0}",
"{0}\n\nThe JTAG configuration may depend on hardware strapping. Please consult the ESP32 technical documentation for your specific model to ensure proper JTAG configuration before proceeding.": "{0}\n\nJTAG 配置可能依赖于硬件 strapping 配置。请查阅相应型号的 ESP32 技术文档,确保 JTAG 配置正确。",
"JTAG is permanently disabled in hardware ({0} is set).": "JTAG 调试功能已通过硬件永久禁用(已设置 {0})。",
"USB-to-JTAG functionality is disabled ({0} is set).": "USB 转 JTAG 接口功能已被禁用(已设置 {0})。",
"JTAG is soft-disabled ({0} is set to an odd value: {1}).": "JTAG 调试功能已被软禁用({0} 设置为奇数值:{1})。",
Expand Down
21 changes: 0 additions & 21 deletions src/extension.ts
Original file line number Diff line number Diff line change
Expand Up @@ -107,7 +107,6 @@ import {
isFlashEncryptionEnabled,
FlashCheckResultType,
checkFlashEncryption,
isJtagDisabled,
} from "./flash/verifyFlashEncryption";
import { flashCommand } from "./flash/uartFlash";
import { jtagFlashCommand } from "./flash/jtagCmd";
Expand Down Expand Up @@ -4214,26 +4213,6 @@ async function startFlashing(
}

if (flashType === ESP.FlashType.JTAG) {
// Check if JTAG is disabled on the hardware
const eFuse = new ESPEFuseManager(workspaceRoot);
const eFuseSummary = await eFuse.readSummary();
const jtagStatus = isJtagDisabled(eFuseSummary);
if (jtagStatus.disabled) {
Logger.errorNotify(
vscode.l10n.t("Cannot flash via JTAG method: {0}", jtagStatus.message),
new Error("JTAG Disabled"),
"extension startFlashing"
);
return;
} else if (jtagStatus.requiresVerification) {
const message = vscode.l10n.t(
"{0}\n\nThe JTAG configuration may depend on hardware strapping. Please consult the ESP32 technical documentation for your specific model to ensure proper JTAG configuration before proceeding.",
jtagStatus.message
);
Logger.warnNotify(message);
return;
}

const currOpenOcdVersion = await openOCDManager.version();
const openOCDVersionIsValid = PreCheck.openOCDVersionValidator(
"v0.10.0-esp32-20201125",
Expand Down
66 changes: 0 additions & 66 deletions src/flash/verifyFlashEncryption.ts
Original file line number Diff line number Diff line change
Expand Up @@ -242,69 +242,3 @@ export function disableFlashEncryption() {
ConfserverProcess.sendUpdatedValue(newValueRequest);
ConfserverProcess.saveGuiConfigValues();
}

/**
* Determines the status of JTAG based on eFuse summary data and provides a detailed result.
* @param {Object} eFuseSummary - The eFuse summary object containing various configuration fields, including JTAG-related ones.
* @returns {Object} An object with the following properties:
* - {boolean} disabled: Indicates whether JTAG is permanently or temporarily disabled.
* - {string} message: A descriptive message explaining the JTAG status or the conditions that may affect it.
* - {boolean} requiresVerification: Indicates if additional verification is recommended (e.g., due to configurable strapping options).
*/
export function isJtagDisabled(
eFuseSummary: any
): { disabled: boolean; message: string; requiresVerification: boolean } {
if (eFuseSummary.DIS_PAD_JTAG && eFuseSummary.DIS_PAD_JTAG.value === true) {
return {
disabled: true,
message: vscode.l10n.t(
"JTAG is permanently disabled in hardware (DIS_PAD_JTAG is set)."
),
requiresVerification: false,
};
}

if (eFuseSummary.DIS_USB_JTAG && eFuseSummary.DIS_USB_JTAG.value === true) {
return {
disabled: true,
message: vscode.l10n.t(
"USB-to-JTAG functionality is disabled (DIS_USB_JTAG is set)."
),
requiresVerification: false,
};
}

if (
eFuseSummary.SOFT_DIS_JTAG &&
typeof eFuseSummary.SOFT_DIS_JTAG.value === "number" &&
eFuseSummary.SOFT_DIS_JTAG.value % 2 === 1
) {
return {
disabled: true,
message: vscode.l10n.t(
"JTAG is soft-disabled (SOFT_DIS_JTAG is set to an odd value: {0}).",
eFuseSummary.SOFT_DIS_JTAG.value.toString()
),
requiresVerification: false,
};
}

if (
eFuseSummary.STRAP_JTAG_SEL &&
eFuseSummary.STRAP_JTAG_SEL.value === true
) {
return {
disabled: false,
message: vscode.l10n.t(
"JTAG selection may be affected by strapping configuration (STRAP_JTAG_SEL is set)."
),
requiresVerification: true,
};
}

return {
disabled: false,
message: vscode.l10n.t("JTAG is not disabled."),
requiresVerification: false,
};
}
Loading