From cef671175b71324918d3dac92bc4518f30643d24 Mon Sep 17 00:00:00 2001 From: null Date: Sun, 1 Jan 2023 22:14:14 +0800 Subject: [PATCH] v3.10.8 update --- CHANGELOG.md | 12 ++++++++++++ package.json | 2 +- src/EIDEProjectExplorer.ts | 30 +++++++++++++++++------------- src/KeilXmlParser.ts | 8 ++++++-- 4 files changed, 36 insertions(+), 16 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index babeb73..c8b524c 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -6,6 +6,18 @@ All notable version changes will be recorded in this file. *** +### [v3.10.8] update + +**New**: + - `Project Resource`: Add `Symbol Table` virtual file in `Output Files`, click it to show `elf symbols` (support 'armcc', 'gcc', 'iar'). + - `Builder Options` : Add `X/O Base`, `R/O Base`, `R/W Base` options for armcc, and allow import them from keil project. + +**Optimize**: + - `launch.json Generator`: Don't force override 'svdPath' in launch.json config. + - `Project Resource`: Show promt when remove a filesystem source dir. + +*** + ### [v3.10.7] revision **Fix**: diff --git a/package.json b/package.json index 5d81731..893810c 100644 --- a/package.json +++ b/package.json @@ -35,7 +35,7 @@ "homepage": "https://em-ide.com", "license": "MIT", "description": "A mcu development environment for 8051/AVR/STM8/Cortex-M/RISC-V", - "version": "3.10.7", + "version": "3.10.8", "preview": false, "engines": { "vscode": "^1.67.0" diff --git a/src/EIDEProjectExplorer.ts b/src/EIDEProjectExplorer.ts index 4a669a9..e90d88a 100644 --- a/src/EIDEProjectExplorer.ts +++ b/src/EIDEProjectExplorer.ts @@ -1396,19 +1396,23 @@ class ProjectDataProvider implements vscode.TreeDataProvider, vsco // put virtual views { // Symbol Table - let vFile = File.fromArray([project.getRootDir().path, `${project.getUid()}.elf-symbols`]); - iList.push(new ProjTreeItem(TreeItemType.OUTPUT_FILE_ITEM, { - label: `Symbol Table`, - value: vFile, - isVirtualFile: true, - collapsibleState: vscode.TreeItemCollapsibleState.None, - projectIndex: element.val.projectIndex, - tooltip: `Symbols Of Program`, - icon: `Table_16x.svg` - })); - if (VirtualDocument.instance().hasDocument(vFile.path) == false) { - VirtualDocument.instance().registerDocumentGetter(vFile.path, - (uri, args) => this.printProjectBinarySymbols(uri, args[0], args[1])); + // - not support sdcc, keil_c51 now ! + if (!['Keil_C51', 'SDCC'].includes(project.getToolchain().name)) { + + let vFile = File.fromArray([project.getRootDir().path, `${project.getUid()}.elf-symbols`]); + iList.push(new ProjTreeItem(TreeItemType.OUTPUT_FILE_ITEM, { + label: `Symbol Table`, + value: vFile, + isVirtualFile: true, + collapsibleState: vscode.TreeItemCollapsibleState.None, + projectIndex: element.val.projectIndex, + tooltip: `Symbols Of Program`, + icon: `Table_16x.svg` + })); + if (VirtualDocument.instance().hasDocument(vFile.path) == false) { + VirtualDocument.instance().registerDocumentGetter(vFile.path, + (uri, args) => this.printProjectBinarySymbols(uri, args[0], args[1])); + } } } } diff --git a/src/KeilXmlParser.ts b/src/KeilXmlParser.ts index b56ba1f..9e423c9 100644 --- a/src/KeilXmlParser.ts +++ b/src/KeilXmlParser.ts @@ -980,8 +980,12 @@ class ARMParser extends KeilParser { if (armAdsObj.LDads) { const LDads = armAdsObj.LDads; LDads.umfTarg = config.useCustomScatterFile ? '0' : '1'; - const absPath = prj.ToAbsolutePath(config.scatterFilePath); - LDads.ScatterFile = this.ToRelativePath(absPath); + if (config.scatterFilePath) { + const absPath = prj.ToAbsolutePath(config.scatterFilePath); + LDads.ScatterFile = this.ToRelativePath(absPath); + } else { + LDads.ScatterFile = ''; + } } const info = armAdsObj.ArmAdsMisc;