@@ -55,6 +55,7 @@ import { exeSuffix, osType } from "./Platform";
5555import { FileWatcher } from "../lib/node-utility/FileWatcher" ;
5656import { STVPFlasherOptions } from './HexUploader' ;
5757import * as ArmCpuUtils from './ArmCpuUtils' ;
58+ import { view_str$gen_sct_failed } from './StringTable' ;
5859
5960export interface BuildOptions {
6061
@@ -658,7 +659,7 @@ export class ARMCodeBuilder extends CodeBuilder {
658659 index = storageLayout . RAM [ i ] . id - 1 ;
659660 break ;
660661 default :
661- throw Error ( ' Unknown RAM Tag !' ) ;
662+ throw Error ( ` ${ view_str$gen_sct_failed } : Unknown RAM Tag !` ) ;
662663 }
663664
664665 memScatter . ramList [ index ] . memInfo = storageLayout . RAM [ i ] . mem ;
@@ -679,7 +680,7 @@ export class ARMCodeBuilder extends CodeBuilder {
679680 index = storageLayout . ROM [ i ] . id - 1 ;
680681 break ;
681682 default :
682- throw Error ( ' Unknown ROM Tag !' ) ;
683+ throw Error ( ` ${ view_str$gen_sct_failed } : Unknown ROM Tag !` ) ;
683684 }
684685
685686 memScatter . romList [ index ] . memInfo = storageLayout . ROM [ i ] . mem ;
@@ -691,10 +692,10 @@ export class ARMCodeBuilder extends CodeBuilder {
691692 }
692693
693694 if ( memScatter . startUpIndex === - 1 ) {
694- throw Error ( ' MemScatter.startupIndex can\ 't be -1' ) ;
695+ throw Error ( ` ${ view_str$gen_sct_failed } : MemScatter.startupIndex can't be -1` ) ;
695696 }
696697 else if ( ! memScatter . romList [ memScatter . startUpIndex ] . selected ) {
697- throw Error ( 'the IROM' + ( memScatter . startUpIndex - 2 ) . toString ( ) + ' is a startup ROM but it is not selected !' ) ;
698+ throw Error ( ` ${ view_str$gen_sct_failed } : The IROM' + (memScatter.startUpIndex - 2).toString() + ' is a startup ROM but it is not selected !` ) ;
698699 }
699700
700701 return memScatter ;
@@ -1046,8 +1047,12 @@ export class ARMCodeBuilder extends CodeBuilder {
10461047 ldFileList . push ( this . convLinkerScriptPathForCompiler ( sctPath ) ) ;
10471048 } ) ;
10481049 } else { // auto generate scatter file
1049- const sctPath = this . GenMemScatterFile ( config ) . path ;
1050- ldFileList . push ( this . convLinkerScriptPathForCompiler ( sctPath ) ) ;
1050+ try {
1051+ const sctPath = this . GenMemScatterFile ( config ) . path ;
1052+ ldFileList . push ( this . convLinkerScriptPathForCompiler ( sctPath ) ) ;
1053+ } catch ( error ) {
1054+ GlobalEvent . emit ( 'error' , error ) ;
1055+ }
10511056 }
10521057 }
10531058 break ;
0 commit comments