MCPcopy Create free account
hub / github.com/Marus/cortex-debug / serverArguments

Method serverArguments

src/stlink.ts:151–194  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

149 return Promise.resolve();
150 }
151 public serverArguments(): string[] {
152 const gdbport = this.ports['gdbPort'];
153
154 let serverargs = ['-p', gdbport.toString()];
155
156 // The -cp parameter is mandatory and either STM32CubeIDE or STM32CubeProgrammer must be installed
157 let stm32cubeprogrammer = this.args.stm32cubeprogrammer;
158 if (stm32cubeprogrammer) {
159 serverargs.push('-cp', stm32cubeprogrammer);
160 } else {
161 stm32cubeprogrammer = resolveCubePath([STLinkServerController.getSTMCubeIdeDir(), 'plugins'], PROG_REGEX, 'tools/bin');
162 // Fallback to standalone programmer if no STMCube32IDE is installed:
163 if (!stm32cubeprogrammer) {
164 if (os.platform() === 'win32') {
165 stm32cubeprogrammer = process.env.ProgramFiles + '\\STMicroelectronics\\STM32Cube\\STM32CubeProgrammer\\bin';
166 } else if (os.platform() === 'darwin') {
167 stm32cubeprogrammer = '/Applications/STMicroelectronics/STM32Cube/STM32CubeProgrammer/STM32CubeProgrammer.app/Contents/MacOs/bin';
168 } else {
169 stm32cubeprogrammer = '/usr/local/STMicroelectronics/STM32Cube/STM32CubeProgrammer/bin';
170 }
171 }
172 serverargs.push('-cp', stm32cubeprogrammer);
173 }
174
175 serverargs.push('--shared'); // Maybe we should share all the time
176
177 if ((this.args.interface !== 'jtag') && (this.args.interface !== 'cjtag')) { // TODO: handle ctag in when this server supports it
178 serverargs.push('--swd');
179 }
180
181 if (this.args.serialNumber) {
182 serverargs.push('--serial-number', this.args.serialNumber);
183 }
184 if (this.args.request === 'attach') {
185 serverargs.push('--attach');
186 }
187 serverargs.push('--halt'); // Need this for reset to work as expected (perform a halt)
188
189 if (this.args.serverArgs) {
190 serverargs = serverargs.concat(this.args.serverArgs);
191 }
192
193 return serverargs;
194 }
195
196 public initMatch(): RegExp {
197 return /(Waiting for debugger connection|Listening at).*/ig;

Callers

nothing calls this directly

Calls 3

resolveCubePathFunction · 0.85
toStringMethod · 0.80
getSTMCubeIdeDirMethod · 0.80

Tested by

no test coverage detected