Skip to content

Commit c266ac3

Browse files
committed
Merge pull request #439 from xiongyihui/stm32f407
[Exporters] add DISCO_F407VG's uvision support
2 parents beaec03 + c870428 commit c266ac3

File tree

8 files changed

+1056
-2
lines changed

8 files changed

+1056
-2
lines changed
Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
; *************************************************************
2+
; *** Scatter-Loading Description File generated by uVision ***
3+
; *************************************************************
4+
5+
LR_IROM1 0x08000000 0x00100000 { ; load region size_region
6+
ER_IROM1 0x08000000 0x00100000 { ; load address = execution address
7+
*.o (RESET, +First)
8+
*(InRoot$$Sections)
9+
.ANY (+RO)
10+
}
11+
RW_IRAM1 0x10000000 0x00010000 { ; CCM
12+
}
13+
RW_IRAM2 0x20000188 0x0001FE78 {
14+
.ANY (+RW +ZI)
15+
}
16+
}
17+

libraries/mbed/targets/cmsis/TARGET_STM/TARGET_DISCO_F407VG/TOOLCHAIN_ARM_STD/startup_STM32F40x.s

Lines changed: 369 additions & 0 deletions
Large diffs are not rendered by default.
Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
/* mbed Microcontroller Library - stackheap
2+
* Copyright (C) 2009-2011 ARM Limited. All rights reserved.
3+
*
4+
* Setup a fixed single stack/heap memory model,
5+
* between the top of the RW/ZI region and the stackpointer
6+
*/
7+
8+
#ifdef __cplusplus
9+
extern "C" {
10+
#endif
11+
12+
#include <rt_misc.h>
13+
#include <stdint.h>
14+
15+
extern char Image$$RW_IRAM1$$ZI$$Limit[];
16+
17+
extern __value_in_regs struct __initial_stackheap __user_setup_stackheap(uint32_t R0, uint32_t R1, uint32_t R2, uint32_t R3) {
18+
uint32_t zi_limit = (uint32_t)Image$$RW_IRAM1$$ZI$$Limit;
19+
uint32_t sp_limit = __current_sp();
20+
21+
zi_limit = (zi_limit + 7) & ~0x7; // ensure zi_limit is 8-byte aligned
22+
23+
struct __initial_stackheap r;
24+
r.heap_base = zi_limit;
25+
r.heap_limit = sp_limit;
26+
return r;
27+
}
28+
29+
#ifdef __cplusplus
30+
}
31+
#endif

workspace_tools/build_release.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -64,7 +64,8 @@
6464
('RBLAB_NRF51822', ('ARM', )),
6565

6666
('LPC11U68', ('uARM','GCC_ARM','GCC_CR')),
67-
('GHI_MBUINO', ('ARM', 'uARM', 'GCC_ARM')),
67+
('GHI_MBUINO', ('ARM', 'uARM', 'GCC_ARM')),
68+
('DISCO_F407VG', ('ARM', 'GCC_ARM')),
6869
)
6970

7071

workspace_tools/export/uvision4.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -50,6 +50,7 @@ class Uvision4(Exporter):
5050
'NRF51822',
5151
'ARCH_PRO',
5252
'ARCH_BLE',
53+
'DISCO_F407VG',
5354
]
5455

