Skip to content

Commit e1e88e1

Browse files
committed
more cpu type options for iar toolchain
1 parent 74d77ae commit e1e88e1

3 files changed

Lines changed: 178 additions & 8 deletions

File tree

res/data/models/unix/arm.iar.model.json

Lines changed: 66 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -57,7 +57,28 @@
5757
"cortex-m7-sp": "--cpu=Cortex-M7 --fpu=VFPv5_sp",
5858
"cortex-m7-dp": "--cpu=Cortex-M7 --fpu=VFPv5_d16",
5959
"sc000": "--cpu=SC000",
60-
"sc300": "--cpu=SC300"
60+
"sc300": "--cpu=SC300",
61+
"cortex-m4f": "--cpu=Cortex-M4F --fpu=None",
62+
"cortex-m4f-sp": "--cpu=Cortex-M4F --fpu=VFPv4_sp",
63+
"cortex-m23": "--cpu=Cortex-M23",
64+
"cortex-m23.no_se": "--cpu=Cortex-M23.no_se",
65+
"cortex-m33": "--cpu=Cortex-M33",
66+
"cortex-m33.fp": "--cpu=Cortex-M33.fp",
67+
"cortex-m33.no_dsp": "--cpu=Cortex-M33.no_dsp",
68+
"cortex-m33.fp.no_dsp": "--cpu=Cortex-M33.fp.no_dsp",
69+
"cortex-m35p": "--cpu=Cortex-M35P",
70+
"cortex-m35p.fp": "--cpu=Cortex-M35P.fp",
71+
"cortex-m35p.no_dsp": "--cpu=Cortex-M35P.no_dsp",
72+
"cortex-m35p.fp.no_dsp": "--cpu=Cortex-M35P.fp.no_dsp",
73+
"cortex-r4": "--cpu=Cortex-R4",
74+
"cortex-r4f": "--cpu=Cortex-R4F",
75+
"cortex-r4.vfp": "--cpu=Cortex-R4.vfp",
76+
"cortex-r5": "--cpu=Cortex-R5",
77+
"cortex-r5f": "--cpu=Cortex-R5F",
78+
"cortex-r5.vfp": "--cpu=Cortex-R5.vfp",
79+
"cortex-r7": "--cpu=Cortex-R7",
80+
"cortex-r7f": "--cpu=Cortex-R7F",
81+
"cortex-r7.vfp": "--cpu=Cortex-R7.vfp"
6182
},
6283
"group": [
6384
"c",
@@ -370,7 +391,28 @@
370391
"cortex-m7-sp": "--cpu Cortex-M7 --fpu VFPv5_sp",
371392
"cortex-m7-dp": "--cpu Cortex-M7 --fpu VFPv5_d16",
372393
"sc000": "--cpu SC000",
373-
"sc300": "--cpu SC300"
394+
"sc300": "--cpu SC300",
395+
"cortex-m4f": "--cpu Cortex-M4F --fpu None",
396+
"cortex-m4f-sp": "--cpu Cortex-M4F --fpu VFPv4_sp",
397+
"cortex-m23": "--cpu Cortex-M23",
398+
"cortex-m23.no_se": "--cpu Cortex-M23.no_se",
399+
"cortex-m33": "--cpu Cortex-M33",
400+
"cortex-m33.fp": "--cpu Cortex-M33.fp",
401+
"cortex-m33.no_dsp": "--cpu Cortex-M33.no_dsp",
402+
"cortex-m33.fp.no_dsp": "--cpu Cortex-M33.fp.no_dsp",
403+
"cortex-m35p": "--cpu Cortex-M35P",
404+
"cortex-m35p.fp": "--cpu Cortex-M35P.fp",
405+
"cortex-m35p.no_dsp": "--cpu Cortex-M35P.no_dsp",
406+
"cortex-m35p.fp.no_dsp": "--cpu Cortex-M35P.fp.no_dsp",
407+
"cortex-r4": "--cpu Cortex-R4",
408+
"cortex-r4f": "--cpu Cortex-R4F",
409+
"cortex-r4.vfp": "--cpu Cortex-R4.vfp",
410+
"cortex-r5": "--cpu Cortex-R5",
411+
"cortex-r5f": "--cpu Cortex-R5F",
412+
"cortex-r5.vfp": "--cpu Cortex-R5.vfp",
413+
"cortex-r7": "--cpu Cortex-R7",
414+
"cortex-r7f": "--cpu Cortex-R7F",
415+
"cortex-r7.vfp": "--cpu Cortex-R7.vfp"
374416
}
375417
},
376418
"endian-mode": {
@@ -447,7 +489,28 @@
447489
"cortex-m7-sp": "--cpu Cortex-M7 --fpu VFPv5_sp",
448490
"cortex-m7-dp": "--cpu Cortex-M7 --fpu VFPv5_d16",
449491
"sc000": "--cpu SC000",
450-
"sc300": "--cpu SC300"
492+
"sc300": "--cpu SC300",
493+
"cortex-m4f": "--cpu Cortex-M4F --fpu None",
494+
"cortex-m4f-sp": "--cpu Cortex-M4F --fpu VFPv4_sp",
495+
"cortex-m23": "--cpu Cortex-M23",
496+
"cortex-m23.no_se": "--cpu Cortex-M23.no_se",
497+
"cortex-m33": "--cpu Cortex-M33",
498+
"cortex-m33.fp": "--cpu Cortex-M33.fp",
499+
"cortex-m33.no_dsp": "--cpu Cortex-M33.no_dsp",
500+
"cortex-m33.fp.no_dsp": "--cpu Cortex-M33.fp.no_dsp",
501+
"cortex-m35p": "--cpu Cortex-M35P",
502+
"cortex-m35p.fp": "--cpu Cortex-M35P.fp",
503+
"cortex-m35p.no_dsp": "--cpu Cortex-M35P.no_dsp",
504+
"cortex-m35p.fp.no_dsp": "--cpu Cortex-M35P.fp.no_dsp",
505+
"cortex-r4": "--cpu Cortex-R4",
506+
"cortex-r4f": "--cpu Cortex-R4F",
507+
"cortex-r4.vfp": "--cpu Cortex-R4.vfp",
508+
"cortex-r5": "--cpu Cortex-R5",
509+
"cortex-r5f": "--cpu Cortex-R5F",
510+
"cortex-r5.vfp": "--cpu Cortex-R5.vfp",
511+
"cortex-r7": "--cpu Cortex-R7",
512+
"cortex-r7f": "--cpu Cortex-R7F",
513+
"cortex-r7.vfp": "--cpu Cortex-R7.vfp"
451514
}
452515
},
453516
"$LIB_FLAGS": {

res/data/models/win32/arm.iar.model.json

Lines changed: 66 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -57,7 +57,28 @@
5757
"cortex-m7-sp": "--cpu=Cortex-M7 --fpu=VFPv5_sp",
5858
"cortex-m7-dp": "--cpu=Cortex-M7 --fpu=VFPv5_d16",
5959
"sc000": "--cpu=SC000",
60-
"sc300": "--cpu=SC300"
60+
"sc300": "--cpu=SC300",
61+
"cortex-m4f": "--cpu=Cortex-M4F --fpu=None",
62+
"cortex-m4f-sp": "--cpu=Cortex-M4F --fpu=VFPv4_sp",
63+
"cortex-m23": "--cpu=Cortex-M23",
64+
"cortex-m23.no_se": "--cpu=Cortex-M23.no_se",
65+
"cortex-m33": "--cpu=Cortex-M33",
66+
"cortex-m33.fp": "--cpu=Cortex-M33.fp",
67+
"cortex-m33.no_dsp": "--cpu=Cortex-M33.no_dsp",
68+
"cortex-m33.fp.no_dsp": "--cpu=Cortex-M33.fp.no_dsp",
69+
"cortex-m35p": "--cpu=Cortex-M35P",
70+
"cortex-m35p.fp": "--cpu=Cortex-M35P.fp",
71+
"cortex-m35p.no_dsp": "--cpu=Cortex-M35P.no_dsp",
72+
"cortex-m35p.fp.no_dsp": "--cpu=Cortex-M35P.fp.no_dsp",
73+
"cortex-r4": "--cpu=Cortex-R4",
74+
"cortex-r4f": "--cpu=Cortex-R4F",
75+
"cortex-r4.vfp": "--cpu=Cortex-R4.vfp",
76+
"cortex-r5": "--cpu=Cortex-R5",
77+
"cortex-r5f": "--cpu=Cortex-R5F",
78+
"cortex-r5.vfp": "--cpu=Cortex-R5.vfp",
79+
"cortex-r7": "--cpu=Cortex-R7",
80+
"cortex-r7f": "--cpu=Cortex-R7F",
81+
"cortex-r7.vfp": "--cpu=Cortex-R7.vfp"
6182
},
6283
"group": [
6384
"c",
@@ -370,7 +391,28 @@
370391
"cortex-m7-sp": "--cpu Cortex-M7 --fpu VFPv5_sp",
371392
"cortex-m7-dp": "--cpu Cortex-M7 --fpu VFPv5_d16",
372393
"sc000": "--cpu SC000",
373-
"sc300": "--cpu SC300"
394+
"sc300": "--cpu SC300",
395+
"cortex-m4f": "--cpu Cortex-M4F --fpu None",
396+
"cortex-m4f-sp": "--cpu Cortex-M4F --fpu VFPv4_sp",
397+
"cortex-m23": "--cpu Cortex-M23",
398+
"cortex-m23.no_se": "--cpu Cortex-M23.no_se",
399+
"cortex-m33": "--cpu Cortex-M33",
400+
"cortex-m33.fp": "--cpu Cortex-M33.fp",
401+
"cortex-m33.no_dsp": "--cpu Cortex-M33.no_dsp",
402+
"cortex-m33.fp.no_dsp": "--cpu Cortex-M33.fp.no_dsp",
403+
"cortex-m35p": "--cpu Cortex-M35P",
404+
"cortex-m35p.fp": "--cpu Cortex-M35P.fp",
405+
"cortex-m35p.no_dsp": "--cpu Cortex-M35P.no_dsp",
406+
"cortex-m35p.fp.no_dsp": "--cpu Cortex-M35P.fp.no_dsp",
407+
"cortex-r4": "--cpu Cortex-R4",
408+
"cortex-r4f": "--cpu Cortex-R4F",
409+
"cortex-r4.vfp": "--cpu Cortex-R4.vfp",
410+
"cortex-r5": "--cpu Cortex-R5",
411+
"cortex-r5f": "--cpu Cortex-R5F",
412+
"cortex-r5.vfp": "--cpu Cortex-R5.vfp",
413+
"cortex-r7": "--cpu Cortex-R7",
414+
"cortex-r7f": "--cpu Cortex-R7F",
415+
"cortex-r7.vfp": "--cpu Cortex-R7.vfp"
374416
}
375417
},
376418
"endian-mode": {
@@ -447,7 +489,28 @@
447489
"cortex-m7-sp": "--cpu Cortex-M7 --fpu VFPv5_sp",
448490
"cortex-m7-dp": "--cpu Cortex-M7 --fpu VFPv5_d16",
449491
"sc000": "--cpu SC000",
450-
"sc300": "--cpu SC300"
492+
"sc300": "--cpu SC300",
493+
"cortex-m4f": "--cpu Cortex-M4F --fpu None",
494+
"cortex-m4f-sp": "--cpu Cortex-M4F --fpu VFPv4_sp",
495+
"cortex-m23": "--cpu Cortex-M23",
496+
"cortex-m23.no_se": "--cpu Cortex-M23.no_se",
497+
"cortex-m33": "--cpu Cortex-M33",
498+
"cortex-m33.fp": "--cpu Cortex-M33.fp",
499+
"cortex-m33.no_dsp": "--cpu Cortex-M33.no_dsp",
500+
"cortex-m33.fp.no_dsp": "--cpu Cortex-M33.fp.no_dsp",
501+
"cortex-m35p": "--cpu Cortex-M35P",
502+
"cortex-m35p.fp": "--cpu Cortex-M35P.fp",
503+
"cortex-m35p.no_dsp": "--cpu Cortex-M35P.no_dsp",
504+
"cortex-m35p.fp.no_dsp": "--cpu Cortex-M35P.fp.no_dsp",
505+
"cortex-r4": "--cpu Cortex-R4",
506+
"cortex-r4f": "--cpu Cortex-R4F",
507+
"cortex-r4.vfp": "--cpu Cortex-R4.vfp",
508+
"cortex-r5": "--cpu Cortex-R5",
509+
"cortex-r5f": "--cpu Cortex-R5F",
510+
"cortex-r5.vfp": "--cpu Cortex-R5.vfp",
511+
"cortex-r7": "--cpu Cortex-R7",
512+
"cortex-r7f": "--cpu Cortex-R7F",
513+
"cortex-r7.vfp": "--cpu Cortex-R7.vfp"
451514
}
452515
},
453516
"$LIB_FLAGS": {

src/EIDEProjectModules.ts

Lines changed: 46 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1030,13 +1030,39 @@ class IarArmCompileConfigModel extends ArmBaseCompileConfigModel {
10301030
'Cortex-M0+',
10311031
'Cortex-M3',
10321032
'Cortex-M4',
1033+
'Cortex-M4F',
10331034
'Cortex-M7',
1034-
//'Cortex-R4',
1035-
//'Cortex-R4F',
10361035
'SC000',
10371036
'SC300'
10381037
];
10391038

1039+
protected cpuList_inline_fpu_suffix = [
1040+
'Cortex-M23',
1041+
'Cortex-M23.no_se',
1042+
'Cortex-M33',
1043+
'Cortex-M33.no_dsp',
1044+
'Cortex-M33.fp',
1045+
'Cortex-M33.fp.no_dsp',
1046+
'Cortex-M35P',
1047+
'Cortex-M35P.no_dsp',
1048+
'Cortex-M35P.fp',
1049+
'Cortex-M35P.fp.no_dsp',
1050+
'Cortex-R4',
1051+
'Cortex-R4.vfp',
1052+
'Cortex-R4F',
1053+
'Cortex-R5',
1054+
'Cortex-R5.vfp',
1055+
'Cortex-R5F',
1056+
'Cortex-R7',
1057+
'Cortex-R7.vfp',
1058+
'Cortex-R7F',
1059+
];
1060+
1061+
constructor(config: ProjectConfigData<any>) {
1062+
super(config);
1063+
this.cpuTypeList = this.cpuTypeList.concat(this.cpuList_inline_fpu_suffix);
1064+
}
1065+
10401066
protected GetKeyType(key: string): FieldType {
10411067
switch (key) {
10421068
case 'cpuType':
@@ -1051,6 +1077,24 @@ class IarArmCompileConfigModel extends ArmBaseCompileConfigModel {
10511077
}
10521078
}
10531079

1080+
isKeyEnable(key: string): boolean {
1081+
1082+
switch (key) {
1083+
case 'cpuType':
1084+
case 'scatterFilePath':
1085+
case 'options':
1086+
return true;
1087+
case 'floatingPointHardware': {
1088+
if (this.cpuList_inline_fpu_suffix.includes(this.data.cpuType))
1089+
return false;
1090+
else
1091+
return ArmCpuUtils.hasFpu(this.data.cpuType);
1092+
}
1093+
default:
1094+
return false;
1095+
}
1096+
}
1097+
10541098
static getDefaultConfig(): ArmBaseCompileData {
10551099
return {
10561100
cpuType: 'Cortex-M3',

0 commit comments

Comments
 (0)