Skip to content

Commit 33b8d29

Browse files
committed
Merge pull request #975 from explora26/master
Tools - add gcc/uvision templates for RedBearLab nRF51822.
2 parents fea8de9 + d8ce906 commit 33b8d29

File tree

5 files changed

+723
-0
lines changed

5 files changed

+723
-0
lines changed
Lines changed: 76 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,76 @@
1+
# This file was automagically generated by mbed.org. For more information,
2+
# see http://mbed.org/handbook/Exporting-to-GCC-ARM-Embedded
3+
4+
GCC_BIN =
5+
PROJECT = {{name}}
6+
OBJECTS = {% for f in to_be_compiled %}{{f}} {% endfor %}
7+
SYS_OBJECTS = {% for f in object_files %}{{f}} {% endfor %}
8+
INCLUDE_PATHS = {% for p in include_paths %}-I{{p}} {% endfor %}
9+
LIBRARY_PATHS = {% for p in library_paths %}-L{{p}} {% endfor %}
10+
LIBRARIES = {% for lib in libraries %}-l{{lib}} {% endfor %}
11+
LINKER_SCRIPT = {{linker_script}}
12+
SOFTDEVICE = mbed/TARGET_RBLAB_NRF51822/TARGET_NORDIC/TARGET_MCU_NRF51822/Lib/s110_nrf51822_7_1_0/s110_nrf51822_7.1.0_softdevice.hex
13+
14+
###############################################################################
15+
AS = $(GCC_BIN)arm-none-eabi-as
16+
CC = $(GCC_BIN)arm-none-eabi-gcc
17+
CPP = $(GCC_BIN)arm-none-eabi-g++
18+
LD = $(GCC_BIN)arm-none-eabi-gcc
19+
OBJCOPY = $(GCC_BIN)arm-none-eabi-objcopy
20+
OBJDUMP = $(GCC_BIN)arm-none-eabi-objdump
21+
SIZE = $(GCC_BIN)arm-none-eabi-size
22+
SREC_CAT = srec_cat
23+
24+
CPU = -mcpu=cortex-m0 -mthumb
25+
CC_FLAGS = $(CPU) -c -g -fno-common -fmessage-length=0 -Wall -fno-exceptions -ffunction-sections -fdata-sections -fomit-frame-pointer
26+
CC_FLAGS += -MMD -MP
27+
CC_SYMBOLS = {% for s in symbols %}-D{{s}} {% endfor %}
28+
29+
LD_FLAGS = $(CPU) -Wl,--gc-sections -Wl,--wrap=main --specs=nano.specs -u _printf_float -u _scanf_float
30+
LD_FLAGS += -Wl,-Map=$(PROJECT).map,--cref
31+
LD_SYS_LIBS = -lstdc++ -lsupc++ -lm -lc -lgcc -lnosys
32+
33+
ifeq ($(DEBUG), 1)
34+
CC_FLAGS += -DDEBUG -O0
35+
else
36+
CC_FLAGS += -DNDEBUG -Os
37+
endif
38+
39+
all: $(PROJECT).bin $(PROJECT).hex
40+
41+
clean:
42+
rm -f $(PROJECT).bin $(PROJECT).elf $(PROJECT).hex $(PROJECT).map $(PROJECT).lst $(OBJECTS) $(DEPS)
43+
44+
.s.o:
45+
$(AS) $(CPU) -o $@ $<
46+
47+
.c.o:
48+
$(CC) $(CC_FLAGS) $(CC_SYMBOLS) -std=gnu99 $(INCLUDE_PATHS) -o $@ $<
49+
50+
.cpp.o:
51+
$(CPP) $(CC_FLAGS) $(CC_SYMBOLS) -std=gnu++98 -fno-rtti $(INCLUDE_PATHS) -o $@ $<
52+
53+
54+
$(PROJECT).elf: $(OBJECTS) $(SYS_OBJECTS)
55+
$(LD) $(LD_FLAGS) -T$(LINKER_SCRIPT) $(LIBRARY_PATHS) -o $@ $^ $(LIBRARIES) $(LD_SYS_LIBS) $(LIBRARIES) $(LD_SYS_LIBS)
56+
$(SIZE) $@
57+
58+
$(PROJECT).bin: $(PROJECT).elf
59+
@$(OBJCOPY) -O binary $< $@
60+
61+
$(PROJECT).hex: $(PROJECT).elf
62+
@$(OBJCOPY) -O ihex $< $@
63+
64+
$(PROJECT).lst: $(PROJECT).elf
65+
@$(OBJDUMP) -Sdh $< > $@
66+
67+
lst: $(PROJECT).lst
68+
69+
size:
70+
$(SIZE) $(PROJECT).elf
71+
72+
DEPS = $(OBJECTS:.o=.d) $(SYS_OBJECTS:.o=.d)
73+
-include $(DEPS)
74+
75+
merge:
76+
$(SREC_CAT) $(SOFTDEVICE) -intel $(PROJECT).hex -intel -o combined.hex -intel --line-length=44