5556
USING_MICROLIB = [
Lines changed: 210 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,210 @@
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>STM32F407</TargetName>
25+
<ToolsetNumber>0x4</ToolsetNumber>
26+
<ToolsetName>ARM-ADS</ToolsetName>
27+
<TargetOption>
28+
<CLKADS>25000000</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>255</CpuCode>
79+
<Books>
80+
<Book>
81+
<Number>0</Number>
82+
<Title>Datasheet</Title>
83+
<Path>DATASHTS\ST\STM32F4xx\DM00037051.pdf</Path>
84+
</Book>
85+
<Book>
86+
<Number>1</Number>
87+
<Title>Reference Manual</Title>
88+
<Path>DATASHTS\ST\STM32F4xx\DM00031020.pdf</Path>
89+
</Book>
90+
<Book>
91+
<Number>2</Number>
92+
<Title>Technical Reference Manual</Title>
93+
<Path>datashts\arm\cortex_m4\r0p1\DDI0439C_CORTEX_M4_R0P1_TRM.PDF</Path>
94+
</Book>
95+
<Book>
96+
<Number>3</Number>
97+
<Title>Generic User Guide</Title>
98+
<Path>datashts\arm\cortex_m4\r0p1\DUI0553A_CORTEX_M4_DGUG.PDF</Path>
99+
</Book>
100+
</Books>
101+
<DllOpt>
102+
<SimDllName>SARMCM3.DLL</SimDllName>
103+
<SimDllArguments>-MPU -REMAP</SimDllArguments>
104+
<SimDlgDllName>DCM.DLL</SimDlgDllName>
105+
<SimDlgDllArguments>-pCM4</SimDlgDllArguments>
106+
<TargetDllName>SARMCM3.DLL</TargetDllName>
107+
<TargetDllArguments>-MPU</TargetDllArguments>
108+
<TargetDlgDllName>TCM.DLL</TargetDlgDllName>
109+
<TargetDlgDllArguments>-pCM4</TargetDlgDllArguments>
110+
</DllOpt>
111+
<DebugOpt>
112+
<uSim>0</uSim>
113+
<uTrg>1</uTrg>
114+
<sLdApp>1</sLdApp>
115+
<sGomain>1</sGomain>
116+
<sRbreak>1</sRbreak>
117+
<sRwatch>1</sRwatch>
118+
<sRmem>1</sRmem>
119+
<sRfunc>1</sRfunc>
120+
<sRbox>1</sRbox>
121+
<tLdApp>1</tLdApp>
122+
<tGomain>1</tGomain>
123+
<tRbreak>1</tRbreak>
124+
<tRwatch>1</tRwatch>
125+
<tRmem>1</tRmem>
126+
<tRfunc>0</tRfunc>
127+
<tRbox>1</tRbox>
128+
<tRtrace>0</tRtrace>
129+
<sRunDeb>0</sRunDeb>
130+
<sLrtime>0</sLrtime>
131+
<nTsel>13</nTsel>
132+
<sDll></sDll>
133+
<sDllPa></sDllPa>
134+
<sDlgDll></sDlgDll>
135+
<sDlgPa></sDlgPa>
136+
<sIfile></sIfile>
137+
<tDll></tDll>
138+
<tDllPa></tDllPa>
139+
<tDlgDll></tDlgDll>
140+
<tDlgPa></tDlgPa>
141+
<tIfile></tIfile>
142+
<pMon>BIN\CMSIS_AGDI.dll</pMon>
143+
</DebugOpt>
144+
<TargetDriverDllRegistry>
145+
<SetRegEntry>
146+
<Number>0</Number>
147+
<Key>CMSIS_AGDI</Key>
148+
<Name>-X"MBED CMSIS-DAP" -UA000000001 -O4559 -S0 -C0 -P00 -N00("ARM CoreSight SW-DP") -D00(2BA01477) -L00(0) -FO15 -FD20000000 -FC800 -FN1 -FF0STM32F4xx_1024 -FS08000000 -FL0100000</Name>
149+
</SetRegEntry>
150+
</TargetDriverDllRegistry>
151+
<Breakpoint/>
152+
<DebugFlag>
153+
<trace>0</trace>
154+
<periodic>0</periodic>
155+
<aLwin>0</aLwin>
156+
<aCover>0</aCover>
157+
<aSer1>0</aSer1>
158+
<aSer2>0</aSer2>
159+
<aPa>0</aPa>
160+
<viewmode>1</viewmode>
161+
<vrSel>0</vrSel>
162+
<aSym>0</aSym>
163+
<aTbox>0</aTbox>
164+
<AscS1>0</AscS1>
165+
<AscS2>0</AscS2>
166+
<AscS3>0</AscS3>
167+
<aSer3>0</aSer3>
168+
<eProf>0</eProf>
169+
<aLa>0</aLa>
170+
<aPa1>0</aPa1>
171+
<AscS4>0</AscS4>
172+
<aSer4>0</aSer4>
173+
<StkLoc>0</StkLoc>
174+
<TrcWin>0</TrcWin>
175+
<newCpu>0</newCpu>
176+
<uProt>0</uProt>
177+
</DebugFlag>
178+
<Tracepoint>
179+
<THDelay>0</THDelay>
180+
</Tracepoint>
181+
<LintExecutable></LintExecutable>
182+
<LintConfigFile></LintConfigFile>
183+
</TargetOption>
184+
</Target>
185+
186+
<Group>
187+
<GroupName>src</GroupName>
188+
<tvExp>1</tvExp>
189+
<tvExpOptDlg>0</tvExpOptDlg>
190+
<cbSel>0</cbSel>
191+
<RteFlg>0</RteFlg>
192+
<File>
193+
<GroupNumber>1</GroupNumber>
194+
<FileNumber>1</FileNumber>
195+
<FileType>8</FileType>
196+
<tvExp>0</tvExp>
197+
<Focus>0</Focus>
198+
<ColumnNumber>1</ColumnNumber>
199+
<tvExpOptDlg>0</tvExpOptDlg>
200+
<TopLine>1</TopLine>
201+
<CurrentLine>18</CurrentLine>
202+
<bDave2>0</bDave2>
203+
<PathWithFileName>main.cpp</PathWithFileName>
204+
<FilenameWithoutPath>main.cpp</FilenameWithoutPath>
205+
<RteFlg>0</RteFlg>
206+
<bShared>0</bShared>
207+
</File>
208+
</Group>
209+
210+
</ProjectOpt>

0 commit comments

Comments
 (0)