This commit is contained in:
hathach 2025-01-25 16:29:56 +07:00
parent 6b3a5957c2
commit 8c7998b0e9
No known key found for this signature in database
GPG Key ID: 26FAB84F615C3C52
11 changed files with 51 additions and 109 deletions

View File

@ -23,7 +23,6 @@
* *
*/ */
#if 1
#include <stdlib.h> #include <stdlib.h>
#include <stdio.h> #include <stdio.h>
#include <string.h> #include <string.h>
@ -52,7 +51,7 @@ int main(void) {
// Blink and print every interval ms // Blink and print every interval ms
if (!(board_millis() - start_ms < interval_ms)) { if (!(board_millis() - start_ms < interval_ms)) {
// board_uart_write(HELLO_STR, strlen(HELLO_STR)); board_uart_write(HELLO_STR, strlen(HELLO_STR));
start_ms = board_millis(); start_ms = board_millis();
@ -61,58 +60,13 @@ int main(void) {
} }
// echo // echo
// uint8_t ch; uint8_t ch;
// if (board_uart_read(&ch, 1) > 0) { if (board_uart_read(&ch, 1) > 0) {
// board_uart_write(&ch, 1); board_uart_write(&ch, 1);
// } }
} }
} }
#else
#include <stdio.h>
#include <zephyr/kernel.h>
#include <zephyr/drivers/gpio.h>
/* 1000 msec = 1 sec */
#define SLEEP_TIME_MS 200
/* The devicetree node identifier for the "led0" alias. */
#define LED0_NODE DT_ALIAS(led0)
/*
* A build error on this line means your board is unsupported.
* See the sample documentation for information on how to fix this.
*/
static const struct gpio_dt_spec led = GPIO_DT_SPEC_GET(LED0_NODE, gpios);
int main(void)
{
int ret;
bool led_state = true;
if (!gpio_is_ready_dt(&led)) {
return 0;
}
ret = gpio_pin_configure_dt(&led, GPIO_OUTPUT_ACTIVE);
if (ret < 0) {
return 0;
}
while (1) {
ret = gpio_pin_toggle_dt(&led);
if (ret < 0) {
return 0;
}
led_state = !led_state;
printf("LED state: %s\n", led_state ? "ON" : "OFF");
k_msleep(SLEEP_TIME_MS);
}
return 0;
}
#endif
#if TUSB_MCU_VENDOR_ESPRESSIF #if TUSB_MCU_VENDOR_ESPRESSIF
void app_main(void) { void app_main(void) {
main(); main();

View File

@ -346,29 +346,29 @@ endfunction()
# RPI specific: refactor later # RPI specific: refactor later
#---------------------------------- #----------------------------------
function(family_add_default_example_warnings TARGET) function(family_add_default_example_warnings TARGET)
# target_compile_options(${TARGET} PUBLIC target_compile_options(${TARGET} PUBLIC
# -Wall -Wall
# -Wextra -Wextra
# -Werror -Werror
# -Wfatal-errors -Wfatal-errors
# -Wdouble-promotion -Wdouble-promotion
# -Wfloat-equal -Wfloat-equal
# # FIXME commented out because of https://github.com/raspberrypi/pico-sdk/issues/1468 # FIXME commented out because of https://github.com/raspberrypi/pico-sdk/issues/1468
# #-Wshadow #-Wshadow
# -Wwrite-strings -Wwrite-strings
# -Wsign-compare -Wsign-compare
# -Wmissing-format-attribute -Wmissing-format-attribute
# -Wunreachable-code -Wunreachable-code
# -Wcast-align -Wcast-align
# -Wcast-qual -Wcast-qual
# -Wnull-dereference -Wnull-dereference
# -Wuninitialized -Wuninitialized
# -Wunused -Wunused
# -Wredundant-decls -Wredundant-decls
# #-Wstrict-prototypes #-Wstrict-prototypes
# #-Werror-implicit-function-declaration #-Werror-implicit-function-declaration
# #-Wundef #-Wundef
# ) )
if (CMAKE_C_COMPILER_ID STREQUAL "GNU") if (CMAKE_C_COMPILER_ID STREQUAL "GNU")
if (CMAKE_C_COMPILER_VERSION VERSION_GREATER_EQUAL 12.0 AND NO_WARN_RWX_SEGMENTS_SUPPORTED) if (CMAKE_C_COMPILER_VERSION VERSION_GREATER_EQUAL 12.0 AND NO_WARN_RWX_SEGMENTS_SUPPORTED)

View File

@ -42,6 +42,10 @@
#include "bsp/board_api.h" #include "bsp/board_api.h"
#include "board.h" #include "board.h"
extern void USB_IRQHandler(void);
extern void SysTick_Handler(void);
void SystemInit(void);
//--------------------------------------------------------------------+ //--------------------------------------------------------------------+
// Forward USB interrupt events to TinyUSB IRQ Handler // Forward USB interrupt events to TinyUSB IRQ Handler
//--------------------------------------------------------------------+ //--------------------------------------------------------------------+

View File

@ -49,7 +49,10 @@ function(add_board_target BOARD_TARGET)
update_board(${BOARD_TARGET}) update_board(${BOARD_TARGET})
if (CMAKE_C_COMPILER_ID STREQUAL "GNU") if (CMAKE_C_COMPILER_ID STREQUAL "GNU")
target_compile_options(${BOARD_TARGET} PUBLIC -nostdlib) target_compile_options(${BOARD_TARGET} PUBLIC
-nostdlib
-Wno-error=incompatible-pointer-types
)
target_link_options(${BOARD_TARGET} PUBLIC target_link_options(${BOARD_TARGET} PUBLIC
"LINKER:--script=${LD_FILE_GNU}" "LINKER:--script=${LD_FILE_GNU}"
--specs=nosys.specs --specs=nano.specs --specs=nosys.specs --specs=nano.specs

View File

@ -32,6 +32,11 @@
#include "bsp/board_api.h" #include "bsp/board_api.h"
#include "board.h" #include "board.h"
extern void USB0_IRQHandler(void);
extern void USB1_IRQHandler(void);
extern void SysTick_Handler(void);
void SystemInit(void);
//--------------------------------------------------------------------+ //--------------------------------------------------------------------+
// USB Interrupt Handler // USB Interrupt Handler
//--------------------------------------------------------------------+ //--------------------------------------------------------------------+

View File

@ -12,7 +12,7 @@ CFLAGS += \
-DCFG_TUSB_MCU=OPT_MCU_LPC18XX -DCFG_TUSB_MCU=OPT_MCU_LPC18XX
# mcu driver cause following warnings # mcu driver cause following warnings
CFLAGS += -Wno-error=unused-parameter -Wno-error=strict-prototypes -Wno-error=cast-qual CFLAGS += -Wno-error=unused-parameter -Wno-error=cast-qual
LDFLAGS_GCC += --specs=nosys.specs --specs=nano.specs LDFLAGS_GCC += --specs=nosys.specs --specs=nano.specs

View File

@ -47,6 +47,11 @@
const uint32_t OscRateIn = 12000000; const uint32_t OscRateIn = 12000000;
const uint32_t ExtRateIn = 0; const uint32_t ExtRateIn = 0;
extern void USB0_IRQHandler(void);
extern void USB1_IRQHandler(void);
extern void SysTick_Handler(void);
void SystemInit(void);
/*------------------------------------------------------------------*/ /*------------------------------------------------------------------*/
/* BOARD API /* BOARD API
*------------------------------------------------------------------*/ *------------------------------------------------------------------*/

View File

@ -51,7 +51,10 @@ function(add_board_target BOARD_TARGET)
update_board(${BOARD_TARGET}) update_board(${BOARD_TARGET})
if (CMAKE_C_COMPILER_ID STREQUAL "GNU") if (CMAKE_C_COMPILER_ID STREQUAL "GNU")
target_compile_options(${BOARD_TARGET} PUBLIC -nostdlib) target_compile_options(${BOARD_TARGET} PUBLIC
-nostdlib
-Wno-error=incompatible-pointer-types
)
target_link_options(${BOARD_TARGET} PUBLIC target_link_options(${BOARD_TARGET} PUBLIC
"LINKER:--script=${LD_FILE_GNU}" "LINKER:--script=${LD_FILE_GNU}"
--specs=nosys.specs --specs=nano.specs --specs=nosys.specs --specs=nano.specs

View File

@ -14,7 +14,6 @@ CFLAGS += \
# mcu driver cause following warnings # mcu driver cause following warnings
CFLAGS += \ CFLAGS += \
-Wno-error=unused-parameter \ -Wno-error=unused-parameter \
-Wno-error=strict-prototypes \
-Wno-error=cast-qual \ -Wno-error=cast-qual \
-Wno-error=incompatible-pointer-types \ -Wno-error=incompatible-pointer-types \

View File

@ -45,6 +45,7 @@ SRC_C += \
INC += \ INC += \
$(TOP)/$(BOARD_PATH) \ $(TOP)/$(BOARD_PATH) \
$(TOP)/$(FAMILY_PATH)/nrfx_config \
$(TOP)/lib/CMSIS_5/CMSIS/Core/Include \ $(TOP)/lib/CMSIS_5/CMSIS/Core/Include \
$(TOP)/${NRFX_PATH} \ $(TOP)/${NRFX_PATH} \
$(TOP)/${NRFX_PATH}/mdk \ $(TOP)/${NRFX_PATH}/mdk \

View File

@ -40,35 +40,3 @@ function(tinyusb_target_add TARGET)
${CMAKE_CURRENT_FUNCTION_LIST_DIR}/../lib/networking ${CMAKE_CURRENT_FUNCTION_LIST_DIR}/../lib/networking
) )
endfunction() endfunction()
#------------------------------------
# TinyUSB as library target
#------------------------------------
#if (NOT DEFINED TINYUSB_TARGET)
# set(TINYUSB_TARGET "tinyusb")
#endif ()
#
#set(TINYUSB_CONFIG_TARGET "${TINYUSB_TARGET}_config")
#
#if (DEFINED TINYUSB_TARGET_PREFIX)
# set(TINYUSB_TARGET "${TINYUSB_TARGET_PREFIX}${TINYUSB_TARGET}")
# set(TINYUSB_CONFIG_TARGET "${TINYUSB_TARGET_PREFIX}${TINYUSB_CONFIG_TARGET}")
#endif ()
#
#if (DEFINED TINYUSB_TARGET_SUFFIX)
# set(TINYUSB_TARGET "${TINYUSB_TARGET}${TINYUSB_TARGET_SUFFIX}")
# set(TINYUSB_CONFIG_TARGET "${TINYUSB_CONFIG_TARGET}${TINYUSB_TARGET_SUFFIX}")
#endif ()
#
#add_library(${TINYUSB_TARGET} STATIC)
#tinyusb_target_add(${TINYUSB_TARGET})
#
## Check if tinyusb_config target is defined
#if (NOT TARGET ${TINYUSB_CONFIG_TARGET})
# message(FATAL_ERROR "${TINYUSB_CONFIG_TARGET} target is not defined")
#endif()
#
## Link with tinyusb_config target
#target_link_libraries(${TINYUSB_TARGET} PUBLIC
# ${TINYUSB_CONFIG_TARGET}
# )