Skip to content

Commit 000ef8d

Browse files
committed
support show symbol table for cosmic stm8
1 parent a84ddb2 commit 000ef8d

2 files changed

Lines changed: 16 additions & 4 deletions

File tree

src/EIDEProject.ts

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2977,9 +2977,9 @@ class EIDEProject extends AbstractProject {
29772977
settings['C_Cpp.errorSquiggles'] = "disabled";
29782978
}
29792979

2980-
if (this.getToolchain().name == 'COSMIC_STM8') {
2981-
settings["C_Cpp.intelliSenseEngine"] = "Tag Parser";
2982-
}
2980+
// if (this.getToolchain().name == 'COSMIC_STM8') {
2981+
// settings["C_Cpp.intelliSenseEngine"] = "Tag Parser";
2982+
// }
29832983

29842984
// remove some c/c++ configs
29852985
[

src/EIDEProjectExplorer.ts

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1680,7 +1680,7 @@ class ProjectDataProvider implements vscode.TreeDataProvider<ProjTreeItem>, vsco
16801680
}
16811681

16821682
if (dispType == undefined) {
1683-
dispType = 'hide_no_sized';
1683+
dispType = 'show_all';
16841684
}
16851685

16861686
return new Promise((resolve) => {
@@ -1758,6 +1758,18 @@ class ProjectDataProvider implements vscode.TreeDataProvider<ProjTreeItem>, vsco
17581758
symMatcher = /^(?<addr>[0-9a-f]+)\s+(?<size>[0-9a-f]+\s+)?(?<type>\w)\s+(?<name>[^\s]+)\s+(?<loca>.*)/i;
17591759
symTypConv = (t) => this.convGnuSymbolType2ReadableString(t)
17601760
break;
1761+
case 'COSMIC_STM8':
1762+
// cobj -s .\stm8-cosmic.sm8
1763+
// __memory: 0000001a section .bss defined public
1764+
// __stack: 000003ff section absolute defined public absolute
1765+
// c_y: 00000007 section .ubsct defined public zpage
1766+
// f_exit: 00008221 section .text defined public
1767+
// f_main: 00008165 section .text defined public
1768+
elfpath = prj.getExecutablePathWithoutSuffix() + '.sm8';
1769+
elftool = [toolchain.getToolchainDir().path, `cobj${exeSuffix()}`].join(File.sep);
1770+
elfcmds = ['-s', elfpath];
1771+
symMatcher = /^\s*(?<name>\w+):\s+(?<addr>[0-9a-f]+)\s+\w+\s+(?<type>[\w\.]+)/i;
1772+
break;
17611773
default:
17621774
throw new Error(`Not support symbol view for '${toolchain.name}' !`);
17631775
}

0 commit comments

Comments
 (0)