diff --git a/.bazelrc b/.bazelrc new file mode 100644 index 00000000..21d2703b --- /dev/null +++ b/.bazelrc @@ -0,0 +1 @@ +build --incompatible_enable_cc_toolchain_resolution \ No newline at end of file diff --git a/.gitignore b/.gitignore new file mode 100644 index 00000000..dbd02668 --- /dev/null +++ b/.gitignore @@ -0,0 +1,2 @@ +# Bazel specific files +bazel-* \ No newline at end of file diff --git a/BUILD.bazel b/BUILD.bazel new file mode 100644 index 00000000..6a8c3056 --- /dev/null +++ b/BUILD.bazel @@ -0,0 +1,920 @@ +load("@bazel_skylib//lib:selects.bzl", "selects") + +package(default_visibility = ["//visibility:public"]) + +constraint_setting( + name = "device", +) + +constraint_value( + name = "stm32wl55xx_cm0", + constraint_setting = ":device", +) + +constraint_value( + name = "stm32wl55xx_cm4", + constraint_setting = ":device", +) + +constraint_value( + name = "stm32wle5xx", + constraint_setting = ":device", +) + +constraint_value( + name = "stm32wl54xx_cm0", + constraint_setting = ":device", +) + +constraint_value( + name = "stm32wl54xx_cm4", + constraint_setting = ":device", +) + +constraint_value( + name = "stm32wle4xx", + constraint_setting = ":device", +) + +platform( + name = "stm32wl55xx_cortex_m0", + constraint_values = [":stm32wl55xx_cm0"], + parents = ["@bazel_embedded//platforms:cortex_m0"], +) + +platform( + name = "stm32wl55xx_cortex_m4", + constraint_values = [":stm32wl55xx_cm4"], + parents = ["@bazel_embedded//platforms:cortex_m4"], +) + +platform( + name = "stm32wle5xx_cortex_m4", + constraint_values = [":stm32wle5xx"], + parents = ["@bazel_embedded//platforms:cortex_m4"], +) + +platform( + name = "stm32wl54xx_cortex_m0", + constraint_values = [":stm32wl54xx_cm0"], + parents = ["@bazel_embedded//platforms:cortex_m0"], +) + +platform( + name = "stm32wl54xx_cortex_m4", + constraint_values = [":stm32wl54xx_cm4"], + parents = ["@bazel_embedded//platforms:cortex_m4"], +) + +platform( + name = "stm32wle4xx_cortex_m4", + constraint_values = [":stm32wle4xx"], + parents = ["@bazel_embedded//platforms:cortex_m4"], +) + +cc_library( + name = "empty", +) + +label_flag( + name = "certificate_authority_config", + build_setting_default = ":empty", +) + +label_flag( + name = "lorawan_config", + build_setting_default = "//Projects/NUCLEO-WL55JC/Applications/LoRaWAN/LoRaWAN_End_Node:lorawan_config", +) + +label_flag( + name = "meters_config", + build_setting_default = ":empty", +) + +label_flag( + name = "middleware_log_config", + build_setting_default = "//Projects/NUCLEO-WL55JC/Applications/LoRaWAN/LoRaWAN_End_Node:middleware_log_config", +) + +label_flag( + name = "radio_config", + build_setting_default = "//Projects/NUCLEO-WL55JC/Applications/LoRaWAN/LoRaWAN_End_Node:radio_config", +) + +label_flag( + name = "stm32wlxx_hal_config", + build_setting_default = "//Projects/NUCLEO-WL55JC/Applications/LoRaWAN/LoRaWAN_End_Node:stm32wlxx_hal_config", +) + +label_flag( + name = "stm32wlxx_nucleo_config", + build_setting_default = "//Projects/NUCLEO-WL55JC/Applications/LoRaWAN/LoRaWAN_End_Node:stm32wlxx_nucleo_config", +) + +label_flag( + name = "sys_config", + build_setting_default = "//Projects/NUCLEO-WL55JC/Applications/LoRaWAN/LoRaWAN_End_Node:sys_config", +) + +label_flag( + name = "utilities_config", + build_setting_default = "//Projects/NUCLEO-WL55JC/Applications/LoRaWAN/LoRaWAN_End_Node:utilities_config", +) + +DEFINES = select({ + "@platforms//cpu:armv6-m": ["CORE_CM0PLUS"], + "@platforms//cpu:armv7e-m": ["CORE_CM4"], +}) + selects.with_or({ + (":stm32wl54xx_cm0", ":stm32wl54xx_cm4"): [ + "STM32WL54xx", + "DUAL_CORE", + ], + (":stm32wl55xx_cm0", ":stm32wl55xx_cm4"): [ + "STM32WL55xx", + "DUAL_CORE", + ], + ":stm32wle4xx": ["STM32WLE4xx"], + ":stm32wle5xx": ["STM32WLE5xx"], +}) + +TARGET_COMPATIBLE_WITH = select({ + "@platforms//cpu:armv6-m": [], + "@platforms//cpu:armv7e-m": [], + "//conditions:default": ["@platforms//:incompatible"], +}) + +# Drivers/CMSIS +cc_library( + name = "stm32_cmsis_driver", + srcs = [ + "Drivers/CMSIS/DSP/Source/BasicMathFunctions/arm_abs_f32.c", + "Drivers/CMSIS/DSP/Source/BasicMathFunctions/arm_abs_q15.c", + "Drivers/CMSIS/DSP/Source/BasicMathFunctions/arm_abs_q31.c", + "Drivers/CMSIS/DSP/Source/BasicMathFunctions/arm_abs_q7.c", + "Drivers/CMSIS/DSP/Source/BasicMathFunctions/arm_add_f32.c", + "Drivers/CMSIS/DSP/Source/BasicMathFunctions/arm_add_q15.c", + "Drivers/CMSIS/DSP/Source/BasicMathFunctions/arm_add_q31.c", + "Drivers/CMSIS/DSP/Source/BasicMathFunctions/arm_add_q7.c", + "Drivers/CMSIS/DSP/Source/BasicMathFunctions/arm_dot_prod_f32.c", + "Drivers/CMSIS/DSP/Source/BasicMathFunctions/arm_dot_prod_q15.c", + "Drivers/CMSIS/DSP/Source/BasicMathFunctions/arm_dot_prod_q31.c", + "Drivers/CMSIS/DSP/Source/BasicMathFunctions/arm_dot_prod_q7.c", + "Drivers/CMSIS/DSP/Source/BasicMathFunctions/arm_mult_f32.c", + "Drivers/CMSIS/DSP/Source/BasicMathFunctions/arm_mult_q15.c", + "Drivers/CMSIS/DSP/Source/BasicMathFunctions/arm_mult_q31.c", + "Drivers/CMSIS/DSP/Source/BasicMathFunctions/arm_mult_q7.c", + "Drivers/CMSIS/DSP/Source/BasicMathFunctions/arm_negate_f32.c", + "Drivers/CMSIS/DSP/Source/BasicMathFunctions/arm_negate_q15.c", + "Drivers/CMSIS/DSP/Source/BasicMathFunctions/arm_negate_q31.c", + "Drivers/CMSIS/DSP/Source/BasicMathFunctions/arm_negate_q7.c", + "Drivers/CMSIS/DSP/Source/BasicMathFunctions/arm_offset_f32.c", + "Drivers/CMSIS/DSP/Source/BasicMathFunctions/arm_offset_q15.c", + "Drivers/CMSIS/DSP/Source/BasicMathFunctions/arm_offset_q31.c", + "Drivers/CMSIS/DSP/Source/BasicMathFunctions/arm_offset_q7.c", + "Drivers/CMSIS/DSP/Source/BasicMathFunctions/arm_scale_f32.c", + "Drivers/CMSIS/DSP/Source/BasicMathFunctions/arm_scale_q15.c", + "Drivers/CMSIS/DSP/Source/BasicMathFunctions/arm_scale_q31.c", + "Drivers/CMSIS/DSP/Source/BasicMathFunctions/arm_scale_q7.c", + "Drivers/CMSIS/DSP/Source/BasicMathFunctions/arm_shift_q15.c", + "Drivers/CMSIS/DSP/Source/BasicMathFunctions/arm_shift_q31.c", + "Drivers/CMSIS/DSP/Source/BasicMathFunctions/arm_shift_q7.c", + "Drivers/CMSIS/DSP/Source/BasicMathFunctions/arm_sub_f32.c", + "Drivers/CMSIS/DSP/Source/BasicMathFunctions/arm_sub_q15.c", + "Drivers/CMSIS/DSP/Source/BasicMathFunctions/arm_sub_q31.c", + "Drivers/CMSIS/DSP/Source/BasicMathFunctions/arm_sub_q7.c", + "Drivers/CMSIS/DSP/Source/CommonTables/arm_common_tables.c", + "Drivers/CMSIS/DSP/Source/CommonTables/arm_const_structs.c", + "Drivers/CMSIS/DSP/Source/ComplexMathFunctions/arm_cmplx_conj_f32.c", + "Drivers/CMSIS/DSP/Source/ComplexMathFunctions/arm_cmplx_conj_q15.c", + "Drivers/CMSIS/DSP/Source/ComplexMathFunctions/arm_cmplx_conj_q31.c", + "Drivers/CMSIS/DSP/Source/ComplexMathFunctions/arm_cmplx_dot_prod_f32.c", + "Drivers/CMSIS/DSP/Source/ComplexMathFunctions/arm_cmplx_dot_prod_q15.c", + "Drivers/CMSIS/DSP/Source/ComplexMathFunctions/arm_cmplx_dot_prod_q31.c", + "Drivers/CMSIS/DSP/Source/ComplexMathFunctions/arm_cmplx_mag_f32.c", + "Drivers/CMSIS/DSP/Source/ComplexMathFunctions/arm_cmplx_mag_q15.c", + "Drivers/CMSIS/DSP/Source/ComplexMathFunctions/arm_cmplx_mag_q31.c", + "Drivers/CMSIS/DSP/Source/ComplexMathFunctions/arm_cmplx_mag_squared_f32.c", + "Drivers/CMSIS/DSP/Source/ComplexMathFunctions/arm_cmplx_mag_squared_q15.c", + "Drivers/CMSIS/DSP/Source/ComplexMathFunctions/arm_cmplx_mag_squared_q31.c", + "Drivers/CMSIS/DSP/Source/ComplexMathFunctions/arm_cmplx_mult_cmplx_f32.c", + "Drivers/CMSIS/DSP/Source/ComplexMathFunctions/arm_cmplx_mult_cmplx_q15.c", + "Drivers/CMSIS/DSP/Source/ComplexMathFunctions/arm_cmplx_mult_cmplx_q31.c", + "Drivers/CMSIS/DSP/Source/ComplexMathFunctions/arm_cmplx_mult_real_f32.c", + "Drivers/CMSIS/DSP/Source/ComplexMathFunctions/arm_cmplx_mult_real_q15.c", + "Drivers/CMSIS/DSP/Source/ComplexMathFunctions/arm_cmplx_mult_real_q31.c", + "Drivers/CMSIS/DSP/Source/ControllerFunctions/arm_pid_init_f32.c", + "Drivers/CMSIS/DSP/Source/ControllerFunctions/arm_pid_init_q15.c", + "Drivers/CMSIS/DSP/Source/ControllerFunctions/arm_pid_init_q31.c", + "Drivers/CMSIS/DSP/Source/ControllerFunctions/arm_pid_reset_f32.c", + "Drivers/CMSIS/DSP/Source/ControllerFunctions/arm_pid_reset_q15.c", + "Drivers/CMSIS/DSP/Source/ControllerFunctions/arm_pid_reset_q31.c", + "Drivers/CMSIS/DSP/Source/ControllerFunctions/arm_sin_cos_f32.c", + "Drivers/CMSIS/DSP/Source/ControllerFunctions/arm_sin_cos_q31.c", + "Drivers/CMSIS/DSP/Source/FastMathFunctions/arm_cos_f32.c", + "Drivers/CMSIS/DSP/Source/FastMathFunctions/arm_cos_q15.c", + "Drivers/CMSIS/DSP/Source/FastMathFunctions/arm_cos_q31.c", + "Drivers/CMSIS/DSP/Source/FastMathFunctions/arm_sin_f32.c", + "Drivers/CMSIS/DSP/Source/FastMathFunctions/arm_sin_q15.c", + "Drivers/CMSIS/DSP/Source/FastMathFunctions/arm_sin_q31.c", + "Drivers/CMSIS/DSP/Source/FastMathFunctions/arm_sqrt_q15.c", + "Drivers/CMSIS/DSP/Source/FastMathFunctions/arm_sqrt_q31.c", + "Drivers/CMSIS/DSP/Source/FilteringFunctions/arm_biquad_cascade_df1_32x64_init_q31.c", + "Drivers/CMSIS/DSP/Source/FilteringFunctions/arm_biquad_cascade_df1_32x64_q31.c", + "Drivers/CMSIS/DSP/Source/FilteringFunctions/arm_biquad_cascade_df1_f32.c", + "Drivers/CMSIS/DSP/Source/FilteringFunctions/arm_biquad_cascade_df1_fast_q15.c", + "Drivers/CMSIS/DSP/Source/FilteringFunctions/arm_biquad_cascade_df1_fast_q31.c", + "Drivers/CMSIS/DSP/Source/FilteringFunctions/arm_biquad_cascade_df1_init_f32.c", + "Drivers/CMSIS/DSP/Source/FilteringFunctions/arm_biquad_cascade_df1_init_q15.c", + "Drivers/CMSIS/DSP/Source/FilteringFunctions/arm_biquad_cascade_df1_init_q31.c", + "Drivers/CMSIS/DSP/Source/FilteringFunctions/arm_biquad_cascade_df1_q15.c", + "Drivers/CMSIS/DSP/Source/FilteringFunctions/arm_biquad_cascade_df1_q31.c", + "Drivers/CMSIS/DSP/Source/FilteringFunctions/arm_biquad_cascade_df2T_f32.c", + "Drivers/CMSIS/DSP/Source/FilteringFunctions/arm_biquad_cascade_df2T_f64.c", + "Drivers/CMSIS/DSP/Source/FilteringFunctions/arm_biquad_cascade_df2T_init_f32.c", + "Drivers/CMSIS/DSP/Source/FilteringFunctions/arm_biquad_cascade_df2T_init_f64.c", + "Drivers/CMSIS/DSP/Source/FilteringFunctions/arm_biquad_cascade_stereo_df2T_f32.c", + "Drivers/CMSIS/DSP/Source/FilteringFunctions/arm_biquad_cascade_stereo_df2T_init_f32.c", + "Drivers/CMSIS/DSP/Source/FilteringFunctions/arm_conv_f32.c", + "Drivers/CMSIS/DSP/Source/FilteringFunctions/arm_conv_fast_opt_q15.c", + "Drivers/CMSIS/DSP/Source/FilteringFunctions/arm_conv_fast_q15.c", + "Drivers/CMSIS/DSP/Source/FilteringFunctions/arm_conv_fast_q31.c", + "Drivers/CMSIS/DSP/Source/FilteringFunctions/arm_conv_opt_q15.c", + "Drivers/CMSIS/DSP/Source/FilteringFunctions/arm_conv_opt_q7.c", + "Drivers/CMSIS/DSP/Source/FilteringFunctions/arm_conv_partial_f32.c", + "Drivers/CMSIS/DSP/Source/FilteringFunctions/arm_conv_partial_fast_opt_q15.c", + "Drivers/CMSIS/DSP/Source/FilteringFunctions/arm_conv_partial_fast_q15.c", + "Drivers/CMSIS/DSP/Source/FilteringFunctions/arm_conv_partial_fast_q31.c", + "Drivers/CMSIS/DSP/Source/FilteringFunctions/arm_conv_partial_opt_q15.c", + "Drivers/CMSIS/DSP/Source/FilteringFunctions/arm_conv_partial_opt_q7.c", + "Drivers/CMSIS/DSP/Source/FilteringFunctions/arm_conv_partial_q15.c", + "Drivers/CMSIS/DSP/Source/FilteringFunctions/arm_conv_partial_q31.c", + "Drivers/CMSIS/DSP/Source/FilteringFunctions/arm_conv_partial_q7.c", + "Drivers/CMSIS/DSP/Source/FilteringFunctions/arm_conv_q15.c", + "Drivers/CMSIS/DSP/Source/FilteringFunctions/arm_conv_q31.c", + "Drivers/CMSIS/DSP/Source/FilteringFunctions/arm_conv_q7.c", + "Drivers/CMSIS/DSP/Source/FilteringFunctions/arm_correlate_f32.c", + "Drivers/CMSIS/DSP/Source/FilteringFunctions/arm_correlate_fast_opt_q15.c", + "Drivers/CMSIS/DSP/Source/FilteringFunctions/arm_correlate_fast_q15.c", + "Drivers/CMSIS/DSP/Source/FilteringFunctions/arm_correlate_fast_q31.c", + "Drivers/CMSIS/DSP/Source/FilteringFunctions/arm_correlate_opt_q15.c", + "Drivers/CMSIS/DSP/Source/FilteringFunctions/arm_correlate_opt_q7.c", + "Drivers/CMSIS/DSP/Source/FilteringFunctions/arm_correlate_q15.c", + "Drivers/CMSIS/DSP/Source/FilteringFunctions/arm_correlate_q31.c", + "Drivers/CMSIS/DSP/Source/FilteringFunctions/arm_correlate_q7.c", + "Drivers/CMSIS/DSP/Source/FilteringFunctions/arm_fir_decimate_f32.c", + "Drivers/CMSIS/DSP/Source/FilteringFunctions/arm_fir_decimate_fast_q15.c", + "Drivers/CMSIS/DSP/Source/FilteringFunctions/arm_fir_decimate_fast_q31.c", + "Drivers/CMSIS/DSP/Source/FilteringFunctions/arm_fir_decimate_init_f32.c", + "Drivers/CMSIS/DSP/Source/FilteringFunctions/arm_fir_decimate_init_q15.c", + "Drivers/CMSIS/DSP/Source/FilteringFunctions/arm_fir_decimate_init_q31.c", + "Drivers/CMSIS/DSP/Source/FilteringFunctions/arm_fir_decimate_q15.c", + "Drivers/CMSIS/DSP/Source/FilteringFunctions/arm_fir_decimate_q31.c", + "Drivers/CMSIS/DSP/Source/FilteringFunctions/arm_fir_f32.c", + "Drivers/CMSIS/DSP/Source/FilteringFunctions/arm_fir_fast_q15.c", + "Drivers/CMSIS/DSP/Source/FilteringFunctions/arm_fir_fast_q31.c", + "Drivers/CMSIS/DSP/Source/FilteringFunctions/arm_fir_init_f32.c", + "Drivers/CMSIS/DSP/Source/FilteringFunctions/arm_fir_init_q15.c", + "Drivers/CMSIS/DSP/Source/FilteringFunctions/arm_fir_init_q31.c", + "Drivers/CMSIS/DSP/Source/FilteringFunctions/arm_fir_init_q7.c", + "Drivers/CMSIS/DSP/Source/FilteringFunctions/arm_fir_interpolate_f32.c", + "Drivers/CMSIS/DSP/Source/FilteringFunctions/arm_fir_interpolate_init_f32.c", + "Drivers/CMSIS/DSP/Source/FilteringFunctions/arm_fir_interpolate_init_q15.c", + "Drivers/CMSIS/DSP/Source/FilteringFunctions/arm_fir_interpolate_init_q31.c", + "Drivers/CMSIS/DSP/Source/FilteringFunctions/arm_fir_interpolate_q15.c", + "Drivers/CMSIS/DSP/Source/FilteringFunctions/arm_fir_interpolate_q31.c", + "Drivers/CMSIS/DSP/Source/FilteringFunctions/arm_fir_lattice_f32.c", + "Drivers/CMSIS/DSP/Source/FilteringFunctions/arm_fir_lattice_init_f32.c", + "Drivers/CMSIS/DSP/Source/FilteringFunctions/arm_fir_lattice_init_q15.c", + "Drivers/CMSIS/DSP/Source/FilteringFunctions/arm_fir_lattice_init_q31.c", + "Drivers/CMSIS/DSP/Source/FilteringFunctions/arm_fir_lattice_q15.c", + "Drivers/CMSIS/DSP/Source/FilteringFunctions/arm_fir_lattice_q31.c", + "Drivers/CMSIS/DSP/Source/FilteringFunctions/arm_fir_q15.c", + "Drivers/CMSIS/DSP/Source/FilteringFunctions/arm_fir_q31.c", + "Drivers/CMSIS/DSP/Source/FilteringFunctions/arm_fir_q7.c", + "Drivers/CMSIS/DSP/Source/FilteringFunctions/arm_fir_sparse_f32.c", + "Drivers/CMSIS/DSP/Source/FilteringFunctions/arm_fir_sparse_init_f32.c", + "Drivers/CMSIS/DSP/Source/FilteringFunctions/arm_fir_sparse_init_q15.c", + "Drivers/CMSIS/DSP/Source/FilteringFunctions/arm_fir_sparse_init_q31.c", + "Drivers/CMSIS/DSP/Source/FilteringFunctions/arm_fir_sparse_init_q7.c", + "Drivers/CMSIS/DSP/Source/FilteringFunctions/arm_fir_sparse_q15.c", + "Drivers/CMSIS/DSP/Source/FilteringFunctions/arm_fir_sparse_q31.c", + "Drivers/CMSIS/DSP/Source/FilteringFunctions/arm_fir_sparse_q7.c", + "Drivers/CMSIS/DSP/Source/FilteringFunctions/arm_iir_lattice_f32.c", + "Drivers/CMSIS/DSP/Source/FilteringFunctions/arm_iir_lattice_init_f32.c", + "Drivers/CMSIS/DSP/Source/FilteringFunctions/arm_iir_lattice_init_q15.c", + "Drivers/CMSIS/DSP/Source/FilteringFunctions/arm_iir_lattice_init_q31.c", + "Drivers/CMSIS/DSP/Source/FilteringFunctions/arm_iir_lattice_q15.c", + "Drivers/CMSIS/DSP/Source/FilteringFunctions/arm_iir_lattice_q31.c", + "Drivers/CMSIS/DSP/Source/FilteringFunctions/arm_lms_f32.c", + "Drivers/CMSIS/DSP/Source/FilteringFunctions/arm_lms_init_f32.c", + "Drivers/CMSIS/DSP/Source/FilteringFunctions/arm_lms_init_q15.c", + "Drivers/CMSIS/DSP/Source/FilteringFunctions/arm_lms_init_q31.c", + "Drivers/CMSIS/DSP/Source/FilteringFunctions/arm_lms_norm_f32.c", + "Drivers/CMSIS/DSP/Source/FilteringFunctions/arm_lms_norm_init_f32.c", + "Drivers/CMSIS/DSP/Source/FilteringFunctions/arm_lms_norm_init_q15.c", + "Drivers/CMSIS/DSP/Source/FilteringFunctions/arm_lms_norm_init_q31.c", + "Drivers/CMSIS/DSP/Source/FilteringFunctions/arm_lms_norm_q15.c", + "Drivers/CMSIS/DSP/Source/FilteringFunctions/arm_lms_norm_q31.c", + "Drivers/CMSIS/DSP/Source/FilteringFunctions/arm_lms_q15.c", + "Drivers/CMSIS/DSP/Source/FilteringFunctions/arm_lms_q31.c", + "Drivers/CMSIS/DSP/Source/MatrixFunctions/arm_mat_add_f32.c", + "Drivers/CMSIS/DSP/Source/MatrixFunctions/arm_mat_add_q15.c", + "Drivers/CMSIS/DSP/Source/MatrixFunctions/arm_mat_add_q31.c", + "Drivers/CMSIS/DSP/Source/MatrixFunctions/arm_mat_cmplx_mult_f32.c", + "Drivers/CMSIS/DSP/Source/MatrixFunctions/arm_mat_cmplx_mult_q15.c", + "Drivers/CMSIS/DSP/Source/MatrixFunctions/arm_mat_cmplx_mult_q31.c", + "Drivers/CMSIS/DSP/Source/MatrixFunctions/arm_mat_init_f32.c", + "Drivers/CMSIS/DSP/Source/MatrixFunctions/arm_mat_init_q15.c", + "Drivers/CMSIS/DSP/Source/MatrixFunctions/arm_mat_init_q31.c", + "Drivers/CMSIS/DSP/Source/MatrixFunctions/arm_mat_inverse_f32.c", + "Drivers/CMSIS/DSP/Source/MatrixFunctions/arm_mat_inverse_f64.c", + "Drivers/CMSIS/DSP/Source/MatrixFunctions/arm_mat_mult_f32.c", + "Drivers/CMSIS/DSP/Source/MatrixFunctions/arm_mat_mult_fast_q15.c", + "Drivers/CMSIS/DSP/Source/MatrixFunctions/arm_mat_mult_fast_q31.c", + "Drivers/CMSIS/DSP/Source/MatrixFunctions/arm_mat_mult_q15.c", + "Drivers/CMSIS/DSP/Source/MatrixFunctions/arm_mat_mult_q31.c", + "Drivers/CMSIS/DSP/Source/MatrixFunctions/arm_mat_scale_f32.c", + "Drivers/CMSIS/DSP/Source/MatrixFunctions/arm_mat_scale_q15.c", + "Drivers/CMSIS/DSP/Source/MatrixFunctions/arm_mat_scale_q31.c", + "Drivers/CMSIS/DSP/Source/MatrixFunctions/arm_mat_sub_f32.c", + "Drivers/CMSIS/DSP/Source/MatrixFunctions/arm_mat_sub_q15.c", + "Drivers/CMSIS/DSP/Source/MatrixFunctions/arm_mat_sub_q31.c", + "Drivers/CMSIS/DSP/Source/MatrixFunctions/arm_mat_trans_f32.c", + "Drivers/CMSIS/DSP/Source/MatrixFunctions/arm_mat_trans_q15.c", + "Drivers/CMSIS/DSP/Source/MatrixFunctions/arm_mat_trans_q31.c", + "Drivers/CMSIS/DSP/Source/StatisticsFunctions/arm_max_f32.c", + "Drivers/CMSIS/DSP/Source/StatisticsFunctions/arm_max_q15.c", + "Drivers/CMSIS/DSP/Source/StatisticsFunctions/arm_max_q31.c", + "Drivers/CMSIS/DSP/Source/StatisticsFunctions/arm_max_q7.c", + "Drivers/CMSIS/DSP/Source/StatisticsFunctions/arm_mean_f32.c", + "Drivers/CMSIS/DSP/Source/StatisticsFunctions/arm_mean_q15.c", + "Drivers/CMSIS/DSP/Source/StatisticsFunctions/arm_mean_q31.c", + "Drivers/CMSIS/DSP/Source/StatisticsFunctions/arm_mean_q7.c", + "Drivers/CMSIS/DSP/Source/StatisticsFunctions/arm_min_f32.c", + "Drivers/CMSIS/DSP/Source/StatisticsFunctions/arm_min_q15.c", + "Drivers/CMSIS/DSP/Source/StatisticsFunctions/arm_min_q31.c", + "Drivers/CMSIS/DSP/Source/StatisticsFunctions/arm_min_q7.c", + "Drivers/CMSIS/DSP/Source/StatisticsFunctions/arm_power_f32.c", + "Drivers/CMSIS/DSP/Source/StatisticsFunctions/arm_power_q15.c", + "Drivers/CMSIS/DSP/Source/StatisticsFunctions/arm_power_q31.c", + "Drivers/CMSIS/DSP/Source/StatisticsFunctions/arm_power_q7.c", + "Drivers/CMSIS/DSP/Source/StatisticsFunctions/arm_rms_f32.c", + "Drivers/CMSIS/DSP/Source/StatisticsFunctions/arm_rms_q15.c", + "Drivers/CMSIS/DSP/Source/StatisticsFunctions/arm_rms_q31.c", + "Drivers/CMSIS/DSP/Source/StatisticsFunctions/arm_std_f32.c", + "Drivers/CMSIS/DSP/Source/StatisticsFunctions/arm_std_q15.c", + "Drivers/CMSIS/DSP/Source/StatisticsFunctions/arm_std_q31.c", + "Drivers/CMSIS/DSP/Source/StatisticsFunctions/arm_var_f32.c", + "Drivers/CMSIS/DSP/Source/StatisticsFunctions/arm_var_q15.c", + "Drivers/CMSIS/DSP/Source/StatisticsFunctions/arm_var_q31.c", + "Drivers/CMSIS/DSP/Source/SupportFunctions/arm_copy_f32.c", + "Drivers/CMSIS/DSP/Source/SupportFunctions/arm_copy_q15.c", + "Drivers/CMSIS/DSP/Source/SupportFunctions/arm_copy_q31.c", + "Drivers/CMSIS/DSP/Source/SupportFunctions/arm_copy_q7.c", + "Drivers/CMSIS/DSP/Source/SupportFunctions/arm_fill_f32.c", + "Drivers/CMSIS/DSP/Source/SupportFunctions/arm_fill_q15.c", + "Drivers/CMSIS/DSP/Source/SupportFunctions/arm_fill_q31.c", + "Drivers/CMSIS/DSP/Source/SupportFunctions/arm_fill_q7.c", + "Drivers/CMSIS/DSP/Source/SupportFunctions/arm_float_to_q15.c", + "Drivers/CMSIS/DSP/Source/SupportFunctions/arm_float_to_q31.c", + "Drivers/CMSIS/DSP/Source/SupportFunctions/arm_float_to_q7.c", + "Drivers/CMSIS/DSP/Source/SupportFunctions/arm_q15_to_float.c", + "Drivers/CMSIS/DSP/Source/SupportFunctions/arm_q15_to_q31.c", + "Drivers/CMSIS/DSP/Source/SupportFunctions/arm_q15_to_q7.c", + "Drivers/CMSIS/DSP/Source/SupportFunctions/arm_q31_to_float.c", + "Drivers/CMSIS/DSP/Source/SupportFunctions/arm_q31_to_q15.c", + "Drivers/CMSIS/DSP/Source/SupportFunctions/arm_q31_to_q7.c", + "Drivers/CMSIS/DSP/Source/SupportFunctions/arm_q7_to_float.c", + "Drivers/CMSIS/DSP/Source/SupportFunctions/arm_q7_to_q15.c", + "Drivers/CMSIS/DSP/Source/SupportFunctions/arm_q7_to_q31.c", + "Drivers/CMSIS/DSP/Source/TransformFunctions/arm_bitreversal.c", + "Drivers/CMSIS/DSP/Source/TransformFunctions/arm_bitreversal2.c", + "Drivers/CMSIS/DSP/Source/TransformFunctions/arm_cfft_f32.c", + "Drivers/CMSIS/DSP/Source/TransformFunctions/arm_cfft_q15.c", + "Drivers/CMSIS/DSP/Source/TransformFunctions/arm_cfft_q31.c", + "Drivers/CMSIS/DSP/Source/TransformFunctions/arm_cfft_radix2_f32.c", + "Drivers/CMSIS/DSP/Source/TransformFunctions/arm_cfft_radix2_init_f32.c", + "Drivers/CMSIS/DSP/Source/TransformFunctions/arm_cfft_radix2_init_q15.c", + "Drivers/CMSIS/DSP/Source/TransformFunctions/arm_cfft_radix2_init_q31.c", + "Drivers/CMSIS/DSP/Source/TransformFunctions/arm_cfft_radix2_q15.c", + "Drivers/CMSIS/DSP/Source/TransformFunctions/arm_cfft_radix2_q31.c", + "Drivers/CMSIS/DSP/Source/TransformFunctions/arm_cfft_radix4_f32.c", + "Drivers/CMSIS/DSP/Source/TransformFunctions/arm_cfft_radix4_init_f32.c", + "Drivers/CMSIS/DSP/Source/TransformFunctions/arm_cfft_radix4_init_q15.c", + "Drivers/CMSIS/DSP/Source/TransformFunctions/arm_cfft_radix4_init_q31.c", + "Drivers/CMSIS/DSP/Source/TransformFunctions/arm_cfft_radix4_q15.c", + "Drivers/CMSIS/DSP/Source/TransformFunctions/arm_cfft_radix4_q31.c", + "Drivers/CMSIS/DSP/Source/TransformFunctions/arm_cfft_radix8_f32.c", + "Drivers/CMSIS/DSP/Source/TransformFunctions/arm_dct4_f32.c", + "Drivers/CMSIS/DSP/Source/TransformFunctions/arm_dct4_init_f32.c", + "Drivers/CMSIS/DSP/Source/TransformFunctions/arm_dct4_init_q15.c", + "Drivers/CMSIS/DSP/Source/TransformFunctions/arm_dct4_init_q31.c", + "Drivers/CMSIS/DSP/Source/TransformFunctions/arm_dct4_q15.c", + "Drivers/CMSIS/DSP/Source/TransformFunctions/arm_dct4_q31.c", + "Drivers/CMSIS/DSP/Source/TransformFunctions/arm_rfft_f32.c", + "Drivers/CMSIS/DSP/Source/TransformFunctions/arm_rfft_fast_f32.c", + "Drivers/CMSIS/DSP/Source/TransformFunctions/arm_rfft_fast_init_f32.c", + "Drivers/CMSIS/DSP/Source/TransformFunctions/arm_rfft_init_f32.c", + "Drivers/CMSIS/DSP/Source/TransformFunctions/arm_rfft_init_q15.c", + "Drivers/CMSIS/DSP/Source/TransformFunctions/arm_rfft_init_q31.c", + "Drivers/CMSIS/DSP/Source/TransformFunctions/arm_rfft_q15.c", + "Drivers/CMSIS/DSP/Source/TransformFunctions/arm_rfft_q31.c", + "Drivers/CMSIS/NN/Source/ActivationFunctions/arm_nn_activations_q15.c", + "Drivers/CMSIS/NN/Source/ActivationFunctions/arm_nn_activations_q7.c", + "Drivers/CMSIS/NN/Source/ActivationFunctions/arm_relu_q15.c", + "Drivers/CMSIS/NN/Source/ActivationFunctions/arm_relu_q7.c", + "Drivers/CMSIS/NN/Source/ConvolutionFunctions/arm_convolve_1x1_HWC_q7_fast_nonsquare.c", + "Drivers/CMSIS/NN/Source/ConvolutionFunctions/arm_convolve_HWC_q15_basic.c", + "Drivers/CMSIS/NN/Source/ConvolutionFunctions/arm_convolve_HWC_q15_fast.c", + "Drivers/CMSIS/NN/Source/ConvolutionFunctions/arm_convolve_HWC_q15_fast_nonsquare.c", + "Drivers/CMSIS/NN/Source/ConvolutionFunctions/arm_convolve_HWC_q7_RGB.c", + "Drivers/CMSIS/NN/Source/ConvolutionFunctions/arm_convolve_HWC_q7_basic.c", + "Drivers/CMSIS/NN/Source/ConvolutionFunctions/arm_convolve_HWC_q7_basic_nonsquare.c", + "Drivers/CMSIS/NN/Source/ConvolutionFunctions/arm_convolve_HWC_q7_fast.c", + "Drivers/CMSIS/NN/Source/ConvolutionFunctions/arm_convolve_HWC_q7_fast_nonsquare.c", + "Drivers/CMSIS/NN/Source/ConvolutionFunctions/arm_depthwise_conv_u8_basic_ver1.c", + "Drivers/CMSIS/NN/Source/ConvolutionFunctions/arm_depthwise_separable_conv_HWC_q7.c", + "Drivers/CMSIS/NN/Source/ConvolutionFunctions/arm_depthwise_separable_conv_HWC_q7_nonsquare.c", + "Drivers/CMSIS/NN/Source/ConvolutionFunctions/arm_nn_mat_mult_kernel_q7_q15.c", + "Drivers/CMSIS/NN/Source/ConvolutionFunctions/arm_nn_mat_mult_kernel_q7_q15_reordered.c", + "Drivers/CMSIS/NN/Source/FullyConnectedFunctions/arm_fully_connected_mat_q7_vec_q15.c", + "Drivers/CMSIS/NN/Source/FullyConnectedFunctions/arm_fully_connected_mat_q7_vec_q15_opt.c", + "Drivers/CMSIS/NN/Source/FullyConnectedFunctions/arm_fully_connected_q15.c", + "Drivers/CMSIS/NN/Source/FullyConnectedFunctions/arm_fully_connected_q15_opt.c", + "Drivers/CMSIS/NN/Source/FullyConnectedFunctions/arm_fully_connected_q7.c", + "Drivers/CMSIS/NN/Source/FullyConnectedFunctions/arm_fully_connected_q7_opt.c", + "Drivers/CMSIS/NN/Source/NNSupportFunctions/arm_nn_mult_q15.c", + "Drivers/CMSIS/NN/Source/NNSupportFunctions/arm_nn_mult_q7.c", + "Drivers/CMSIS/NN/Source/NNSupportFunctions/arm_nntables.c", + "Drivers/CMSIS/NN/Source/NNSupportFunctions/arm_q7_to_q15_no_shift.c", + "Drivers/CMSIS/NN/Source/NNSupportFunctions/arm_q7_to_q15_reordered_no_shift.c", + "Drivers/CMSIS/NN/Source/PoolingFunctions/arm_pool_q7_HWC.c", + "Drivers/CMSIS/NN/Source/SoftmaxFunctions/arm_softmax_q15.c", + "Drivers/CMSIS/NN/Source/SoftmaxFunctions/arm_softmax_q7.c", + ], + hdrs = [ + "Drivers/CMSIS/Core/Include/cmsis_armcc.h", + "Drivers/CMSIS/Core/Include/cmsis_armclang.h", + "Drivers/CMSIS/Core/Include/cmsis_armclang_ltm.h", + "Drivers/CMSIS/Core/Include/cmsis_compiler.h", + "Drivers/CMSIS/Core/Include/cmsis_gcc.h", + "Drivers/CMSIS/Core/Include/cmsis_iccarm.h", + "Drivers/CMSIS/Core/Include/cmsis_version.h", + "Drivers/CMSIS/Core/Include/core_armv81mml.h", + "Drivers/CMSIS/Core/Include/core_armv8mbl.h", + "Drivers/CMSIS/Core/Include/core_armv8mml.h", + "Drivers/CMSIS/Core/Include/core_cm0.h", + "Drivers/CMSIS/Core/Include/core_cm0plus.h", + "Drivers/CMSIS/Core/Include/core_cm1.h", + "Drivers/CMSIS/Core/Include/core_cm23.h", + "Drivers/CMSIS/Core/Include/core_cm3.h", + "Drivers/CMSIS/Core/Include/core_cm33.h", + "Drivers/CMSIS/Core/Include/core_cm35p.h", + "Drivers/CMSIS/Core/Include/core_cm4.h", + "Drivers/CMSIS/Core/Include/core_cm7.h", + "Drivers/CMSIS/Core/Include/core_sc000.h", + "Drivers/CMSIS/Core/Include/core_sc300.h", + "Drivers/CMSIS/Core/Include/mpu_armv7.h", + "Drivers/CMSIS/Core/Include/mpu_armv8.h", + "Drivers/CMSIS/Core/Include/tz_context.h", + "Drivers/CMSIS/DSP/Include/arm_common_tables.h", + "Drivers/CMSIS/DSP/Include/arm_const_structs.h", + "Drivers/CMSIS/DSP/Include/arm_math.h", + "Drivers/CMSIS/Device/ST/STM32WLxx/Include/stm32wl54xx.h", + "Drivers/CMSIS/Device/ST/STM32WLxx/Include/stm32wl55xx.h", + "Drivers/CMSIS/Device/ST/STM32WLxx/Include/stm32wle4xx.h", + "Drivers/CMSIS/Device/ST/STM32WLxx/Include/stm32wle5xx.h", + "Drivers/CMSIS/Device/ST/STM32WLxx/Include/stm32wlxx.h", + "Drivers/CMSIS/Device/ST/STM32WLxx/Include/system_stm32wlxx.h", + "Drivers/CMSIS/Include/cmsis_armcc.h", + "Drivers/CMSIS/Include/cmsis_armclang.h", + "Drivers/CMSIS/Include/cmsis_armclang_ltm.h", + "Drivers/CMSIS/Include/cmsis_compiler.h", + "Drivers/CMSIS/Include/cmsis_gcc.h", + "Drivers/CMSIS/Include/cmsis_iccarm.h", + "Drivers/CMSIS/Include/cmsis_version.h", + "Drivers/CMSIS/Include/core_armv81mml.h", + "Drivers/CMSIS/Include/core_armv8mbl.h", + "Drivers/CMSIS/Include/core_armv8mml.h", + "Drivers/CMSIS/Include/core_cm0.h", + "Drivers/CMSIS/Include/core_cm0plus.h", + "Drivers/CMSIS/Include/core_cm1.h", + "Drivers/CMSIS/Include/core_cm23.h", + "Drivers/CMSIS/Include/core_cm3.h", + "Drivers/CMSIS/Include/core_cm33.h", + "Drivers/CMSIS/Include/core_cm35p.h", + "Drivers/CMSIS/Include/core_cm4.h", + "Drivers/CMSIS/Include/core_cm7.h", + "Drivers/CMSIS/Include/core_sc000.h", + "Drivers/CMSIS/Include/core_sc300.h", + "Drivers/CMSIS/Include/mpu_armv7.h", + "Drivers/CMSIS/Include/mpu_armv8.h", + "Drivers/CMSIS/Include/tz_context.h", + "Drivers/CMSIS/NN/Include/arm_nn_tables.h", + "Drivers/CMSIS/NN/Include/arm_nnfunctions.h", + "Drivers/CMSIS/NN/Include/arm_nnsupportfunctions.h", + "Drivers/CMSIS/RTOS2/Include/cmsis_os2.h", + "Drivers/CMSIS/RTOS2/Include/os_tick.h", + ], + defines = DEFINES, + includes = [ + "Drivers/CMSIS/Core/Include", + "Drivers/CMSIS/DSP/Include", + "Drivers/CMSIS/Device/Include", + "Drivers/CMSIS/Device/ST/STM32WLxx/Include", + "Drivers/CMSIS/Include", + "Drivers/CMSIS/NN/Include", + "Drivers/CMSIS/RTOS2/Include", + ], + target_compatible_with = TARGET_COMPATIBLE_WITH, +) + +# Drivers/STM32WLxx_HAL_Driver +cc_library( + name = "stm32wlxx_hal_driver", + srcs = [ + "Drivers/STM32WLxx_HAL_Driver/Src/stm32wlxx_hal.c", + "Drivers/STM32WLxx_HAL_Driver/Src/stm32wlxx_hal_adc.c", + "Drivers/STM32WLxx_HAL_Driver/Src/stm32wlxx_hal_adc_ex.c", + "Drivers/STM32WLxx_HAL_Driver/Src/stm32wlxx_hal_comp.c", + "Drivers/STM32WLxx_HAL_Driver/Src/stm32wlxx_hal_cortex.c", + "Drivers/STM32WLxx_HAL_Driver/Src/stm32wlxx_hal_crc.c", + "Drivers/STM32WLxx_HAL_Driver/Src/stm32wlxx_hal_crc_ex.c", + "Drivers/STM32WLxx_HAL_Driver/Src/stm32wlxx_hal_cryp.c", + "Drivers/STM32WLxx_HAL_Driver/Src/stm32wlxx_hal_cryp_ex.c", + "Drivers/STM32WLxx_HAL_Driver/Src/stm32wlxx_hal_dac.c", + "Drivers/STM32WLxx_HAL_Driver/Src/stm32wlxx_hal_dac_ex.c", + "Drivers/STM32WLxx_HAL_Driver/Src/stm32wlxx_hal_dma.c", + "Drivers/STM32WLxx_HAL_Driver/Src/stm32wlxx_hal_dma_ex.c", + "Drivers/STM32WLxx_HAL_Driver/Src/stm32wlxx_hal_exti.c", + "Drivers/STM32WLxx_HAL_Driver/Src/stm32wlxx_hal_flash.c", + "Drivers/STM32WLxx_HAL_Driver/Src/stm32wlxx_hal_flash_ex.c", + "Drivers/STM32WLxx_HAL_Driver/Src/stm32wlxx_hal_gpio.c", + "Drivers/STM32WLxx_HAL_Driver/Src/stm32wlxx_hal_gtzc.c", + "Drivers/STM32WLxx_HAL_Driver/Src/stm32wlxx_hal_hsem.c", + "Drivers/STM32WLxx_HAL_Driver/Src/stm32wlxx_hal_i2c.c", + "Drivers/STM32WLxx_HAL_Driver/Src/stm32wlxx_hal_i2c_ex.c", + "Drivers/STM32WLxx_HAL_Driver/Src/stm32wlxx_hal_i2s.c", + "Drivers/STM32WLxx_HAL_Driver/Src/stm32wlxx_hal_ipcc.c", + "Drivers/STM32WLxx_HAL_Driver/Src/stm32wlxx_hal_irda.c", + "Drivers/STM32WLxx_HAL_Driver/Src/stm32wlxx_hal_iwdg.c", + "Drivers/STM32WLxx_HAL_Driver/Src/stm32wlxx_hal_lptim.c", + "Drivers/STM32WLxx_HAL_Driver/Src/stm32wlxx_hal_pka.c", + "Drivers/STM32WLxx_HAL_Driver/Src/stm32wlxx_hal_pwr.c", + "Drivers/STM32WLxx_HAL_Driver/Src/stm32wlxx_hal_pwr_ex.c", + "Drivers/STM32WLxx_HAL_Driver/Src/stm32wlxx_hal_rcc.c", + "Drivers/STM32WLxx_HAL_Driver/Src/stm32wlxx_hal_rcc_ex.c", + "Drivers/STM32WLxx_HAL_Driver/Src/stm32wlxx_hal_rng.c", + "Drivers/STM32WLxx_HAL_Driver/Src/stm32wlxx_hal_rng_ex.c", + "Drivers/STM32WLxx_HAL_Driver/Src/stm32wlxx_hal_rtc.c", + "Drivers/STM32WLxx_HAL_Driver/Src/stm32wlxx_hal_rtc_ex.c", + "Drivers/STM32WLxx_HAL_Driver/Src/stm32wlxx_hal_smartcard.c", + "Drivers/STM32WLxx_HAL_Driver/Src/stm32wlxx_hal_smartcard_ex.c", + "Drivers/STM32WLxx_HAL_Driver/Src/stm32wlxx_hal_smbus.c", + "Drivers/STM32WLxx_HAL_Driver/Src/stm32wlxx_hal_smbus_ex.c", + "Drivers/STM32WLxx_HAL_Driver/Src/stm32wlxx_hal_spi.c", + "Drivers/STM32WLxx_HAL_Driver/Src/stm32wlxx_hal_spi_ex.c", + "Drivers/STM32WLxx_HAL_Driver/Src/stm32wlxx_hal_subghz.c", + "Drivers/STM32WLxx_HAL_Driver/Src/stm32wlxx_hal_tim.c", + "Drivers/STM32WLxx_HAL_Driver/Src/stm32wlxx_hal_tim_ex.c", + "Drivers/STM32WLxx_HAL_Driver/Src/stm32wlxx_hal_uart.c", + "Drivers/STM32WLxx_HAL_Driver/Src/stm32wlxx_hal_uart_ex.c", + "Drivers/STM32WLxx_HAL_Driver/Src/stm32wlxx_hal_usart.c", + "Drivers/STM32WLxx_HAL_Driver/Src/stm32wlxx_hal_usart_ex.c", + "Drivers/STM32WLxx_HAL_Driver/Src/stm32wlxx_hal_wwdg.c", + ], + hdrs = [ + "Drivers/STM32WLxx_HAL_Driver/Inc/Legacy/stm32_hal_legacy.h", + "Drivers/STM32WLxx_HAL_Driver/Inc/stm32wlxx_hal.h", + "Drivers/STM32WLxx_HAL_Driver/Inc/stm32wlxx_hal_adc.h", + "Drivers/STM32WLxx_HAL_Driver/Inc/stm32wlxx_hal_adc_ex.h", + "Drivers/STM32WLxx_HAL_Driver/Inc/stm32wlxx_hal_comp.h", + "Drivers/STM32WLxx_HAL_Driver/Inc/stm32wlxx_hal_cortex.h", + "Drivers/STM32WLxx_HAL_Driver/Inc/stm32wlxx_hal_crc.h", + "Drivers/STM32WLxx_HAL_Driver/Inc/stm32wlxx_hal_crc_ex.h", + "Drivers/STM32WLxx_HAL_Driver/Inc/stm32wlxx_hal_cryp.h", + "Drivers/STM32WLxx_HAL_Driver/Inc/stm32wlxx_hal_cryp_ex.h", + "Drivers/STM32WLxx_HAL_Driver/Inc/stm32wlxx_hal_dac.h", + "Drivers/STM32WLxx_HAL_Driver/Inc/stm32wlxx_hal_dac_ex.h", + "Drivers/STM32WLxx_HAL_Driver/Inc/stm32wlxx_hal_def.h", + "Drivers/STM32WLxx_HAL_Driver/Inc/stm32wlxx_hal_dma.h", + "Drivers/STM32WLxx_HAL_Driver/Inc/stm32wlxx_hal_dma_ex.h", + "Drivers/STM32WLxx_HAL_Driver/Inc/stm32wlxx_hal_exti.h", + "Drivers/STM32WLxx_HAL_Driver/Inc/stm32wlxx_hal_flash.h", + "Drivers/STM32WLxx_HAL_Driver/Inc/stm32wlxx_hal_flash_ex.h", + "Drivers/STM32WLxx_HAL_Driver/Inc/stm32wlxx_hal_gpio.h", + "Drivers/STM32WLxx_HAL_Driver/Inc/stm32wlxx_hal_gpio_ex.h", + "Drivers/STM32WLxx_HAL_Driver/Inc/stm32wlxx_hal_gtzc.h", + "Drivers/STM32WLxx_HAL_Driver/Inc/stm32wlxx_hal_hsem.h", + "Drivers/STM32WLxx_HAL_Driver/Inc/stm32wlxx_hal_i2c.h", + "Drivers/STM32WLxx_HAL_Driver/Inc/stm32wlxx_hal_i2c_ex.h", + "Drivers/STM32WLxx_HAL_Driver/Inc/stm32wlxx_hal_i2s.h", + "Drivers/STM32WLxx_HAL_Driver/Inc/stm32wlxx_hal_ipcc.h", + "Drivers/STM32WLxx_HAL_Driver/Inc/stm32wlxx_hal_irda.h", + "Drivers/STM32WLxx_HAL_Driver/Inc/stm32wlxx_hal_irda_ex.h", + "Drivers/STM32WLxx_HAL_Driver/Inc/stm32wlxx_hal_iwdg.h", + "Drivers/STM32WLxx_HAL_Driver/Inc/stm32wlxx_hal_lptim.h", + "Drivers/STM32WLxx_HAL_Driver/Inc/stm32wlxx_hal_pka.h", + "Drivers/STM32WLxx_HAL_Driver/Inc/stm32wlxx_hal_pwr.h", + "Drivers/STM32WLxx_HAL_Driver/Inc/stm32wlxx_hal_pwr_ex.h", + "Drivers/STM32WLxx_HAL_Driver/Inc/stm32wlxx_hal_rcc.h", + "Drivers/STM32WLxx_HAL_Driver/Inc/stm32wlxx_hal_rcc_ex.h", + "Drivers/STM32WLxx_HAL_Driver/Inc/stm32wlxx_hal_rng.h", + "Drivers/STM32WLxx_HAL_Driver/Inc/stm32wlxx_hal_rng_ex.h", + "Drivers/STM32WLxx_HAL_Driver/Inc/stm32wlxx_hal_rtc.h", + "Drivers/STM32WLxx_HAL_Driver/Inc/stm32wlxx_hal_rtc_ex.h", + "Drivers/STM32WLxx_HAL_Driver/Inc/stm32wlxx_hal_smartcard.h", + "Drivers/STM32WLxx_HAL_Driver/Inc/stm32wlxx_hal_smartcard_ex.h", + "Drivers/STM32WLxx_HAL_Driver/Inc/stm32wlxx_hal_smbus.h", + "Drivers/STM32WLxx_HAL_Driver/Inc/stm32wlxx_hal_smbus_ex.h", + "Drivers/STM32WLxx_HAL_Driver/Inc/stm32wlxx_hal_spi.h", + "Drivers/STM32WLxx_HAL_Driver/Inc/stm32wlxx_hal_spi_ex.h", + "Drivers/STM32WLxx_HAL_Driver/Inc/stm32wlxx_hal_subghz.h", + "Drivers/STM32WLxx_HAL_Driver/Inc/stm32wlxx_hal_tim.h", + "Drivers/STM32WLxx_HAL_Driver/Inc/stm32wlxx_hal_tim_ex.h", + "Drivers/STM32WLxx_HAL_Driver/Inc/stm32wlxx_hal_uart.h", + "Drivers/STM32WLxx_HAL_Driver/Inc/stm32wlxx_hal_uart_ex.h", + "Drivers/STM32WLxx_HAL_Driver/Inc/stm32wlxx_hal_usart.h", + "Drivers/STM32WLxx_HAL_Driver/Inc/stm32wlxx_hal_usart_ex.h", + "Drivers/STM32WLxx_HAL_Driver/Inc/stm32wlxx_hal_wwdg.h", + ], + defines = DEFINES, + includes = ["Drivers/STM32WLxx_HAL_Driver/Inc"], + target_compatible_with = TARGET_COMPATIBLE_WITH, + deps = [ + ":stm32_cmsis_driver", + ":stm32wlxx_hal_config", + ":stm32wlxx_ll_driver", + ], +) + +# Drivers/STM32WLxx_HAL_Driver +cc_library( + name = "stm32wlxx_ll_driver", + srcs = [ + "Drivers/STM32WLxx_HAL_Driver/Src/stm32wlxx_ll_comp.c", + "Drivers/STM32WLxx_HAL_Driver/Src/stm32wlxx_ll_dma.c", + "Drivers/STM32WLxx_HAL_Driver/Src/stm32wlxx_ll_exti.c", + "Drivers/STM32WLxx_HAL_Driver/Src/stm32wlxx_ll_lptim.c", + "Drivers/STM32WLxx_HAL_Driver/Src/stm32wlxx_ll_utils.c", + ], + hdrs = [ + "Drivers/STM32WLxx_HAL_Driver/Inc/stm32wlxx_ll_adc.h", + "Drivers/STM32WLxx_HAL_Driver/Inc/stm32wlxx_ll_bus.h", + "Drivers/STM32WLxx_HAL_Driver/Inc/stm32wlxx_ll_comp.h", + "Drivers/STM32WLxx_HAL_Driver/Inc/stm32wlxx_ll_cortex.h", + "Drivers/STM32WLxx_HAL_Driver/Inc/stm32wlxx_ll_crc.h", + "Drivers/STM32WLxx_HAL_Driver/Inc/stm32wlxx_ll_dac.h", + "Drivers/STM32WLxx_HAL_Driver/Inc/stm32wlxx_ll_dma.h", + "Drivers/STM32WLxx_HAL_Driver/Inc/stm32wlxx_ll_dmamux.h", + "Drivers/STM32WLxx_HAL_Driver/Inc/stm32wlxx_ll_exti.h", + "Drivers/STM32WLxx_HAL_Driver/Inc/stm32wlxx_ll_gpio.h", + "Drivers/STM32WLxx_HAL_Driver/Inc/stm32wlxx_ll_hsem.h", + "Drivers/STM32WLxx_HAL_Driver/Inc/stm32wlxx_ll_i2c.h", + "Drivers/STM32WLxx_HAL_Driver/Inc/stm32wlxx_ll_ipcc.h", + "Drivers/STM32WLxx_HAL_Driver/Inc/stm32wlxx_ll_iwdg.h", + "Drivers/STM32WLxx_HAL_Driver/Inc/stm32wlxx_ll_lptim.h", + "Drivers/STM32WLxx_HAL_Driver/Inc/stm32wlxx_ll_lpuart.h", + "Drivers/STM32WLxx_HAL_Driver/Inc/stm32wlxx_ll_pka.h", + "Drivers/STM32WLxx_HAL_Driver/Inc/stm32wlxx_ll_pwr.h", + "Drivers/STM32WLxx_HAL_Driver/Inc/stm32wlxx_ll_rcc.h", + "Drivers/STM32WLxx_HAL_Driver/Inc/stm32wlxx_ll_rng.h", + "Drivers/STM32WLxx_HAL_Driver/Inc/stm32wlxx_ll_rtc.h", + "Drivers/STM32WLxx_HAL_Driver/Inc/stm32wlxx_ll_spi.h", + "Drivers/STM32WLxx_HAL_Driver/Inc/stm32wlxx_ll_system.h", + "Drivers/STM32WLxx_HAL_Driver/Inc/stm32wlxx_ll_tim.h", + "Drivers/STM32WLxx_HAL_Driver/Inc/stm32wlxx_ll_usart.h", + "Drivers/STM32WLxx_HAL_Driver/Inc/stm32wlxx_ll_utils.h", + "Drivers/STM32WLxx_HAL_Driver/Inc/stm32wlxx_ll_wwdg.h", + ], + defines = DEFINES, + includes = ["Drivers/STM32WLxx_HAL_Driver/Inc"], + target_compatible_with = TARGET_COMPATIBLE_WITH, + deps = [ + ":stm32_cmsis_driver", + ], +) + +cc_library( + name = "stm32wlxx_nucleo_board_support", + srcs = [ + "Drivers/BSP/STM32WLxx_Nucleo/stm32wlxx_nucleo.c", + "Drivers/BSP/STM32WLxx_Nucleo/stm32wlxx_nucleo_radio.c", + ], + hdrs = [ + "Drivers/BSP/STM32WLxx_Nucleo/stm32wlxx_nucleo.h", + "Drivers/BSP/STM32WLxx_Nucleo/stm32wlxx_nucleo_errno.h", + "Drivers/BSP/STM32WLxx_Nucleo/stm32wlxx_nucleo_radio.h", + ], + includes = [ + "Drivers/BSP/STM32WLxx_Nucleo", + ], + deps = [":stm32wlxx_nucleo_config"], +) + +# Utilities/misc +cc_library( + name = "utilities_misc_facade", + hdrs = [ + "Utilities/misc/stm32_mem.h", + "Utilities/misc/stm32_systime.h", + "Utilities/misc/stm32_tiny_sscanf.h", + "Utilities/misc/stm32_tiny_vsnprintf.h", + ], + includes = ["Utilities/misc"], +) + +cc_library( + name = "utilities_misc", + srcs = [ + "Utilities/misc/stm32_mem.c", + "Utilities/misc/stm32_systime.c", + "Utilities/misc/stm32_tiny_sscanf.c", + "Utilities/misc/stm32_tiny_vsnprintf.c", + ], + hdrs = [ + "Utilities/misc/stm32_mem.h", + "Utilities/misc/stm32_systime.h", + "Utilities/misc/stm32_tiny_sscanf.h", + "Utilities/misc/stm32_tiny_vsnprintf.h", + ], + includes = ["Utilities/misc"], + deps = [ + ":stm32_cmsis_driver", + ":utilities_config", + ":utilities_misc_facade", + ], +) + +# Utilities/timer +cc_library( + name = "utilities_timer", + srcs = [ + "Utilities/timer/stm32_timer.c", + ], + hdrs = [ + "Utilities/timer/stm32_timer.h", + ], + includes = ["Utilities/timer"], + deps = [ + ":stm32_cmsis_driver", + ":utilities_config", + ":utilities_misc", + ], +) + +# Utilities/trace +cc_library( + name = "utilities_trace", + srcs = ["Utilities/trace/adv_trace/stm32_adv_trace.c"], + hdrs = ["Utilities/trace/adv_trace/stm32_adv_trace.h"], + includes = ["Utilities/trace/adv_trace"], + deps = [":utilities_config"], +) + +# Utilities/lpm +cc_library( + name = "utilities_low_power_mode", + srcs = ["Utilities/lpm/tiny_lpm/stm32_lpm.c"], + hdrs = ["Utilities/lpm/tiny_lpm/stm32_lpm.h"], + includes = ["Utilities/lpm/tiny_lpm"], + deps = [":utilities_config"], +) + +# Utilities/sequencer +cc_library( + name = "utilities_sequencer", + srcs = ["Utilities/sequencer/stm32_seq.c"], + hdrs = ["Utilities/sequencer/stm32_seq.h"], + includes = ["Utilities/sequencer"], + deps = [":utilities_config"], +) + +cc_library( + name = "subghz_phy", + srcs = [ + "Middlewares/Third_Party/SubGHz_Phy/stm32_radio_driver/radio.c", + "Middlewares/Third_Party/SubGHz_Phy/stm32_radio_driver/radio_driver.c", + "Middlewares/Third_Party/SubGHz_Phy/stm32_radio_driver/radio_fw.c", + ], + hdrs = [ + "Middlewares/Third_Party/SubGHz_Phy/radio.h", + "Middlewares/Third_Party/SubGHz_Phy/radio_ex.h", + "Middlewares/Third_Party/SubGHz_Phy/stm32_radio_driver/radio_driver.h", + "Middlewares/Third_Party/SubGHz_Phy/stm32_radio_driver/radio_fw.h", + "Middlewares/Third_Party/SubGHz_Phy/stm32_radio_driver/subghz_phy_version.h", + ], + includes = [ + "Middlewares/Third_Party/SubGHz_Phy", + "Middlewares/Third_Party/SubGHz_Phy/stm32_radio_driver", + ], + deps = [ + ":radio_config", + ], +) + +cc_library( + name = "lorawan", + srcs = [ + "Middlewares/Third_Party/LoRaWAN/Crypto/cmac.c", + "Middlewares/Third_Party/LoRaWAN/Crypto/lorawan_aes.c", + "Middlewares/Third_Party/LoRaWAN/Crypto/soft-se.c", + "Middlewares/Third_Party/LoRaWAN/LmHandler/LmHandler.c", + "Middlewares/Third_Party/LoRaWAN/LmHandler/NvmDataMgmt.c", + "Middlewares/Third_Party/LoRaWAN/LmHandler/Packages/LmhpClockSync.c", + "Middlewares/Third_Party/LoRaWAN/LmHandler/Packages/LmhpCompliance.c", + "Middlewares/Third_Party/LoRaWAN/LmHandler/Packages/LmhpFirmwareManagement.c", + # TODO: Workout how the below files should be configured i.e. via + # 'frag_decoder_if.h', then uncomment them. + #"Middlewares/Third_Party/LoRaWAN/LmHandler/Packages/FragDecoder.c", + #"Middlewares/Third_Party/LoRaWAN/LmHandler/Packages/LmhpFragmentation.c", + #"Middlewares/Third_Party/LoRaWAN/LmHandler/Packages/LmhpPackagesRegistration.c", + "Middlewares/Third_Party/LoRaWAN/LmHandler/Packages/LmhpRemoteMcastSetup.c", + "Middlewares/Third_Party/LoRaWAN/Mac/LoRaMac.c", + "Middlewares/Third_Party/LoRaWAN/Mac/LoRaMacAdr.c", + "Middlewares/Third_Party/LoRaWAN/Mac/LoRaMacClassB.c", + "Middlewares/Third_Party/LoRaWAN/Mac/LoRaMacCommands.c", + "Middlewares/Third_Party/LoRaWAN/Mac/LoRaMacConfirmQueue.c", + "Middlewares/Third_Party/LoRaWAN/Mac/LoRaMacCrypto.c", + "Middlewares/Third_Party/LoRaWAN/Mac/LoRaMacParser.c", + "Middlewares/Third_Party/LoRaWAN/Mac/LoRaMacSerializer.c", + "Middlewares/Third_Party/LoRaWAN/Mac/Region/Region.c", + "Middlewares/Third_Party/LoRaWAN/Mac/Region/RegionAS923.c", + "Middlewares/Third_Party/LoRaWAN/Mac/Region/RegionAU915.c", + "Middlewares/Third_Party/LoRaWAN/Mac/Region/RegionBaseUS.c", + "Middlewares/Third_Party/LoRaWAN/Mac/Region/RegionCN470.c", + "Middlewares/Third_Party/LoRaWAN/Mac/Region/RegionCN779.c", + "Middlewares/Third_Party/LoRaWAN/Mac/Region/RegionCommon.c", + "Middlewares/Third_Party/LoRaWAN/Mac/Region/RegionEU433.c", + "Middlewares/Third_Party/LoRaWAN/Mac/Region/RegionEU868.c", + "Middlewares/Third_Party/LoRaWAN/Mac/Region/RegionIN865.c", + "Middlewares/Third_Party/LoRaWAN/Mac/Region/RegionKR920.c", + "Middlewares/Third_Party/LoRaWAN/Mac/Region/RegionRU864.c", + "Middlewares/Third_Party/LoRaWAN/Mac/Region/RegionUS915.c", + "Middlewares/Third_Party/LoRaWAN/Utilities/utilities.c", + ], + hdrs = [ + "Middlewares/Third_Party/LoRaWAN/Crypto/cmac.h", + "Middlewares/Third_Party/LoRaWAN/Crypto/lorawan_aes.h", + "Middlewares/Third_Party/LoRaWAN/LmHandler/LmHandler.h", + "Middlewares/Third_Party/LoRaWAN/LmHandler/LmHandlerTypes.h", + "Middlewares/Third_Party/LoRaWAN/LmHandler/NvmDataMgmt.h", + "Middlewares/Third_Party/LoRaWAN/LmHandler/Packages/FragDecoder.h", + "Middlewares/Third_Party/LoRaWAN/LmHandler/Packages/LmhPackage.h", + "Middlewares/Third_Party/LoRaWAN/LmHandler/Packages/LmhpClockSync.h", + "Middlewares/Third_Party/LoRaWAN/LmHandler/Packages/LmhpCompliance.h", + "Middlewares/Third_Party/LoRaWAN/LmHandler/Packages/LmhpFirmwareManagement.h", + "Middlewares/Third_Party/LoRaWAN/LmHandler/Packages/LmhpFragmentation.h", + "Middlewares/Third_Party/LoRaWAN/LmHandler/Packages/LmhpPackagesRegistration.h", + "Middlewares/Third_Party/LoRaWAN/LmHandler/Packages/LmhpRemoteMcastSetup.h", + "Middlewares/Third_Party/LoRaWAN/LmHandler/lorawan_version.h", + "Middlewares/Third_Party/LoRaWAN/Mac/LoRaMac.h", + "Middlewares/Third_Party/LoRaWAN/Mac/LoRaMacAdr.h", + "Middlewares/Third_Party/LoRaWAN/Mac/LoRaMacClassB.h", + "Middlewares/Third_Party/LoRaWAN/Mac/LoRaMacClassBConfig.h", + "Middlewares/Third_Party/LoRaWAN/Mac/LoRaMacClassBNvm.h", + "Middlewares/Third_Party/LoRaWAN/Mac/LoRaMacCommands.h", + "Middlewares/Third_Party/LoRaWAN/Mac/LoRaMacConfirmQueue.h", + "Middlewares/Third_Party/LoRaWAN/Mac/LoRaMacCrypto.h", + "Middlewares/Third_Party/LoRaWAN/Mac/LoRaMacCryptoNvm.h", + "Middlewares/Third_Party/LoRaWAN/Mac/LoRaMacHeaderTypes.h", + "Middlewares/Third_Party/LoRaWAN/Mac/LoRaMacMessageTypes.h", + "Middlewares/Third_Party/LoRaWAN/Mac/LoRaMacParser.h", + "Middlewares/Third_Party/LoRaWAN/Mac/LoRaMacSerializer.h", + "Middlewares/Third_Party/LoRaWAN/Mac/LoRaMacTest.h", + "Middlewares/Third_Party/LoRaWAN/Mac/LoRaMacTypes.h", + "Middlewares/Third_Party/LoRaWAN/Mac/Region/Region.h", + "Middlewares/Third_Party/LoRaWAN/Mac/Region/RegionAS923.h", + "Middlewares/Third_Party/LoRaWAN/Mac/Region/RegionAU915.h", + "Middlewares/Third_Party/LoRaWAN/Mac/Region/RegionBaseUS.h", + "Middlewares/Third_Party/LoRaWAN/Mac/Region/RegionCN470.h", + "Middlewares/Third_Party/LoRaWAN/Mac/Region/RegionCN779.h", + "Middlewares/Third_Party/LoRaWAN/Mac/Region/RegionCommon.h", + "Middlewares/Third_Party/LoRaWAN/Mac/Region/RegionEU433.h", + "Middlewares/Third_Party/LoRaWAN/Mac/Region/RegionEU868.h", + "Middlewares/Third_Party/LoRaWAN/Mac/Region/RegionIN865.h", + "Middlewares/Third_Party/LoRaWAN/Mac/Region/RegionKR920.h", + "Middlewares/Third_Party/LoRaWAN/Mac/Region/RegionNvm.h", + "Middlewares/Third_Party/LoRaWAN/Mac/Region/RegionRU864.h", + "Middlewares/Third_Party/LoRaWAN/Mac/Region/RegionUS915.h", + "Middlewares/Third_Party/LoRaWAN/Mac/secure-element.h", + "Middlewares/Third_Party/LoRaWAN/Mac/secure-element-nvm.h", + "Middlewares/Third_Party/LoRaWAN/Utilities/utilities.h", + ], + includes = [ + "Middlewares/Third_Party/LoRaWAN", + "Middlewares/Third_Party/LoRaWAN/LmHandler", + "Middlewares/Third_Party/LoRaWAN/LmHandler/Packages", + "Middlewares/Third_Party/LoRaWAN/Mac", + "Middlewares/Third_Party/LoRaWAN/Mac/Region", + "Middlewares/Third_Party/LoRaWAN/Utilities", + ], + deps = [ + ":lorawan_config", + ":radio_config", + ":stm32_cmsis_driver", + ":subghz_phy", + ":utilities_config", + ":utilities_misc", + ], +) diff --git a/WORKSPACE b/WORKSPACE new file mode 100644 index 00000000..868e4c67 --- /dev/null +++ b/WORKSPACE @@ -0,0 +1,58 @@ +workspace(name = "com_github_stmicroelectronics_stm32cubewl") + +load( + "@bazel_tools//tools/build_defs/repo:git.bzl", + "git_repository", +) + +# Configure bazel_embedded toolchains for ARM Cortex-M devices. +# Used in modules: All. +git_repository( + name = "bazel_embedded", + commit = "d3cbe4eff9a63d3dee63067d61096d681daca33b", + remote = "https://github.com/silvergasp/bazel-embedded.git", + shallow_since = "1585022166 +0800", +) + +load( + "@bazel_embedded//:bazel_embedded_deps.bzl", + "bazel_embedded_deps", +) + +# Fetch third-party dependencies for bazel_embedded toolchains. +bazel_embedded_deps() + +load( + "@bazel_embedded//platforms:execution_platforms.bzl", + "register_platforms", +) + +# Register basic platforms, e.g. ARM Cortex-M devices. +register_platforms() + +# Registers execution platforms so that they can be used in the build. This +# must be done before the toolchain is instantiated. +register_execution_platforms( + "//:stm32wl55xx_cortex_m0", + "//:stm32wl55xx_cortex_m4", + "//:stm32wl54xx_cortex_m0", + "//:stm32wl54xx_cortex_m4", + "//:stm32wle5xx_cortex_m4", + "//:stm32wle4xx_cortex_m4", +) + +load( + "@bazel_embedded//toolchains/compilers/gcc_arm_none_eabi:gcc_arm_none_repository.bzl", + "gcc_arm_none_compiler", +) + +# Fetch gcc arm none compiler. +gcc_arm_none_compiler() + +load( + "@bazel_embedded//toolchains/gcc_arm_none_eabi:gcc_arm_none_toolchain.bzl", + "register_gcc_arm_none_toolchain", +) + +# Register gcc arm none toolchains. +register_gcc_arm_none_toolchain()