diff --git a/Makefile b/Makefile index 698db867776136714f7d233e038e2587fe887ef4..ea5b36fcf97a95b66c1afc950a3850c7c60fa1e5 100644 --- a/Makefile +++ b/Makefile @@ -30,21 +30,38 @@ all: dirs image.bin dirs: mkdir -p obj obj/drivers -image.bin: image.elf - $(OBJCOPY) -Obinary image.elf image.bin +%.bin: %.elf + $(OBJCOPY) -Obinary $< $@ + +rx.elf: src/drivers/startup_stm32g0b1xx.s $(OBJS) + $(CC) $^ -o $@ $(CFLAGS) $(LDFLAGS) $(LIBS) + +tx.elf: src/drivers/startup_stm32g0b1xx.s $(OBJS) + $(CC) $^ -o $@ $(CFLAGS) $(LDFLAGS) $(LIBS) + +# image.bin: image.elf +# $(OBJCOPY) -Obinary image.elf image.bin image.elf: src/drivers/startup_stm32g0b1xx.s $(OBJS) $(CC) $^ -o $@ $(CFLAGS) $(LDFLAGS) $(LIBS) $(OBJDIR)/%.o: $(SRCDIR)/%.c - $(CC) $(INCFLAGS) $(CFLAGS) -c $< -o $@ + $(CC) $(INCFLAGS) $(ARGS) $(CFLAGS) -c $< -o $@ openocd: openocd -f interface/stlink.cfg -f target/stm32g0x.cfg -flash: +rx_flash: st-flash --flash=512k --freq=4M --format=binary --reset \ - --connect-under-reset write image.bin 0x8000000 + --connect-under-reset write rx.bin 0x8000000 + +tx_flash: + st-flash --flash=512k --freq=4M --format=binary --reset \ + --connect-under-reset write tx.bin 0x8000000 + +# flash: +# st-flash --flash=512k --freq=4M --format=binary --reset \ +# --connect-under-reset write image.bin 0x8000000 clean: - rm -r image.elf image.bin obj diff --git a/image.bin b/image.bin deleted file mode 100755 index 64888617a8d5f196e3e85aadb3135343d4bba281..0000000000000000000000000000000000000000 Binary files a/image.bin and /dev/null differ diff --git a/image.elf b/image.elf deleted file mode 100755 index 793f2a2fb9693d1eacc98d01702fa577d4a0ff23..0000000000000000000000000000000000000000 Binary files a/image.elf and /dev/null differ diff --git a/obj/callbacks.o b/obj/callbacks.o deleted file mode 100644 index a23d9b850fc0656b120fb1058fa945aa183f4e03..0000000000000000000000000000000000000000 Binary files a/obj/callbacks.o and /dev/null differ diff --git a/obj/config.o b/obj/config.o deleted file mode 100644 index 018859948b8e77882c1a7ae52c2b9ac393e53674..0000000000000000000000000000000000000000 Binary files a/obj/config.o and /dev/null differ diff --git a/obj/drivers/stm32g0xx_hal.o b/obj/drivers/stm32g0xx_hal.o deleted file mode 100644 index d2a19b5fdace9ce4b78b0148b4311a075db9f688..0000000000000000000000000000000000000000 Binary files a/obj/drivers/stm32g0xx_hal.o and /dev/null differ diff --git a/obj/drivers/stm32g0xx_hal_cortex.o b/obj/drivers/stm32g0xx_hal_cortex.o deleted file mode 100644 index 41e43b210371677fb468b7f48e7b421414551f21..0000000000000000000000000000000000000000 Binary files a/obj/drivers/stm32g0xx_hal_cortex.o and /dev/null differ diff --git a/obj/drivers/stm32g0xx_hal_fdcan.o b/obj/drivers/stm32g0xx_hal_fdcan.o deleted file mode 100644 index 439347c810e1c6f4711b019e931546b535b459c1..0000000000000000000000000000000000000000 Binary files a/obj/drivers/stm32g0xx_hal_fdcan.o and /dev/null differ diff --git a/obj/drivers/stm32g0xx_hal_flash.o b/obj/drivers/stm32g0xx_hal_flash.o deleted file mode 100644 index f140e1307b787ee59010b694a2b2714659352f0c..0000000000000000000000000000000000000000 Binary files a/obj/drivers/stm32g0xx_hal_flash.o and /dev/null differ diff --git a/obj/drivers/stm32g0xx_hal_flash_ex.o b/obj/drivers/stm32g0xx_hal_flash_ex.o deleted file mode 100644 index c0f3efb691607f5abcedda5410805947e359de95..0000000000000000000000000000000000000000 Binary files a/obj/drivers/stm32g0xx_hal_flash_ex.o and /dev/null differ diff --git a/obj/drivers/stm32g0xx_hal_gpio.o b/obj/drivers/stm32g0xx_hal_gpio.o deleted file mode 100644 index 3f1c2495c916a275c9c49bcc4a1b5e0d795871a8..0000000000000000000000000000000000000000 Binary files a/obj/drivers/stm32g0xx_hal_gpio.o and /dev/null differ diff --git a/obj/drivers/stm32g0xx_hal_pwr.o b/obj/drivers/stm32g0xx_hal_pwr.o deleted file mode 100644 index 5e39a3b90a970dcf2391877fec31870f76f7b2be..0000000000000000000000000000000000000000 Binary files a/obj/drivers/stm32g0xx_hal_pwr.o and /dev/null differ diff --git a/obj/drivers/stm32g0xx_hal_pwr_ex.o b/obj/drivers/stm32g0xx_hal_pwr_ex.o deleted file mode 100644 index e64b1c3b7f1da3fc43a0313eb664d7d2ae063b59..0000000000000000000000000000000000000000 Binary files a/obj/drivers/stm32g0xx_hal_pwr_ex.o and /dev/null differ diff --git a/obj/drivers/stm32g0xx_hal_rcc.o b/obj/drivers/stm32g0xx_hal_rcc.o deleted file mode 100644 index b4fd315204c2bc24200f66042201cd253a4de825..0000000000000000000000000000000000000000 Binary files a/obj/drivers/stm32g0xx_hal_rcc.o and /dev/null differ diff --git a/obj/drivers/stm32g0xx_hal_rcc_ex.o b/obj/drivers/stm32g0xx_hal_rcc_ex.o deleted file mode 100644 index a5389c87aeb4cbb7c40ccb35baef3ba5571c1978..0000000000000000000000000000000000000000 Binary files a/obj/drivers/stm32g0xx_hal_rcc_ex.o and /dev/null differ diff --git a/obj/drivers/system_stm32g0xx.o b/obj/drivers/system_stm32g0xx.o deleted file mode 100644 index a2d78bc5e4c249cab2963fe37a7f3bdae7e82c32..0000000000000000000000000000000000000000 Binary files a/obj/drivers/system_stm32g0xx.o and /dev/null differ diff --git a/obj/main.o b/obj/main.o deleted file mode 100644 index 538cbc41c9d357383dd2ac8957b2c5205598e009..0000000000000000000000000000000000000000 Binary files a/obj/main.o and /dev/null differ diff --git a/obj/stm32g0xx_it.o b/obj/stm32g0xx_it.o deleted file mode 100644 index b6d444dbef1082e37632b45c867a74a83deac3c5..0000000000000000000000000000000000000000 Binary files a/obj/stm32g0xx_it.o and /dev/null differ diff --git a/src/config.c b/src/config.c index 1cd257e3ffb8a843d00165e73d35e824c4fb9fb8..08afad43d6439af6c21384b77742bc1838a02292 100644 --- a/src/config.c +++ b/src/config.c @@ -21,11 +21,11 @@ void config_clock(void) { // undefined for now. This leaves the SysClk running at 170 MHz pll_config.PLLState = RCC_PLL_ON; pll_config.PLLSource = RCC_PLLSOURCE_HSI; - pll_config.PLLM = RCC_PLLM_DIV4; - pll_config.PLLN = 34; - pll_config.PLLP = RCC_PLLP_DIV8; - pll_config.PLLQ = RCC_PLLQ_DIV8; - pll_config.PLLR = RCC_PLLR_DIV3; + pll_config.PLLM = RCC_PLLM_DIV2; + pll_config.PLLN = 16; + pll_config.PLLP = RCC_PLLP_DIV16; + pll_config.PLLQ = RCC_PLLQ_DIV5; + pll_config.PLLR = RCC_PLLR_DIV2; osc_config.OscillatorType = RCC_OSCILLATORTYPE_HSI; osc_config.HSIState = RCC_HSICALIBRATION_DEFAULT; // do not choose BYPASS because we have @@ -130,8 +130,11 @@ void config_fdcan(FDCAN_HandleTypeDef *hcan) { hcan->Init = (FDCAN_InitTypeDef) { .ClockDivider = FDCAN_CLOCK_DIV10, .FrameFormat = FDCAN_FRAME_CLASSIC, - /* .Mode = FDCAN_MODE_NORMAL, */ +#if defined(RAM_CAN_NORMAL) + .Mode = FDCAN_MODE_NORMAL, +#elif defined(RAM_CAN_LOOPBACK) .Mode = FDCAN_MODE_EXTERNAL_LOOPBACK, +#endif .AutoRetransmission = ENABLE, .TransmitPause = ENABLE, .ProtocolException = DISABLE, diff --git a/src/main.c b/src/main.c index 2775ccc95e9e365a0d83abc9577f05bdebdcdede..b8690fae55aebe903a95f69456d5ed407371c97c 100644 --- a/src/main.c +++ b/src/main.c @@ -34,7 +34,9 @@ int main(void) { }; uint8_t thruster_tx_buf[8] = "AAAAAAA"; +#if defined(RAM_CAN_LOOPBACK) HAL_FDCAN_AddMessageToTxFifoQ(&hcan, &thruster_tx, thruster_tx_buf); +#endif FDCAN_TxEventFifoTypeDef event = {0}; HAL_FDCAN_GetTxEvent(&hcan, &event);