workspace_tools/export/gccarm.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -49,6 +49,7 @@ class GccArm(Exporter):
4949
'ARCH_PRO',
5050
'NRF51822',
5151
'HRM1017',
52+
'RBLAB_NRF51822',
5253
'LPC2368',
5354
'LPCCAPPUCCINO',
5455
'ARCH_BLE',

workspace_tools/export/uvision4.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -59,6 +59,7 @@ class Uvision4(Exporter):
5959
#'LPC11U35_501',
6060
'NRF51822',
6161
'HRM1017',
62+
'RBLAB_NRF51822',
6263
'ARCH_PRO',
6364
'ARCH_BLE',
6465
'DISCO_F407VG',
Lines changed: 214 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,214 @@
1+
<?xml version="1.0" encoding="UTF-8" standalone="no" ?>
2+
<ProjectOpt xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="project_opt.xsd">
3+
4+
<SchemaVersion>1.0</SchemaVersion>
5+
6+
<Header>### uVision Project, (C) Keil Software</Header>
7+
8+
<Extensions>
9+
<cExt>*.c</cExt>
10+
<aExt>*.s*; *.src; *.a*</aExt>
11+
<oExt>*.obj</oExt>
12+
<lExt>*.lib</lExt>
13+
<tExt>*.txt; *.h; *.inc</tExt>
14+
<pExt>*.plm</pExt>
15+
<CppX>*.cpp</CppX>
16+
</Extensions>
17+
18+
<DaveTm>
19+
<dwLowDateTime>0</dwLowDateTime>
20+
<dwHighDateTime>0</dwHighDateTime>
21+
</DaveTm>
22+
23+
<Target>
24+
<TargetName>nRF51822AA</TargetName>
25+
<ToolsetNumber>0x4</ToolsetNumber>
26+
<ToolsetName>ARM-ADS</ToolsetName>
27+
<TargetOption>
28+
<CLKADS>16000000</CLKADS>
29+
<OPTTT>
30+
<gFlags>1</gFlags>
31+
<BeepAtEnd>1</BeepAtEnd>
32+
<RunSim>1</RunSim>
33+
<RunTarget>0</RunTarget>
34+
</OPTTT>
35+
<OPTHX>
36+
<HexSelection>1</HexSelection>
37+
<FlashByte>65535</FlashByte>
38+
<HexRangeLowAddress>0</HexRangeLowAddress>
39+
<HexRangeHighAddress>0</HexRangeHighAddress>
40+
<HexOffset>0</HexOffset>
41+
</OPTHX>
42+
<OPTLEX>
43+
<PageWidth>79</PageWidth>
44+
<PageLength>66</PageLength>
45+
<TabStop>8</TabStop>
46+
<ListingPath>.\build\</ListingPath>
47+
</OPTLEX>
48+
<ListingPage>
49+
<CreateCListing>1</CreateCListing>
50+
<CreateAListing>1</CreateAListing>
51+
<CreateLListing>1</CreateLListing>
52+
<CreateIListing>0</CreateIListing>
53+
<AsmCond>1</AsmCond>
54+
<AsmSymb>1</AsmSymb>
55+
<AsmXref>0</AsmXref>
56+
<CCond>1</CCond>
57+
<CCode>0</CCode>
58+
<CListInc>0</CListInc>
59+
<CSymb>0</CSymb>
60+
<LinkerCodeListing>0</LinkerCodeListing>
61+
</ListingPage>
62+
<OPTXL>
63+
<LMap>1</LMap>
64+
<LComments>1</LComments>
65+
<LGenerateSymbols>1</LGenerateSymbols>
66+
<LLibSym>1</LLibSym>
67+
<LLines>1</LLines>
68+
<LLocSym>1</LLocSym>
69+
<LPubSym>1</LPubSym>
70+
<LXref>0</LXref>
71+
<LExpSel>0</LExpSel>
72+
</OPTXL>
73+
<OPTFL>
74+
<tvExp>1</tvExp>
75+
<tvExpOptDlg>0</tvExpOptDlg>
76+
<IsCurrentTarget>1</IsCurrentTarget>
77+
</OPTFL>
78+
<CpuCode>0</CpuCode>
79+
<DllOpt>
80+
<SimDllName>SARMCM3.DLL</SimDllName>
81+
<SimDllArguments> </SimDllArguments>
82+
<SimDlgDllName>DARMCM1.DLL</SimDlgDllName>
83+
<SimDlgDllArguments>-pCM0</SimDlgDllArguments>
84+
<TargetDllName>SARMCM3.DLL</TargetDllName>
85+
<TargetDllArguments> </TargetDllArguments>
86+
<TargetDlgDllName>TARMCM1.DLL</TargetDlgDllName>
87+
<TargetDlgDllArguments>-pCM0</TargetDlgDllArguments>
88+
</DllOpt>
89+
<DebugOpt>
90+
<uSim>0</uSim>
91+
<uTrg>1</uTrg>
92+
<sLdApp>1</sLdApp>
93+
<sGomain>1</sGomain>
94+
<sRbreak>1</sRbreak>
95+
<sRwatch>1</sRwatch>
96+
<sRmem>1</sRmem>
97+
<sRfunc>1</sRfunc>
98+
<sRbox>1</sRbox>
99+
<tLdApp>1</tLdApp>
100+
<tGomain>1</tGomain>
101+
<tRbreak>1</tRbreak>
102+
<tRwatch>1</tRwatch>
103+
<tRmem>1</tRmem>
104+
<tRfunc>0</tRfunc>
105+
<tRbox>1</tRbox>
106+
<tRtrace>0</tRtrace>
107+
<sRSysVw>1</sRSysVw>
108+
<tRSysVw>1</tRSysVw>
109+
<sRunDeb>0</sRunDeb>
110+
<sLrtime>0</sLrtime>
111+
<nTsel>12</nTsel>
112+
<sDll></sDll>
113+
<sDllPa></sDllPa>
114+
<sDlgDll></sDlgDll>
115+
<sDlgPa></sDlgPa>
116+
<sIfile></sIfile>
117+
<tDll></tDll>
118+
<tDllPa></tDllPa>
119+
<tDlgDll></tDlgDll>
120+
<tDlgPa></tDlgPa>
121+
<tIfile></tIfile>
122+
<pMon>BIN\CMSIS_AGDI.dll</pMon>
123+
</DebugOpt>
124+
<TargetDriverDllRegistry>
125+
<SetRegEntry>
126+
<Number>0</Number>
127+
<Key>JL2CM3</Key>
128+
<Name>-U480204337 -O78 -S0 -A0 -C0 -JU1 -JI127.0.0.1 -JP0 -RST0 -N00("ARM CoreSight SW-DP") -D00(0BB11477) -L00(0) -TO18 -TC10000000 -TP21 -TDS8004 -TDT0 -TDC1F -TIEFFFFFFFF -TIP8 -TB1 -TFE0 -FO31 -FD20000000 -FC2000 -FN1 -FF0nrf51xxx.flm -FS00 -FL0200000 -FP0($$Device:nRF51xxx$Flash\nrf51xxx.flm)</Name>
129+
</SetRegEntry>
130+
<SetRegEntry>
131+
<Number>0</Number>
132+
<Key>UL2CM3</Key>
133+
<Name>-S0 -C0 -P0 -FD20000000 -FC1000 -FN1 -FF0nrf51xxx -FS00 -FL0200000 -FP0($$Device:nRF51$Flash\nrf51xxx.flm))</Name>
134+
</SetRegEntry>
135+
<SetRegEntry>
136+
<Number>0</Number>
137+
<Key>DLGTARM</Key>
138+
<Name>(1010=-1,-1,-1,-1,0)(1007=-1,-1,-1,-1,0)(1008=-1,-1,-1,-1,0)</Name>
139+
</SetRegEntry>
140+
<SetRegEntry>
141+
<Number>0</Number>
142+
<Key>ARMDBGFLAGS</Key>
143+
<Name></Name>
144+
</SetRegEntry>
145+
<SetRegEntry>
146+
<Number>0</Number>
147+
<Key>DLGUARM</Key>
148+
<Name></Name>
149+
</SetRegEntry>
150+
<SetRegEntry>
151+
<Number>0</Number>
152+
<Key>ULP2CM3</Key>
153+
<Name>-O2510 -S0 -C0 -FO15 -FD20000000 -FC800 -FN1 -FF0MK_P128_48MHZ -FS00 -FL020000)</Name>
154+
</SetRegEntry>
155+
<SetRegEntry>
156+
<Number>0</Number>
157+
<Key>CMSIS_AGDI</Key>
158+
<Name>-X"MBED CMSIS-DAP" -U107002011FE6E019E2180F91 -O718 -S0 -C0 -P00 -N00("ARM CoreSight SW-DP") -D00(0BB11477) -L00(0) -FO31 -FD20000000 -FC2000 -FN1 -FF0nrf51xxx.flm -FS00 -FL0200000 -FP0($$Device:nRF51xxx$Flash\nrf51xxx.flm)</Name>
159+
</SetRegEntry>
160+
</TargetDriverDllRegistry>
161+
<Breakpoint/>
162+
<DebugFlag>
163+
<trace>0</trace>
164+
<periodic>0</periodic>
165+
<aLwin>1</aLwin>
166+
<aCover>0</aCover>
167+
<aSer1>0</aSer1>
168+
<aSer2>0</aSer2>
169+
<aPa>0</aPa>
170+
<viewmode>1</viewmode>
171+
<vrSel>0</vrSel>
172+
<aSym>0</aSym>
173+
<aTbox>0</aTbox>
174+
<AscS1>0</AscS1>
175+
<AscS2>0</AscS2>
176+
<AscS3>0</AscS3>
177+
<aSer3>0</aSer3>
178+
<eProf>0</eProf>
179+
<aLa>0</aLa>
180+
<aPa1>0</aPa1>
181+
<AscS4>0</AscS4>
182+
<aSer4>0</aSer4>
183+
<StkLoc>0</StkLoc>
184+
<TrcWin>0</TrcWin>
185+
<newCpu>0</newCpu>
186+
<uProt>0</uProt>
187+
</DebugFlag>
188+
<LintExecutable></LintExecutable>
189+
<LintConfigFile></LintConfigFile>
190+
</TargetOption>
191+
</Target>
192+
193+
<Group>
194+
<GroupName>src</GroupName>
195+
<tvExp>1</tvExp>
196+
<tvExpOptDlg>0</tvExpOptDlg>
197+
<cbSel>0</cbSel>
198+
<File>
199+
<GroupNumber>1</GroupNumber>
200+
<FileNumber>1</FileNumber>
201+
<FileType>8</FileType>
202+
<tvExp>0</tvExp>
203+
<Focus>0</Focus>
204+
<ColumnNumber>0</ColumnNumber>
205+
<tvExpOptDlg>0</tvExpOptDlg>
206+
<TopLine>1</TopLine>
207+
<CurrentLine>2</CurrentLine>
208+
<bDave2>0</bDave2>
209+
<PathWithFileName>main.cpp</PathWithFileName>
210+
<FilenameWithoutPath>main.cpp</FilenameWithoutPath>
211+
</File>
212+
</Group>
213+
214+
</ProjectOpt>

0 commit comments

Comments
 (0)