Skip to content

Commit 55dc991

Browse files
committed
Use standard startup and LD-file
1 parent 1f578f3 commit 55dc991

29 files changed

+783
-105
lines changed

ref_app/ref_app.vcxproj

Lines changed: 84 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -609,10 +609,46 @@
609609
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
610610
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
611611
</ClCompile>
612+
<ClCompile Include="src\mcal\r7fa4m1ab\mcal_cpu.cpp">
613+
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
614+
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
615+
</ClCompile>
616+
<ClCompile Include="src\mcal\r7fa4m1ab\mcal_eep.cpp">
617+
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
618+
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
619+
</ClCompile>
612620
<ClCompile Include="src\mcal\r7fa4m1ab\mcal_gpt.cpp">
613621
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
614622
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
615623
</ClCompile>
624+
<ClCompile Include="src\mcal\r7fa4m1ab\mcal_irq.cpp">
625+
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
626+
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
627+
</ClCompile>
628+
<ClCompile Include="src\mcal\r7fa4m1ab\mcal_led.cpp">
629+
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
630+
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
631+
</ClCompile>
632+
<ClCompile Include="src\mcal\r7fa4m1ab\mcal_osc.cpp">
633+
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
634+
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
635+
</ClCompile>
636+
<ClCompile Include="src\mcal\r7fa4m1ab\mcal_port.cpp">
637+
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
638+
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
639+
</ClCompile>
640+
<ClCompile Include="src\mcal\r7fa4m1ab\mcal_pwm.cpp">
641+
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
642+
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
643+
</ClCompile>
644+
<ClCompile Include="src\mcal\r7fa4m1ab\mcal_spi.cpp">
645+
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
646+
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
647+
</ClCompile>
648+
<ClCompile Include="src\mcal\r7fa4m1ab\mcal_wdg.cpp">
649+
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
650+
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
651+
</ClCompile>
616652
<ClCompile Include="src\mcal\riscvfe310\mcal_cpu.cpp">
617653
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
618654
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
@@ -2105,10 +2141,58 @@
21052141
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
21062142
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
21072143
</ClInclude>
2144+
<ClInclude Include="src\mcal\r7fa4m1ab\mcal_cpu.h">
2145+
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
2146+
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
2147+
</ClInclude>
2148+
<ClInclude Include="src\mcal\r7fa4m1ab\mcal_eep.h">
2149+
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
2150+
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
2151+
</ClInclude>
21082152
<ClInclude Include="src\mcal\r7fa4m1ab\mcal_gpt.h">
21092153
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
21102154
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
21112155
</ClInclude>
2156+
<ClInclude Include="src\mcal\r7fa4m1ab\mcal_irq.h">
2157+
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
2158+
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
2159+
</ClInclude>
2160+
<ClInclude Include="src\mcal\r7fa4m1ab\mcal_led.h">
2161+
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
2162+
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
2163+
</ClInclude>
2164+
<ClInclude Include="src\mcal\r7fa4m1ab\mcal_memory_progmem.h">
2165+
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
2166+
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
2167+
</ClInclude>
2168+
<ClInclude Include="src\mcal\r7fa4m1ab\mcal_osc.h">
2169+
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
2170+
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
2171+
</ClInclude>
2172+
<ClInclude Include="src\mcal\r7fa4m1ab\mcal_port.h">
2173+
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
2174+
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
2175+
</ClInclude>
2176+
<ClInclude Include="src\mcal\r7fa4m1ab\mcal_pwm.h">
2177+
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
2178+
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
2179+
</ClInclude>
2180+
<ClInclude Include="src\mcal\r7fa4m1ab\mcal_reg.h">
2181+
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
2182+
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
2183+
</ClInclude>
2184+
<ClInclude Include="src\mcal\r7fa4m1ab\mcal_ser.h">
2185+
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
2186+
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
2187+
</ClInclude>
2188+
<ClInclude Include="src\mcal\r7fa4m1ab\mcal_spi.h">
2189+
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
2190+
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
2191+
</ClInclude>
2192+
<ClInclude Include="src\mcal\r7fa4m1ab\mcal_wdg.h">
2193+
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
2194+
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
2195+
</ClInclude>
21122196
<ClInclude Include="src\mcal\riscvfe310\mcal_benchmark.h">
21132197
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
21142198
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>

ref_app/ref_app.vcxproj.filters

