diff options
Diffstat (limited to 'tests/qemu')
-rw-r--r-- | tests/qemu/Makefile | 40 | ||||
-rw-r--r-- | tests/qemu/README.md | 20 | ||||
-rw-r--r-- | tests/qemu/main.c | 58 |
3 files changed, 0 insertions, 118 deletions
diff --git a/tests/qemu/Makefile b/tests/qemu/Makefile deleted file mode 100644 index 67e84ab..0000000 --- a/tests/qemu/Makefile +++ /dev/null @@ -1,40 +0,0 @@ -## -## This file is part of the libopencm3 project. -## -## This library is free software: you can redistribute it and/or modify -## it under the terms of the GNU Lesser General Public License as published by -## the Free Software Foundation, either version 3 of the License, or -## (at your option) any later version. -## -## This library is distributed in the hope that it will be useful, -## but WITHOUT ANY WARRANTY; without even the implied warranty of -## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -## GNU Lesser General Public License for more details. -## -## You should have received a copy of the GNU Lesser General Public License -## along with this library. If not, see <http://www.gnu.org/licenses/>. -## - -BOARD = lm3s -PROJECT = qemu-$(BOARD) -BUILD_DIR = bin-$(BOARD) - -SHARED_DIR = ../shared - -CFILES = main.c - -VPATH += $(SHARED_DIR) - -INCLUDES += $(patsubst %,-I%, . $(SHARED_DIR)) - -OPENCM3_DIR=../../libopencm3 - -DEVICE=lm3s6965 - -include ../../rules.mk - -qemu: $(PROJECT).elf - qemu-system-arm -semihosting -M lm3s6965evb --kernel $^ -serial stdio - -qemu-dbg: $(PROJECT).elf - qemu-system-arm -semihosting -M lm3s6965evb --kernel $^ -serial stdio -S -gdb tcp::3333 diff --git a/tests/qemu/README.md b/tests/qemu/README.md deleted file mode 100644 index 4f02adb..0000000 --- a/tests/qemu/README.md +++ /dev/null @@ -1,20 +0,0 @@ -This project is used as a demonstrator on how to run a small baremetal application -on a LM3S6965 board, which can be emulated on qemu as well (using qemu-system-arm -with -M lm3s6965evb). - -For this reason, this application is not portable to other platforms at the moment. - -To execute in qemu run: - -`make qemu` - -To debug using gcc run: - -`make qemu-dbg` - -and then attach a gdb to localhost tcp port 3333. - -Requirements: -qemu-system-arm -openocd - diff --git a/tests/qemu/main.c b/tests/qemu/main.c deleted file mode 100644 index 863ce9e..0000000 --- a/tests/qemu/main.c +++ /dev/null @@ -1,58 +0,0 @@ -#include <libopencm3/cm3/nvic.h>
-#include <libopencm3/cm3/systick.h>
-
-
-/* LM3S Specifics, usart and RCC */
-#include <libopencm3/lm3s/rcc.h>
-#include <libopencm3/lm3s/usart.h>
-
-static volatile uint32_t jiffies = 0u;
-
-static void printbanner(void)
-{
- char msg[] = "One second elapsed!\r\n";
- char *c = msg;
- while (*c != 0) {
- usart_send(USART0_BASE, (uint16_t )*c);
- c++;
- }
-}
-
-void sys_tick_handler(void)
-{
- jiffies++;
-}
-
-static inline uint32_t systick_app_config(uint32_t n_ticks)
-{
- /* constant from systick_set_reload -- as this returns something that's
- * * not void, this is the only possible error condition */
- if (n_ticks & ~0x00FFFFFF) {
- return 1;
- }
-
- systick_set_reload(n_ticks);
- systick_set_clocksource(1);
- systick_interrupt_enable();
- systick_counter_enable();
-
- return 0;
-}
-
-#define HZ 1000
-
-int main(void)
-{
- uint32_t last_time = 0;
- rcc_clock_setup_in_xtal_8mhz_out_50mhz();
- systick_app_config(HZ);
-
- nvic_set_priority(NVIC_SYSTICK_IRQ, 0);
- jiffies = 0;
- while(1) {
- if (jiffies > HZ) {
- printbanner();
- jiffies = 0;
- }
- }
-}
|