Updated to the new locm3 changed to stdint types.
This commit is contained in:
@@ -23,7 +23,7 @@
|
||||
#include <libopencm3/cm3/nvic.h>
|
||||
#include <libopencm3/stm32/exti.h>
|
||||
|
||||
u16 exti_line_state;
|
||||
uint16_t exti_line_state;
|
||||
|
||||
/* Set STM32 to 72 MHz. */
|
||||
static void clock_setup(void)
|
||||
|
||||
@@ -23,7 +23,7 @@
|
||||
#include <libopencm3/cm3/nvic.h>
|
||||
#include <libopencm3/stm32/exti.h>
|
||||
|
||||
u16 exti_line_state;
|
||||
uint16_t exti_line_state;
|
||||
|
||||
/* Set STM32 to 72 MHz. */
|
||||
static void clock_setup(void)
|
||||
|
||||
@@ -26,7 +26,7 @@
|
||||
#define FALLING 0
|
||||
#define RISING 1
|
||||
|
||||
u16 exti_direction = FALLING;
|
||||
uint16_t exti_direction = FALLING;
|
||||
|
||||
/* Set STM32 to 72 MHz. */
|
||||
static void clock_setup(void)
|
||||
|
||||
@@ -57,9 +57,9 @@
|
||||
}
|
||||
|
||||
struct color {
|
||||
u8 r;
|
||||
u8 g;
|
||||
u8 b;
|
||||
uint8_t r;
|
||||
uint8_t g;
|
||||
uint8_t b;
|
||||
};
|
||||
|
||||
/* Set STM32 to 72 MHz. */
|
||||
|
||||
@@ -26,7 +26,7 @@
|
||||
#define FALLING 0
|
||||
#define RISING 1
|
||||
|
||||
u16 exti_direction = FALLING;
|
||||
uint16_t exti_direction = FALLING;
|
||||
|
||||
static void clock_setup(void)
|
||||
{
|
||||
|
||||
@@ -23,7 +23,7 @@
|
||||
#include <libopencm3/cm3/nvic.h>
|
||||
#include <libopencm3/stm32/exti.h>
|
||||
|
||||
u16 frequency_sequence[18] = {
|
||||
uint16_t frequency_sequence[18] = {
|
||||
1000,
|
||||
500,
|
||||
1000,
|
||||
@@ -46,9 +46,9 @@ u16 frequency_sequence[18] = {
|
||||
|
||||
int frequency_sel = 0;
|
||||
|
||||
u16 compare_time;
|
||||
u16 new_time;
|
||||
u16 frequency;
|
||||
uint16_t compare_time;
|
||||
uint16_t new_time;
|
||||
uint16_t frequency;
|
||||
int debug = 0;
|
||||
|
||||
static void clock_setup(void)
|
||||
|
||||
@@ -53,7 +53,7 @@ static void trace_setup(void)
|
||||
|
||||
/* Unlock access to ITM registers. */
|
||||
/* FIXME: Magic numbers... Is this Cortex-M3 generic? */
|
||||
*((volatile u32 *)0xE0000FB0) = 0xC5ACCE55;
|
||||
*((volatile uint32_t *)0xE0000FB0) = 0xC5ACCE55;
|
||||
|
||||
/* Enable ITM with ID = 1. */
|
||||
ITM_TCR = (1 << 16) | ITM_TCR_ITMENA;
|
||||
|
||||
@@ -73,7 +73,7 @@ static void gpio_setup(void)
|
||||
|
||||
void usart1_isr(void)
|
||||
{
|
||||
static u8 data = 'A';
|
||||
static uint8_t data = 'A';
|
||||
|
||||
/* Check if we were called because of RXNE. */
|
||||
if (((USART_CR1(USART1) & USART_CR1_RXNEIE) != 0) &&
|
||||
|
||||
@@ -32,20 +32,20 @@
|
||||
* https://github.com/open-bldc/open-bldc/tree/master/source/libgovernor
|
||||
*****************************************************************************/
|
||||
|
||||
typedef s32 ring_size_t;
|
||||
typedef int32_t ring_size_t;
|
||||
|
||||
struct ring {
|
||||
u8 *data;
|
||||
uint8_t *data;
|
||||
ring_size_t size;
|
||||
u32 begin;
|
||||
u32 end;
|
||||
uint32_t begin;
|
||||
uint32_t end;
|
||||
};
|
||||
|
||||
#define RING_SIZE(RING) ((RING)->size - 1)
|
||||
#define RING_DATA(RING) (RING)->data
|
||||
#define RING_EMPTY(RING) ((RING)->begin == (RING)->end)
|
||||
|
||||
static void ring_init(struct ring *ring, u8 *buf, ring_size_t size)
|
||||
static void ring_init(struct ring *ring, uint8_t *buf, ring_size_t size)
|
||||
{
|
||||
ring->data = buf;
|
||||
ring->size = size;
|
||||
@@ -53,20 +53,20 @@ static void ring_init(struct ring *ring, u8 *buf, ring_size_t size)
|
||||
ring->end = 0;
|
||||
}
|
||||
|
||||
static s32 ring_write_ch(struct ring *ring, u8 ch)
|
||||
static int32_t ring_write_ch(struct ring *ring, uint8_t ch)
|
||||
{
|
||||
if (((ring->end + 1) % ring->size) != ring->begin) {
|
||||
ring->data[ring->end++] = ch;
|
||||
ring->end %= ring->size;
|
||||
return (u32)ch;
|
||||
return (uint32_t)ch;
|
||||
}
|
||||
|
||||
return -1;
|
||||
}
|
||||
|
||||
static s32 ring_write(struct ring *ring, u8 *data, ring_size_t size)
|
||||
static int32_t ring_write(struct ring *ring, uint8_t *data, ring_size_t size)
|
||||
{
|
||||
s32 i;
|
||||
int32_t i;
|
||||
|
||||
for (i = 0; i < size; i++) {
|
||||
if (ring_write_ch(ring, data[i]) < 0)
|
||||
@@ -76,9 +76,9 @@ static s32 ring_write(struct ring *ring, u8 *data, ring_size_t size)
|
||||
return i;
|
||||
}
|
||||
|
||||
static s32 ring_read_ch(struct ring *ring, u8 *ch)
|
||||
static int32_t ring_read_ch(struct ring *ring, uint8_t *ch)
|
||||
{
|
||||
s32 ret = -1;
|
||||
int32_t ret = -1;
|
||||
|
||||
if (ring->begin != ring->end) {
|
||||
ret = ring->data[ring->begin++];
|
||||
@@ -91,9 +91,9 @@ static s32 ring_read_ch(struct ring *ring, u8 *ch)
|
||||
}
|
||||
|
||||
/* Not used!
|
||||
static s32 ring_read(struct ring *ring, u8 *data, ring_size_t size)
|
||||
static int32_t ring_read(struct ring *ring, uint8_t *data, ring_size_t size)
|
||||
{
|
||||
s32 i;
|
||||
int32_t i;
|
||||
|
||||
for (i = 0; i < size; i++) {
|
||||
if (ring_read_ch(ring, data + i) < 0)
|
||||
@@ -111,7 +111,7 @@ static s32 ring_read(struct ring *ring, u8 *data, ring_size_t size)
|
||||
#define BUFFER_SIZE 1024
|
||||
|
||||
struct ring output_ring;
|
||||
u8 output_ring_buffer[BUFFER_SIZE];
|
||||
uint8_t output_ring_buffer[BUFFER_SIZE];
|
||||
|
||||
int _write(int file, char *ptr, int len);
|
||||
|
||||
@@ -187,7 +187,7 @@ void usart1_isr(void)
|
||||
if (((USART_CR1(USART1) & USART_CR1_TXEIE) != 0) &&
|
||||
((USART_SR(USART1) & USART_SR_TXE) != 0)) {
|
||||
|
||||
s32 data;
|
||||
int32_t data;
|
||||
|
||||
data = ring_read_ch(&output_ring, NULL);
|
||||
|
||||
@@ -206,7 +206,7 @@ int _write(int file, char *ptr, int len)
|
||||
int ret;
|
||||
|
||||
if (file == 1) {
|
||||
ret = ring_write(&output_ring, (u8 *)ptr, len);
|
||||
ret = ring_write(&output_ring, (uint8_t *)ptr, len);
|
||||
|
||||
if (ret < 0)
|
||||
ret = -ret;
|
||||
@@ -240,7 +240,7 @@ void sys_tick_handler(void)
|
||||
static int counter = 0;
|
||||
static float fcounter = 0.0;
|
||||
static double dcounter = 0.0;
|
||||
static u32 temp32 = 0;
|
||||
static uint32_t temp32 = 0;
|
||||
|
||||
temp32++;
|
||||
|
||||
|
||||
@@ -164,10 +164,10 @@ static const char *usb_strings[] = {
|
||||
};
|
||||
|
||||
/* Buffer to be used for control requests. */
|
||||
u8 usbd_control_buffer[128];
|
||||
uint8_t usbd_control_buffer[128];
|
||||
|
||||
static int cdcacm_control_request(usbd_device *usbd_dev, struct usb_setup_data *req, u8 **buf,
|
||||
u16 *len, void (**complete)(usbd_device *usbd_dev, struct usb_setup_data *req))
|
||||
static int cdcacm_control_request(usbd_device *usbd_dev, struct usb_setup_data *req, uint8_t **buf,
|
||||
uint16_t *len, void (**complete)(usbd_device *usbd_dev, struct usb_setup_data *req))
|
||||
{
|
||||
(void)complete;
|
||||
(void)buf;
|
||||
@@ -202,7 +202,7 @@ static int cdcacm_control_request(usbd_device *usbd_dev, struct usb_setup_data *
|
||||
return 0;
|
||||
}
|
||||
|
||||
static void cdcacm_data_rx_cb(usbd_device *usbd_dev, u8 ep)
|
||||
static void cdcacm_data_rx_cb(usbd_device *usbd_dev, uint8_t ep)
|
||||
{
|
||||
(void)ep;
|
||||
(void)usbd_dev;
|
||||
@@ -216,7 +216,7 @@ static void cdcacm_data_rx_cb(usbd_device *usbd_dev, u8 ep)
|
||||
}
|
||||
}
|
||||
|
||||
static void cdcacm_set_config(usbd_device *usbd_dev, u16 wValue)
|
||||
static void cdcacm_set_config(usbd_device *usbd_dev, uint16_t wValue)
|
||||
{
|
||||
(void)wValue;
|
||||
(void)usbd_dev;
|
||||
|
||||
@@ -32,15 +32,15 @@
|
||||
#define CMD_ERASE 0x41
|
||||
|
||||
/* We need a special large control buffer for this device: */
|
||||
u8 usbd_control_buffer[1024];
|
||||
uint8_t usbd_control_buffer[1024];
|
||||
|
||||
static enum dfu_state usbdfu_state = STATE_DFU_IDLE;
|
||||
|
||||
static struct {
|
||||
u8 buf[sizeof(usbd_control_buffer)];
|
||||
u16 len;
|
||||
u32 addr;
|
||||
u16 blocknum;
|
||||
uint8_t buf[sizeof(usbd_control_buffer)];
|
||||
uint16_t len;
|
||||
uint32_t addr;
|
||||
uint16_t blocknum;
|
||||
} prog;
|
||||
|
||||
const struct usb_device_descriptor dev = {
|
||||
@@ -113,7 +113,7 @@ static const char *usb_strings[] = {
|
||||
"@Internal Flash /0x08000000/8*001Ka,56*001Kg",
|
||||
};
|
||||
|
||||
static u8 usbdfu_getstatus(usbd_device *usbd_dev, u32 *bwPollTimeout)
|
||||
static uint8_t usbdfu_getstatus(usbd_device *usbd_dev, uint32_t *bwPollTimeout)
|
||||
{
|
||||
(void)usbd_dev;
|
||||
|
||||
@@ -144,20 +144,20 @@ static void usbdfu_getstatus_complete(usbd_device *usbd_dev, struct usb_setup_da
|
||||
switch (prog.buf[0]) {
|
||||
case CMD_ERASE:
|
||||
{
|
||||
u32 *dat = (u32 *)(prog.buf + 1);
|
||||
uint32_t *dat = (uint32_t *)(prog.buf + 1);
|
||||
flash_erase_page(*dat);
|
||||
}
|
||||
case CMD_SETADDR:
|
||||
{
|
||||
u32 *dat = (u32 *)(prog.buf + 1);
|
||||
uint32_t *dat = (uint32_t *)(prog.buf + 1);
|
||||
prog.addr = *dat;
|
||||
}
|
||||
}
|
||||
} else {
|
||||
u32 baseaddr = prog.addr + ((prog.blocknum - 2) *
|
||||
uint32_t baseaddr = prog.addr + ((prog.blocknum - 2) *
|
||||
dfu_function.wTransferSize);
|
||||
for (i = 0; i < prog.len; i += 2) {
|
||||
u16 *dat = (u16 *)(prog.buf + i);
|
||||
uint16_t *dat = (uint16_t *)(prog.buf + i);
|
||||
flash_program_half_word(baseaddr + i,
|
||||
*dat);
|
||||
}
|
||||
@@ -176,8 +176,8 @@ static void usbdfu_getstatus_complete(usbd_device *usbd_dev, struct usb_setup_da
|
||||
}
|
||||
}
|
||||
|
||||
static int usbdfu_control_request(usbd_device *usbd_dev, struct usb_setup_data *req, u8 **buf,
|
||||
u16 *len, void (**complete)(usbd_device *usbd_dev, struct usb_setup_data *req))
|
||||
static int usbdfu_control_request(usbd_device *usbd_dev, struct usb_setup_data *req, uint8_t **buf,
|
||||
uint16_t *len, void (**complete)(usbd_device *usbd_dev, struct usb_setup_data *req))
|
||||
{
|
||||
if ((req->bmRequestType & 0x7F) != 0x21)
|
||||
return 0; /* Only accept class request. */
|
||||
@@ -208,7 +208,7 @@ static int usbdfu_control_request(usbd_device *usbd_dev, struct usb_setup_data *
|
||||
/* Upload not supported for now. */
|
||||
return 0;
|
||||
case DFU_GETSTATUS: {
|
||||
u32 bwPollTimeout = 0; /* 24-bit integer in DFU class spec */
|
||||
uint32_t bwPollTimeout = 0; /* 24-bit integer in DFU class spec */
|
||||
(*buf)[0] = usbdfu_getstatus(usbd_dev, &bwPollTimeout);
|
||||
(*buf)[1] = bwPollTimeout & 0xFF;
|
||||
(*buf)[2] = (bwPollTimeout >> 8) & 0xFF;
|
||||
@@ -237,12 +237,12 @@ int main(void)
|
||||
|
||||
if (!gpio_get(GPIOA, GPIO10)) {
|
||||
/* Boot the application if it's valid. */
|
||||
if ((*(volatile u32 *)APP_ADDRESS & 0x2FFE0000) == 0x20000000) {
|
||||
if ((*(volatile uint32_t *)APP_ADDRESS & 0x2FFE0000) == 0x20000000) {
|
||||
/* Set vector table base address. */
|
||||
SCB_VTOR = APP_ADDRESS & 0xFFFF;
|
||||
/* Initialise master stack pointer. */
|
||||
asm volatile("msr msp, %0"::"g"
|
||||
(*(volatile u32 *)APP_ADDRESS));
|
||||
(*(volatile uint32_t *)APP_ADDRESS));
|
||||
/* Jump to application. */
|
||||
(*(void (**)())(APP_ADDRESS + 4))();
|
||||
}
|
||||
|
||||
@@ -50,7 +50,7 @@ const struct usb_device_descriptor dev = {
|
||||
};
|
||||
|
||||
/* I have no idea what this means. I haven't read the HID spec. */
|
||||
static const u8 hid_report_descriptor[] = {
|
||||
static const uint8_t hid_report_descriptor[] = {
|
||||
0x05, 0x01, 0x09, 0x02, 0xA1, 0x01, 0x09, 0x01,
|
||||
0xA1, 0x00, 0x05, 0x09, 0x19, 0x01, 0x29, 0x03,
|
||||
0x15, 0x00, 0x25, 0x01, 0x95, 0x03, 0x75, 0x01,
|
||||
@@ -66,8 +66,8 @@ static const u8 hid_report_descriptor[] = {
|
||||
static const struct {
|
||||
struct usb_hid_descriptor hid_descriptor;
|
||||
struct {
|
||||
u8 bReportDescriptorType;
|
||||
u16 wDescriptorLength;
|
||||
uint8_t bReportDescriptorType;
|
||||
uint16_t wDescriptorLength;
|
||||
} __attribute__((packed)) hid_report;
|
||||
} __attribute__((packed)) hid_function = {
|
||||
.hid_descriptor = {
|
||||
@@ -169,9 +169,9 @@ static const char *usb_strings[] = {
|
||||
};
|
||||
|
||||
/* Buffer to be used for control requests. */
|
||||
u8 usbd_control_buffer[128];
|
||||
uint8_t usbd_control_buffer[128];
|
||||
|
||||
static int hid_control_request(usbd_device *usbd_dev, struct usb_setup_data *req, u8 **buf, u16 *len,
|
||||
static int hid_control_request(usbd_device *usbd_dev, struct usb_setup_data *req, uint8_t **buf, uint16_t *len,
|
||||
void (**complete)(usbd_device *usbd_dev, struct usb_setup_data *req))
|
||||
{
|
||||
(void)complete;
|
||||
@@ -183,7 +183,7 @@ static int hid_control_request(usbd_device *usbd_dev, struct usb_setup_data *req
|
||||
return 0;
|
||||
|
||||
/* Handle the HID report descriptor. */
|
||||
*buf = (u8 *)hid_report_descriptor;
|
||||
*buf = (uint8_t *)hid_report_descriptor;
|
||||
*len = sizeof(hid_report_descriptor);
|
||||
|
||||
return 1;
|
||||
@@ -202,7 +202,7 @@ static void dfu_detach_complete(usbd_device *usbd_dev, struct usb_setup_data *re
|
||||
scb_reset_core();
|
||||
}
|
||||
|
||||
static int dfu_control_request(usbd_device *usbd_dev, struct usb_setup_data *req, u8 **buf, u16 *len,
|
||||
static int dfu_control_request(usbd_device *usbd_dev, struct usb_setup_data *req, uint8_t **buf, uint16_t *len,
|
||||
void (**complete)(usbd_device *usbd_dev, struct usb_setup_data *req))
|
||||
{
|
||||
(void)buf;
|
||||
@@ -218,7 +218,7 @@ static int dfu_control_request(usbd_device *usbd_dev, struct usb_setup_data *req
|
||||
}
|
||||
#endif
|
||||
|
||||
static void hid_set_config(usbd_device *usbd_dev, u16 wValue)
|
||||
static void hid_set_config(usbd_device *usbd_dev, uint16_t wValue)
|
||||
{
|
||||
(void)wValue;
|
||||
(void)usbd_dev;
|
||||
@@ -276,7 +276,7 @@ void sys_tick_handler(void)
|
||||
{
|
||||
static int x = 0;
|
||||
static int dir = 1;
|
||||
u8 buf[4] = {0, 0, 0, 0};
|
||||
uint8_t buf[4] = {0, 0, 0, 0};
|
||||
|
||||
buf[1] = dir;
|
||||
x += dir;
|
||||
|
||||
@@ -32,15 +32,15 @@
|
||||
#define CMD_ERASE 0x41
|
||||
|
||||
/* We need a special large control buffer for this device: */
|
||||
u8 usbd_control_buffer[1024];
|
||||
uint8_t usbd_control_buffer[1024];
|
||||
|
||||
static enum dfu_state usbdfu_state = STATE_DFU_IDLE;
|
||||
|
||||
static struct {
|
||||
u8 buf[sizeof(usbd_control_buffer)];
|
||||
u16 len;
|
||||
u32 addr;
|
||||
u16 blocknum;
|
||||
uint8_t buf[sizeof(usbd_control_buffer)];
|
||||
uint16_t len;
|
||||
uint32_t addr;
|
||||
uint16_t blocknum;
|
||||
} prog;
|
||||
|
||||
const struct usb_device_descriptor dev = {
|
||||
@@ -113,7 +113,7 @@ static const char *usb_strings[] = {
|
||||
"@Internal Flash /0x08000000/8*001Ka,56*001Kg",
|
||||
};
|
||||
|
||||
static u8 usbdfu_getstatus(usbd_device *usbd_dev, u32 *bwPollTimeout)
|
||||
static uint8_t usbdfu_getstatus(usbd_device *usbd_dev, uint32_t *bwPollTimeout)
|
||||
{
|
||||
(void)usbd_dev;
|
||||
|
||||
@@ -144,20 +144,20 @@ static void usbdfu_getstatus_complete(usbd_device *usbd_dev, struct usb_setup_da
|
||||
switch (prog.buf[0]) {
|
||||
case CMD_ERASE:
|
||||
{
|
||||
u32 *dat = (u32 *)(prog.buf + 1);
|
||||
uint32_t *dat = (uint32_t *)(prog.buf + 1);
|
||||
flash_erase_page(*dat);
|
||||
}
|
||||
case CMD_SETADDR:
|
||||
{
|
||||
u32 *dat = (u32 *)(prog.buf + 1);
|
||||
uint32_t *dat = (uint32_t *)(prog.buf + 1);
|
||||
prog.addr = *dat;
|
||||
}
|
||||
}
|
||||
} else {
|
||||
u32 baseaddr = prog.addr + ((prog.blocknum - 2) *
|
||||
uint32_t baseaddr = prog.addr + ((prog.blocknum - 2) *
|
||||
dfu_function.wTransferSize);
|
||||
for (i = 0; i < prog.len; i += 2) {
|
||||
u16 *dat = (u16 *)(prog.buf + i);
|
||||
uint16_t *dat = (uint16_t *)(prog.buf + i);
|
||||
flash_program_half_word(baseaddr + i,
|
||||
*dat);
|
||||
}
|
||||
@@ -176,8 +176,8 @@ static void usbdfu_getstatus_complete(usbd_device *usbd_dev, struct usb_setup_da
|
||||
}
|
||||
}
|
||||
|
||||
static int usbdfu_control_request(usbd_device *usbd_dev, struct usb_setup_data *req, u8 **buf,
|
||||
u16 *len, void (**complete)(usbd_device *usbd_dev, struct usb_setup_data *req))
|
||||
static int usbdfu_control_request(usbd_device *usbd_dev, struct usb_setup_data *req, uint8_t **buf,
|
||||
uint16_t *len, void (**complete)(usbd_device *usbd_dev, struct usb_setup_data *req))
|
||||
{
|
||||
if ((req->bmRequestType & 0x7F) != 0x21)
|
||||
return 0; /* Only accept class request. */
|
||||
@@ -208,7 +208,7 @@ static int usbdfu_control_request(usbd_device *usbd_dev, struct usb_setup_data *
|
||||
/* Upload not supported for now. */
|
||||
return 0;
|
||||
case DFU_GETSTATUS: {
|
||||
u32 bwPollTimeout = 0; /* 24-bit integer in DFU class spec */
|
||||
uint32_t bwPollTimeout = 0; /* 24-bit integer in DFU class spec */
|
||||
(*buf)[0] = usbdfu_getstatus(usbd_dev, &bwPollTimeout);
|
||||
(*buf)[1] = bwPollTimeout & 0xFF;
|
||||
(*buf)[2] = (bwPollTimeout >> 8) & 0xFF;
|
||||
@@ -237,12 +237,12 @@ int main(void)
|
||||
|
||||
if (!gpio_get(GPIOA, GPIO10)) {
|
||||
/* Boot the application if it's valid. */
|
||||
if ((*(volatile u32 *)APP_ADDRESS & 0x2FFE0000) == 0x20000000) {
|
||||
if ((*(volatile uint32_t *)APP_ADDRESS & 0x2FFE0000) == 0x20000000) {
|
||||
/* Set vector table base address. */
|
||||
SCB_VTOR = APP_ADDRESS & 0xFFFF;
|
||||
/* Initialise master stack pointer. */
|
||||
asm volatile("msr msp, %0"::"g"
|
||||
(*(volatile u32 *)APP_ADDRESS));
|
||||
(*(volatile uint32_t *)APP_ADDRESS));
|
||||
/* Jump to application. */
|
||||
(*(void (**)())(APP_ADDRESS + 4))();
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user