Lines changed: 63 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1342,6 +1342,33 @@
13421342
<ClCompile Include="src\mcal\r7fa4m1ab\mcal_gpt.cpp">
13431343
<Filter>src\mcal\r7fa4m1ab</Filter>
13441344
</ClCompile>
1345+
<ClCompile Include="src\mcal\r7fa4m1ab\mcal_osc.cpp">
1346+
<Filter>src\mcal\r7fa4m1ab</Filter>
1347+
</ClCompile>
1348+
<ClCompile Include="src\mcal\r7fa4m1ab\mcal_port.cpp">
1349+
<Filter>src\mcal\r7fa4m1ab</Filter>
1350+
</ClCompile>
1351+
<ClCompile Include="src\mcal\r7fa4m1ab\mcal_cpu.cpp">
1352+
<Filter>src\mcal\r7fa4m1ab</Filter>
1353+
</ClCompile>
1354+
<ClCompile Include="src\mcal\r7fa4m1ab\mcal_wdg.cpp">
1355+
<Filter>src\mcal\r7fa4m1ab</Filter>
1356+
</ClCompile>
1357+
<ClCompile Include="src\mcal\r7fa4m1ab\mcal_eep.cpp">
1358+
<Filter>src\mcal\r7fa4m1ab</Filter>
1359+
</ClCompile>
1360+
<ClCompile Include="src\mcal\r7fa4m1ab\mcal_irq.cpp">
1361+
<Filter>src\mcal\r7fa4m1ab</Filter>
1362+
</ClCompile>
1363+
<ClCompile Include="src\mcal\r7fa4m1ab\mcal_led.cpp">
1364+
<Filter>src\mcal\r7fa4m1ab</Filter>
1365+
</ClCompile>
1366+
<ClCompile Include="src\mcal\r7fa4m1ab\mcal_pwm.cpp">
1367+
<Filter>src\mcal\r7fa4m1ab</Filter>
1368+
</ClCompile>
1369+
<ClCompile Include="src\mcal\r7fa4m1ab\mcal_spi.cpp">
1370+
<Filter>src\mcal\r7fa4m1ab</Filter>
1371+
</ClCompile>
13451372
</ItemGroup>
13461373
<ItemGroup>
13471374
<ClInclude Include="src\math\calculus\derivative.h">
@@ -3054,6 +3081,42 @@
30543081
<ClInclude Include="src\mcal\r7fa4m1ab\mcal_gpt.h">
30553082
<Filter>src\mcal\r7fa4m1ab</Filter>
30563083
</ClInclude>
3084+
<ClInclude Include="src\mcal\r7fa4m1ab\mcal_osc.h">
3085+
<Filter>src\mcal\r7fa4m1ab</Filter>
3086+
</ClInclude>
3087+
<ClInclude Include="src\mcal\r7fa4m1ab\mcal_port.h">
3088+
<Filter>src\mcal\r7fa4m1ab</Filter>
3089+
</ClInclude>
3090+
<ClInclude Include="src\mcal\r7fa4m1ab\mcal_wdg.h">
3091+
<Filter>src\mcal\r7fa4m1ab</Filter>
3092+
</ClInclude>
3093+
<ClInclude Include="src\mcal\r7fa4m1ab\mcal_cpu.h">
3094+
<Filter>src\mcal\r7fa4m1ab</Filter>
3095+
</ClInclude>
3096+
<ClInclude Include="src\mcal\r7fa4m1ab\mcal_eep.h">
3097+
<Filter>src\mcal\r7fa4m1ab</Filter>
3098+
</ClInclude>
3099+
<ClInclude Include="src\mcal\r7fa4m1ab\mcal_irq.h">
3100+
<Filter>src\mcal\r7fa4m1ab</Filter>
3101+
</ClInclude>
3102+
<ClInclude Include="src\mcal\r7fa4m1ab\mcal_led.h">
3103+
<Filter>src\mcal\r7fa4m1ab</Filter>
3104+
</ClInclude>
3105+
<ClInclude Include="src\mcal\r7fa4m1ab\mcal_memory_progmem.h">
3106+
<Filter>src\mcal\r7fa4m1ab</Filter>
3107+
</ClInclude>
3108+
<ClInclude Include="src\mcal\r7fa4m1ab\mcal_pwm.h">
3109+
<Filter>src\mcal\r7fa4m1ab</Filter>
3110+
</ClInclude>
3111+
<ClInclude Include="src\mcal\r7fa4m1ab\mcal_reg.h">
3112+
<Filter>src\mcal\r7fa4m1ab</Filter>
3113+
</ClInclude>
3114+
<ClInclude Include="src\mcal\r7fa4m1ab\mcal_ser.h">
3115+
<Filter>src\mcal\r7fa4m1ab</Filter>
3116+
</ClInclude>
3117+
<ClInclude Include="src\mcal\r7fa4m1ab\mcal_spi.h">
3118+
<Filter>src\mcal\r7fa4m1ab</Filter>
3119+
</ClInclude>
30573120
</ItemGroup>
30583121
<ItemGroup>
30593122
<None Include="src\util\STL\algorithm">
Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
///////////////////////////////////////////////////////////////////////////////
2+
// Copyright Christopher Kormanyos 2007 - 2026.
3+
// Distributed under the Boost Software License,
4+
// Version 1.0. (See accompanying file LICENSE_1_0.txt
5+
// or copy at http://www.boost.org/LICENSE_1_0.txt)
6+
//
7+
8+
#include <mcal_cpu.h>
9+
#include <mcal_gpt.h>
10+
#include <mcal_osc.h>
11+
#include <mcal_port.h>
12+
#include <mcal_wdg.h>
13+
14+
auto mcal::cpu::post_init() noexcept -> void
15+
{
16+
}
17+
18+
auto mcal::cpu::init() -> void
19+
{
20+
mcal::wdg::init(nullptr);
21+
mcal::port::init(nullptr);
22+
mcal::osc::init(nullptr);
23+
}
Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
///////////////////////////////////////////////////////////////////////////////
2+
// Copyright Christopher Kormanyos 2007 - 2026.
3+
// Distributed under the Boost Software License,
4+
// Version 1.0. (See accompanying file LICENSE_1_0.txt
5+
// or copy at http://www.boost.org/LICENSE_1_0.txt)
6+
//
7+
8+
#ifndef MCAL_CPU_2025_02_22_H
9+
#define MCAL_CPU_2025_02_22_H
10+
11+
#define MY_PROGMEM
12+
13+
#include <cstdint>
14+
15+
namespace mcal { namespace cpu {
16+
17+
auto init() -> void;
18+
19+
auto post_init() noexcept -> void;
20+
21+
inline auto nop() noexcept -> void { asm volatile("nop"); }
22+
23+
} } // namespace mcal::cpu
24+
25+
#endif // MCAL_CPU_2025_02_22_H
Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
///////////////////////////////////////////////////////////////////////////////
2+
// Copyright Christopher Kormanyos 2007 - 2022.
3+
// Distributed under the Boost Software License,
4+
// Version 1.0. (See accompanying file LICENSE_1_0.txt
5+
// or copy at http://www.boost.org/LICENSE_1_0.txt)
6+
//
7+
8+
#include <mcal_eep.h>
9+
10+
void mcal::eep::write(const address_type addr, const std::uint8_t data)
11+
{
12+
static_cast<void>(addr);
13+
static_cast<void>(data);
14+
}
15+
16+
std::uint8_t mcal::eep::read(const address_type addr)
17+
{
18+
static_cast<void>(addr);
19+
20+
return std::uint8_t(0U);
21+
}
Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
///////////////////////////////////////////////////////////////////////////////
2+
// Copyright Christopher Kormanyos 2007 - 2022.
3+
// Distributed under the Boost Software License,
4+
// Version 1.0. (See accompanying file LICENSE_1_0.txt
5+
// or copy at http://www.boost.org/LICENSE_1_0.txt)
6+
//
7+
8+
#ifndef MCAL_EEP_2018_12_15_H_
9+
#define MCAL_EEP_2018_12_15_H_
10+
11+
#include <cstdint>
12+
13+
namespace mcal
14+
{
15+
namespace eep
16+
{
17+
using config_type = void;
18+
using address_type = std::uint32_t;
19+
20+
inline void init(const config_type*) { }
21+
22+
void write(const address_type addr, const std::uint8_t data);
23+
std::uint8_t read (const address_type addr);
24+
}
25+
}
26+
27+
#endif // MCAL_EEP_2018_12_15_H_

