aboutsummaryrefslogtreecommitdiff
path: root/playground/include
diff options
context:
space:
mode:
Diffstat (limited to 'playground/include')
-rw-r--r--playground/include/debug.h44
-rw-r--r--playground/include/init_high.h120
-rw-r--r--playground/include/playground.h12
-rw-r--r--playground/include/stm32f10x_conf.h38
4 files changed, 214 insertions, 0 deletions
diff --git a/playground/include/debug.h b/playground/include/debug.h
new file mode 100644
index 0000000..d2926b3
--- /dev/null
+++ b/playground/include/debug.h
@@ -0,0 +1,44 @@
+#ifndef DEBUG_H
+#define DEBUG_H
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+__attribute__((format (printf, 1, 2)))
+void dbg_printf(const char *fmt, ...);
+
+void dbg_putc(void * junk, char);
+
+enum SemihostingCmd {
+ SYS_CLOSE = 0x02,
+ SYS_CLOCK = 0x10,
+ SYS_ELAPSED = 0x30,
+ SYS_ERRNO = 0x13,
+ SYS_FLEN = 0x0C,
+ SYS_GET_CMDLINE = 0x15,
+ SYS_HEAPINFO = 0x16,
+ SYS_ISERROR = 0x08,
+ SYS_ISTTY = 0x09,
+ SYS_OPEN = 0x01,
+ SYS_READ = 0x06,
+ SYS_READC = 0x07,
+ SYS_REMOVE = 0x0E,
+ SYS_RENAME = 0x0F,
+ SYS_SEEK = 0x0A,
+ SYS_SYSTEM = 0x12,
+ SYS_TICKFREQ = 0x31,
+ SYS_TIME = 0x11,
+ SYS_TMPNAM = 0x0D,
+ SYS_WRITE = 0x05,
+ SYS_WRITEC = 0x03,
+ SYS_WRITE0 = 0x04,
+};
+
+void send_command(enum SemihostingCmd command, void *message);
+
+#ifdef __cplusplus
+};
+#endif
+
+#endif
diff --git a/playground/include/init_high.h b/playground/include/init_high.h
new file mode 100644
index 0000000..c6da514
--- /dev/null
+++ b/playground/include/init_high.h
@@ -0,0 +1,120 @@
+#ifndef INIT_HIGH_H
+#define INIT_HIGH_H
+
+extern "C" {
+
+void init_high();
+
+/**
+ * Declare all the interrupt/event handlers as weak symbols and make them aliases of the default handler.
+ */
+extern void Default_Handler() __attribute__((weak));
+
+extern void _Reset_Handler();
+
+extern void NMI_Handler();
+
+extern void HardFault_Handler();
+
+extern void MemManage_Handler();
+
+extern void BusFault_Handler();
+
+extern void UsageFault_Handler();
+
+extern void SVC_Handler();
+
+extern void DebugMon_Handler();
+
+extern void PendSV_Handler();
+
+extern void SysTick_Handler();
+
+extern void WWDG_IRQHandler();
+
+extern void PVD_IRQHandler();
+
+extern void TAMPER_IRQHandler();
+
+extern void RTC_IRQHandler();
+
+extern void FLASH_IRQHandler();
+
+extern void RCC_IRQHandler();
+
+extern void EXTI0_IRQHandler();
+
+extern void EXTI1_IRQHandler();
+
+extern void EXTI2_IRQHandler();
+
+extern void EXTI3_IRQHandler();
+
+extern void EXTI4_IRQHandler();
+
+extern void DMA1_Channel1_IRQHandler();
+
+extern void DMA1_Channel2_IRQHandler();
+
+extern void DMA1_Channel3_IRQHandler();
+
+extern void DMA1_Channel4_IRQHandler();
+
+extern void DMA1_Channel5_IRQHandler();
+
+extern void DMA1_Channel6_IRQHandler();
+
+extern void DMA1_Channel7_IRQHandler();
+
+extern void ADC1_2_IRQHandler();
+
+extern void USB_HP_CAN1_TX_IRQHandler();
+
+extern void USB_LP_CAN1_RX0_IRQHandler();
+
+extern void CAN1_RX1_IRQHandler();
+
+extern void CAN1_SCE_IRQHandler();
+
+extern void EXTI9_5_IRQHandler();
+
+extern void TIM1_BRK_IRQHandler();
+
+extern void TIM1_UP_IRQHandler();
+
+extern void TIM1_TRG_COM_IRQHandler();
+
+extern void TIM1_CC_IRQHandler();
+
+extern void TIM2_IRQHandler();
+
+extern void TIM3_IRQHandler();
+
+extern void TIM4_IRQHandler();
+
+extern void I2C1_EV_IRQHandler();
+
+extern void I2C1_ER_IRQHandler();
+
+extern void I2C2_EV_IRQHandler();
+
+extern void I2C2_ER_IRQHandler();
+
+extern void SPI1_IRQHandler();
+
+extern void SPI2_IRQHandler();
+
+extern void USART1_IRQHandler();
+
+extern void USART2_IRQHandler();
+
+extern void USART3_IRQHandler();
+
+extern void EXTI15_10_IRQHandler();
+
+extern void RTCAlarm_IRQHandler();
+
+extern void USBWakeUp_IRQHandler();
+}
+
+#endif
diff --git a/playground/include/playground.h b/playground/include/playground.h
new file mode 100644
index 0000000..c224908
--- /dev/null
+++ b/playground/include/playground.h
@@ -0,0 +1,12 @@
+#ifndef PLAYGROUND_H
+#define PLAYGROUND_H
+
+extern "C" void halt();
+
+template<typename T, size_t N>
+static inline
+size_t SizeOfArray(const T(&)[N]) {
+ return N;
+}
+
+#endif
diff --git a/playground/include/stm32f10x_conf.h b/playground/include/stm32f10x_conf.h
new file mode 100644
index 0000000..f663d12
--- /dev/null
+++ b/playground/include/stm32f10x_conf.h
@@ -0,0 +1,38 @@
+#ifndef __STM32F10x_CONF_H
+#define __STM32F10x_CONF_H
+
+/*
+#include "stm32f10x_adc.h"
+#include "stm32f10x_bkp.h"
+#include "stm32f10x_can.h"
+#include "stm32f10x_cec.h"
+#include "stm32f10x_crc.h"
+#include "stm32f10x_dac.h"
+#include "stm32f10x_dbgmcu.h"
+#include "stm32f10x_dma.h"
+#include "stm32f10x_exti.h"
+#include "stm32f10x_flash.h"
+#include "stm32f10x_fsmc.h"
+#include "stm32f10x_gpio.h"
+#include "stm32f10x_i2c.h"
+#include "stm32f10x_iwdg.h"
+#include "stm32f10x_pwr.h"
+#include "stm32f10x_rcc.h"
+#include "stm32f10x_rtc.h"
+#include "stm32f10x_sdio.h"
+#include "stm32f10x_spi.h"
+#include "stm32f10x_tim.h"
+#include "stm32f10x_usart.h"
+#include "stm32f10x_wwdg.h"
+#include "misc.h"
+*/
+
+#ifdef USE_FULL_ASSERT
+ #define assert_param(expr) ((expr) ? (void)0 : assert_failed((uint8_t *)__FILE__, __LINE__))
+
+ void assert_failed(uint8_t* file, uint32_t line);
+#else
+ #define assert_param(expr) ((void)0)
+#endif
+
+#endif