Skip to content

Commit

Permalink
Blinky example for SAMV
Browse files Browse the repository at this point in the history
  • Loading branch information
twasilczyk committed Sep 15, 2021
1 parent 2d9e176 commit 1eecbc0
Show file tree
Hide file tree
Showing 3 changed files with 81 additions and 0 deletions.
57 changes: 57 additions & 0 deletions examples/samv/blink/main.cpp
Original file line number Diff line number Diff line change
@@ -0,0 +1,57 @@
/*
* Copyright (c) 2021, Tomasz Wasilczyk
*
* This file is part of the modm project.
*
* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/.
*/

#include <modm/architecture/interface/clock.hpp>
#include <modm/platform.hpp>

using namespace std::chrono_literals;
using namespace modm::platform;

struct SystemClock
{
// Chosen to achieve 120MHz system clock
static constexpr uint32_t PllAMult = 3662; // 25?

static constexpr uint32_t Frequency = PllAMult * SlowClkFreqHz;
static bool inline
enable()
{
ClockGen::setFlashLatency<Frequency>();
ClockGen::updateCoreFrequency<Frequency>();
//ClockGen::enableExternal32Khz(false);
ClockGen::enablePllA<PllAMult>();
ClockGen::selectMasterClk<MasterClkSource::MAIN_CLK, MasterClkPrescaler::CLK_1>();
return true;
}
};

int
main()
{
WDT->WDT_MR = (WDT_MR_WDDIS_Msk); // turn off Watchdog
SystemClock::enable();
SysTickTimer::initialize<SystemClock>();

using Led0 = modm::platform::GpioD17;
using Led1 = modm::platform::GpioD16;
using Led2 = modm::platform::GpioD15;

Led0::setOutput(false);
Led1::setOutput(true);
Led2::setOutput(false);

while (1)
{
Led0::toggle();
modm::delay(500ms);
}

return 0;
}
9 changes: 9 additions & 0 deletions examples/samv/blink/openocd.cfg
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
source [find interface/jlink.cfg]
transport select swd

source [find target/atsamv.cfg]

# Set boot mode selection to Flash (instead of SAM-BA on ROM)
init
halt
atsamv gpnvm set 1
15 changes: 15 additions & 0 deletions examples/samv/blink/project.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
<library>
<options>
<option name="modm:target">samv70n20b-aabt</option>
<option name="modm:build:build.path">../../../build/samv/blink</option>
<option name="modm:build:openocd.cfg">openocd.cfg</option>
</options>
<modules>
<module>modm:build:scons</module>
<module>modm:platform:core</module>
<module>modm:platform:clock</module>
<module>modm:platform:gpio</module>
<module>modm:architecture:delay</module>
<module>modm:platform:clockgen</module>
</modules>
</library>

0 comments on commit 1eecbc0

Please sign in to comment.