ref_app/src/mcal/r7fa4m1ab/mcal_gpt.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
///////////////////////////////////////////////////////////////////////////////
2-
// Copyright Christopher Kormanyos 2007 - 2025.
2+
// Copyright Christopher Kormanyos 2007 - 2026.
33
// Distributed under the Boost Software License,
44
// Version 1.0. (See accompanying file LICENSE_1_0.txt
55
// or copy at http://www.boost.org/LICENSE_1_0.txt)

ref_app/src/mcal/r7fa4m1ab/mcal_gpt.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
///////////////////////////////////////////////////////////////////////////////
2-
// Copyright Christopher Kormanyos 2007 - 2025.
2+
// Copyright Christopher Kormanyos 2007 - 2026.
33
// Distributed under the Boost Software License,
44
// Version 1.0. (See accompanying file LICENSE_1_0.txt
55
// or copy at http://www.boost.org/LICENSE_1_0.txt)
Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
///////////////////////////////////////////////////////////////////////////////
2+
// Copyright Christopher Kormanyos 2007 - 2020.
3+
// Distributed under the Boost Software License,
4+
// Version 1.0. (See accompanying file LICENSE_1_0.txt
5+
// or copy at http://www.boost.org/LICENSE_1_0.txt)
6+
//
7+
8+
#include <mcal_irq.h>
9+
10+
void mcal::irq::init(const config_type*)
11+
{
12+
// Enable all global interrupts.
13+
mcal::irq::enable_all();
14+
}
Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
///////////////////////////////////////////////////////////////////////////////
2+
// Copyright Christopher Kormanyos 2007 - 2020.
3+
// Distributed under the Boost Software License,
4+
// Version 1.0. (See accompanying file LICENSE_1_0.txt
5+
// or copy at http://www.boost.org/LICENSE_1_0.txt)
6+
//
7+
8+
#ifndef MCAL_IRQ_2010_04_10_H_
9+
#define MCAL_IRQ_2010_04_10_H_
10+
11+
namespace mcal
12+
{
13+
namespace irq
14+
{
15+
typedef void config_type;
16+
void init(const config_type*);
17+
18+
inline void enable_all () { asm volatile("cpsie i"); }
19+
inline void disable_all() { asm volatile("cpsid i"); }
20+
}
21+
}
22+
23+
#endif // MCAL_IRQ_2010_04_10_H_

0 commit comments

Comments
 (0)