├── .gitignore
├── LICENCE
├── PC
├── Makefile
├── config.h
└── prios_key_cracker.c
├── README.md
├── ST-STEVAL-FKI868V1
├── .mxproject
├── Drivers
│ ├── BSP
│ │ ├── inc
│ │ │ ├── Platform_Configuration_NucleoF0xx.h
│ │ │ ├── Platform_Configuration_NucleoF4xx.h
│ │ │ ├── Platform_Configuration_NucleoL0xx.h
│ │ │ ├── Platform_Configuration_NucleoL1xx.h
│ │ │ ├── SDK_EVAL_Button.h
│ │ │ ├── SDK_EVAL_Com.h
│ │ │ ├── SDK_EVAL_Config.h
│ │ │ └── SDK_EVAL_Led.h
│ │ └── src
│ │ │ ├── SDK_EVAL_Button.c
│ │ │ ├── SDK_EVAL_Com_DMA.c
│ │ │ └── SDK_EVAL_Led.c
│ ├── CMSIS
│ │ ├── DSP_Lib
│ │ │ └── Source
│ │ │ │ ├── BasicMathFunctions
│ │ │ │ ├── arm_abs_f32.c
│ │ │ │ ├── arm_abs_q15.c
│ │ │ │ ├── arm_abs_q31.c
│ │ │ │ ├── arm_abs_q7.c
│ │ │ │ ├── arm_add_f32.c
│ │ │ │ ├── arm_add_q15.c
│ │ │ │ ├── arm_add_q31.c
│ │ │ │ ├── arm_add_q7.c
│ │ │ │ ├── arm_dot_prod_f32.c
│ │ │ │ ├── arm_dot_prod_q15.c
│ │ │ │ ├── arm_dot_prod_q31.c
│ │ │ │ ├── arm_dot_prod_q7.c
│ │ │ │ ├── arm_mult_f32.c
│ │ │ │ ├── arm_mult_q15.c
│ │ │ │ ├── arm_mult_q31.c
│ │ │ │ ├── arm_mult_q7.c
│ │ │ │ ├── arm_negate_f32.c
│ │ │ │ ├── arm_negate_q15.c
│ │ │ │ ├── arm_negate_q31.c
│ │ │ │ ├── arm_negate_q7.c
│ │ │ │ ├── arm_offset_f32.c
│ │ │ │ ├── arm_offset_q15.c
│ │ │ │ ├── arm_offset_q31.c
│ │ │ │ ├── arm_offset_q7.c
│ │ │ │ ├── arm_scale_f32.c
│ │ │ │ ├── arm_scale_q15.c
│ │ │ │ ├── arm_scale_q31.c
│ │ │ │ ├── arm_scale_q7.c
│ │ │ │ ├── arm_shift_q15.c
│ │ │ │ ├── arm_shift_q31.c
│ │ │ │ ├── arm_shift_q7.c
│ │ │ │ ├── arm_sub_f32.c
│ │ │ │ ├── arm_sub_q15.c
│ │ │ │ ├── arm_sub_q31.c
│ │ │ │ └── arm_sub_q7.c
│ │ │ │ ├── CommonTables
│ │ │ │ ├── arm_common_tables.c
│ │ │ │ └── arm_const_structs.c
│ │ │ │ ├── ComplexMathFunctions
│ │ │ │ ├── arm_cmplx_conj_f32.c
│ │ │ │ ├── arm_cmplx_conj_q15.c
│ │ │ │ ├── arm_cmplx_conj_q31.c
│ │ │ │ ├── arm_cmplx_dot_prod_f32.c
│ │ │ │ ├── arm_cmplx_dot_prod_q15.c
│ │ │ │ ├── arm_cmplx_dot_prod_q31.c
│ │ │ │ ├── arm_cmplx_mag_f32.c
│ │ │ │ ├── arm_cmplx_mag_q15.c
│ │ │ │ ├── arm_cmplx_mag_q31.c
│ │ │ │ ├── arm_cmplx_mag_squared_f32.c
│ │ │ │ ├── arm_cmplx_mag_squared_q15.c
│ │ │ │ ├── arm_cmplx_mag_squared_q31.c
│ │ │ │ ├── arm_cmplx_mult_cmplx_f32.c
│ │ │ │ ├── arm_cmplx_mult_cmplx_q15.c
│ │ │ │ ├── arm_cmplx_mult_cmplx_q31.c
│ │ │ │ ├── arm_cmplx_mult_real_f32.c
│ │ │ │ ├── arm_cmplx_mult_real_q15.c
│ │ │ │ └── arm_cmplx_mult_real_q31.c
│ │ │ │ ├── ControllerFunctions
│ │ │ │ ├── arm_pid_init_f32.c
│ │ │ │ ├── arm_pid_init_q15.c
│ │ │ │ ├── arm_pid_init_q31.c
│ │ │ │ ├── arm_pid_reset_f32.c
│ │ │ │ ├── arm_pid_reset_q15.c
│ │ │ │ ├── arm_pid_reset_q31.c
│ │ │ │ ├── arm_sin_cos_f32.c
│ │ │ │ └── arm_sin_cos_q31.c
│ │ │ │ ├── FastMathFunctions
│ │ │ │ ├── arm_cos_f32.c
│ │ │ │ ├── arm_cos_q15.c
│ │ │ │ ├── arm_cos_q31.c
│ │ │ │ ├── arm_sin_f32.c
│ │ │ │ ├── arm_sin_q15.c
│ │ │ │ ├── arm_sin_q31.c
│ │ │ │ ├── arm_sqrt_q15.c
│ │ │ │ └── arm_sqrt_q31.c
│ │ │ │ ├── FilteringFunctions
│ │ │ │ ├── arm_biquad_cascade_df1_32x64_init_q31.c
│ │ │ │ ├── arm_biquad_cascade_df1_32x64_q31.c
│ │ │ │ ├── arm_biquad_cascade_df1_f32.c
│ │ │ │ ├── arm_biquad_cascade_df1_fast_q15.c
│ │ │ │ ├── arm_biquad_cascade_df1_fast_q31.c
│ │ │ │ ├── arm_biquad_cascade_df1_init_f32.c
│ │ │ │ ├── arm_biquad_cascade_df1_init_q15.c
│ │ │ │ ├── arm_biquad_cascade_df1_init_q31.c
│ │ │ │ ├── arm_biquad_cascade_df1_q15.c
│ │ │ │ ├── arm_biquad_cascade_df1_q31.c
│ │ │ │ ├── arm_biquad_cascade_df2T_f32.c
│ │ │ │ ├── arm_biquad_cascade_df2T_f64.c
│ │ │ │ ├── arm_biquad_cascade_df2T_init_f32.c
│ │ │ │ ├── arm_biquad_cascade_df2T_init_f64.c
│ │ │ │ ├── arm_biquad_cascade_stereo_df2T_f32.c
│ │ │ │ ├── arm_biquad_cascade_stereo_df2T_init_f32.c
│ │ │ │ ├── arm_conv_f32.c
│ │ │ │ ├── arm_conv_fast_opt_q15.c
│ │ │ │ ├── arm_conv_fast_q15.c
│ │ │ │ ├── arm_conv_fast_q31.c
│ │ │ │ ├── arm_conv_opt_q15.c
│ │ │ │ ├── arm_conv_opt_q7.c
│ │ │ │ ├── arm_conv_partial_f32.c
│ │ │ │ ├── arm_conv_partial_fast_opt_q15.c
│ │ │ │ ├── arm_conv_partial_fast_q15.c
│ │ │ │ ├── arm_conv_partial_fast_q31.c
│ │ │ │ ├── arm_conv_partial_opt_q15.c
│ │ │ │ ├── arm_conv_partial_opt_q7.c
│ │ │ │ ├── arm_conv_partial_q15.c
│ │ │ │ ├── arm_conv_partial_q31.c
│ │ │ │ ├── arm_conv_partial_q7.c
│ │ │ │ ├── arm_conv_q15.c
│ │ │ │ ├── arm_conv_q31.c
│ │ │ │ ├── arm_conv_q7.c
│ │ │ │ ├── arm_correlate_f32.c
│ │ │ │ ├── arm_correlate_fast_opt_q15.c
│ │ │ │ ├── arm_correlate_fast_q15.c
│ │ │ │ ├── arm_correlate_fast_q31.c
│ │ │ │ ├── arm_correlate_opt_q15.c
│ │ │ │ ├── arm_correlate_opt_q7.c
│ │ │ │ ├── arm_correlate_q15.c
│ │ │ │ ├── arm_correlate_q31.c
│ │ │ │ ├── arm_correlate_q7.c
│ │ │ │ ├── arm_fir_decimate_f32.c
│ │ │ │ ├── arm_fir_decimate_fast_q15.c
│ │ │ │ ├── arm_fir_decimate_fast_q31.c
│ │ │ │ ├── arm_fir_decimate_init_f32.c
│ │ │ │ ├── arm_fir_decimate_init_q15.c
│ │ │ │ ├── arm_fir_decimate_init_q31.c
│ │ │ │ ├── arm_fir_decimate_q15.c
│ │ │ │ ├── arm_fir_decimate_q31.c
│ │ │ │ ├── arm_fir_f32.c
│ │ │ │ ├── arm_fir_fast_q15.c
│ │ │ │ ├── arm_fir_fast_q31.c
│ │ │ │ ├── arm_fir_init_f32.c
│ │ │ │ ├── arm_fir_init_q15.c
│ │ │ │ ├── arm_fir_init_q31.c
│ │ │ │ ├── arm_fir_init_q7.c
│ │ │ │ ├── arm_fir_interpolate_f32.c
│ │ │ │ ├── arm_fir_interpolate_init_f32.c
│ │ │ │ ├── arm_fir_interpolate_init_q15.c
│ │ │ │ ├── arm_fir_interpolate_init_q31.c
│ │ │ │ ├── arm_fir_interpolate_q15.c
│ │ │ │ ├── arm_fir_interpolate_q31.c
│ │ │ │ ├── arm_fir_lattice_f32.c
│ │ │ │ ├── arm_fir_lattice_init_f32.c
│ │ │ │ ├── arm_fir_lattice_init_q15.c
│ │ │ │ ├── arm_fir_lattice_init_q31.c
│ │ │ │ ├── arm_fir_lattice_q15.c
│ │ │ │ ├── arm_fir_lattice_q31.c
│ │ │ │ ├── arm_fir_q15.c
│ │ │ │ ├── arm_fir_q31.c
│ │ │ │ ├── arm_fir_q7.c
│ │ │ │ ├── arm_fir_sparse_f32.c
│ │ │ │ ├── arm_fir_sparse_init_f32.c
│ │ │ │ ├── arm_fir_sparse_init_q15.c
│ │ │ │ ├── arm_fir_sparse_init_q31.c
│ │ │ │ ├── arm_fir_sparse_init_q7.c
│ │ │ │ ├── arm_fir_sparse_q15.c
│ │ │ │ ├── arm_fir_sparse_q31.c
│ │ │ │ ├── arm_fir_sparse_q7.c
│ │ │ │ ├── arm_iir_lattice_f32.c
│ │ │ │ ├── arm_iir_lattice_init_f32.c
│ │ │ │ ├── arm_iir_lattice_init_q15.c
│ │ │ │ ├── arm_iir_lattice_init_q31.c
│ │ │ │ ├── arm_iir_lattice_q15.c
│ │ │ │ ├── arm_iir_lattice_q31.c
│ │ │ │ ├── arm_lms_f32.c
│ │ │ │ ├── arm_lms_init_f32.c
│ │ │ │ ├── arm_lms_init_q15.c
│ │ │ │ ├── arm_lms_init_q31.c
│ │ │ │ ├── arm_lms_norm_f32.c
│ │ │ │ ├── arm_lms_norm_init_f32.c
│ │ │ │ ├── arm_lms_norm_init_q15.c
│ │ │ │ ├── arm_lms_norm_init_q31.c
│ │ │ │ ├── arm_lms_norm_q15.c
│ │ │ │ ├── arm_lms_norm_q31.c
│ │ │ │ ├── arm_lms_q15.c
│ │ │ │ └── arm_lms_q31.c
│ │ │ │ ├── MatrixFunctions
│ │ │ │ ├── arm_mat_add_f32.c
│ │ │ │ ├── arm_mat_add_q15.c
│ │ │ │ ├── arm_mat_add_q31.c
│ │ │ │ ├── arm_mat_cmplx_mult_f32.c
│ │ │ │ ├── arm_mat_cmplx_mult_q15.c
│ │ │ │ ├── arm_mat_cmplx_mult_q31.c
│ │ │ │ ├── arm_mat_init_f32.c
│ │ │ │ ├── arm_mat_init_q15.c
│ │ │ │ ├── arm_mat_init_q31.c
│ │ │ │ ├── arm_mat_inverse_f32.c
│ │ │ │ ├── arm_mat_inverse_f64.c
│ │ │ │ ├── arm_mat_mult_f32.c
│ │ │ │ ├── arm_mat_mult_fast_q15.c
│ │ │ │ ├── arm_mat_mult_fast_q31.c
│ │ │ │ ├── arm_mat_mult_q15.c
│ │ │ │ ├── arm_mat_mult_q31.c
│ │ │ │ ├── arm_mat_scale_f32.c
│ │ │ │ ├── arm_mat_scale_q15.c
│ │ │ │ ├── arm_mat_scale_q31.c
│ │ │ │ ├── arm_mat_sub_f32.c
│ │ │ │ ├── arm_mat_sub_q15.c
│ │ │ │ ├── arm_mat_sub_q31.c
│ │ │ │ ├── arm_mat_trans_f32.c
│ │ │ │ ├── arm_mat_trans_q15.c
│ │ │ │ └── arm_mat_trans_q31.c
│ │ │ │ ├── StatisticsFunctions
│ │ │ │ ├── arm_max_f32.c
│ │ │ │ ├── arm_max_q15.c
│ │ │ │ ├── arm_max_q31.c
│ │ │ │ ├── arm_max_q7.c
│ │ │ │ ├── arm_mean_f32.c
│ │ │ │ ├── arm_mean_q15.c
│ │ │ │ ├── arm_mean_q31.c
│ │ │ │ ├── arm_mean_q7.c
│ │ │ │ ├── arm_min_f32.c
│ │ │ │ ├── arm_min_q15.c
│ │ │ │ ├── arm_min_q31.c
│ │ │ │ ├── arm_min_q7.c
│ │ │ │ ├── arm_power_f32.c
│ │ │ │ ├── arm_power_q15.c
│ │ │ │ ├── arm_power_q31.c
│ │ │ │ ├── arm_power_q7.c
│ │ │ │ ├── arm_rms_f32.c
│ │ │ │ ├── arm_rms_q15.c
│ │ │ │ ├── arm_rms_q31.c
│ │ │ │ ├── arm_std_f32.c
│ │ │ │ ├── arm_std_q15.c
│ │ │ │ ├── arm_std_q31.c
│ │ │ │ ├── arm_var_f32.c
│ │ │ │ ├── arm_var_q15.c
│ │ │ │ └── arm_var_q31.c
│ │ │ │ ├── SupportFunctions
│ │ │ │ ├── arm_copy_f32.c
│ │ │ │ ├── arm_copy_q15.c
│ │ │ │ ├── arm_copy_q31.c
│ │ │ │ ├── arm_copy_q7.c
│ │ │ │ ├── arm_fill_f32.c
│ │ │ │ ├── arm_fill_q15.c
│ │ │ │ ├── arm_fill_q31.c
│ │ │ │ ├── arm_fill_q7.c
│ │ │ │ ├── arm_float_to_q15.c
│ │ │ │ ├── arm_float_to_q31.c
│ │ │ │ ├── arm_float_to_q7.c
│ │ │ │ ├── arm_q15_to_float.c
│ │ │ │ ├── arm_q15_to_q31.c
│ │ │ │ ├── arm_q15_to_q7.c
│ │ │ │ ├── arm_q31_to_float.c
│ │ │ │ ├── arm_q31_to_q15.c
│ │ │ │ ├── arm_q31_to_q7.c
│ │ │ │ ├── arm_q7_to_float.c
│ │ │ │ ├── arm_q7_to_q15.c
│ │ │ │ └── arm_q7_to_q31.c
│ │ │ │ └── TransformFunctions
│ │ │ │ ├── arm_bitreversal.c
│ │ │ │ ├── arm_bitreversal2.S
│ │ │ │ ├── arm_cfft_f32.c
│ │ │ │ ├── arm_cfft_q15.c
│ │ │ │ ├── arm_cfft_q31.c
│ │ │ │ ├── arm_cfft_radix2_f32.c
│ │ │ │ ├── arm_cfft_radix2_init_f32.c
│ │ │ │ ├── arm_cfft_radix2_init_q15.c
│ │ │ │ ├── arm_cfft_radix2_init_q31.c
│ │ │ │ ├── arm_cfft_radix2_q15.c
│ │ │ │ ├── arm_cfft_radix2_q31.c
│ │ │ │ ├── arm_cfft_radix4_f32.c
│ │ │ │ ├── arm_cfft_radix4_init_f32.c
│ │ │ │ ├── arm_cfft_radix4_init_q15.c
│ │ │ │ ├── arm_cfft_radix4_init_q31.c
│ │ │ │ ├── arm_cfft_radix4_q15.c
│ │ │ │ ├── arm_cfft_radix4_q31.c
│ │ │ │ ├── arm_cfft_radix8_f32.c
│ │ │ │ ├── arm_dct4_f32.c
│ │ │ │ ├── arm_dct4_init_f32.c
│ │ │ │ ├── arm_dct4_init_q15.c
│ │ │ │ ├── arm_dct4_init_q31.c
│ │ │ │ ├── arm_dct4_q15.c
│ │ │ │ ├── arm_dct4_q31.c
│ │ │ │ ├── arm_rfft_f32.c
│ │ │ │ ├── arm_rfft_fast_f32.c
│ │ │ │ ├── arm_rfft_fast_init_f32.c
│ │ │ │ ├── arm_rfft_init_f32.c
│ │ │ │ ├── arm_rfft_init_q15.c
│ │ │ │ ├── arm_rfft_init_q31.c
│ │ │ │ ├── arm_rfft_q15.c
│ │ │ │ └── arm_rfft_q31.c
│ │ ├── Device
│ │ │ └── ST
│ │ │ │ └── STM32L0xx
│ │ │ │ ├── Include
│ │ │ │ ├── stm32l010x4.h
│ │ │ │ ├── stm32l010x6.h
│ │ │ │ ├── stm32l010x8.h
│ │ │ │ ├── stm32l010xb.h
│ │ │ │ ├── stm32l011xx.h
│ │ │ │ ├── stm32l021xx.h
│ │ │ │ ├── stm32l031xx.h
│ │ │ │ ├── stm32l041xx.h
│ │ │ │ ├── stm32l051xx.h
│ │ │ │ ├── stm32l052xx.h
│ │ │ │ ├── stm32l053xx.h
│ │ │ │ ├── stm32l061xx.h
│ │ │ │ ├── stm32l062xx.h
│ │ │ │ ├── stm32l063xx.h
│ │ │ │ ├── stm32l071xx.h
│ │ │ │ ├── stm32l072xx.h
│ │ │ │ ├── stm32l073xx.h
│ │ │ │ ├── stm32l081xx.h
│ │ │ │ ├── stm32l082xx.h
│ │ │ │ ├── stm32l083xx.h
│ │ │ │ ├── stm32l0xx.h
│ │ │ │ └── system_stm32l0xx.h
│ │ │ │ └── Source
│ │ │ │ └── Templates
│ │ │ │ ├── arm
│ │ │ │ ├── startup_stm32l010x4.s
│ │ │ │ ├── startup_stm32l010x6.s
│ │ │ │ ├── startup_stm32l010x8.s
│ │ │ │ ├── startup_stm32l010xb.s
│ │ │ │ ├── startup_stm32l011xx.s
│ │ │ │ ├── startup_stm32l021xx.s
│ │ │ │ ├── startup_stm32l031xx.s
│ │ │ │ ├── startup_stm32l041xx.s
│ │ │ │ ├── startup_stm32l051xx.s
│ │ │ │ ├── startup_stm32l052xx.s
│ │ │ │ ├── startup_stm32l053xx.s
│ │ │ │ ├── startup_stm32l061xx.s
│ │ │ │ ├── startup_stm32l062xx.s
│ │ │ │ ├── startup_stm32l063xx.s
│ │ │ │ ├── startup_stm32l071xx.s
│ │ │ │ ├── startup_stm32l072xx.s
│ │ │ │ ├── startup_stm32l073xx.s
│ │ │ │ ├── startup_stm32l081xx.s
│ │ │ │ ├── startup_stm32l082xx.s
│ │ │ │ └── startup_stm32l083xx.s
│ │ │ │ ├── gcc
│ │ │ │ ├── startup_stm32l010x4.s
│ │ │ │ ├── startup_stm32l010x6.s
│ │ │ │ ├── startup_stm32l010x8.s
│ │ │ │ ├── startup_stm32l010xb.s
│ │ │ │ ├── startup_stm32l011xx.s
│ │ │ │ ├── startup_stm32l021xx.s
│ │ │ │ ├── startup_stm32l031xx.s
│ │ │ │ ├── startup_stm32l041xx.s
│ │ │ │ ├── startup_stm32l051xx.s
│ │ │ │ ├── startup_stm32l052xx.s
│ │ │ │ ├── startup_stm32l053xx.s
│ │ │ │ ├── startup_stm32l061xx.s
│ │ │ │ ├── startup_stm32l062xx.s
│ │ │ │ ├── startup_stm32l063xx.s
│ │ │ │ ├── startup_stm32l071xx.s
│ │ │ │ ├── startup_stm32l072xx.s
│ │ │ │ ├── startup_stm32l073xx.s
│ │ │ │ ├── startup_stm32l081xx.s
│ │ │ │ ├── startup_stm32l082xx.s
│ │ │ │ └── startup_stm32l083xx.s
│ │ │ │ ├── iar
│ │ │ │ ├── linker
│ │ │ │ │ ├── stm32l010x4_flash.icf
│ │ │ │ │ ├── stm32l010x6_flash.icf
│ │ │ │ │ ├── stm32l010x8_flash.icf
│ │ │ │ │ ├── stm32l010xb_flash.icf
│ │ │ │ │ ├── stm32l011xx_flash.icf
│ │ │ │ │ ├── stm32l011xx_sram.icf
│ │ │ │ │ ├── stm32l021xx_flash.icf
│ │ │ │ │ ├── stm32l021xx_sram.icf
│ │ │ │ │ ├── stm32l031xx_flash.icf
│ │ │ │ │ ├── stm32l031xx_sram.icf
│ │ │ │ │ ├── stm32l041xx_flash.icf
│ │ │ │ │ ├── stm32l041xx_sram.icf
│ │ │ │ │ ├── stm32l051xx_flash.icf
│ │ │ │ │ ├── stm32l051xx_sram.icf
│ │ │ │ │ ├── stm32l052xx_flash.icf
│ │ │ │ │ ├── stm32l052xx_sram.icf
│ │ │ │ │ ├── stm32l053xx_flash.icf
│ │ │ │ │ ├── stm32l053xx_sram.icf
│ │ │ │ │ ├── stm32l061xx_flash.icf
│ │ │ │ │ ├── stm32l061xx_sram.icf
│ │ │ │ │ ├── stm32l062xx_flash.icf
│ │ │ │ │ ├── stm32l062xx_sram.icf
│ │ │ │ │ ├── stm32l063xx_flash.icf
│ │ │ │ │ ├── stm32l063xx_sram.icf
│ │ │ │ │ ├── stm32l071xx_flash.icf
│ │ │ │ │ ├── stm32l071xx_sram.icf
│ │ │ │ │ ├── stm32l072xx_flash.icf
│ │ │ │ │ ├── stm32l072xx_sram.icf
│ │ │ │ │ ├── stm32l073xx_flash.icf
│ │ │ │ │ ├── stm32l073xx_sram.icf
│ │ │ │ │ ├── stm32l081xx_flash.icf
│ │ │ │ │ ├── stm32l081xx_sram.icf
│ │ │ │ │ ├── stm32l082xx_flash.icf
│ │ │ │ │ ├── stm32l082xx_sram.icf
│ │ │ │ │ ├── stm32l083xx_flash.icf
│ │ │ │ │ └── stm32l083xx_sram.icf
│ │ │ │ ├── startup_stm32l010x4.s
│ │ │ │ ├── startup_stm32l010x6.s
│ │ │ │ ├── startup_stm32l010x8.s
│ │ │ │ ├── startup_stm32l010xb.s
│ │ │ │ ├── startup_stm32l011xx.s
│ │ │ │ ├── startup_stm32l021xx.s
│ │ │ │ ├── startup_stm32l031xx.s
│ │ │ │ ├── startup_stm32l041xx.s
│ │ │ │ ├── startup_stm32l051xx.s
│ │ │ │ ├── startup_stm32l052xx.s
│ │ │ │ ├── startup_stm32l053xx.s
│ │ │ │ ├── startup_stm32l061xx.s
│ │ │ │ ├── startup_stm32l062xx.s
│ │ │ │ ├── startup_stm32l063xx.s
│ │ │ │ ├── startup_stm32l071xx.s
│ │ │ │ ├── startup_stm32l072xx.s
│ │ │ │ ├── startup_stm32l073xx.s
│ │ │ │ ├── startup_stm32l081xx.s
│ │ │ │ ├── startup_stm32l082xx.s
│ │ │ │ └── startup_stm32l083xx.s
│ │ │ │ └── system_stm32l0xx.c
│ │ ├── Include
│ │ │ ├── arm_common_tables.h
│ │ │ ├── arm_const_structs.h
│ │ │ ├── arm_math.h
│ │ │ ├── cmsis_armcc.h
│ │ │ ├── cmsis_armcc_V6.h
│ │ │ ├── cmsis_gcc.h
│ │ │ ├── core_cm0.h
│ │ │ ├── core_cm0plus.h
│ │ │ ├── core_cm3.h
│ │ │ ├── core_cm4.h
│ │ │ ├── core_cm7.h
│ │ │ ├── core_cmFunc.h
│ │ │ ├── core_cmInstr.h
│ │ │ ├── core_cmSimd.h
│ │ │ ├── core_sc000.h
│ │ │ └── core_sc300.h
│ │ ├── Lib
│ │ │ ├── ARM
│ │ │ │ ├── arm_cortexM0b_math.lib
│ │ │ │ └── arm_cortexM0l_math.lib
│ │ │ └── GCC
│ │ │ │ └── libarm_cortexM0l_math.a
│ │ └── RTOS
│ │ │ └── Template
│ │ │ └── cmsis_os.h
│ ├── S2LP_Library
│ │ ├── inc
│ │ │ ├── MCU_Interface_template.h
│ │ │ ├── S2LP_Commands.h
│ │ │ ├── S2LP_Config.h
│ │ │ ├── S2LP_Csma.h
│ │ │ ├── S2LP_Fifo.h
│ │ │ ├── S2LP_General.h
│ │ │ ├── S2LP_Gpio.h
│ │ │ ├── S2LP_PacketHandler.h
│ │ │ ├── S2LP_PktBasic.h
│ │ │ ├── S2LP_PktStack.h
│ │ │ ├── S2LP_PktWMbus.h
│ │ │ ├── S2LP_Qi.h
│ │ │ ├── S2LP_Radio.h
│ │ │ ├── S2LP_Regs.h
│ │ │ ├── S2LP_Timer.h
│ │ │ ├── S2LP_Timer_ex.h
│ │ │ ├── S2LP_Types.h
│ │ │ └── uint64.h
│ │ └── src
│ │ │ ├── S2LP_Commands.c
│ │ │ ├── S2LP_Csma.c
│ │ │ ├── S2LP_Fifo.c
│ │ │ ├── S2LP_General.c
│ │ │ ├── S2LP_Gpio.c
│ │ │ ├── S2LP_PacketHandler.c
│ │ │ ├── S2LP_PktBasic.c
│ │ │ ├── S2LP_PktStack.c
│ │ │ ├── S2LP_PktWMbus.c
│ │ │ ├── S2LP_Qi.c
│ │ │ ├── S2LP_Radio.c
│ │ │ ├── S2LP_Timer.c
│ │ │ ├── S2LP_Timer_ex.c
│ │ │ └── S2LP_Types.c
│ ├── S2LP_Middleware
│ │ ├── inc
│ │ │ ├── S2LP_AUX_EEPROM.h
│ │ │ ├── S2LP_AUX_FEM.h
│ │ │ ├── S2LP_AUX_TCXO.h
│ │ │ ├── S2LP_AUX_UTILS.h
│ │ │ ├── S2LP_CORE_GPIO.h
│ │ │ ├── S2LP_CORE_SPI.h
│ │ │ ├── S2LP_Middleware_Config.h
│ │ │ ├── S2LP_Nucleo64_STM32_F0xx_AUTO.h
│ │ │ ├── S2LP_Nucleo64_STM32_F4xx_AUTO.h
│ │ │ ├── S2LP_Nucleo64_STM32_L0xx_AUTO.h
│ │ │ ├── S2LP_Nucleo64_STM32_L1xx_AUTO.h
│ │ │ └── cube_hal.h
│ │ └── src
│ │ │ ├── FEM
│ │ │ └── S2LP_AUX_FEM_AUTO.c
│ │ │ ├── S2LP_AUX_EEPROM.c
│ │ │ ├── S2LP_AUX_UTILS.c
│ │ │ ├── S2LP_CORE_GPIO.c
│ │ │ ├── S2LP_CORE_SPI.c
│ │ │ └── TCXO
│ │ │ └── S2LP_AUX_TCXO_AUTO.c
│ ├── STM32L0xx_HAL_Driver
│ │ ├── Inc
│ │ │ ├── Legacy
│ │ │ │ └── stm32_hal_legacy.h
│ │ │ ├── stm32_assert_template.h
│ │ │ ├── stm32l0xx_hal.h
│ │ │ ├── stm32l0xx_hal_adc.h
│ │ │ ├── stm32l0xx_hal_adc_ex.h
│ │ │ ├── stm32l0xx_hal_comp.h
│ │ │ ├── stm32l0xx_hal_comp_ex.h
│ │ │ ├── stm32l0xx_hal_conf_template.h
│ │ │ ├── stm32l0xx_hal_cortex.h
│ │ │ ├── stm32l0xx_hal_crc.h
│ │ │ ├── stm32l0xx_hal_crc_ex.h
│ │ │ ├── stm32l0xx_hal_cryp.h
│ │ │ ├── stm32l0xx_hal_cryp_ex.h
│ │ │ ├── stm32l0xx_hal_dac.h
│ │ │ ├── stm32l0xx_hal_dac_ex.h
│ │ │ ├── stm32l0xx_hal_def.h
│ │ │ ├── stm32l0xx_hal_dma.h
│ │ │ ├── stm32l0xx_hal_firewall.h
│ │ │ ├── stm32l0xx_hal_flash.h
│ │ │ ├── stm32l0xx_hal_flash_ex.h
│ │ │ ├── stm32l0xx_hal_flash_ramfunc.h
│ │ │ ├── stm32l0xx_hal_gpio.h
│ │ │ ├── stm32l0xx_hal_gpio_ex.h
│ │ │ ├── stm32l0xx_hal_i2c.h
│ │ │ ├── stm32l0xx_hal_i2c_ex.h
│ │ │ ├── stm32l0xx_hal_i2s.h
│ │ │ ├── stm32l0xx_hal_irda.h
│ │ │ ├── stm32l0xx_hal_irda_ex.h
│ │ │ ├── stm32l0xx_hal_iwdg.h
│ │ │ ├── stm32l0xx_hal_lcd.h
│ │ │ ├── stm32l0xx_hal_lptim.h
│ │ │ ├── stm32l0xx_hal_lptim_ex.h
│ │ │ ├── stm32l0xx_hal_pcd.h
│ │ │ ├── stm32l0xx_hal_pcd_ex.h
│ │ │ ├── stm32l0xx_hal_pwr.h
│ │ │ ├── stm32l0xx_hal_pwr_ex.h
│ │ │ ├── stm32l0xx_hal_rcc.h
│ │ │ ├── stm32l0xx_hal_rcc_ex.h
│ │ │ ├── stm32l0xx_hal_rng.h
│ │ │ ├── stm32l0xx_hal_rtc.h
│ │ │ ├── stm32l0xx_hal_rtc_ex.h
│ │ │ ├── stm32l0xx_hal_smartcard.h
│ │ │ ├── stm32l0xx_hal_smartcard_ex.h
│ │ │ ├── stm32l0xx_hal_smbus.h
│ │ │ ├── stm32l0xx_hal_spi.h
│ │ │ ├── stm32l0xx_hal_tim.h
│ │ │ ├── stm32l0xx_hal_tim_ex.h
│ │ │ ├── stm32l0xx_hal_tsc.h
│ │ │ ├── stm32l0xx_hal_uart.h
│ │ │ ├── stm32l0xx_hal_uart_ex.h
│ │ │ ├── stm32l0xx_hal_usart.h
│ │ │ ├── stm32l0xx_hal_usart_ex.h
│ │ │ ├── stm32l0xx_hal_wwdg.h
│ │ │ ├── stm32l0xx_ll_adc.h
│ │ │ ├── stm32l0xx_ll_bus.h
│ │ │ ├── stm32l0xx_ll_comp.h
│ │ │ ├── stm32l0xx_ll_cortex.h
│ │ │ ├── stm32l0xx_ll_crc.h
│ │ │ ├── stm32l0xx_ll_crs.h
│ │ │ ├── stm32l0xx_ll_dac.h
│ │ │ ├── stm32l0xx_ll_dma.h
│ │ │ ├── stm32l0xx_ll_exti.h
│ │ │ ├── stm32l0xx_ll_gpio.h
│ │ │ ├── stm32l0xx_ll_i2c.h
│ │ │ ├── stm32l0xx_ll_iwdg.h
│ │ │ ├── stm32l0xx_ll_lptim.h
│ │ │ ├── stm32l0xx_ll_lpuart.h
│ │ │ ├── stm32l0xx_ll_pwr.h
│ │ │ ├── stm32l0xx_ll_rcc.h
│ │ │ ├── stm32l0xx_ll_rng.h
│ │ │ ├── stm32l0xx_ll_rtc.h
│ │ │ ├── stm32l0xx_ll_spi.h
│ │ │ ├── stm32l0xx_ll_system.h
│ │ │ ├── stm32l0xx_ll_tim.h
│ │ │ ├── stm32l0xx_ll_usart.h
│ │ │ ├── stm32l0xx_ll_usb.h
│ │ │ ├── stm32l0xx_ll_utils.h
│ │ │ └── stm32l0xx_ll_wwdg.h
│ │ └── Src
│ │ │ ├── stm32l0xx_hal.c
│ │ │ ├── stm32l0xx_hal_adc.c
│ │ │ ├── stm32l0xx_hal_adc_ex.c
│ │ │ ├── stm32l0xx_hal_comp.c
│ │ │ ├── stm32l0xx_hal_comp_ex.c
│ │ │ ├── stm32l0xx_hal_cortex.c
│ │ │ ├── stm32l0xx_hal_crc.c
│ │ │ ├── stm32l0xx_hal_crc_ex.c
│ │ │ ├── stm32l0xx_hal_cryp.c
│ │ │ ├── stm32l0xx_hal_cryp_ex.c
│ │ │ ├── stm32l0xx_hal_dac.c
│ │ │ ├── stm32l0xx_hal_dac_ex.c
│ │ │ ├── stm32l0xx_hal_dma.c
│ │ │ ├── stm32l0xx_hal_firewall.c
│ │ │ ├── stm32l0xx_hal_flash.c
│ │ │ ├── stm32l0xx_hal_flash_ex.c
│ │ │ ├── stm32l0xx_hal_flash_ramfunc.c
│ │ │ ├── stm32l0xx_hal_gpio.c
│ │ │ ├── stm32l0xx_hal_i2c.c
│ │ │ ├── stm32l0xx_hal_i2c_ex.c
│ │ │ ├── stm32l0xx_hal_i2s.c
│ │ │ ├── stm32l0xx_hal_irda.c
│ │ │ ├── stm32l0xx_hal_iwdg.c
│ │ │ ├── stm32l0xx_hal_lcd.c
│ │ │ ├── stm32l0xx_hal_lptim.c
│ │ │ ├── stm32l0xx_hal_msp_template.c
│ │ │ ├── stm32l0xx_hal_pcd.c
│ │ │ ├── stm32l0xx_hal_pcd_ex.c
│ │ │ ├── stm32l0xx_hal_pwr.c
│ │ │ ├── stm32l0xx_hal_pwr_ex.c
│ │ │ ├── stm32l0xx_hal_rcc.c
│ │ │ ├── stm32l0xx_hal_rcc_ex.c
│ │ │ ├── stm32l0xx_hal_rng.c
│ │ │ ├── stm32l0xx_hal_rtc.c
│ │ │ ├── stm32l0xx_hal_rtc_ex.c
│ │ │ ├── stm32l0xx_hal_smartcard.c
│ │ │ ├── stm32l0xx_hal_smartcard_ex.c
│ │ │ ├── stm32l0xx_hal_smbus.c
│ │ │ ├── stm32l0xx_hal_spi.c
│ │ │ ├── stm32l0xx_hal_tim.c
│ │ │ ├── stm32l0xx_hal_tim_ex.c
│ │ │ ├── stm32l0xx_hal_tsc.c
│ │ │ ├── stm32l0xx_hal_uart.c
│ │ │ ├── stm32l0xx_hal_uart_ex.c
│ │ │ ├── stm32l0xx_hal_usart.c
│ │ │ ├── stm32l0xx_hal_wwdg.c
│ │ │ ├── stm32l0xx_ll_adc.c
│ │ │ ├── stm32l0xx_ll_comp.c
│ │ │ ├── stm32l0xx_ll_crc.c
│ │ │ ├── stm32l0xx_ll_crs.c
│ │ │ ├── stm32l0xx_ll_dac.c
│ │ │ ├── stm32l0xx_ll_dma.c
│ │ │ ├── stm32l0xx_ll_exti.c
│ │ │ ├── stm32l0xx_ll_gpio.c
│ │ │ ├── stm32l0xx_ll_i2c.c
│ │ │ ├── stm32l0xx_ll_lptim.c
│ │ │ ├── stm32l0xx_ll_lpuart.c
│ │ │ ├── stm32l0xx_ll_pwr.c
│ │ │ ├── stm32l0xx_ll_rcc.c
│ │ │ ├── stm32l0xx_ll_rng.c
│ │ │ ├── stm32l0xx_ll_rtc.c
│ │ │ ├── stm32l0xx_ll_spi.c
│ │ │ ├── stm32l0xx_ll_tim.c
│ │ │ ├── stm32l0xx_ll_usart.c
│ │ │ ├── stm32l0xx_ll_usb.c
│ │ │ └── stm32l0xx_ll_utils.c
│ └── Utils
│ │ ├── inc
│ │ └── SDK_UTILS_Timers.h
│ │ └── src
│ │ └── SDK_UTILS_Timers.c
├── EWARM
│ ├── IZAR-PRIOS-ST-STEVAL-FKI868V1.eww
│ ├── ST-STEVAL-FKI868V1.dep
│ ├── ST-STEVAL-FKI868V1.ewd
│ ├── ST-STEVAL-FKI868V1.ewp
│ ├── ST-STEVAL-FKI868V1.ewt
│ ├── settings
│ │ ├── IZAR-PRIOS-ST-STEVAL-FKI868V1.wsdt
│ │ ├── Project.wsdt
│ │ ├── ST-STEVAL-FKI868V1.ST-STEVAL-FKI868V1.cspy.bat
│ │ ├── ST-STEVAL-FKI868V1.ST-STEVAL-FKI868V1.cspy.ps1
│ │ ├── ST-STEVAL-FKI868V1.ST-STEVAL-FKI868V1.driver.xcl
│ │ ├── ST-STEVAL-FKI868V1.ST-STEVAL-FKI868V1.general.xcl
│ │ ├── ST-STEVAL-FKI868V1.crun
│ │ ├── ST-STEVAL-FKI868V1.dbgdt
│ │ └── ST-STEVAL-FKI868V1.dnx
│ ├── startup_stm32l053xx.s
│ ├── stm32l053xx_flash.icf
│ └── stm32l053xx_sram.icf
├── Inc
│ ├── PRIOS.h
│ ├── S2LP_WMBus.h
│ ├── S2LP_WMBus_T1.h
│ ├── WMBus.h
│ ├── main.h
│ ├── stm32l0xx_hal_conf.h
│ └── stm32l0xx_it.h
├── ST-STEVAL-FKI868V1.ioc
└── Src
│ ├── PRIOS.c
│ ├── S2LP_WMBus.c
│ ├── WMBus.c
│ ├── main.c
│ ├── stm32l0xx_hal_msp.c
│ ├── stm32l0xx_it.c
│ └── system_stm32l0xx.c
└── doc
├── 212612-FR-EN-IZAR-RC-i-R4.pdf
├── IZAR_RC_I_R4.jpg
├── steval-fki868v2.jpg
└── steval-fki868v2.pdf
/.gitignore:
--------------------------------------------------------------------------------
1 | /ST-STEVAL-FKI868V1/EWARM/ST-STEVAL-FKI868V1/Obj/*
2 | /ST-STEVAL-FKI868V1/EWARM/ST-STEVAL-FKI868V1/Exe/*
3 | /ST-STEVAL-FKI868V1/EWARM/ST-STEVAL-FKI868V1/List/*
4 | /LiveWatch.log
5 |
--------------------------------------------------------------------------------
/LICENCE:
--------------------------------------------------------------------------------
1 | Copyright 2020 Erwan Martin
2 |
3 | Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
4 |
5 | 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
6 |
7 | 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
8 |
9 | 3. Neither the name of the copyright holder nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.
10 |
11 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
--------------------------------------------------------------------------------
/PC/Makefile:
--------------------------------------------------------------------------------
1 | all: cracker
2 |
3 | cracker: prios_key_cracker.c ../ST-STEVAL-FKI868V1/Src/PRIOS.c
4 | gcc -c -Wall -Werror -std=c99 -pedantic prios_key_cracker.c -I ../ST-STEVAL-FKI868V1/Inc
5 | gcc -c -Wall -Werror -std=c99 -pedantic ../ST-STEVAL-FKI868V1/Src/PRIOS.c -I ../ST-STEVAL-FKI868V1/Inc
6 | gcc -o prios_key_cracker prios_key_cracker.o PRIOS.o
7 |
--------------------------------------------------------------------------------
/ST-STEVAL-FKI868V1/Drivers/BSP/inc/SDK_EVAL_Com.h:
--------------------------------------------------------------------------------
1 | /**
2 | * @file SDK_EVAL_Com.h
3 | * @author AMG - RF Application team
4 | * @version 3.2.1
5 | * @date 26-September-2016
6 | * @brief This file contains definitions for Software Development Kit eval board COM ports.
7 | * @details
8 | *
9 | * Configuration of the COM peripheral for the SDK motherboard.
10 | *
11 | * THE PRESENT FIRMWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS
12 | * WITH CODING INFORMATION REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE
13 | * TIME. AS A RESULT, STMICROELECTRONICS SHALL NOT BE HELD LIABLE FOR ANY
14 | * DIRECT, INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING
15 | * FROM THE CONTENT OF SUCH FIRMWARE AND/OR THE USE MADE BY CUSTOMERS OF THE
16 | * CODING INFORMATION CONTAINED HEREIN IN CONNECTION WITH THEIR PRODUCTS.
17 | *
18 | * THIS SOURCE CODE IS PROTECTED BY A LICENSE.
19 | * FOR MORE INFORMATION PLEASE CAREFULLY READ THE LICENSE AGREEMENT FILE LOCATED
20 | * IN THE ROOT DIRECTORY OF THIS FIRMWARE PACKAGE.
21 | *
22 | *
© COPYRIGHT 2019 STMicroelectronics
23 | */
24 |
25 | /* Define to prevent recursive inclusion -------------------------------------*/
26 | #ifndef __SDK_EVAL_COM_H
27 | #define __SDK_EVAL_COM_H
28 |
29 | /* Includes ------------------------------------------------------------------*/
30 | #include "cube_hal.h"
31 | #ifdef __cplusplus
32 | extern "C" {
33 | #endif
34 |
35 |
36 | /** @addtogroup SDK_EVAL_NUCLEO
37 | * @{
38 | */
39 |
40 |
41 | /** @addtogroup SDK_EVAL_Com SDK EVAL Com
42 | * @brief Management of Software Development Kit eval board COM ports.
43 | * @details See the file @ref SDK_EVAL_Com.h for more details.
44 | * @{
45 | */
46 |
47 |
48 | /** @defgroup SDK_EVAL_Com_Exported_Types SDK EVAL Com Exported Types
49 | * @{
50 | */
51 |
52 |
53 |
54 |
55 |
56 |
57 |
58 | /** @defgroup SDK_EVAL_Com_Exported_Functions SDK EVAL Com Exported Functions
59 | * @{
60 | */
61 |
62 |
63 | void SdkEvalComInit(void);
64 | void SdkEvalComBaudrate(uint32_t baudrate);
65 | void SdkEvalComTriggerTx(void);
66 | unsigned char __io_getcharNonBlocking(unsigned char *data);
67 | void __io_putchar( char c );
68 | int __io_getchar(void);
69 | void __io_flush( void );
70 |
71 | /**
72 | * @}
73 | */
74 |
75 | /**
76 | * @}
77 | */
78 |
79 |
80 | /**
81 | * @}
82 | */
83 |
84 |
85 | #ifdef __cplusplus
86 | }
87 | #endif
88 |
89 | #endif
90 |
91 | /******************* (C) COPYRIGHT 2019 STMicroelectronics *****END OF FILE****/
92 |
--------------------------------------------------------------------------------
/ST-STEVAL-FKI868V1/Drivers/BSP/inc/SDK_EVAL_Led.h:
--------------------------------------------------------------------------------
1 | /**
2 | * @file SDK_EVAL_Led.h
3 | * @author AMS VMA RF application team
4 | * @version V2.0.0
5 | * @date November 29, 2018
6 | * @brief This file provides all the low level API to manage LEDs for eval board.
7 | * @details
8 | *
9 | * THE PRESENT FIRMWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS
10 | * WITH CODING INFORMATION REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE
11 | * TIME. AS A RESULT, STMICROELECTRONICS SHALL NOT BE HELD LIABLE FOR ANY
12 | * DIRECT, INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING
13 | * FROM THE CONTENT OF SUCH FIRMWARE AND/OR THE USE MADE BY CUSTOMERS OF THE
14 | * CODING INFORMATION CONTAINED HEREIN IN CONNECTION WITH THEIR PRODUCTS.
15 | *
16 | * THIS SOURCE CODE IS PROTECTED BY A LICENSE.
17 | * FOR MORE INFORMATION PLEASE CAREFULLY READ THE LICENSE AGREEMENT FILE LOCATED
18 | * IN THE ROOT DIRECTORY OF THIS FIRMWARE PACKAGE.
19 | *
20 | * © COPYRIGHT 2015 STMicroelectronics
21 | */
22 |
23 |
24 | /* Define to prevent recursive inclusion -------------------------------------*/
25 | #ifndef __SDK_EVAL_LED_H
26 | #define __SDK_EVAL_LED_H
27 |
28 | /* Includes ------------------------------------------------------------------*/
29 |
30 | #include "SDK_EVAL_Config.h"
31 |
32 | #ifdef __cplusplus
33 | extern "C" {
34 | #endif
35 |
36 | /** @addtogroup SDK_EVAL_BlueNRG1 SDK EVAL BlueNRG1
37 | * @{
38 | */
39 |
40 | /** @addtogroup SDK_EVAL_Led SDK EVAL Led
41 | * @{
42 | */
43 |
44 | /** @defgroup SDK_EVAL_Led_Exported_Types SDK EVAL Led Exported Types
45 | * @{
46 | */
47 |
48 | /**
49 | * @brief Enumeration of SDK EVAL LEDs
50 | * Only one LED on Nucleo Boards, but three LED here defined to mantain compatibility
51 | * with BlueNRG-1/2 evaluation boards.
52 | */
53 | typedef enum {
54 | LED1 = 0,
55 | LED2 = 0,
56 | LED3 = 0
57 | } SdkEvalLed;
58 |
59 | /**
60 | * @}
61 | */
62 |
63 | /** @defgroup SDK_EVAL_Led_Exported_Constants SDK EVAL Led Exported Constants
64 | * @{
65 | */
66 |
67 | #define EVAL_BOARD_LEDS LEDn
68 |
69 | /**
70 | * @brief SDK Eval leds polarity
71 | */
72 | #define LED_ON GPIO_PIN_SET
73 | #define LED_OFF GPIO_PIN_RESET
74 |
75 | /**
76 | * @}
77 | */
78 |
79 | /**
80 | * @defgroup SDK_EVAL_Led_Exported_Macros SDK EVAL Led Exported Macros
81 | * @{
82 | */
83 |
84 | /**
85 | * @}
86 | */
87 |
88 | /** @defgroup SDK_EVAL_Led_Exported_Functions SDK EVAL Led Exported Functions
89 | * @{
90 | */
91 | uint32_t Get_LedGpioPin(SdkEvalLed xLed);
92 | void SdkEvalLedInit(SdkEvalLed xLed);
93 | void SdkEvalLedOn(SdkEvalLed xLed);
94 | void SdkEvalLedOff(SdkEvalLed xLed);
95 | void SdkEvalLedToggle(SdkEvalLed xLed);
96 | FlagStatus SdkEvalLedGetState(SdkEvalLed xLed);
97 |
98 | /**
99 | * @}
100 | */
101 |
102 | /**
103 | * @}
104 | */
105 |
106 | /**
107 | * @}
108 | */
109 |
110 | #ifdef __cplusplus
111 | }
112 | #endif
113 |
114 | #endif /* __SDK_EVAL_LED_H */
115 |
116 | /******************* (C) COPYRIGHT 2015 STMicroelectronics *****END OF FILE****/
117 |
--------------------------------------------------------------------------------
/ST-STEVAL-FKI868V1/Drivers/CMSIS/DSP_Lib/Source/ControllerFunctions/arm_pid_init_f32.c:
--------------------------------------------------------------------------------
1 | /* ----------------------------------------------------------------------
2 | * Copyright (C) 2010-2014 ARM Limited. All rights reserved.
3 | *
4 | * $Date: 19. March 2015
5 | * $Revision: V.1.4.5
6 | *
7 | * Project: CMSIS DSP Library
8 | * Title: arm_pid_init_f32.c
9 | *
10 | * Description: Floating-point PID Control initialization function
11 | *
12 | *
13 | * Target Processor: Cortex-M4/Cortex-M3/Cortex-M0
14 | *
15 | * Redistribution and use in source and binary forms, with or without
16 | * modification, are permitted provided that the following conditions
17 | * are met:
18 | * - Redistributions of source code must retain the above copyright
19 | * notice, this list of conditions and the following disclaimer.
20 | * - Redistributions in binary form must reproduce the above copyright
21 | * notice, this list of conditions and the following disclaimer in
22 | * the documentation and/or other materials provided with the
23 | * distribution.
24 | * - Neither the name of ARM LIMITED nor the names of its contributors
25 | * may be used to endorse or promote products derived from this
26 | * software without specific prior written permission.
27 | *
28 | * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
29 | * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
30 | * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
31 | * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
32 | * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
33 | * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
34 | * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
35 | * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
36 | * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
37 | * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
38 | * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
39 | * POSSIBILITY OF SUCH DAMAGE.
40 | * ------------------------------------------------------------------- */
41 |
42 | #include "arm_math.h"
43 |
44 | /**
45 | * @addtogroup PID
46 | * @{
47 | */
48 |
49 | /**
50 | * @brief Initialization function for the floating-point PID Control.
51 | * @param[in,out] *S points to an instance of the PID structure.
52 | * @param[in] resetStateFlag flag to reset the state. 0 = no change in state & 1 = reset the state.
53 | * @return none.
54 | * \par Description:
55 | * \par
56 | * The resetStateFlag
specifies whether to set state to zero or not. \n
57 | * The function computes the structure fields: A0
, A1
A2
58 | * using the proportional gain( \c Kp), integral gain( \c Ki) and derivative gain( \c Kd)
59 | * also sets the state variables to all zeros.
60 | */
61 |
62 | void arm_pid_init_f32(
63 | arm_pid_instance_f32 * S,
64 | int32_t resetStateFlag)
65 | {
66 |
67 | /* Derived coefficient A0 */
68 | S->A0 = S->Kp + S->Ki + S->Kd;
69 |
70 | /* Derived coefficient A1 */
71 | S->A1 = (-S->Kp) - ((float32_t) 2.0 * S->Kd);
72 |
73 | /* Derived coefficient A2 */
74 | S->A2 = S->Kd;
75 |
76 | /* Check whether state needs reset or not */
77 | if(resetStateFlag)
78 | {
79 | /* Clear the state buffer. The size will be always 3 samples */
80 | memset(S->state, 0, 3u * sizeof(float32_t));
81 | }
82 |
83 | }
84 |
85 | /**
86 | * @} end of PID group
87 | */
88 |
--------------------------------------------------------------------------------
/ST-STEVAL-FKI868V1/Drivers/CMSIS/DSP_Lib/Source/ControllerFunctions/arm_pid_reset_f32.c:
--------------------------------------------------------------------------------
1 | /* ----------------------------------------------------------------------
2 | * Copyright (C) 2010-2014 ARM Limited. All rights reserved.
3 | *
4 | * $Date: 19. March 2015
5 | * $Revision: V.1.4.5
6 | *
7 | * Project: CMSIS DSP Library
8 | * Title: arm_pid_reset_f32.c
9 | *
10 | * Description: Floating-point PID Control reset function
11 | *
12 | * Target Processor: Cortex-M4/Cortex-M3/Cortex-M0
13 | *
14 | * Redistribution and use in source and binary forms, with or without
15 | * modification, are permitted provided that the following conditions
16 | * are met:
17 | * - Redistributions of source code must retain the above copyright
18 | * notice, this list of conditions and the following disclaimer.
19 | * - Redistributions in binary form must reproduce the above copyright
20 | * notice, this list of conditions and the following disclaimer in
21 | * the documentation and/or other materials provided with the
22 | * distribution.
23 | * - Neither the name of ARM LIMITED nor the names of its contributors
24 | * may be used to endorse or promote products derived from this
25 | * software without specific prior written permission.
26 | *
27 | * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
28 | * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
29 | * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
30 | * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
31 | * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
32 | * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
33 | * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
34 | * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
35 | * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
36 | * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
37 | * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
38 | * POSSIBILITY OF SUCH DAMAGE.
39 | * ------------------------------------------------------------------- */
40 |
41 | #include "arm_math.h"
42 |
43 | /**
44 | * @addtogroup PID
45 | * @{
46 | */
47 |
48 | /**
49 | * @brief Reset function for the floating-point PID Control.
50 | * @param[in] *S Instance pointer of PID control data structure.
51 | * @return none.
52 | * \par Description:
53 | * The function resets the state buffer to zeros.
54 | */
55 | void arm_pid_reset_f32(
56 | arm_pid_instance_f32 * S)
57 | {
58 |
59 | /* Clear the state buffer. The size will be always 3 samples */
60 | memset(S->state, 0, 3u * sizeof(float32_t));
61 | }
62 |
63 | /**
64 | * @} end of PID group
65 | */
66 |
--------------------------------------------------------------------------------
/ST-STEVAL-FKI868V1/Drivers/CMSIS/DSP_Lib/Source/ControllerFunctions/arm_pid_reset_q15.c:
--------------------------------------------------------------------------------
1 | /* ----------------------------------------------------------------------
2 | * Copyright (C) 2010-2014 ARM Limited. All rights reserved.
3 | *
4 | * $Date: 19. March 2015
5 | * $Revision: V.1.4.5
6 | *
7 | * Project: CMSIS DSP Library
8 | * Title: arm_pid_reset_q15.c
9 | *
10 | * Description: Q15 PID Control reset function
11 | *
12 | * Target Processor: Cortex-M4/Cortex-M3/Cortex-M0
13 | *
14 | * Redistribution and use in source and binary forms, with or without
15 | * modification, are permitted provided that the following conditions
16 | * are met:
17 | * - Redistributions of source code must retain the above copyright
18 | * notice, this list of conditions and the following disclaimer.
19 | * - Redistributions in binary form must reproduce the above copyright
20 | * notice, this list of conditions and the following disclaimer in
21 | * the documentation and/or other materials provided with the
22 | * distribution.
23 | * - Neither the name of ARM LIMITED nor the names of its contributors
24 | * may be used to endorse or promote products derived from this
25 | * software without specific prior written permission.
26 | *
27 | * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
28 | * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
29 | * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
30 | * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
31 | * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
32 | * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
33 | * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
34 | * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
35 | * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
36 | * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
37 | * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
38 | * POSSIBILITY OF SUCH DAMAGE.
39 | * -------------------------------------------------------------------- */
40 |
41 | #include "arm_math.h"
42 |
43 | /**
44 | * @addtogroup PID
45 | * @{
46 | */
47 |
48 | /**
49 | * @brief Reset function for the Q15 PID Control.
50 | * @param[in] *S Instance pointer of PID control data structure.
51 | * @return none.
52 | * \par Description:
53 | * The function resets the state buffer to zeros.
54 | */
55 | void arm_pid_reset_q15(
56 | arm_pid_instance_q15 * S)
57 | {
58 | /* Reset state to zero, The size will be always 3 samples */
59 | memset(S->state, 0, 3u * sizeof(q15_t));
60 | }
61 |
62 | /**
63 | * @} end of PID group
64 | */
65 |
--------------------------------------------------------------------------------
/ST-STEVAL-FKI868V1/Drivers/CMSIS/DSP_Lib/Source/ControllerFunctions/arm_pid_reset_q31.c:
--------------------------------------------------------------------------------
1 | /* ----------------------------------------------------------------------
2 | * Copyright (C) 2010-2014 ARM Limited. All rights reserved.
3 | *
4 | * $Date: 19. March 2015
5 | * $Revision: V.1.4.5
6 | *
7 | * Project: CMSIS DSP Library
8 | * Title: arm_pid_reset_q31.c
9 | *
10 | * Description: Q31 PID Control reset function
11 | *
12 | * Target Processor: Cortex-M4/Cortex-M3/Cortex-M0
13 | *
14 | * Redistribution and use in source and binary forms, with or without
15 | * modification, are permitted provided that the following conditions
16 | * are met:
17 | * - Redistributions of source code must retain the above copyright
18 | * notice, this list of conditions and the following disclaimer.
19 | * - Redistributions in binary form must reproduce the above copyright
20 | * notice, this list of conditions and the following disclaimer in
21 | * the documentation and/or other materials provided with the
22 | * distribution.
23 | * - Neither the name of ARM LIMITED nor the names of its contributors
24 | * may be used to endorse or promote products derived from this
25 | * software without specific prior written permission.
26 | *
27 | * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
28 | * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
29 | * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
30 | * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
31 | * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
32 | * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
33 | * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
34 | * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
35 | * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
36 | * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
37 | * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
38 | * POSSIBILITY OF SUCH DAMAGE.
39 | * ------------------------------------------------------------------- */
40 |
41 | #include "arm_math.h"
42 |
43 | /**
44 | * @addtogroup PID
45 | * @{
46 | */
47 |
48 | /**
49 | * @brief Reset function for the Q31 PID Control.
50 | * @param[in] *S Instance pointer of PID control data structure.
51 | * @return none.
52 | * \par Description:
53 | * The function resets the state buffer to zeros.
54 | */
55 | void arm_pid_reset_q31(
56 | arm_pid_instance_q31 * S)
57 | {
58 |
59 | /* Clear the state buffer. The size will be always 3 samples */
60 | memset(S->state, 0, 3u * sizeof(q31_t));
61 | }
62 |
63 | /**
64 | * @} end of PID group
65 | */
66 |
--------------------------------------------------------------------------------
/ST-STEVAL-FKI868V1/Drivers/CMSIS/DSP_Lib/Source/FastMathFunctions/arm_cos_q15.c:
--------------------------------------------------------------------------------
1 | /* ----------------------------------------------------------------------
2 | * Copyright (C) 2010-2014 ARM Limited. All rights reserved.
3 | *
4 | * $Date: 07. September 2015
5 | * $Revision: V.1.4.5 a
6 | *
7 | * Project: CMSIS DSP Library
8 | * Title: arm_cos_q15.c
9 | *
10 | * Description: Fast cosine calculation for Q15 values.
11 | *
12 | * Target Processor: Cortex-M4/Cortex-M3/Cortex-M0
13 | *
14 | * Redistribution and use in source and binary forms, with or without
15 | * modification, are permitted provided that the following conditions
16 | * are met:
17 | * - Redistributions of source code must retain the above copyright
18 | * notice, this list of conditions and the following disclaimer.
19 | * - Redistributions in binary form must reproduce the above copyright
20 | * notice, this list of conditions and the following disclaimer in
21 | * the documentation and/or other materials provided with the
22 | * distribution.
23 | * - Neither the name of ARM LIMITED nor the names of its contributors
24 | * may be used to endorse or promote products derived from this
25 | * software without specific prior written permission.
26 | *
27 | * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
28 | * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
29 | * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
30 | * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
31 | * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
32 | * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
33 | * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
34 | * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
35 | * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
36 | * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
37 | * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
38 | * POSSIBILITY OF SUCH DAMAGE.
39 | * -------------------------------------------------------------------- */
40 |
41 | #include "arm_math.h"
42 | #include "arm_common_tables.h"
43 |
44 | /**
45 | * @ingroup groupFastMath
46 | */
47 |
48 | /**
49 | * @addtogroup cos
50 | * @{
51 | */
52 |
53 | /**
54 | * @brief Fast approximation to the trigonometric cosine function for Q15 data.
55 | * @param[in] x Scaled input value in radians.
56 | * @return cos(x).
57 | *
58 | * The Q15 input value is in the range [0 +0.9999] and is mapped to a radian
59 | * value in the range [0 2*pi).
60 | */
61 |
62 | q15_t arm_cos_q15(
63 | q15_t x)
64 | {
65 | q15_t cosVal; /* Temporary variables for input, output */
66 | int32_t index; /* Index variables */
67 | q15_t a, b; /* Four nearest output values */
68 | q15_t fract; /* Temporary values for fractional values */
69 |
70 | /* add 0.25 (pi/2) to read sine table */
71 | x = (uint16_t)x + 0x2000;
72 | if(x < 0)
73 | { /* convert negative numbers to corresponding positive ones */
74 | x = (uint16_t)x + 0x8000;
75 | }
76 |
77 | /* Calculate the nearest index */
78 | index = (uint32_t)x >> FAST_MATH_Q15_SHIFT;
79 |
80 | /* Calculation of fractional value */
81 | fract = (x - (index << FAST_MATH_Q15_SHIFT)) << 9;
82 |
83 | /* Read two nearest values of input value from the sin table */
84 | a = sinTable_q15[index];
85 | b = sinTable_q15[index+1];
86 |
87 | /* Linear interpolation process */
88 | cosVal = (q31_t)(0x8000-fract)*a >> 16;
89 | cosVal = (q15_t)((((q31_t)cosVal << 16) + ((q31_t)fract*b)) >> 16);
90 |
91 | return cosVal << 1;
92 | }
93 |
94 | /**
95 | * @} end of cos group
96 | */
97 |
--------------------------------------------------------------------------------
/ST-STEVAL-FKI868V1/Drivers/CMSIS/DSP_Lib/Source/FastMathFunctions/arm_cos_q31.c:
--------------------------------------------------------------------------------
1 | /* ----------------------------------------------------------------------
2 | * Copyright (C) 2010-2014 ARM Limited. All rights reserved.
3 | *
4 | * $Date: 07. September 2015
5 | * $Revision: V.1.4.5 a
6 | *
7 | * Project: CMSIS DSP Library
8 | * Title: arm_cos_q31.c
9 | *
10 | * Description: Fast cosine calculation for Q31 values.
11 | *
12 | * Target Processor: Cortex-M4/Cortex-M3/Cortex-M0
13 | *
14 | * Redistribution and use in source and binary forms, with or without
15 | * modification, are permitted provided that the following conditions
16 | * are met:
17 | * - Redistributions of source code must retain the above copyright
18 | * notice, this list of conditions and the following disclaimer.
19 | * - Redistributions in binary form must reproduce the above copyright
20 | * notice, this list of conditions and the following disclaimer in
21 | * the documentation and/or other materials provided with the
22 | * distribution.
23 | * - Neither the name of ARM LIMITED nor the names of its contributors
24 | * may be used to endorse or promote products derived from this
25 | * software without specific prior written permission.
26 | *
27 | * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
28 | * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
29 | * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
30 | * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
31 | * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
32 | * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
33 | * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
34 | * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
35 | * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
36 | * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
37 | * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
38 | * POSSIBILITY OF SUCH DAMAGE.
39 | * -------------------------------------------------------------------- */
40 |
41 | #include "arm_math.h"
42 | #include "arm_common_tables.h"
43 |
44 | /**
45 | * @ingroup groupFastMath
46 | */
47 |
48 | /**
49 | * @addtogroup cos
50 | * @{
51 | */
52 |
53 | /**
54 | * @brief Fast approximation to the trigonometric cosine function for Q31 data.
55 | * @param[in] x Scaled input value in radians.
56 | * @return cos(x).
57 | *
58 | * The Q31 input value is in the range [0 +0.9999] and is mapped to a radian
59 | * value in the range [0 2*pi).
60 | */
61 |
62 | q31_t arm_cos_q31(
63 | q31_t x)
64 | {
65 | q31_t cosVal; /* Temporary variables for input, output */
66 | int32_t index; /* Index variables */
67 | q31_t a, b; /* Four nearest output values */
68 | q31_t fract; /* Temporary values for fractional values */
69 |
70 | /* add 0.25 (pi/2) to read sine table */
71 | x = (uint32_t)x + 0x20000000;
72 | if(x < 0)
73 | { /* convert negative numbers to corresponding positive ones */
74 | x = (uint32_t)x + 0x80000000;
75 | }
76 |
77 | /* Calculate the nearest index */
78 | index = (uint32_t)x >> FAST_MATH_Q31_SHIFT;
79 |
80 | /* Calculation of fractional value */
81 | fract = (x - (index << FAST_MATH_Q31_SHIFT)) << 9;
82 |
83 | /* Read two nearest values of input value from the sin table */
84 | a = sinTable_q31[index];
85 | b = sinTable_q31[index+1];
86 |
87 | /* Linear interpolation process */
88 | cosVal = (q63_t)(0x80000000-fract)*a >> 32;
89 | cosVal = (q31_t)((((q63_t)cosVal << 32) + ((q63_t)fract*b)) >> 32);
90 |
91 | return cosVal << 1;
92 | }
93 |
94 | /**
95 | * @} end of cos group
96 | */
97 |
--------------------------------------------------------------------------------
/ST-STEVAL-FKI868V1/Drivers/CMSIS/DSP_Lib/Source/FastMathFunctions/arm_sin_q15.c:
--------------------------------------------------------------------------------
1 | /* ----------------------------------------------------------------------
2 | * Copyright (C) 2010-2014 ARM Limited. All rights reserved.
3 | *
4 | * $Date: 19. March 2015
5 | * $Revision: V.1.4.5
6 | *
7 | * Project: CMSIS DSP Library
8 | * Title: arm_sin_q15.c
9 | *
10 | * Description: Fast sine calculation for Q15 values.
11 | *
12 | * Target Processor: Cortex-M4/Cortex-M3/Cortex-M0
13 | *
14 | * Redistribution and use in source and binary forms, with or without
15 | * modification, are permitted provided that the following conditions
16 | * are met:
17 | * - Redistributions of source code must retain the above copyright
18 | * notice, this list of conditions and the following disclaimer.
19 | * - Redistributions in binary form must reproduce the above copyright
20 | * notice, this list of conditions and the following disclaimer in
21 | * the documentation and/or other materials provided with the
22 | * distribution.
23 | * - Neither the name of ARM LIMITED nor the names of its contributors
24 | * may be used to endorse or promote products derived from this
25 | * software without specific prior written permission.
26 | *
27 | * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
28 | * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
29 | * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
30 | * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
31 | * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
32 | * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
33 | * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
34 | * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
35 | * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
36 | * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
37 | * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
38 | * POSSIBILITY OF SUCH DAMAGE.
39 | * -------------------------------------------------------------------- */
40 |
41 | #include "arm_math.h"
42 | #include "arm_common_tables.h"
43 |
44 | /**
45 | * @ingroup groupFastMath
46 | */
47 |
48 | /**
49 | * @addtogroup sin
50 | * @{
51 | */
52 |
53 | /**
54 | * @brief Fast approximation to the trigonometric sine function for Q15 data.
55 | * @param[in] x Scaled input value in radians.
56 | * @return sin(x).
57 | *
58 | * The Q15 input value is in the range [0 +0.9999] and is mapped to a radian value in the range [0 2*pi).
59 | */
60 |
61 | q15_t arm_sin_q15(
62 | q15_t x)
63 | {
64 | q15_t sinVal; /* Temporary variables for input, output */
65 | int32_t index; /* Index variables */
66 | q15_t a, b; /* Four nearest output values */
67 | q15_t fract; /* Temporary values for fractional values */
68 |
69 | /* Calculate the nearest index */
70 | index = (uint32_t)x >> FAST_MATH_Q15_SHIFT;
71 |
72 | /* Calculation of fractional value */
73 | fract = (x - (index << FAST_MATH_Q15_SHIFT)) << 9;
74 |
75 | /* Read two nearest values of input value from the sin table */
76 | a = sinTable_q15[index];
77 | b = sinTable_q15[index+1];
78 |
79 | /* Linear interpolation process */
80 | sinVal = (q31_t)(0x8000-fract)*a >> 16;
81 | sinVal = (q15_t)((((q31_t)sinVal << 16) + ((q31_t)fract*b)) >> 16);
82 |
83 | return sinVal << 1;
84 | }
85 |
86 | /**
87 | * @} end of sin group
88 | */
89 |
--------------------------------------------------------------------------------
/ST-STEVAL-FKI868V1/Drivers/CMSIS/DSP_Lib/Source/FastMathFunctions/arm_sin_q31.c:
--------------------------------------------------------------------------------
1 | /* ----------------------------------------------------------------------
2 | * Copyright (C) 2010-2014 ARM Limited. All rights reserved.
3 | *
4 | * $Date: 19. March 2015
5 | * $Revision: V.1.4.5
6 | *
7 | * Project: CMSIS DSP Library
8 | * Title: arm_sin_q31.c
9 | *
10 | * Description: Fast sine calculation for Q31 values.
11 | *
12 | * Target Processor: Cortex-M4/Cortex-M3/Cortex-M0
13 | *
14 | * Redistribution and use in source and binary forms, with or without
15 | * modification, are permitted provided that the following conditions
16 | * are met:
17 | * - Redistributions of source code must retain the above copyright
18 | * notice, this list of conditions and the following disclaimer.
19 | * - Redistributions in binary form must reproduce the above copyright
20 | * notice, this list of conditions and the following disclaimer in
21 | * the documentation and/or other materials provided with the
22 | * distribution.
23 | * - Neither the name of ARM LIMITED nor the names of its contributors
24 | * may be used to endorse or promote products derived from this
25 | * software without specific prior written permission.
26 | *
27 | * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
28 | * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
29 | * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
30 | * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
31 | * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
32 | * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
33 | * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
34 | * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
35 | * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
36 | * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
37 | * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
38 | * POSSIBILITY OF SUCH DAMAGE.
39 | * -------------------------------------------------------------------- */
40 |
41 | #include "arm_math.h"
42 | #include "arm_common_tables.h"
43 |
44 | /**
45 | * @ingroup groupFastMath
46 | */
47 |
48 | /**
49 | * @addtogroup sin
50 | * @{
51 | */
52 |
53 | /**
54 | * @brief Fast approximation to the trigonometric sine function for Q31 data.
55 | * @param[in] x Scaled input value in radians.
56 | * @return sin(x).
57 | *
58 | * The Q31 input value is in the range [0 +0.9999] and is mapped to a radian value in the range [0 2*pi). */
59 |
60 | q31_t arm_sin_q31(
61 | q31_t x)
62 | {
63 | q31_t sinVal; /* Temporary variables for input, output */
64 | int32_t index; /* Index variables */
65 | q31_t a, b; /* Four nearest output values */
66 | q31_t fract; /* Temporary values for fractional values */
67 |
68 | /* Calculate the nearest index */
69 | index = (uint32_t)x >> FAST_MATH_Q31_SHIFT;
70 |
71 | /* Calculation of fractional value */
72 | fract = (x - (index << FAST_MATH_Q31_SHIFT)) << 9;
73 |
74 | /* Read two nearest values of input value from the sin table */
75 | a = sinTable_q31[index];
76 | b = sinTable_q31[index+1];
77 |
78 | /* Linear interpolation process */
79 | sinVal = (q63_t)(0x80000000-fract)*a >> 32;
80 | sinVal = (q31_t)((((q63_t)sinVal << 32) + ((q63_t)fract*b)) >> 32);
81 |
82 | return sinVal << 1;
83 | }
84 |
85 | /**
86 | * @} end of sin group
87 | */
88 |
--------------------------------------------------------------------------------
/ST-STEVAL-FKI868V1/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_fir_lattice_init_f32.c:
--------------------------------------------------------------------------------
1 | /*-----------------------------------------------------------------------------
2 | * Copyright (C) 2010-2014 ARM Limited. All rights reserved.
3 | *
4 | * $Date: 19. March 2015
5 | * $Revision: V.1.4.5
6 | *
7 | * Project: CMSIS DSP Library
8 | * Title: arm_fir_lattice_init_f32.c
9 | *
10 | * Description: Floating-point FIR Lattice filter initialization function.
11 | *
12 | * Target Processor: Cortex-M4/Cortex-M3/Cortex-M0
13 | *
14 | * Redistribution and use in source and binary forms, with or without
15 | * modification, are permitted provided that the following conditions
16 | * are met:
17 | * - Redistributions of source code must retain the above copyright
18 | * notice, this list of conditions and the following disclaimer.
19 | * - Redistributions in binary form must reproduce the above copyright
20 | * notice, this list of conditions and the following disclaimer in
21 | * the documentation and/or other materials provided with the
22 | * distribution.
23 | * - Neither the name of ARM LIMITED nor the names of its contributors
24 | * may be used to endorse or promote products derived from this
25 | * software without specific prior written permission.
26 | *
27 | * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
28 | * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
29 | * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
30 | * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
31 | * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
32 | * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
33 | * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
34 | * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
35 | * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
36 | * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
37 | * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
38 | * POSSIBILITY OF SUCH DAMAGE.
39 | * ---------------------------------------------------------------------------*/
40 |
41 | #include "arm_math.h"
42 |
43 | /**
44 | * @ingroup groupFilters
45 | */
46 |
47 | /**
48 | * @addtogroup FIR_Lattice
49 | * @{
50 | */
51 |
52 | /**
53 | * @brief Initialization function for the floating-point FIR lattice filter.
54 | * @param[in] *S points to an instance of the floating-point FIR lattice structure.
55 | * @param[in] numStages number of filter stages.
56 | * @param[in] *pCoeffs points to the coefficient buffer. The array is of length numStages.
57 | * @param[in] *pState points to the state buffer. The array is of length numStages.
58 | * @return none.
59 | */
60 |
61 | void arm_fir_lattice_init_f32(
62 | arm_fir_lattice_instance_f32 * S,
63 | uint16_t numStages,
64 | float32_t * pCoeffs,
65 | float32_t * pState)
66 | {
67 | /* Assign filter taps */
68 | S->numStages = numStages;
69 |
70 | /* Assign coefficient pointer */
71 | S->pCoeffs = pCoeffs;
72 |
73 | /* Clear state buffer and size is always numStages */
74 | memset(pState, 0, (numStages) * sizeof(float32_t));
75 |
76 | /* Assign state pointer */
77 | S->pState = pState;
78 |
79 | }
80 |
81 | /**
82 | * @} end of FIR_Lattice group
83 | */
84 |
--------------------------------------------------------------------------------
/ST-STEVAL-FKI868V1/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_fir_lattice_init_q15.c:
--------------------------------------------------------------------------------
1 | /*-----------------------------------------------------------------------------
2 | * Copyright (C) 2010-2014 ARM Limited. All rights reserved.
3 | *
4 | * $Date: 19. March 2015
5 | * $Revision: V.1.4.5
6 | *
7 | * Project: CMSIS DSP Library
8 | * Title: arm_fir_lattice_init_q15.c
9 | *
10 | * Description: Q15 FIR Lattice filter initialization function.
11 | *
12 | * Target Processor: Cortex-M4/Cortex-M3/Cortex-M0
13 | *
14 | * Redistribution and use in source and binary forms, with or without
15 | * modification, are permitted provided that the following conditions
16 | * are met:
17 | * - Redistributions of source code must retain the above copyright
18 | * notice, this list of conditions and the following disclaimer.
19 | * - Redistributions in binary form must reproduce the above copyright
20 | * notice, this list of conditions and the following disclaimer in
21 | * the documentation and/or other materials provided with the
22 | * distribution.
23 | * - Neither the name of ARM LIMITED nor the names of its contributors
24 | * may be used to endorse or promote products derived from this
25 | * software without specific prior written permission.
26 | *
27 | * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
28 | * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
29 | * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
30 | * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
31 | * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
32 | * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
33 | * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
34 | * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
35 | * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
36 | * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
37 | * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
38 | * POSSIBILITY OF SUCH DAMAGE.
39 | * ---------------------------------------------------------------------------*/
40 |
41 | #include "arm_math.h"
42 |
43 | /**
44 | * @ingroup groupFilters
45 | */
46 |
47 | /**
48 | * @addtogroup FIR_Lattice
49 | * @{
50 | */
51 |
52 | /**
53 | * @brief Initialization function for the Q15 FIR lattice filter.
54 | * @param[in] *S points to an instance of the Q15 FIR lattice structure.
55 | * @param[in] numStages number of filter stages.
56 | * @param[in] *pCoeffs points to the coefficient buffer. The array is of length numStages.
57 | * @param[in] *pState points to the state buffer. The array is of length numStages.
58 | * @return none.
59 | */
60 |
61 | void arm_fir_lattice_init_q15(
62 | arm_fir_lattice_instance_q15 * S,
63 | uint16_t numStages,
64 | q15_t * pCoeffs,
65 | q15_t * pState)
66 | {
67 | /* Assign filter taps */
68 | S->numStages = numStages;
69 |
70 | /* Assign coefficient pointer */
71 | S->pCoeffs = pCoeffs;
72 |
73 | /* Clear state buffer and size is always numStages */
74 | memset(pState, 0, (numStages) * sizeof(q15_t));
75 |
76 | /* Assign state pointer */
77 | S->pState = pState;
78 |
79 | }
80 |
81 | /**
82 | * @} end of FIR_Lattice group
83 | */
84 |
--------------------------------------------------------------------------------
/ST-STEVAL-FKI868V1/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_fir_lattice_init_q31.c:
--------------------------------------------------------------------------------
1 | /*-----------------------------------------------------------------------------
2 | * Copyright (C) 2010-2014 ARM Limited. All rights reserved.
3 | *
4 | * $Date: 19. March 2015
5 | * $Revision: V.1.4.5
6 | *
7 | * Project: CMSIS DSP Library
8 | * Title: arm_fir_lattice_init_q31.c
9 | *
10 | * Description: Q31 FIR lattice filter initialization function.
11 | *
12 | * Target Processor: Cortex-M4/Cortex-M3/Cortex-M0
13 | *
14 | * Redistribution and use in source and binary forms, with or without
15 | * modification, are permitted provided that the following conditions
16 | * are met:
17 | * - Redistributions of source code must retain the above copyright
18 | * notice, this list of conditions and the following disclaimer.
19 | * - Redistributions in binary form must reproduce the above copyright
20 | * notice, this list of conditions and the following disclaimer in
21 | * the documentation and/or other materials provided with the
22 | * distribution.
23 | * - Neither the name of ARM LIMITED nor the names of its contributors
24 | * may be used to endorse or promote products derived from this
25 | * software without specific prior written permission.
26 | *
27 | * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
28 | * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
29 | * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
30 | * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
31 | * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
32 | * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
33 | * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
34 | * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
35 | * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
36 | * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
37 | * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
38 | * POSSIBILITY OF SUCH DAMAGE.
39 | * ---------------------------------------------------------------------------*/
40 |
41 | #include "arm_math.h"
42 |
43 | /**
44 | * @ingroup groupFilters
45 | */
46 |
47 | /**
48 | * @addtogroup FIR_Lattice
49 | * @{
50 | */
51 |
52 | /**
53 | * @brief Initialization function for the Q31 FIR lattice filter.
54 | * @param[in] *S points to an instance of the Q31 FIR lattice structure.
55 | * @param[in] numStages number of filter stages.
56 | * @param[in] *pCoeffs points to the coefficient buffer. The array is of length numStages.
57 | * @param[in] *pState points to the state buffer. The array is of length numStages.
58 | * @return none.
59 | */
60 |
61 | void arm_fir_lattice_init_q31(
62 | arm_fir_lattice_instance_q31 * S,
63 | uint16_t numStages,
64 | q31_t * pCoeffs,
65 | q31_t * pState)
66 | {
67 | /* Assign filter taps */
68 | S->numStages = numStages;
69 |
70 | /* Assign coefficient pointer */
71 | S->pCoeffs = pCoeffs;
72 |
73 | /* Clear state buffer and size is always numStages */
74 | memset(pState, 0, (numStages) * sizeof(q31_t));
75 |
76 | /* Assign state pointer */
77 | S->pState = pState;
78 |
79 | }
80 |
81 | /**
82 | * @} end of FIR_Lattice group
83 | */
84 |
--------------------------------------------------------------------------------
/ST-STEVAL-FKI868V1/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_iir_lattice_init_f32.c:
--------------------------------------------------------------------------------
1 | /*-----------------------------------------------------------------------------
2 | * Copyright (C) 2010-2014 ARM Limited. All rights reserved.
3 | *
4 | * $Date: 19. March 2015
5 | * $Revision: V.1.4.5
6 | *
7 | * Project: CMSIS DSP Library
8 | * Title: arm_iir_lattice_init_f32.c
9 | *
10 | * Description: Floating-point IIR lattice filter initialization function.
11 | *
12 | * Target Processor: Cortex-M4/Cortex-M3/Cortex-M0
13 | *
14 | * Redistribution and use in source and binary forms, with or without
15 | * modification, are permitted provided that the following conditions
16 | * are met:
17 | * - Redistributions of source code must retain the above copyright
18 | * notice, this list of conditions and the following disclaimer.
19 | * - Redistributions in binary form must reproduce the above copyright
20 | * notice, this list of conditions and the following disclaimer in
21 | * the documentation and/or other materials provided with the
22 | * distribution.
23 | * - Neither the name of ARM LIMITED nor the names of its contributors
24 | * may be used to endorse or promote products derived from this
25 | * software without specific prior written permission.
26 | *
27 | * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
28 | * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
29 | * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
30 | * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
31 | * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
32 | * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
33 | * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
34 | * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
35 | * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
36 | * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
37 | * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
38 | * POSSIBILITY OF SUCH DAMAGE.
39 | * ---------------------------------------------------------------------------*/
40 |
41 | #include "arm_math.h"
42 |
43 | /**
44 | * @ingroup groupFilters
45 | */
46 |
47 | /**
48 | * @addtogroup IIR_Lattice
49 | * @{
50 | */
51 |
52 | /**
53 | * @brief Initialization function for the floating-point IIR lattice filter.
54 | * @param[in] *S points to an instance of the floating-point IIR lattice structure.
55 | * @param[in] numStages number of stages in the filter.
56 | * @param[in] *pkCoeffs points to the reflection coefficient buffer. The array is of length numStages.
57 | * @param[in] *pvCoeffs points to the ladder coefficient buffer. The array is of length numStages+1.
58 | * @param[in] *pState points to the state buffer. The array is of length numStages+blockSize.
59 | * @param[in] blockSize number of samples to process.
60 | * @return none.
61 | */
62 |
63 | void arm_iir_lattice_init_f32(
64 | arm_iir_lattice_instance_f32 * S,
65 | uint16_t numStages,
66 | float32_t * pkCoeffs,
67 | float32_t * pvCoeffs,
68 | float32_t * pState,
69 | uint32_t blockSize)
70 | {
71 | /* Assign filter taps */
72 | S->numStages = numStages;
73 |
74 | /* Assign reflection coefficient pointer */
75 | S->pkCoeffs = pkCoeffs;
76 |
77 | /* Assign ladder coefficient pointer */
78 | S->pvCoeffs = pvCoeffs;
79 |
80 | /* Clear state buffer and size is always blockSize + numStages */
81 | memset(pState, 0, (numStages + blockSize) * sizeof(float32_t));
82 |
83 | /* Assign state pointer */
84 | S->pState = pState;
85 |
86 |
87 | }
88 |
89 | /**
90 | * @} end of IIR_Lattice group
91 | */
92 |
--------------------------------------------------------------------------------
/ST-STEVAL-FKI868V1/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_iir_lattice_init_q15.c:
--------------------------------------------------------------------------------
1 | /*-----------------------------------------------------------------------------
2 | * Copyright (C) 2010-2014 ARM Limited. All rights reserved.
3 | *
4 | * $Date: 19. March 2015
5 | * $Revision: V.1.4.5
6 | *
7 | * Project: CMSIS DSP Library
8 | * Title: arm_iir_lattice_init_q15.c
9 | *
10 | * Description: Q15 IIR lattice filter initialization function.
11 | *
12 | * Target Processor: Cortex-M4/Cortex-M3/Cortex-M0
13 | *
14 | * Redistribution and use in source and binary forms, with or without
15 | * modification, are permitted provided that the following conditions
16 | * are met:
17 | * - Redistributions of source code must retain the above copyright
18 | * notice, this list of conditions and the following disclaimer.
19 | * - Redistributions in binary form must reproduce the above copyright
20 | * notice, this list of conditions and the following disclaimer in
21 | * the documentation and/or other materials provided with the
22 | * distribution.
23 | * - Neither the name of ARM LIMITED nor the names of its contributors
24 | * may be used to endorse or promote products derived from this
25 | * software without specific prior written permission.
26 | *
27 | * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
28 | * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
29 | * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
30 | * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
31 | * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
32 | * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
33 | * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
34 | * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
35 | * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
36 | * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
37 | * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
38 | * POSSIBILITY OF SUCH DAMAGE.
39 | * ---------------------------------------------------------------------------*/
40 |
41 | #include "arm_math.h"
42 |
43 | /**
44 | * @ingroup groupFilters
45 | */
46 |
47 | /**
48 | * @addtogroup IIR_Lattice
49 | * @{
50 | */
51 |
52 | /**
53 | * @brief Initialization function for the Q15 IIR lattice filter.
54 | * @param[in] *S points to an instance of the Q15 IIR lattice structure.
55 | * @param[in] numStages number of stages in the filter.
56 | * @param[in] *pkCoeffs points to reflection coefficient buffer. The array is of length numStages.
57 | * @param[in] *pvCoeffs points to ladder coefficient buffer. The array is of length numStages+1.
58 | * @param[in] *pState points to state buffer. The array is of length numStages+blockSize.
59 | * @param[in] blockSize number of samples to process per call.
60 | * @return none.
61 | */
62 |
63 | void arm_iir_lattice_init_q15(
64 | arm_iir_lattice_instance_q15 * S,
65 | uint16_t numStages,
66 | q15_t * pkCoeffs,
67 | q15_t * pvCoeffs,
68 | q15_t * pState,
69 | uint32_t blockSize)
70 | {
71 | /* Assign filter taps */
72 | S->numStages = numStages;
73 |
74 | /* Assign reflection coefficient pointer */
75 | S->pkCoeffs = pkCoeffs;
76 |
77 | /* Assign ladder coefficient pointer */
78 | S->pvCoeffs = pvCoeffs;
79 |
80 | /* Clear state buffer and size is always blockSize + numStages */
81 | memset(pState, 0, (numStages + blockSize) * sizeof(q15_t));
82 |
83 | /* Assign state pointer */
84 | S->pState = pState;
85 |
86 |
87 | }
88 |
89 | /**
90 | * @} end of IIR_Lattice group
91 | */
92 |
--------------------------------------------------------------------------------
/ST-STEVAL-FKI868V1/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_iir_lattice_init_q31.c:
--------------------------------------------------------------------------------
1 | /*-----------------------------------------------------------------------------
2 | * Copyright (C) 2010-2014 ARM Limited. All rights reserved.
3 | *
4 | * $Date: 19. March 2015
5 | * $Revision: V.1.4.5
6 | *
7 | * Project: CMSIS DSP Library
8 | * Title: arm_iir_lattice_init_q31.c
9 | *
10 | * Description: Initialization function for the Q31 IIR lattice filter.
11 | *
12 | * Target Processor: Cortex-M4/Cortex-M3/Cortex-M0
13 | *
14 | * Redistribution and use in source and binary forms, with or without
15 | * modification, are permitted provided that the following conditions
16 | * are met:
17 | * - Redistributions of source code must retain the above copyright
18 | * notice, this list of conditions and the following disclaimer.
19 | * - Redistributions in binary form must reproduce the above copyright
20 | * notice, this list of conditions and the following disclaimer in
21 | * the documentation and/or other materials provided with the
22 | * distribution.
23 | * - Neither the name of ARM LIMITED nor the names of its contributors
24 | * may be used to endorse or promote products derived from this
25 | * software without specific prior written permission.
26 | *
27 | * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
28 | * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
29 | * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
30 | * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
31 | * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
32 | * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
33 | * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
34 | * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
35 | * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
36 | * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
37 | * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
38 | * POSSIBILITY OF SUCH DAMAGE.
39 | * ---------------------------------------------------------------------------*/
40 |
41 | #include "arm_math.h"
42 |
43 | /**
44 | * @ingroup groupFilters
45 | */
46 |
47 | /**
48 | * @addtogroup IIR_Lattice
49 | * @{
50 | */
51 |
52 | /**
53 | * @brief Initialization function for the Q31 IIR lattice filter.
54 | * @param[in] *S points to an instance of the Q31 IIR lattice structure.
55 | * @param[in] numStages number of stages in the filter.
56 | * @param[in] *pkCoeffs points to the reflection coefficient buffer. The array is of length numStages.
57 | * @param[in] *pvCoeffs points to the ladder coefficient buffer. The array is of length numStages+1.
58 | * @param[in] *pState points to the state buffer. The array is of length numStages+blockSize.
59 | * @param[in] blockSize number of samples to process.
60 | * @return none.
61 | */
62 |
63 | void arm_iir_lattice_init_q31(
64 | arm_iir_lattice_instance_q31 * S,
65 | uint16_t numStages,
66 | q31_t * pkCoeffs,
67 | q31_t * pvCoeffs,
68 | q31_t * pState,
69 | uint32_t blockSize)
70 | {
71 | /* Assign filter taps */
72 | S->numStages = numStages;
73 |
74 | /* Assign reflection coefficient pointer */
75 | S->pkCoeffs = pkCoeffs;
76 |
77 | /* Assign ladder coefficient pointer */
78 | S->pvCoeffs = pvCoeffs;
79 |
80 | /* Clear state buffer and size is always blockSize + numStages */
81 | memset(pState, 0, (numStages + blockSize) * sizeof(q31_t));
82 |
83 | /* Assign state pointer */
84 | S->pState = pState;
85 |
86 |
87 | }
88 |
89 | /**
90 | * @} end of IIR_Lattice group
91 | */
92 |
--------------------------------------------------------------------------------
/ST-STEVAL-FKI868V1/Drivers/CMSIS/DSP_Lib/Source/MatrixFunctions/arm_mat_init_f32.c:
--------------------------------------------------------------------------------
1 | /* ----------------------------------------------------------------------------
2 | * Copyright (C) 2010-2014 ARM Limited. All rights reserved.
3 | *
4 | * $Date: 19. March 2015
5 | * $Revision: V.1.4.5
6 | *
7 | * Project: CMSIS DSP Library
8 | * Title: arm_mat_init_f32.c
9 | *
10 | * Description: Floating-point matrix initialization.
11 | *
12 | * Target Processor: Cortex-M4/Cortex-M3/Cortex-M0
13 | *
14 | * Redistribution and use in source and binary forms, with or without
15 | * modification, are permitted provided that the following conditions
16 | * are met:
17 | * - Redistributions of source code must retain the above copyright
18 | * notice, this list of conditions and the following disclaimer.
19 | * - Redistributions in binary form must reproduce the above copyright
20 | * notice, this list of conditions and the following disclaimer in
21 | * the documentation and/or other materials provided with the
22 | * distribution.
23 | * - Neither the name of ARM LIMITED nor the names of its contributors
24 | * may be used to endorse or promote products derived from this
25 | * software without specific prior written permission.
26 | *
27 | * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
28 | * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
29 | * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
30 | * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
31 | * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
32 | * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
33 | * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
34 | * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
35 | * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
36 | * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
37 | * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
38 | * POSSIBILITY OF SUCH DAMAGE.
39 | * -------------------------------------------------------------------------- */
40 |
41 | #include "arm_math.h"
42 |
43 | /**
44 | * @ingroup groupMatrix
45 | */
46 |
47 | /**
48 | * @defgroup MatrixInit Matrix Initialization
49 | *
50 | * Initializes the underlying matrix data structure.
51 | * The functions set the numRows
,
52 | * numCols
, and pData
fields
53 | * of the matrix data structure.
54 | */
55 |
56 | /**
57 | * @addtogroup MatrixInit
58 | * @{
59 | */
60 |
61 | /**
62 | * @brief Floating-point matrix initialization.
63 | * @param[in,out] *S points to an instance of the floating-point matrix structure.
64 | * @param[in] nRows number of rows in the matrix.
65 | * @param[in] nColumns number of columns in the matrix.
66 | * @param[in] *pData points to the matrix data array.
67 | * @return none
68 | */
69 |
70 | void arm_mat_init_f32(
71 | arm_matrix_instance_f32 * S,
72 | uint16_t nRows,
73 | uint16_t nColumns,
74 | float32_t * pData)
75 | {
76 | /* Assign Number of Rows */
77 | S->numRows = nRows;
78 |
79 | /* Assign Number of Columns */
80 | S->numCols = nColumns;
81 |
82 | /* Assign Data pointer */
83 | S->pData = pData;
84 | }
85 |
86 | /**
87 | * @} end of MatrixInit group
88 | */
89 |
--------------------------------------------------------------------------------
/ST-STEVAL-FKI868V1/Drivers/CMSIS/DSP_Lib/Source/MatrixFunctions/arm_mat_init_q15.c:
--------------------------------------------------------------------------------
1 | /* ----------------------------------------------------------------------
2 | * Copyright (C) 2010-2014 ARM Limited. All rights reserved.
3 | *
4 | * $Date: 19. March 2015
5 | * $Revision: V.1.4.5
6 | *
7 | * Project: CMSIS DSP Library
8 | * Title: arm_mat_init_q15.c
9 | *
10 | * Description: Q15 matrix initialization.
11 | *
12 | * Target Processor: Cortex-M4/Cortex-M3/Cortex-M0
13 | *
14 | * Redistribution and use in source and binary forms, with or without
15 | * modification, are permitted provided that the following conditions
16 | * are met:
17 | * - Redistributions of source code must retain the above copyright
18 | * notice, this list of conditions and the following disclaimer.
19 | * - Redistributions in binary form must reproduce the above copyright
20 | * notice, this list of conditions and the following disclaimer in
21 | * the documentation and/or other materials provided with the
22 | * distribution.
23 | * - Neither the name of ARM LIMITED nor the names of its contributors
24 | * may be used to endorse or promote products derived from this
25 | * software without specific prior written permission.
26 | *
27 | * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
28 | * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
29 | * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
30 | * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
31 | * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
32 | * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
33 | * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
34 | * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
35 | * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
36 | * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
37 | * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
38 | * POSSIBILITY OF SUCH DAMAGE.
39 | * -------------------------------------------------------------------------- */
40 |
41 |
42 | #include "arm_math.h"
43 |
44 | /**
45 | * @ingroup groupMatrix
46 | */
47 |
48 | /**
49 | * @addtogroup MatrixInit
50 | * @{
51 | */
52 |
53 | /**
54 | * @brief Q15 matrix initialization.
55 | * @param[in,out] *S points to an instance of the floating-point matrix structure.
56 | * @param[in] nRows number of rows in the matrix.
57 | * @param[in] nColumns number of columns in the matrix.
58 | * @param[in] *pData points to the matrix data array.
59 | * @return none
60 | */
61 |
62 | void arm_mat_init_q15(
63 | arm_matrix_instance_q15 * S,
64 | uint16_t nRows,
65 | uint16_t nColumns,
66 | q15_t * pData)
67 | {
68 | /* Assign Number of Rows */
69 | S->numRows = nRows;
70 |
71 | /* Assign Number of Columns */
72 | S->numCols = nColumns;
73 |
74 | /* Assign Data pointer */
75 | S->pData = pData;
76 | }
77 |
78 | /**
79 | * @} end of MatrixInit group
80 | */
81 |
--------------------------------------------------------------------------------
/ST-STEVAL-FKI868V1/Drivers/CMSIS/DSP_Lib/Source/MatrixFunctions/arm_mat_init_q31.c:
--------------------------------------------------------------------------------
1 | /* ----------------------------------------------------------------------
2 | * Copyright (C) 2010-2014 ARM Limited. All rights reserved.
3 | *
4 | * $Date: 19. March 2015
5 | * $Revision: V.1.4.5
6 | *
7 | * Project: CMSIS DSP Library
8 | * Title: arm_mat_init_q31.c
9 | *
10 | * Description: Q31 matrix initialization.
11 | * Target Processor: Cortex-M4/Cortex-M3/Cortex-M0
12 | *
13 | * Redistribution and use in source and binary forms, with or without
14 | * modification, are permitted provided that the following conditions
15 | * are met:
16 | * - Redistributions of source code must retain the above copyright
17 | * notice, this list of conditions and the following disclaimer.
18 | * - Redistributions in binary form must reproduce the above copyright
19 | * notice, this list of conditions and the following disclaimer in
20 | * the documentation and/or other materials provided with the
21 | * distribution.
22 | * - Neither the name of ARM LIMITED nor the names of its contributors
23 | * may be used to endorse or promote products derived from this
24 | * software without specific prior written permission.
25 | *
26 | * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
27 | * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
28 | * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
29 | * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
30 | * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
31 | * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
32 | * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
33 | * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
34 | * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
35 | * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
36 | * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
37 | * POSSIBILITY OF SUCH DAMAGE.
38 | * -------------------------------------------------------------------------- */
39 |
40 |
41 | #include "arm_math.h"
42 |
43 | /**
44 | * @ingroup groupMatrix
45 | */
46 |
47 | /**
48 | * @defgroup MatrixInit Matrix Initialization
49 | *
50 | */
51 |
52 | /**
53 | * @addtogroup MatrixInit
54 | * @{
55 | */
56 |
57 | /**
58 | * @brief Q31 matrix initialization.
59 | * @param[in,out] *S points to an instance of the floating-point matrix structure.
60 | * @param[in] nRows number of rows in the matrix.
61 | * @param[in] nColumns number of columns in the matrix.
62 | * @param[in] *pData points to the matrix data array.
63 | * @return none
64 | */
65 |
66 | void arm_mat_init_q31(
67 | arm_matrix_instance_q31 * S,
68 | uint16_t nRows,
69 | uint16_t nColumns,
70 | q31_t * pData)
71 | {
72 | /* Assign Number of Rows */
73 | S->numRows = nRows;
74 |
75 | /* Assign Number of Columns */
76 | S->numCols = nColumns;
77 |
78 | /* Assign Data pointer */
79 | S->pData = pData;
80 | }
81 |
82 | /**
83 | * @} end of MatrixInit group
84 | */
85 |
--------------------------------------------------------------------------------
/ST-STEVAL-FKI868V1/Drivers/CMSIS/Device/ST/STM32L0xx/Include/system_stm32l0xx.h:
--------------------------------------------------------------------------------
1 | /**
2 | ******************************************************************************
3 | * @file system_stm32l0xx.h
4 | * @author MCD Application Team
5 | * @brief CMSIS Cortex-M0+ Device Peripheral Access Layer System Header File.
6 | ******************************************************************************
7 | * @attention
8 | *
9 | * © Copyright(c) 2016 STMicroelectronics.
10 | * All rights reserved.
11 | *
12 | * This software component is licensed by ST under BSD 3-Clause license,
13 | * the "License"; You may not use this file except in compliance with the
14 | * License. You may obtain a copy of the License at:
15 | * opensource.org/licenses/BSD-3-Clause
16 | *
17 | ******************************************************************************
18 | */
19 |
20 | /** @addtogroup CMSIS
21 | * @{
22 | */
23 |
24 | /** @addtogroup stm32l0xx_system
25 | * @{
26 | */
27 |
28 | /**
29 | * @brief Define to prevent recursive inclusion
30 | */
31 | #ifndef __SYSTEM_STM32L0XX_H
32 | #define __SYSTEM_STM32L0XX_H
33 |
34 | #ifdef __cplusplus
35 | extern "C" {
36 | #endif
37 |
38 | /** @addtogroup STM32L0xx_System_Includes
39 | * @{
40 | */
41 |
42 | /**
43 | * @}
44 | */
45 |
46 |
47 | /** @addtogroup STM32L0xx_System_Exported_types
48 | * @{
49 | */
50 | /* This variable is updated in three ways:
51 | 1) by calling CMSIS function SystemCoreClockUpdate()
52 | 2) by calling HAL API function HAL_RCC_GetSysClockFreq()
53 | 3) each time HAL_RCC_ClockConfig() is called to configure the system clock frequency
54 | Note: If you use this function to configure the system clock; then there
55 | is no need to call the 2 first functions listed above, since SystemCoreClock
56 | variable is updated automatically.
57 | */
58 | extern uint32_t SystemCoreClock; /*!< System Clock Frequency (Core Clock) */
59 | /*
60 | */
61 | extern const uint8_t AHBPrescTable[16]; /*!< AHB prescalers table values */
62 | extern const uint8_t APBPrescTable[8]; /*!< APB prescalers table values */
63 | extern const uint8_t PLLMulTable[9]; /*!< PLL multipiers table values */
64 |
65 |
66 | /**
67 | * @}
68 | */
69 |
70 | /** @addtogroup STM32L0xx_System_Exported_Constants
71 | * @{
72 | */
73 |
74 | /**
75 | * @}
76 | */
77 |
78 | /** @addtogroup STM32L0xx_System_Exported_Macros
79 | * @{
80 | */
81 |
82 | /**
83 | * @}
84 | */
85 |
86 | /** @addtogroup STM32L0xx_System_Exported_Functions
87 | * @{
88 | */
89 |
90 | extern void SystemInit(void);
91 | extern void SystemCoreClockUpdate(void);
92 | /**
93 | * @}
94 | */
95 |
96 | #ifdef __cplusplus
97 | }
98 | #endif
99 |
100 | #endif /*__SYSTEM_STM32L0XX_H */
101 |
102 | /**
103 | * @}
104 | */
105 |
106 | /**
107 | * @}
108 | */
109 | /************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
110 |
--------------------------------------------------------------------------------
/ST-STEVAL-FKI868V1/Drivers/CMSIS/Device/ST/STM32L0xx/Source/Templates/iar/linker/stm32l010x4_flash.icf:
--------------------------------------------------------------------------------
1 | /*###ICF### Section handled by ICF editor, don't touch! ****/
2 | /*-Editor annotation file-*/
3 | /* IcfEditorFile="$TOOLKIT_DIR$\config\ide\IcfEditor\cortex_v1_0.xml" */
4 | /*-Specials-*/
5 | define symbol __ICFEDIT_intvec_start__ = 0x08000000;
6 | /*-Memory Regions-*/
7 | define symbol __ICFEDIT_region_ROM_start__ = 0x08000000;
8 | define symbol __ICFEDIT_region_ROM_end__ = 0x08003FFF;
9 | define symbol __ICFEDIT_region_RAM_start__ = 0x20000000;
10 | define symbol __ICFEDIT_region_RAM_end__ = 0x200007FF;
11 |
12 | /*-Sizes-*/
13 | define symbol __ICFEDIT_size_cstack__ = 0x400;
14 | define symbol __ICFEDIT_size_heap__ = 0x200;
15 | /**** End of ICF editor section. ###ICF###*/
16 |
17 |
18 | define memory mem with size = 4G;
19 | define region ROM_region = mem:[from __ICFEDIT_region_ROM_start__ to __ICFEDIT_region_ROM_end__];
20 | define region RAM_region = mem:[from __ICFEDIT_region_RAM_start__ to __ICFEDIT_region_RAM_end__];
21 |
22 |
23 | define block CSTACK with alignment = 8, size = __ICFEDIT_size_cstack__ { };
24 | define block HEAP with alignment = 8, size = __ICFEDIT_size_heap__ { };
25 |
26 | initialize by copy { readwrite };
27 | do not initialize { section .noinit };
28 |
29 | place at address mem:__ICFEDIT_intvec_start__ { readonly section .intvec };
30 |
31 | place in ROM_region { readonly };
32 | place in RAM_region { readwrite,
33 | block CSTACK, block HEAP };
--------------------------------------------------------------------------------
/ST-STEVAL-FKI868V1/Drivers/CMSIS/Device/ST/STM32L0xx/Source/Templates/iar/linker/stm32l010x6_flash.icf:
--------------------------------------------------------------------------------
1 | /*###ICF### Section handled by ICF editor, don't touch! ****/
2 | /*-Editor annotation file-*/
3 | /* IcfEditorFile="$TOOLKIT_DIR$\config\ide\IcfEditor\cortex_v1_0.xml" */
4 | /*-Specials-*/
5 | define symbol __ICFEDIT_intvec_start__ = 0x08000000;
6 | /*-Memory Regions-*/
7 | define symbol __ICFEDIT_region_ROM_start__ = 0x08000000;
8 | define symbol __ICFEDIT_region_ROM_end__ = 0x08007FFF;
9 | define symbol __ICFEDIT_region_RAM_start__ = 0x20000000;
10 | define symbol __ICFEDIT_region_RAM_end__ = 0x20001FFF;
11 |
12 | /*-Sizes-*/
13 | define symbol __ICFEDIT_size_cstack__ = 0x400;
14 | define symbol __ICFEDIT_size_heap__ = 0x200;
15 | /**** End of ICF editor section. ###ICF###*/
16 |
17 |
18 | define memory mem with size = 4G;
19 | define region ROM_region = mem:[from __ICFEDIT_region_ROM_start__ to __ICFEDIT_region_ROM_end__];
20 | define region RAM_region = mem:[from __ICFEDIT_region_RAM_start__ to __ICFEDIT_region_RAM_end__];
21 |
22 |
23 | define block CSTACK with alignment = 8, size = __ICFEDIT_size_cstack__ { };
24 | define block HEAP with alignment = 8, size = __ICFEDIT_size_heap__ { };
25 |
26 | initialize by copy { readwrite };
27 | do not initialize { section .noinit };
28 |
29 | place at address mem:__ICFEDIT_intvec_start__ { readonly section .intvec };
30 |
31 | place in ROM_region { readonly };
32 | place in RAM_region { readwrite,
33 | block CSTACK, block HEAP };
--------------------------------------------------------------------------------
/ST-STEVAL-FKI868V1/Drivers/CMSIS/Device/ST/STM32L0xx/Source/Templates/iar/linker/stm32l010x8_flash.icf:
--------------------------------------------------------------------------------
1 | /*###ICF### Section handled by ICF editor, don't touch! ****/
2 | /*-Editor annotation file-*/
3 | /* IcfEditorFile="$TOOLKIT_DIR$\config\ide\IcfEditor\cortex_v1_0.xml" */
4 | /*-Specials-*/
5 | define symbol __ICFEDIT_intvec_start__ = 0x08000000;
6 | /*-Memory Regions-*/
7 | define symbol __ICFEDIT_region_ROM_start__ = 0x08000000;
8 | define symbol __ICFEDIT_region_ROM_end__ = 0x0800FFFF;
9 | define symbol __ICFEDIT_region_RAM_start__ = 0x20000000;
10 | define symbol __ICFEDIT_region_RAM_end__ = 0x20001FFF;
11 |
12 | /*-Sizes-*/
13 | define symbol __ICFEDIT_size_cstack__ = 0x400;
14 | define symbol __ICFEDIT_size_heap__ = 0x200;
15 | /**** End of ICF editor section. ###ICF###*/
16 |
17 |
18 | define memory mem with size = 4G;
19 | define region ROM_region = mem:[from __ICFEDIT_region_ROM_start__ to __ICFEDIT_region_ROM_end__];
20 | define region RAM_region = mem:[from __ICFEDIT_region_RAM_start__ to __ICFEDIT_region_RAM_end__];
21 |
22 |
23 | define block CSTACK with alignment = 8, size = __ICFEDIT_size_cstack__ { };
24 | define block HEAP with alignment = 8, size = __ICFEDIT_size_heap__ { };
25 |
26 | initialize by copy { readwrite };
27 | do not initialize { section .noinit };
28 |
29 | place at address mem:__ICFEDIT_intvec_start__ { readonly section .intvec };
30 |
31 | place in ROM_region { readonly };
32 | place in RAM_region { readwrite,
33 | block CSTACK, block HEAP };
--------------------------------------------------------------------------------
/ST-STEVAL-FKI868V1/Drivers/CMSIS/Device/ST/STM32L0xx/Source/Templates/iar/linker/stm32l010xb_flash.icf:
--------------------------------------------------------------------------------
1 | /*###ICF### Section handled by ICF editor, don't touch! ****/
2 | /*-Editor annotation file-*/
3 | /* IcfEditorFile="$TOOLKIT_DIR$\config\ide\IcfEditor\cortex_v1_0.xml" */
4 | /*-Specials-*/
5 | define symbol __ICFEDIT_intvec_start__ = 0x08000000;
6 | /*-Memory Regions-*/
7 | define symbol __ICFEDIT_region_ROM_start__ = 0x08000000;
8 | define symbol __ICFEDIT_region_ROM_end__ = 0x0801FFFF;
9 | define symbol __ICFEDIT_region_RAM_start__ = 0x20000000;
10 | define symbol __ICFEDIT_region_RAM_end__ = 0x20004FFF;
11 |
12 | /*-Sizes-*/
13 | define symbol __ICFEDIT_size_cstack__ = 0x400;
14 | define symbol __ICFEDIT_size_heap__ = 0x200;
15 | /**** End of ICF editor section. ###ICF###*/
16 |
17 |
18 | define memory mem with size = 4G;
19 | define region ROM_region = mem:[from __ICFEDIT_region_ROM_start__ to __ICFEDIT_region_ROM_end__];
20 | define region RAM_region = mem:[from __ICFEDIT_region_RAM_start__ to __ICFEDIT_region_RAM_end__];
21 |
22 |
23 | define block CSTACK with alignment = 8, size = __ICFEDIT_size_cstack__ { };
24 | define block HEAP with alignment = 8, size = __ICFEDIT_size_heap__ { };
25 |
26 | initialize by copy { readwrite };
27 | do not initialize { section .noinit };
28 |
29 | place at address mem:__ICFEDIT_intvec_start__ { readonly section .intvec };
30 |
31 | place in ROM_region { readonly };
32 | place in RAM_region { readwrite,
33 | block CSTACK, block HEAP };
--------------------------------------------------------------------------------
/ST-STEVAL-FKI868V1/Drivers/CMSIS/Device/ST/STM32L0xx/Source/Templates/iar/linker/stm32l011xx_flash.icf:
--------------------------------------------------------------------------------
1 | /*###ICF### Section handled by ICF editor, don't touch! ****/
2 | /*-Editor annotation file-*/
3 | /* IcfEditorFile="$TOOLKIT_DIR$\config\ide\IcfEditor\cortex_v1_0.xml" */
4 | /*-Specials-*/
5 | define symbol __ICFEDIT_intvec_start__ = 0x08000000;
6 | /*-Memory Regions-*/
7 | define symbol __ICFEDIT_region_ROM_start__ = 0x08000000 ;
8 | define symbol __ICFEDIT_region_ROM_end__ = 0x08003FFF;
9 | define symbol __ICFEDIT_region_RAM_start__ = 0x20000000;
10 | define symbol __ICFEDIT_region_RAM_end__ = 0x200007FF;
11 |
12 | /*-Sizes-*/
13 | define symbol __ICFEDIT_size_cstack__ = 0x400;
14 | define symbol __ICFEDIT_size_heap__ = 0x200;
15 | /**** End of ICF editor section. ###ICF###*/
16 |
17 |
18 | define memory mem with size = 4G;
19 | define region ROM_region = mem:[from __ICFEDIT_region_ROM_start__ to __ICFEDIT_region_ROM_end__];
20 | define region RAM_region = mem:[from __ICFEDIT_region_RAM_start__ to __ICFEDIT_region_RAM_end__];
21 |
22 |
23 | define block CSTACK with alignment = 8, size = __ICFEDIT_size_cstack__ { };
24 | define block HEAP with alignment = 8, size = __ICFEDIT_size_heap__ { };
25 |
26 | initialize by copy { readwrite };
27 | do not initialize { section .noinit };
28 |
29 | place at address mem:__ICFEDIT_intvec_start__ { readonly section .intvec };
30 |
31 | place in ROM_region { readonly };
32 | place in RAM_region { readwrite,
33 | block CSTACK, block HEAP };
--------------------------------------------------------------------------------
/ST-STEVAL-FKI868V1/Drivers/CMSIS/Device/ST/STM32L0xx/Source/Templates/iar/linker/stm32l011xx_sram.icf:
--------------------------------------------------------------------------------
1 | /*###ICF### Section handled by ICF editor, don't touch! ****/
2 | /*-Editor annotation file-*/
3 | /* IcfEditorFile="$TOOLKIT_DIR$\config\ide\IcfEditor\cortex_v1_0.xml" */
4 | /*-Specials-*/
5 | define symbol __ICFEDIT_intvec_start__ = 0x20000000;
6 | /*-Memory Regions-*/
7 | define symbol __ICFEDIT_region_ROM_start__ = 0x20000000;
8 | define symbol __ICFEDIT_region_ROM_end__ = 0x200004FF;
9 | define symbol __ICFEDIT_region_RAM_start__ = 0x20000500;
10 | define symbol __ICFEDIT_region_RAM_end__ = 0x200007FF;
11 |
12 | /*-Sizes-*/
13 | define symbol __ICFEDIT_size_cstack__ = 0x400;
14 | define symbol __ICFEDIT_size_heap__ = 0x200;
15 | /**** End of ICF editor section. ###ICF###*/
16 |
17 |
18 | define memory mem with size = 4G;
19 | define region ROM_region = mem:[from __ICFEDIT_region_ROM_start__ to __ICFEDIT_region_ROM_end__];
20 | define region RAM_region = mem:[from __ICFEDIT_region_RAM_start__ to __ICFEDIT_region_RAM_end__];
21 |
22 |
23 | define block CSTACK with alignment = 8, size = __ICFEDIT_size_cstack__ { };
24 | define block HEAP with alignment = 8, size = __ICFEDIT_size_heap__ { };
25 |
26 | initialize by copy { readwrite };
27 | do not initialize { section .noinit };
28 |
29 | place at address mem:__ICFEDIT_intvec_start__ { readonly section .intvec };
30 |
31 | place in ROM_region { readonly };
32 | place in RAM_region { readwrite,
33 | block CSTACK, block HEAP };
--------------------------------------------------------------------------------
/ST-STEVAL-FKI868V1/Drivers/CMSIS/Device/ST/STM32L0xx/Source/Templates/iar/linker/stm32l021xx_flash.icf:
--------------------------------------------------------------------------------
1 | /*###ICF### Section handled by ICF editor, don't touch! ****/
2 | /*-Editor annotation file-*/
3 | /* IcfEditorFile="$TOOLKIT_DIR$\config\ide\IcfEditor\cortex_v1_0.xml" */
4 | /*-Specials-*/
5 | define symbol __ICFEDIT_intvec_start__ = 0x08000000;
6 | /*-Memory Regions-*/
7 | define symbol __ICFEDIT_region_ROM_start__ = 0x08000000 ;
8 | define symbol __ICFEDIT_region_ROM_end__ = 0x08003FFF;
9 | define symbol __ICFEDIT_region_RAM_start__ = 0x20000000;
10 | define symbol __ICFEDIT_region_RAM_end__ = 0x200007FF;
11 |
12 | /*-Sizes-*/
13 | define symbol __ICFEDIT_size_cstack__ = 0x400;
14 | define symbol __ICFEDIT_size_heap__ = 0x200;
15 | /**** End of ICF editor section. ###ICF###*/
16 |
17 |
18 | define memory mem with size = 4G;
19 | define region ROM_region = mem:[from __ICFEDIT_region_ROM_start__ to __ICFEDIT_region_ROM_end__];
20 | define region RAM_region = mem:[from __ICFEDIT_region_RAM_start__ to __ICFEDIT_region_RAM_end__];
21 |
22 |
23 | define block CSTACK with alignment = 8, size = __ICFEDIT_size_cstack__ { };
24 | define block HEAP with alignment = 8, size = __ICFEDIT_size_heap__ { };
25 |
26 | initialize by copy { readwrite };
27 | do not initialize { section .noinit };
28 |
29 | place at address mem:__ICFEDIT_intvec_start__ { readonly section .intvec };
30 |
31 | place in ROM_region { readonly };
32 | place in RAM_region { readwrite,
33 | block CSTACK, block HEAP };
--------------------------------------------------------------------------------
/ST-STEVAL-FKI868V1/Drivers/CMSIS/Device/ST/STM32L0xx/Source/Templates/iar/linker/stm32l021xx_sram.icf:
--------------------------------------------------------------------------------
1 | /*###ICF### Section handled by ICF editor, don't touch! ****/
2 | /*-Editor annotation file-*/
3 | /* IcfEditorFile="$TOOLKIT_DIR$\config\ide\IcfEditor\cortex_v1_0.xml" */
4 | /*-Specials-*/
5 | define symbol __ICFEDIT_intvec_start__ = 0x20000000;
6 | /*-Memory Regions-*/
7 | define symbol __ICFEDIT_region_ROM_start__ = 0x20000000;
8 | define symbol __ICFEDIT_region_ROM_end__ = 0x200004FF;
9 | define symbol __ICFEDIT_region_RAM_start__ = 0x20000500;
10 | define symbol __ICFEDIT_region_RAM_end__ = 0x200007FF;
11 |
12 | /*-Sizes-*/
13 | define symbol __ICFEDIT_size_cstack__ = 0x400;
14 | define symbol __ICFEDIT_size_heap__ = 0x200;
15 | /**** End of ICF editor section. ###ICF###*/
16 |
17 |
18 | define memory mem with size = 4G;
19 | define region ROM_region = mem:[from __ICFEDIT_region_ROM_start__ to __ICFEDIT_region_ROM_end__];
20 | define region RAM_region = mem:[from __ICFEDIT_region_RAM_start__ to __ICFEDIT_region_RAM_end__];
21 |
22 |
23 | define block CSTACK with alignment = 8, size = __ICFEDIT_size_cstack__ { };
24 | define block HEAP with alignment = 8, size = __ICFEDIT_size_heap__ { };
25 |
26 | initialize by copy { readwrite };
27 | do not initialize { section .noinit };
28 |
29 | place at address mem:__ICFEDIT_intvec_start__ { readonly section .intvec };
30 |
31 | place in ROM_region { readonly };
32 | place in RAM_region { readwrite,
33 | block CSTACK, block HEAP };
--------------------------------------------------------------------------------
/ST-STEVAL-FKI868V1/Drivers/CMSIS/Device/ST/STM32L0xx/Source/Templates/iar/linker/stm32l031xx_flash.icf:
--------------------------------------------------------------------------------
1 | /*###ICF### Section handled by ICF editor, don't touch! ****/
2 | /*-Editor annotation file-*/
3 | /* IcfEditorFile="$TOOLKIT_DIR$\config\ide\IcfEditor\cortex_v1_0.xml" */
4 | /*-Specials-*/
5 | define symbol __ICFEDIT_intvec_start__ = 0x08000000;
6 | /*-Memory Regions-*/
7 | define symbol __ICFEDIT_region_ROM_start__ = 0x08000000 ;
8 | define symbol __ICFEDIT_region_ROM_end__ = 0x08007FFF;
9 | define symbol __ICFEDIT_region_RAM_start__ = 0x20000000;
10 | define symbol __ICFEDIT_region_RAM_end__ = 0x20001FFF;
11 |
12 | /*-Sizes-*/
13 | define symbol __ICFEDIT_size_cstack__ = 0x400;
14 | define symbol __ICFEDIT_size_heap__ = 0x200;
15 | /**** End of ICF editor section. ###ICF###*/
16 |
17 |
18 | define memory mem with size = 4G;
19 | define region ROM_region = mem:[from __ICFEDIT_region_ROM_start__ to __ICFEDIT_region_ROM_end__];
20 | define region RAM_region = mem:[from __ICFEDIT_region_RAM_start__ to __ICFEDIT_region_RAM_end__];
21 |
22 |
23 | define block CSTACK with alignment = 8, size = __ICFEDIT_size_cstack__ { };
24 | define block HEAP with alignment = 8, size = __ICFEDIT_size_heap__ { };
25 |
26 | initialize by copy { readwrite };
27 | do not initialize { section .noinit };
28 |
29 | place at address mem:__ICFEDIT_intvec_start__ { readonly section .intvec };
30 |
31 | place in ROM_region { readonly };
32 | place in RAM_region { readwrite,
33 | block CSTACK, block HEAP };
--------------------------------------------------------------------------------
/ST-STEVAL-FKI868V1/Drivers/CMSIS/Device/ST/STM32L0xx/Source/Templates/iar/linker/stm32l031xx_sram.icf:
--------------------------------------------------------------------------------
1 | /*###ICF### Section handled by ICF editor, don't touch! ****/
2 | /*-Editor annotation file-*/
3 | /* IcfEditorFile="$TOOLKIT_DIR$\config\ide\IcfEditor\cortex_v1_0.xml" */
4 | /*-Specials-*/
5 | define symbol __ICFEDIT_intvec_start__ = 0x20000000;
6 | /*-Memory Regions-*/
7 | define symbol __ICFEDIT_region_ROM_start__ = 0x20000000;
8 | define symbol __ICFEDIT_region_ROM_end__ = 0x200009FF;
9 | define symbol __ICFEDIT_region_RAM_start__ = 0x20000A00;
10 | define symbol __ICFEDIT_region_RAM_end__ = 0x20001FFF;
11 |
12 | /*-Sizes-*/
13 | define symbol __ICFEDIT_size_cstack__ = 0x400;
14 | define symbol __ICFEDIT_size_heap__ = 0x200;
15 | /**** End of ICF editor section. ###ICF###*/
16 |
17 |
18 | define memory mem with size = 4G;
19 | define region ROM_region = mem:[from __ICFEDIT_region_ROM_start__ to __ICFEDIT_region_ROM_end__];
20 | define region RAM_region = mem:[from __ICFEDIT_region_RAM_start__ to __ICFEDIT_region_RAM_end__];
21 |
22 |
23 | define block CSTACK with alignment = 8, size = __ICFEDIT_size_cstack__ { };
24 | define block HEAP with alignment = 8, size = __ICFEDIT_size_heap__ { };
25 |
26 | initialize by copy { readwrite };
27 | do not initialize { section .noinit };
28 |
29 | place at address mem:__ICFEDIT_intvec_start__ { readonly section .intvec };
30 |
31 | place in ROM_region { readonly };
32 | place in RAM_region { readwrite,
33 | block CSTACK, block HEAP };
--------------------------------------------------------------------------------
/ST-STEVAL-FKI868V1/Drivers/CMSIS/Device/ST/STM32L0xx/Source/Templates/iar/linker/stm32l041xx_flash.icf:
--------------------------------------------------------------------------------
1 | /*###ICF### Section handled by ICF editor, don't touch! ****/
2 | /*-Editor annotation file-*/
3 | /* IcfEditorFile="$TOOLKIT_DIR$\config\ide\IcfEditor\cortex_v1_0.xml" */
4 | /*-Specials-*/
5 | define symbol __ICFEDIT_intvec_start__ = 0x08000000;
6 | /*-Memory Regions-*/
7 | define symbol __ICFEDIT_region_ROM_start__ = 0x08000000 ;
8 | define symbol __ICFEDIT_region_ROM_end__ = 0x08007FFF;
9 | define symbol __ICFEDIT_region_RAM_start__ = 0x20000000;
10 | define symbol __ICFEDIT_region_RAM_end__ = 0x20001FFF;
11 |
12 | /*-Sizes-*/
13 | define symbol __ICFEDIT_size_cstack__ = 0x400;
14 | define symbol __ICFEDIT_size_heap__ = 0x200;
15 | /**** End of ICF editor section. ###ICF###*/
16 |
17 |
18 | define memory mem with size = 4G;
19 | define region ROM_region = mem:[from __ICFEDIT_region_ROM_start__ to __ICFEDIT_region_ROM_end__];
20 | define region RAM_region = mem:[from __ICFEDIT_region_RAM_start__ to __ICFEDIT_region_RAM_end__];
21 |
22 |
23 | define block CSTACK with alignment = 8, size = __ICFEDIT_size_cstack__ { };
24 | define block HEAP with alignment = 8, size = __ICFEDIT_size_heap__ { };
25 |
26 | initialize by copy { readwrite };
27 | do not initialize { section .noinit };
28 |
29 | place at address mem:__ICFEDIT_intvec_start__ { readonly section .intvec };
30 |
31 | place in ROM_region { readonly };
32 | place in RAM_region { readwrite,
33 | block CSTACK, block HEAP };
--------------------------------------------------------------------------------
/ST-STEVAL-FKI868V1/Drivers/CMSIS/Device/ST/STM32L0xx/Source/Templates/iar/linker/stm32l041xx_sram.icf:
--------------------------------------------------------------------------------
1 | /*###ICF### Section handled by ICF editor, don't touch! ****/
2 | /*-Editor annotation file-*/
3 | /* IcfEditorFile="$TOOLKIT_DIR$\config\ide\IcfEditor\cortex_v1_0.xml" */
4 | /*-Specials-*/
5 | define symbol __ICFEDIT_intvec_start__ = 0x20000000;
6 | /*-Memory Regions-*/
7 | define symbol __ICFEDIT_region_ROM_start__ = 0x20000000;
8 | define symbol __ICFEDIT_region_ROM_end__ = 0x200009FF;
9 | define symbol __ICFEDIT_region_RAM_start__ = 0x20000A00;
10 | define symbol __ICFEDIT_region_RAM_end__ = 0x20001FFF;
11 |
12 | /*-Sizes-*/
13 | define symbol __ICFEDIT_size_cstack__ = 0x400;
14 | define symbol __ICFEDIT_size_heap__ = 0x200;
15 | /**** End of ICF editor section. ###ICF###*/
16 |
17 |
18 | define memory mem with size = 4G;
19 | define region ROM_region = mem:[from __ICFEDIT_region_ROM_start__ to __ICFEDIT_region_ROM_end__];
20 | define region RAM_region = mem:[from __ICFEDIT_region_RAM_start__ to __ICFEDIT_region_RAM_end__];
21 |
22 |
23 | define block CSTACK with alignment = 8, size = __ICFEDIT_size_cstack__ { };
24 | define block HEAP with alignment = 8, size = __ICFEDIT_size_heap__ { };
25 |
26 | initialize by copy { readwrite };
27 | do not initialize { section .noinit };
28 |
29 | place at address mem:__ICFEDIT_intvec_start__ { readonly section .intvec };
30 |
31 | place in ROM_region { readonly };
32 | place in RAM_region { readwrite,
33 | block CSTACK, block HEAP };
--------------------------------------------------------------------------------
/ST-STEVAL-FKI868V1/Drivers/CMSIS/Device/ST/STM32L0xx/Source/Templates/iar/linker/stm32l051xx_flash.icf:
--------------------------------------------------------------------------------
1 | /*###ICF### Section handled by ICF editor, don't touch! ****/
2 | /*-Editor annotation file-*/
3 | /* IcfEditorFile="$TOOLKIT_DIR$\config\ide\IcfEditor\cortex_v1_0.xml" */
4 | /*-Specials-*/
5 | define symbol __ICFEDIT_intvec_start__ = 0x08000000;
6 | /*-Memory Regions-*/
7 | define symbol __ICFEDIT_region_ROM_start__ = 0x08000000 ;
8 | define symbol __ICFEDIT_region_ROM_end__ = 0x0800FFFF;
9 | define symbol __ICFEDIT_region_RAM_start__ = 0x20000000;
10 | define symbol __ICFEDIT_region_RAM_end__ = 0x20001FFF;
11 |
12 | /*-Sizes-*/
13 | define symbol __ICFEDIT_size_cstack__ = 0x400;
14 | define symbol __ICFEDIT_size_heap__ = 0x200;
15 | /**** End of ICF editor section. ###ICF###*/
16 |
17 |
18 | define memory mem with size = 4G;
19 | define region ROM_region = mem:[from __ICFEDIT_region_ROM_start__ to __ICFEDIT_region_ROM_end__];
20 | define region RAM_region = mem:[from __ICFEDIT_region_RAM_start__ to __ICFEDIT_region_RAM_end__];
21 |
22 |
23 | define block CSTACK with alignment = 8, size = __ICFEDIT_size_cstack__ { };
24 | define block HEAP with alignment = 8, size = __ICFEDIT_size_heap__ { };
25 |
26 | initialize by copy { readwrite };
27 | do not initialize { section .noinit };
28 |
29 | place at address mem:__ICFEDIT_intvec_start__ { readonly section .intvec };
30 |
31 | place in ROM_region { readonly };
32 | place in RAM_region { readwrite,
33 | block CSTACK, block HEAP };
--------------------------------------------------------------------------------
/ST-STEVAL-FKI868V1/Drivers/CMSIS/Device/ST/STM32L0xx/Source/Templates/iar/linker/stm32l051xx_sram.icf:
--------------------------------------------------------------------------------
1 | /*###ICF### Section handled by ICF editor, don't touch! ****/
2 | /*-Editor annotation file-*/
3 | /* IcfEditorFile="$TOOLKIT_DIR$\config\ide\IcfEditor\cortex_v1_0.xml" */
4 | /*-Specials-*/
5 | define symbol __ICFEDIT_intvec_start__ = 0x20000000;
6 | /*-Memory Regions-*/
7 | define symbol __ICFEDIT_region_ROM_start__ = 0x20000000;
8 | define symbol __ICFEDIT_region_ROM_end__ = 0x200013FF;
9 | define symbol __ICFEDIT_region_RAM_start__ = 0x20001400;
10 | define symbol __ICFEDIT_region_RAM_end__ = 0x20001FFF;
11 |
12 | /*-Sizes-*/
13 | define symbol __ICFEDIT_size_cstack__ = 0x400;
14 | define symbol __ICFEDIT_size_heap__ = 0x200;
15 | /**** End of ICF editor section. ###ICF###*/
16 |
17 |
18 | define memory mem with size = 4G;
19 | define region ROM_region = mem:[from __ICFEDIT_region_ROM_start__ to __ICFEDIT_region_ROM_end__];
20 | define region RAM_region = mem:[from __ICFEDIT_region_RAM_start__ to __ICFEDIT_region_RAM_end__];
21 |
22 |
23 | define block CSTACK with alignment = 8, size = __ICFEDIT_size_cstack__ { };
24 | define block HEAP with alignment = 8, size = __ICFEDIT_size_heap__ { };
25 |
26 | initialize by copy { readwrite };
27 | do not initialize { section .noinit };
28 |
29 | place at address mem:__ICFEDIT_intvec_start__ { readonly section .intvec };
30 |
31 | place in ROM_region { readonly };
32 | place in RAM_region { readwrite,
33 | block CSTACK, block HEAP };
--------------------------------------------------------------------------------
/ST-STEVAL-FKI868V1/Drivers/CMSIS/Device/ST/STM32L0xx/Source/Templates/iar/linker/stm32l052xx_flash.icf:
--------------------------------------------------------------------------------
1 | /*###ICF### Section handled by ICF editor, don't touch! ****/
2 | /*-Editor annotation file-*/
3 | /* IcfEditorFile="$TOOLKIT_DIR$\config\ide\IcfEditor\cortex_v1_0.xml" */
4 | /*-Specials-*/
5 | define symbol __ICFEDIT_intvec_start__ = 0x08000000;
6 | /*-Memory Regions-*/
7 | define symbol __ICFEDIT_region_ROM_start__ = 0x08000000 ;
8 | define symbol __ICFEDIT_region_ROM_end__ = 0x0800FFFF;
9 | define symbol __ICFEDIT_region_RAM_start__ = 0x20000000;
10 | define symbol __ICFEDIT_region_RAM_end__ = 0x20001FFF;
11 |
12 | /*-Sizes-*/
13 | define symbol __ICFEDIT_size_cstack__ = 0x400;
14 | define symbol __ICFEDIT_size_heap__ = 0x200;
15 | /**** End of ICF editor section. ###ICF###*/
16 |
17 |
18 | define memory mem with size = 4G;
19 | define region ROM_region = mem:[from __ICFEDIT_region_ROM_start__ to __ICFEDIT_region_ROM_end__];
20 | define region RAM_region = mem:[from __ICFEDIT_region_RAM_start__ to __ICFEDIT_region_RAM_end__];
21 |
22 |
23 | define block CSTACK with alignment = 8, size = __ICFEDIT_size_cstack__ { };
24 | define block HEAP with alignment = 8, size = __ICFEDIT_size_heap__ { };
25 |
26 | initialize by copy { readwrite };
27 | do not initialize { section .noinit };
28 |
29 | place at address mem:__ICFEDIT_intvec_start__ { readonly section .intvec };
30 |
31 | place in ROM_region { readonly };
32 | place in RAM_region { readwrite,
33 | block CSTACK, block HEAP };
--------------------------------------------------------------------------------
/ST-STEVAL-FKI868V1/Drivers/CMSIS/Device/ST/STM32L0xx/Source/Templates/iar/linker/stm32l052xx_sram.icf:
--------------------------------------------------------------------------------
1 | /*###ICF### Section handled by ICF editor, don't touch! ****/
2 | /*-Editor annotation file-*/
3 | /* IcfEditorFile="$TOOLKIT_DIR$\config\ide\IcfEditor\cortex_v1_0.xml" */
4 | /*-Specials-*/
5 | define symbol __ICFEDIT_intvec_start__ = 0x20000000;
6 | /*-Memory Regions-*/
7 | define symbol __ICFEDIT_region_ROM_start__ = 0x20000000;
8 | define symbol __ICFEDIT_region_ROM_end__ = 0x200013FF;
9 | define symbol __ICFEDIT_region_RAM_start__ = 0x20001400;
10 | define symbol __ICFEDIT_region_RAM_end__ = 0x20001FFF;
11 |
12 | /*-Sizes-*/
13 | define symbol __ICFEDIT_size_cstack__ = 0x400;
14 | define symbol __ICFEDIT_size_heap__ = 0x200;
15 | /**** End of ICF editor section. ###ICF###*/
16 |
17 |
18 | define memory mem with size = 4G;
19 | define region ROM_region = mem:[from __ICFEDIT_region_ROM_start__ to __ICFEDIT_region_ROM_end__];
20 | define region RAM_region = mem:[from __ICFEDIT_region_RAM_start__ to __ICFEDIT_region_RAM_end__];
21 |
22 |
23 | define block CSTACK with alignment = 8, size = __ICFEDIT_size_cstack__ { };
24 | define block HEAP with alignment = 8, size = __ICFEDIT_size_heap__ { };
25 |
26 | initialize by copy { readwrite };
27 | do not initialize { section .noinit };
28 |
29 | place at address mem:__ICFEDIT_intvec_start__ { readonly section .intvec };
30 |
31 | place in ROM_region { readonly };
32 | place in RAM_region { readwrite,
33 | block CSTACK, block HEAP };
--------------------------------------------------------------------------------
/ST-STEVAL-FKI868V1/Drivers/CMSIS/Device/ST/STM32L0xx/Source/Templates/iar/linker/stm32l053xx_flash.icf:
--------------------------------------------------------------------------------
1 | /*###ICF### Section handled by ICF editor, don't touch! ****/
2 | /*-Editor annotation file-*/
3 | /* IcfEditorFile="$TOOLKIT_DIR$\config\ide\IcfEditor\cortex_v1_0.xml" */
4 | /*-Specials-*/
5 | define symbol __ICFEDIT_intvec_start__ = 0x08000000;
6 | /*-Memory Regions-*/
7 | define symbol __ICFEDIT_region_ROM_start__ = 0x08000000 ;
8 | define symbol __ICFEDIT_region_ROM_end__ = 0x0800FFFF;
9 | define symbol __ICFEDIT_region_RAM_start__ = 0x20000000;
10 | define symbol __ICFEDIT_region_RAM_end__ = 0x20001FFF;
11 |
12 | /*-Sizes-*/
13 | define symbol __ICFEDIT_size_cstack__ = 0x400;
14 | define symbol __ICFEDIT_size_heap__ = 0x200;
15 | /**** End of ICF editor section. ###ICF###*/
16 |
17 |
18 | define memory mem with size = 4G;
19 | define region ROM_region = mem:[from __ICFEDIT_region_ROM_start__ to __ICFEDIT_region_ROM_end__];
20 | define region RAM_region = mem:[from __ICFEDIT_region_RAM_start__ to __ICFEDIT_region_RAM_end__];
21 |
22 |
23 | define block CSTACK with alignment = 8, size = __ICFEDIT_size_cstack__ { };
24 | define block HEAP with alignment = 8, size = __ICFEDIT_size_heap__ { };
25 |
26 | initialize by copy { readwrite };
27 | do not initialize { section .noinit };
28 |
29 | place at address mem:__ICFEDIT_intvec_start__ { readonly section .intvec };
30 |
31 | place in ROM_region { readonly };
32 | place in RAM_region { readwrite,
33 | block CSTACK, block HEAP };
--------------------------------------------------------------------------------
/ST-STEVAL-FKI868V1/Drivers/CMSIS/Device/ST/STM32L0xx/Source/Templates/iar/linker/stm32l053xx_sram.icf:
--------------------------------------------------------------------------------
1 | /*###ICF### Section handled by ICF editor, don't touch! ****/
2 | /*-Editor annotation file-*/
3 | /* IcfEditorFile="$TOOLKIT_DIR$\config\ide\IcfEditor\cortex_v1_0.xml" */
4 | /*-Specials-*/
5 | define symbol __ICFEDIT_intvec_start__ = 0x20000000;
6 | /*-Memory Regions-*/
7 | define symbol __ICFEDIT_region_ROM_start__ = 0x20000000;
8 | define symbol __ICFEDIT_region_ROM_end__ = 0x200013FF;
9 | define symbol __ICFEDIT_region_RAM_start__ = 0x20001400;
10 | define symbol __ICFEDIT_region_RAM_end__ = 0x20001FFF;
11 |
12 | /*-Sizes-*/
13 | define symbol __ICFEDIT_size_cstack__ = 0x400;
14 | define symbol __ICFEDIT_size_heap__ = 0x200;
15 | /**** End of ICF editor section. ###ICF###*/
16 |
17 |
18 | define memory mem with size = 4G;
19 | define region ROM_region = mem:[from __ICFEDIT_region_ROM_start__ to __ICFEDIT_region_ROM_end__];
20 | define region RAM_region = mem:[from __ICFEDIT_region_RAM_start__ to __ICFEDIT_region_RAM_end__];
21 |
22 |
23 | define block CSTACK with alignment = 8, size = __ICFEDIT_size_cstack__ { };
24 | define block HEAP with alignment = 8, size = __ICFEDIT_size_heap__ { };
25 |
26 | initialize by copy { readwrite };
27 | do not initialize { section .noinit };
28 |
29 | place at address mem:__ICFEDIT_intvec_start__ { readonly section .intvec };
30 |
31 | place in ROM_region { readonly };
32 | place in RAM_region { readwrite,
33 | block CSTACK, block HEAP };
--------------------------------------------------------------------------------
/ST-STEVAL-FKI868V1/Drivers/CMSIS/Device/ST/STM32L0xx/Source/Templates/iar/linker/stm32l061xx_flash.icf:
--------------------------------------------------------------------------------
1 | /*###ICF### Section handled by ICF editor, don't touch! ****/
2 | /*-Editor annotation file-*/
3 | /* IcfEditorFile="$TOOLKIT_DIR$\config\ide\IcfEditor\cortex_v1_0.xml" */
4 | /*-Specials-*/
5 | define symbol __ICFEDIT_intvec_start__ = 0x08000000;
6 | /*-Memory Regions-*/
7 | define symbol __ICFEDIT_region_ROM_start__ = 0x08000000 ;
8 | define symbol __ICFEDIT_region_ROM_end__ = 0x0800FFFF;
9 | define symbol __ICFEDIT_region_RAM_start__ = 0x20000000;
10 | define symbol __ICFEDIT_region_RAM_end__ = 0x20001FFF;
11 |
12 | /*-Sizes-*/
13 | define symbol __ICFEDIT_size_cstack__ = 0x400;
14 | define symbol __ICFEDIT_size_heap__ = 0x200;
15 | /**** End of ICF editor section. ###ICF###*/
16 |
17 |
18 | define memory mem with size = 4G;
19 | define region ROM_region = mem:[from __ICFEDIT_region_ROM_start__ to __ICFEDIT_region_ROM_end__];
20 | define region RAM_region = mem:[from __ICFEDIT_region_RAM_start__ to __ICFEDIT_region_RAM_end__];
21 |
22 |
23 | define block CSTACK with alignment = 8, size = __ICFEDIT_size_cstack__ { };
24 | define block HEAP with alignment = 8, size = __ICFEDIT_size_heap__ { };
25 |
26 | initialize by copy { readwrite };
27 | do not initialize { section .noinit };
28 |
29 | place at address mem:__ICFEDIT_intvec_start__ { readonly section .intvec };
30 |
31 | place in ROM_region { readonly };
32 | place in RAM_region { readwrite,
33 | block CSTACK, block HEAP };
--------------------------------------------------------------------------------
/ST-STEVAL-FKI868V1/Drivers/CMSIS/Device/ST/STM32L0xx/Source/Templates/iar/linker/stm32l061xx_sram.icf:
--------------------------------------------------------------------------------
1 | /*###ICF### Section handled by ICF editor, don't touch! ****/
2 | /*-Editor annotation file-*/
3 | /* IcfEditorFile="$TOOLKIT_DIR$\config\ide\IcfEditor\cortex_v1_0.xml" */
4 | /*-Specials-*/
5 | define symbol __ICFEDIT_intvec_start__ = 0x20000000;
6 | /*-Memory Regions-*/
7 | define symbol __ICFEDIT_region_ROM_start__ = 0x20000000;
8 | define symbol __ICFEDIT_region_ROM_end__ = 0x200013FF;
9 | define symbol __ICFEDIT_region_RAM_start__ = 0x20001400;
10 | define symbol __ICFEDIT_region_RAM_end__ = 0x20001FFF;
11 |
12 | /*-Sizes-*/
13 | define symbol __ICFEDIT_size_cstack__ = 0x400;
14 | define symbol __ICFEDIT_size_heap__ = 0x200;
15 | /**** End of ICF editor section. ###ICF###*/
16 |
17 |
18 | define memory mem with size = 4G;
19 | define region ROM_region = mem:[from __ICFEDIT_region_ROM_start__ to __ICFEDIT_region_ROM_end__];
20 | define region RAM_region = mem:[from __ICFEDIT_region_RAM_start__ to __ICFEDIT_region_RAM_end__];
21 |
22 |
23 | define block CSTACK with alignment = 8, size = __ICFEDIT_size_cstack__ { };
24 | define block HEAP with alignment = 8, size = __ICFEDIT_size_heap__ { };
25 |
26 | initialize by copy { readwrite };
27 | do not initialize { section .noinit };
28 |
29 | place at address mem:__ICFEDIT_intvec_start__ { readonly section .intvec };
30 |
31 | place in ROM_region { readonly };
32 | place in RAM_region { readwrite,
33 | block CSTACK, block HEAP };
--------------------------------------------------------------------------------
/ST-STEVAL-FKI868V1/Drivers/CMSIS/Device/ST/STM32L0xx/Source/Templates/iar/linker/stm32l062xx_flash.icf:
--------------------------------------------------------------------------------
1 | /*###ICF### Section handled by ICF editor, don't touch! ****/
2 | /*-Editor annotation file-*/
3 | /* IcfEditorFile="$TOOLKIT_DIR$\config\ide\IcfEditor\cortex_v1_0.xml" */
4 | /*-Specials-*/
5 | define symbol __ICFEDIT_intvec_start__ = 0x08000000;
6 | /*-Memory Regions-*/
7 | define symbol __ICFEDIT_region_ROM_start__ = 0x08000000 ;
8 | define symbol __ICFEDIT_region_ROM_end__ = 0x0800FFFF;
9 | define symbol __ICFEDIT_region_RAM_start__ = 0x20000000;
10 | define symbol __ICFEDIT_region_RAM_end__ = 0x20001FFF;
11 |
12 | /*-Sizes-*/
13 | define symbol __ICFEDIT_size_cstack__ = 0x400;
14 | define symbol __ICFEDIT_size_heap__ = 0x200;
15 | /**** End of ICF editor section. ###ICF###*/
16 |
17 |
18 | define memory mem with size = 4G;
19 | define region ROM_region = mem:[from __ICFEDIT_region_ROM_start__ to __ICFEDIT_region_ROM_end__];
20 | define region RAM_region = mem:[from __ICFEDIT_region_RAM_start__ to __ICFEDIT_region_RAM_end__];
21 |
22 |
23 | define block CSTACK with alignment = 8, size = __ICFEDIT_size_cstack__ { };
24 | define block HEAP with alignment = 8, size = __ICFEDIT_size_heap__ { };
25 |
26 | initialize by copy { readwrite };
27 | do not initialize { section .noinit };
28 |
29 | place at address mem:__ICFEDIT_intvec_start__ { readonly section .intvec };
30 |
31 | place in ROM_region { readonly };
32 | place in RAM_region { readwrite,
33 | block CSTACK, block HEAP };
--------------------------------------------------------------------------------
/ST-STEVAL-FKI868V1/Drivers/CMSIS/Device/ST/STM32L0xx/Source/Templates/iar/linker/stm32l062xx_sram.icf:
--------------------------------------------------------------------------------
1 | /*###ICF### Section handled by ICF editor, don't touch! ****/
2 | /*-Editor annotation file-*/
3 | /* IcfEditorFile="$TOOLKIT_DIR$\config\ide\IcfEditor\cortex_v1_0.xml" */
4 | /*-Specials-*/
5 | define symbol __ICFEDIT_intvec_start__ = 0x20000000;
6 | /*-Memory Regions-*/
7 | define symbol __ICFEDIT_region_ROM_start__ = 0x20000000;
8 | define symbol __ICFEDIT_region_ROM_end__ = 0x200013FF;
9 | define symbol __ICFEDIT_region_RAM_start__ = 0x20001400;
10 | define symbol __ICFEDIT_region_RAM_end__ = 0x20001FFF;
11 |
12 | /*-Sizes-*/
13 | define symbol __ICFEDIT_size_cstack__ = 0x400;
14 | define symbol __ICFEDIT_size_heap__ = 0x200;
15 | /**** End of ICF editor section. ###ICF###*/
16 |
17 |
18 | define memory mem with size = 4G;
19 | define region ROM_region = mem:[from __ICFEDIT_region_ROM_start__ to __ICFEDIT_region_ROM_end__];
20 | define region RAM_region = mem:[from __ICFEDIT_region_RAM_start__ to __ICFEDIT_region_RAM_end__];
21 |
22 |
23 | define block CSTACK with alignment = 8, size = __ICFEDIT_size_cstack__ { };
24 | define block HEAP with alignment = 8, size = __ICFEDIT_size_heap__ { };
25 |
26 | initialize by copy { readwrite };
27 | do not initialize { section .noinit };
28 |
29 | place at address mem:__ICFEDIT_intvec_start__ { readonly section .intvec };
30 |
31 | place in ROM_region { readonly };
32 | place in RAM_region { readwrite,
33 | block CSTACK, block HEAP };
--------------------------------------------------------------------------------
/ST-STEVAL-FKI868V1/Drivers/CMSIS/Device/ST/STM32L0xx/Source/Templates/iar/linker/stm32l063xx_flash.icf:
--------------------------------------------------------------------------------
1 | /*###ICF### Section handled by ICF editor, don't touch! ****/
2 | /*-Editor annotation file-*/
3 | /* IcfEditorFile="$TOOLKIT_DIR$\config\ide\IcfEditor\cortex_v1_0.xml" */
4 | /*-Specials-*/
5 | define symbol __ICFEDIT_intvec_start__ = 0x08000000;
6 | /*-Memory Regions-*/
7 | define symbol __ICFEDIT_region_ROM_start__ = 0x08000000 ;
8 | define symbol __ICFEDIT_region_ROM_end__ = 0x0800FFFF;
9 | define symbol __ICFEDIT_region_RAM_start__ = 0x20000000;
10 | define symbol __ICFEDIT_region_RAM_end__ = 0x20001FFF;
11 |
12 | /*-Sizes-*/
13 | define symbol __ICFEDIT_size_cstack__ = 0x400;
14 | define symbol __ICFEDIT_size_heap__ = 0x200;
15 | /**** End of ICF editor section. ###ICF###*/
16 |
17 |
18 | define memory mem with size = 4G;
19 | define region ROM_region = mem:[from __ICFEDIT_region_ROM_start__ to __ICFEDIT_region_ROM_end__];
20 | define region RAM_region = mem:[from __ICFEDIT_region_RAM_start__ to __ICFEDIT_region_RAM_end__];
21 |
22 |
23 | define block CSTACK with alignment = 8, size = __ICFEDIT_size_cstack__ { };
24 | define block HEAP with alignment = 8, size = __ICFEDIT_size_heap__ { };
25 |
26 | initialize by copy { readwrite };
27 | do not initialize { section .noinit };
28 |
29 | place at address mem:__ICFEDIT_intvec_start__ { readonly section .intvec };
30 |
31 | place in ROM_region { readonly };
32 | place in RAM_region { readwrite,
33 | block CSTACK, block HEAP };
--------------------------------------------------------------------------------
/ST-STEVAL-FKI868V1/Drivers/CMSIS/Device/ST/STM32L0xx/Source/Templates/iar/linker/stm32l063xx_sram.icf:
--------------------------------------------------------------------------------
1 | /*###ICF### Section handled by ICF editor, don't touch! ****/
2 | /*-Editor annotation file-*/
3 | /* IcfEditorFile="$TOOLKIT_DIR$\config\ide\IcfEditor\cortex_v1_0.xml" */
4 | /*-Specials-*/
5 | define symbol __ICFEDIT_intvec_start__ = 0x20000000;
6 | /*-Memory Regions-*/
7 | define symbol __ICFEDIT_region_ROM_start__ = 0x20000000;
8 | define symbol __ICFEDIT_region_ROM_end__ = 0x200013FF;
9 | define symbol __ICFEDIT_region_RAM_start__ = 0x20001400;
10 | define symbol __ICFEDIT_region_RAM_end__ = 0x20001FFF;
11 |
12 | /*-Sizes-*/
13 | define symbol __ICFEDIT_size_cstack__ = 0x400;
14 | define symbol __ICFEDIT_size_heap__ = 0x200;
15 | /**** End of ICF editor section. ###ICF###*/
16 |
17 |
18 | define memory mem with size = 4G;
19 | define region ROM_region = mem:[from __ICFEDIT_region_ROM_start__ to __ICFEDIT_region_ROM_end__];
20 | define region RAM_region = mem:[from __ICFEDIT_region_RAM_start__ to __ICFEDIT_region_RAM_end__];
21 |
22 |
23 | define block CSTACK with alignment = 8, size = __ICFEDIT_size_cstack__ { };
24 | define block HEAP with alignment = 8, size = __ICFEDIT_size_heap__ { };
25 |
26 | initialize by copy { readwrite };
27 | do not initialize { section .noinit };
28 |
29 | place at address mem:__ICFEDIT_intvec_start__ { readonly section .intvec };
30 |
31 | place in ROM_region { readonly };
32 | place in RAM_region { readwrite,
33 | block CSTACK, block HEAP };
--------------------------------------------------------------------------------
/ST-STEVAL-FKI868V1/Drivers/CMSIS/Device/ST/STM32L0xx/Source/Templates/iar/linker/stm32l071xx_flash.icf:
--------------------------------------------------------------------------------
1 | /*###ICF### Section handled by ICF editor, don't touch! ****/
2 | /*-Editor annotation file-*/
3 | /* IcfEditorFile="$TOOLKIT_DIR$\config\ide\IcfEditor\cortex_v1_0.xml" */
4 | /*-Specials-*/
5 | define symbol __ICFEDIT_intvec_start__ = 0x08000000;
6 | /*-Memory Regions-*/
7 | define symbol __ICFEDIT_region_ROM_start__ = 0x08000000 ;
8 | define symbol __ICFEDIT_region_ROM_end__ = 0x0802FFFF;
9 | define symbol __ICFEDIT_region_RAM_start__ = 0x20000000;
10 | define symbol __ICFEDIT_region_RAM_end__ = 0x20004FFF;
11 |
12 | /*-Sizes-*/
13 | define symbol __ICFEDIT_size_cstack__ = 0x400;
14 | define symbol __ICFEDIT_size_heap__ = 0x200;
15 | /**** End of ICF editor section. ###ICF###*/
16 |
17 |
18 | define memory mem with size = 4G;
19 | define region ROM_region = mem:[from __ICFEDIT_region_ROM_start__ to __ICFEDIT_region_ROM_end__];
20 | define region RAM_region = mem:[from __ICFEDIT_region_RAM_start__ to __ICFEDIT_region_RAM_end__];
21 |
22 |
23 | define block CSTACK with alignment = 8, size = __ICFEDIT_size_cstack__ { };
24 | define block HEAP with alignment = 8, size = __ICFEDIT_size_heap__ { };
25 |
26 | initialize by copy { readwrite };
27 | do not initialize { section .noinit };
28 |
29 | place at address mem:__ICFEDIT_intvec_start__ { readonly section .intvec };
30 |
31 | place in ROM_region { readonly };
32 | place in RAM_region { readwrite,
33 | block CSTACK, block HEAP };
--------------------------------------------------------------------------------
/ST-STEVAL-FKI868V1/Drivers/CMSIS/Device/ST/STM32L0xx/Source/Templates/iar/linker/stm32l071xx_sram.icf:
--------------------------------------------------------------------------------
1 | /*###ICF### Section handled by ICF editor, don't touch! ****/
2 | /*-Editor annotation file-*/
3 | /* IcfEditorFile="$TOOLKIT_DIR$\config\ide\IcfEditor\cortex_v1_0.xml" */
4 | /*-Specials-*/
5 | define symbol __ICFEDIT_intvec_start__ = 0x20000000;
6 | /*-Memory Regions-*/
7 | define symbol __ICFEDIT_region_ROM_start__ = 0x20000000;
8 | define symbol __ICFEDIT_region_ROM_end__ = 0x20002FFF;
9 | define symbol __ICFEDIT_region_RAM_start__ = 0x20003000;
10 | define symbol __ICFEDIT_region_RAM_end__ = 0x20004FFF;
11 |
12 | /*-Sizes-*/
13 | define symbol __ICFEDIT_size_cstack__ = 0x400;
14 | define symbol __ICFEDIT_size_heap__ = 0x200;
15 | /**** End of ICF editor section. ###ICF###*/
16 |
17 |
18 | define memory mem with size = 4G;
19 | define region ROM_region = mem:[from __ICFEDIT_region_ROM_start__ to __ICFEDIT_region_ROM_end__];
20 | define region RAM_region = mem:[from __ICFEDIT_region_RAM_start__ to __ICFEDIT_region_RAM_end__];
21 |
22 |
23 | define block CSTACK with alignment = 8, size = __ICFEDIT_size_cstack__ { };
24 | define block HEAP with alignment = 8, size = __ICFEDIT_size_heap__ { };
25 |
26 | initialize by copy { readwrite };
27 | do not initialize { section .noinit };
28 |
29 | place at address mem:__ICFEDIT_intvec_start__ { readonly section .intvec };
30 |
31 | place in ROM_region { readonly };
32 | place in RAM_region { readwrite,
33 | block CSTACK, block HEAP };
--------------------------------------------------------------------------------
/ST-STEVAL-FKI868V1/Drivers/CMSIS/Device/ST/STM32L0xx/Source/Templates/iar/linker/stm32l072xx_flash.icf:
--------------------------------------------------------------------------------
1 | /*###ICF### Section handled by ICF editor, don't touch! ****/
2 | /*-Editor annotation file-*/
3 | /* IcfEditorFile="$TOOLKIT_DIR$\config\ide\IcfEditor\cortex_v1_0.xml" */
4 | /*-Specials-*/
5 | define symbol __ICFEDIT_intvec_start__ = 0x08000000;
6 | /*-Memory Regions-*/
7 | define symbol __ICFEDIT_region_ROM_start__ = 0x08000000 ;
8 | define symbol __ICFEDIT_region_ROM_end__ = 0x0802FFFF;
9 | define symbol __ICFEDIT_region_RAM_start__ = 0x20000000;
10 | define symbol __ICFEDIT_region_RAM_end__ = 0x20004FFF;
11 |
12 | /*-Sizes-*/
13 | define symbol __ICFEDIT_size_cstack__ = 0x400;
14 | define symbol __ICFEDIT_size_heap__ = 0x200;
15 | /**** End of ICF editor section. ###ICF###*/
16 |
17 |
18 | define memory mem with size = 4G;
19 | define region ROM_region = mem:[from __ICFEDIT_region_ROM_start__ to __ICFEDIT_region_ROM_end__];
20 | define region RAM_region = mem:[from __ICFEDIT_region_RAM_start__ to __ICFEDIT_region_RAM_end__];
21 |
22 |
23 | define block CSTACK with alignment = 8, size = __ICFEDIT_size_cstack__ { };
24 | define block HEAP with alignment = 8, size = __ICFEDIT_size_heap__ { };
25 |
26 | initialize by copy { readwrite };
27 | do not initialize { section .noinit };
28 |
29 | place at address mem:__ICFEDIT_intvec_start__ { readonly section .intvec };
30 |
31 | place in ROM_region { readonly };
32 | place in RAM_region { readwrite,
33 | block CSTACK, block HEAP };
--------------------------------------------------------------------------------
/ST-STEVAL-FKI868V1/Drivers/CMSIS/Device/ST/STM32L0xx/Source/Templates/iar/linker/stm32l072xx_sram.icf:
--------------------------------------------------------------------------------
1 | /*###ICF### Section handled by ICF editor, don't touch! ****/
2 | /*-Editor annotation file-*/
3 | /* IcfEditorFile="$TOOLKIT_DIR$\config\ide\IcfEditor\cortex_v1_0.xml" */
4 | /*-Specials-*/
5 | define symbol __ICFEDIT_intvec_start__ = 0x20000000;
6 | /*-Memory Regions-*/
7 | define symbol __ICFEDIT_region_ROM_start__ = 0x20000000;
8 | define symbol __ICFEDIT_region_ROM_end__ = 0x20002FFF;
9 | define symbol __ICFEDIT_region_RAM_start__ = 0x20003000;
10 | define symbol __ICFEDIT_region_RAM_end__ = 0x20004FFF;
11 |
12 | /*-Sizes-*/
13 | define symbol __ICFEDIT_size_cstack__ = 0x400;
14 | define symbol __ICFEDIT_size_heap__ = 0x200;
15 | /**** End of ICF editor section. ###ICF###*/
16 |
17 |
18 | define memory mem with size = 4G;
19 | define region ROM_region = mem:[from __ICFEDIT_region_ROM_start__ to __ICFEDIT_region_ROM_end__];
20 | define region RAM_region = mem:[from __ICFEDIT_region_RAM_start__ to __ICFEDIT_region_RAM_end__];
21 |
22 |
23 | define block CSTACK with alignment = 8, size = __ICFEDIT_size_cstack__ { };
24 | define block HEAP with alignment = 8, size = __ICFEDIT_size_heap__ { };
25 |
26 | initialize by copy { readwrite };
27 | do not initialize { section .noinit };
28 |
29 | place at address mem:__ICFEDIT_intvec_start__ { readonly section .intvec };
30 |
31 | place in ROM_region { readonly };
32 | place in RAM_region { readwrite,
33 | block CSTACK, block HEAP };
--------------------------------------------------------------------------------
/ST-STEVAL-FKI868V1/Drivers/CMSIS/Device/ST/STM32L0xx/Source/Templates/iar/linker/stm32l073xx_flash.icf:
--------------------------------------------------------------------------------
1 | /*###ICF### Section handled by ICF editor, don't touch! ****/
2 | /*-Editor annotation file-*/
3 | /* IcfEditorFile="$TOOLKIT_DIR$\config\ide\IcfEditor\cortex_v1_0.xml" */
4 | /*-Specials-*/
5 | define symbol __ICFEDIT_intvec_start__ = 0x08000000;
6 | /*-Memory Regions-*/
7 | define symbol __ICFEDIT_region_ROM_start__ = 0x08000000 ;
8 | define symbol __ICFEDIT_region_ROM_end__ = 0x0802FFFF;
9 | define symbol __ICFEDIT_region_RAM_start__ = 0x20000000;
10 | define symbol __ICFEDIT_region_RAM_end__ = 0x20004FFF;
11 |
12 | /*-Sizes-*/
13 | define symbol __ICFEDIT_size_cstack__ = 0x400;
14 | define symbol __ICFEDIT_size_heap__ = 0x200;
15 | /**** End of ICF editor section. ###ICF###*/
16 |
17 |
18 | define memory mem with size = 4G;
19 | define region ROM_region = mem:[from __ICFEDIT_region_ROM_start__ to __ICFEDIT_region_ROM_end__];
20 | define region RAM_region = mem:[from __ICFEDIT_region_RAM_start__ to __ICFEDIT_region_RAM_end__];
21 |
22 |
23 | define block CSTACK with alignment = 8, size = __ICFEDIT_size_cstack__ { };
24 | define block HEAP with alignment = 8, size = __ICFEDIT_size_heap__ { };
25 |
26 | initialize by copy { readwrite };
27 | do not initialize { section .noinit };
28 |
29 | place at address mem:__ICFEDIT_intvec_start__ { readonly section .intvec };
30 |
31 | place in ROM_region { readonly };
32 | place in RAM_region { readwrite,
33 | block CSTACK, block HEAP };
--------------------------------------------------------------------------------
/ST-STEVAL-FKI868V1/Drivers/CMSIS/Device/ST/STM32L0xx/Source/Templates/iar/linker/stm32l073xx_sram.icf:
--------------------------------------------------------------------------------
1 | /*###ICF### Section handled by ICF editor, don't touch! ****/
2 | /*-Editor annotation file-*/
3 | /* IcfEditorFile="$TOOLKIT_DIR$\config\ide\IcfEditor\cortex_v1_0.xml" */
4 | /*-Specials-*/
5 | define symbol __ICFEDIT_intvec_start__ = 0x20000000;
6 | /*-Memory Regions-*/
7 | define symbol __ICFEDIT_region_ROM_start__ = 0x20000000;
8 | define symbol __ICFEDIT_region_ROM_end__ = 0x20002FFF;
9 | define symbol __ICFEDIT_region_RAM_start__ = 0x20003000;
10 | define symbol __ICFEDIT_region_RAM_end__ = 0x20004FFF;
11 |
12 | /*-Sizes-*/
13 | define symbol __ICFEDIT_size_cstack__ = 0x400;
14 | define symbol __ICFEDIT_size_heap__ = 0x200;
15 | /**** End of ICF editor section. ###ICF###*/
16 |
17 |
18 | define memory mem with size = 4G;
19 | define region ROM_region = mem:[from __ICFEDIT_region_ROM_start__ to __ICFEDIT_region_ROM_end__];
20 | define region RAM_region = mem:[from __ICFEDIT_region_RAM_start__ to __ICFEDIT_region_RAM_end__];
21 |
22 |
23 | define block CSTACK with alignment = 8, size = __ICFEDIT_size_cstack__ { };
24 | define block HEAP with alignment = 8, size = __ICFEDIT_size_heap__ { };
25 |
26 | initialize by copy { readwrite };
27 | do not initialize { section .noinit };
28 |
29 | place at address mem:__ICFEDIT_intvec_start__ { readonly section .intvec };
30 |
31 | place in ROM_region { readonly };
32 | place in RAM_region { readwrite,
33 | block CSTACK, block HEAP };
--------------------------------------------------------------------------------
/ST-STEVAL-FKI868V1/Drivers/CMSIS/Device/ST/STM32L0xx/Source/Templates/iar/linker/stm32l081xx_flash.icf:
--------------------------------------------------------------------------------
1 | /*###ICF### Section handled by ICF editor, don't touch! ****/
2 | /*-Editor annotation file-*/
3 | /* IcfEditorFile="$TOOLKIT_DIR$\config\ide\IcfEditor\cortex_v1_0.xml" */
4 | /*-Specials-*/
5 | define symbol __ICFEDIT_intvec_start__ = 0x08000000;
6 | /*-Memory Regions-*/
7 | define symbol __ICFEDIT_region_ROM_start__ = 0x08000000 ;
8 | define symbol __ICFEDIT_region_ROM_end__ = 0x0802FFFF;
9 | define symbol __ICFEDIT_region_RAM_start__ = 0x20000000;
10 | define symbol __ICFEDIT_region_RAM_end__ = 0x20004FFF;
11 |
12 | /*-Sizes-*/
13 | define symbol __ICFEDIT_size_cstack__ = 0x400;
14 | define symbol __ICFEDIT_size_heap__ = 0x200;
15 | /**** End of ICF editor section. ###ICF###*/
16 |
17 |
18 | define memory mem with size = 4G;
19 | define region ROM_region = mem:[from __ICFEDIT_region_ROM_start__ to __ICFEDIT_region_ROM_end__];
20 | define region RAM_region = mem:[from __ICFEDIT_region_RAM_start__ to __ICFEDIT_region_RAM_end__];
21 |
22 |
23 | define block CSTACK with alignment = 8, size = __ICFEDIT_size_cstack__ { };
24 | define block HEAP with alignment = 8, size = __ICFEDIT_size_heap__ { };
25 |
26 | initialize by copy { readwrite };
27 | do not initialize { section .noinit };
28 |
29 | place at address mem:__ICFEDIT_intvec_start__ { readonly section .intvec };
30 |
31 | place in ROM_region { readonly };
32 | place in RAM_region { readwrite,
33 | block CSTACK, block HEAP };
--------------------------------------------------------------------------------
/ST-STEVAL-FKI868V1/Drivers/CMSIS/Device/ST/STM32L0xx/Source/Templates/iar/linker/stm32l081xx_sram.icf:
--------------------------------------------------------------------------------
1 | /*###ICF### Section handled by ICF editor, don't touch! ****/
2 | /*-Editor annotation file-*/
3 | /* IcfEditorFile="$TOOLKIT_DIR$\config\ide\IcfEditor\cortex_v1_0.xml" */
4 | /*-Specials-*/
5 | define symbol __ICFEDIT_intvec_start__ = 0x20000000;
6 | /*-Memory Regions-*/
7 | define symbol __ICFEDIT_region_ROM_start__ = 0x20000000;
8 | define symbol __ICFEDIT_region_ROM_end__ = 0x20002FFF;
9 | define symbol __ICFEDIT_region_RAM_start__ = 0x20003000;
10 | define symbol __ICFEDIT_region_RAM_end__ = 0x20004FFF;
11 |
12 | /*-Sizes-*/
13 | define symbol __ICFEDIT_size_cstack__ = 0x400;
14 | define symbol __ICFEDIT_size_heap__ = 0x200;
15 | /**** End of ICF editor section. ###ICF###*/
16 |
17 |
18 | define memory mem with size = 4G;
19 | define region ROM_region = mem:[from __ICFEDIT_region_ROM_start__ to __ICFEDIT_region_ROM_end__];
20 | define region RAM_region = mem:[from __ICFEDIT_region_RAM_start__ to __ICFEDIT_region_RAM_end__];
21 |
22 |
23 | define block CSTACK with alignment = 8, size = __ICFEDIT_size_cstack__ { };
24 | define block HEAP with alignment = 8, size = __ICFEDIT_size_heap__ { };
25 |
26 | initialize by copy { readwrite };
27 | do not initialize { section .noinit };
28 |
29 | place at address mem:__ICFEDIT_intvec_start__ { readonly section .intvec };
30 |
31 | place in ROM_region { readonly };
32 | place in RAM_region { readwrite,
33 | block CSTACK, block HEAP };
--------------------------------------------------------------------------------
/ST-STEVAL-FKI868V1/Drivers/CMSIS/Device/ST/STM32L0xx/Source/Templates/iar/linker/stm32l082xx_flash.icf:
--------------------------------------------------------------------------------
1 | /*###ICF### Section handled by ICF editor, don't touch! ****/
2 | /*-Editor annotation file-*/
3 | /* IcfEditorFile="$TOOLKIT_DIR$\config\ide\IcfEditor\cortex_v1_0.xml" */
4 | /*-Specials-*/
5 | define symbol __ICFEDIT_intvec_start__ = 0x08000000;
6 | /*-Memory Regions-*/
7 | define symbol __ICFEDIT_region_ROM_start__ = 0x08000000 ;
8 | define symbol __ICFEDIT_region_ROM_end__ = 0x0802FFFF;
9 | define symbol __ICFEDIT_region_RAM_start__ = 0x20000000;
10 | define symbol __ICFEDIT_region_RAM_end__ = 0x20004FFF;
11 |
12 | /*-Sizes-*/
13 | define symbol __ICFEDIT_size_cstack__ = 0x400;
14 | define symbol __ICFEDIT_size_heap__ = 0x200;
15 | /**** End of ICF editor section. ###ICF###*/
16 |
17 |
18 | define memory mem with size = 4G;
19 | define region ROM_region = mem:[from __ICFEDIT_region_ROM_start__ to __ICFEDIT_region_ROM_end__];
20 | define region RAM_region = mem:[from __ICFEDIT_region_RAM_start__ to __ICFEDIT_region_RAM_end__];
21 |
22 |
23 | define block CSTACK with alignment = 8, size = __ICFEDIT_size_cstack__ { };
24 | define block HEAP with alignment = 8, size = __ICFEDIT_size_heap__ { };
25 |
26 | initialize by copy { readwrite };
27 | do not initialize { section .noinit };
28 |
29 | place at address mem:__ICFEDIT_intvec_start__ { readonly section .intvec };
30 |
31 | place in ROM_region { readonly };
32 | place in RAM_region { readwrite,
33 | block CSTACK, block HEAP };
--------------------------------------------------------------------------------
/ST-STEVAL-FKI868V1/Drivers/CMSIS/Device/ST/STM32L0xx/Source/Templates/iar/linker/stm32l082xx_sram.icf:
--------------------------------------------------------------------------------
1 | /*###ICF### Section handled by ICF editor, don't touch! ****/
2 | /*-Editor annotation file-*/
3 | /* IcfEditorFile="$TOOLKIT_DIR$\config\ide\IcfEditor\cortex_v1_0.xml" */
4 | /*-Specials-*/
5 | define symbol __ICFEDIT_intvec_start__ = 0x20000000;
6 | /*-Memory Regions-*/
7 | define symbol __ICFEDIT_region_ROM_start__ = 0x20000000;
8 | define symbol __ICFEDIT_region_ROM_end__ = 0x20002FFF;
9 | define symbol __ICFEDIT_region_RAM_start__ = 0x20003000;
10 | define symbol __ICFEDIT_region_RAM_end__ = 0x20004FFF;
11 |
12 | /*-Sizes-*/
13 | define symbol __ICFEDIT_size_cstack__ = 0x400;
14 | define symbol __ICFEDIT_size_heap__ = 0x200;
15 | /**** End of ICF editor section. ###ICF###*/
16 |
17 |
18 | define memory mem with size = 4G;
19 | define region ROM_region = mem:[from __ICFEDIT_region_ROM_start__ to __ICFEDIT_region_ROM_end__];
20 | define region RAM_region = mem:[from __ICFEDIT_region_RAM_start__ to __ICFEDIT_region_RAM_end__];
21 |
22 |
23 | define block CSTACK with alignment = 8, size = __ICFEDIT_size_cstack__ { };
24 | define block HEAP with alignment = 8, size = __ICFEDIT_size_heap__ { };
25 |
26 | initialize by copy { readwrite };
27 | do not initialize { section .noinit };
28 |
29 | place at address mem:__ICFEDIT_intvec_start__ { readonly section .intvec };
30 |
31 | place in ROM_region { readonly };
32 | place in RAM_region { readwrite,
33 | block CSTACK, block HEAP };
--------------------------------------------------------------------------------
/ST-STEVAL-FKI868V1/Drivers/CMSIS/Device/ST/STM32L0xx/Source/Templates/iar/linker/stm32l083xx_flash.icf:
--------------------------------------------------------------------------------
1 | /*###ICF### Section handled by ICF editor, don't touch! ****/
2 | /*-Editor annotation file-*/
3 | /* IcfEditorFile="$TOOLKIT_DIR$\config\ide\IcfEditor\cortex_v1_0.xml" */
4 | /*-Specials-*/
5 | define symbol __ICFEDIT_intvec_start__ = 0x08000000;
6 | /*-Memory Regions-*/
7 | define symbol __ICFEDIT_region_ROM_start__ = 0x08000000 ;
8 | define symbol __ICFEDIT_region_ROM_end__ = 0x0802FFFF;
9 | define symbol __ICFEDIT_region_RAM_start__ = 0x20000000;
10 | define symbol __ICFEDIT_region_RAM_end__ = 0x20004FFF;
11 |
12 | /*-Sizes-*/
13 | define symbol __ICFEDIT_size_cstack__ = 0x400;
14 | define symbol __ICFEDIT_size_heap__ = 0x200;
15 | /**** End of ICF editor section. ###ICF###*/
16 |
17 |
18 | define memory mem with size = 4G;
19 | define region ROM_region = mem:[from __ICFEDIT_region_ROM_start__ to __ICFEDIT_region_ROM_end__];
20 | define region RAM_region = mem:[from __ICFEDIT_region_RAM_start__ to __ICFEDIT_region_RAM_end__];
21 |
22 |
23 | define block CSTACK with alignment = 8, size = __ICFEDIT_size_cstack__ { };
24 | define block HEAP with alignment = 8, size = __ICFEDIT_size_heap__ { };
25 |
26 | initialize by copy { readwrite };
27 | do not initialize { section .noinit };
28 |
29 | place at address mem:__ICFEDIT_intvec_start__ { readonly section .intvec };
30 |
31 | place in ROM_region { readonly };
32 | place in RAM_region { readwrite,
33 | block CSTACK, block HEAP };
--------------------------------------------------------------------------------
/ST-STEVAL-FKI868V1/Drivers/CMSIS/Device/ST/STM32L0xx/Source/Templates/iar/linker/stm32l083xx_sram.icf:
--------------------------------------------------------------------------------
1 | /*###ICF### Section handled by ICF editor, don't touch! ****/
2 | /*-Editor annotation file-*/
3 | /* IcfEditorFile="$TOOLKIT_DIR$\config\ide\IcfEditor\cortex_v1_0.xml" */
4 | /*-Specials-*/
5 | define symbol __ICFEDIT_intvec_start__ = 0x20000000;
6 | /*-Memory Regions-*/
7 | define symbol __ICFEDIT_region_ROM_start__ = 0x20000000;
8 | define symbol __ICFEDIT_region_ROM_end__ = 0x20002FFF;
9 | define symbol __ICFEDIT_region_RAM_start__ = 0x20003000;
10 | define symbol __ICFEDIT_region_RAM_end__ = 0x20004FFF;
11 |
12 | /*-Sizes-*/
13 | define symbol __ICFEDIT_size_cstack__ = 0x400;
14 | define symbol __ICFEDIT_size_heap__ = 0x200;
15 | /**** End of ICF editor section. ###ICF###*/
16 |
17 |
18 | define memory mem with size = 4G;
19 | define region ROM_region = mem:[from __ICFEDIT_region_ROM_start__ to __ICFEDIT_region_ROM_end__];
20 | define region RAM_region = mem:[from __ICFEDIT_region_RAM_start__ to __ICFEDIT_region_RAM_end__];
21 |
22 |
23 | define block CSTACK with alignment = 8, size = __ICFEDIT_size_cstack__ { };
24 | define block HEAP with alignment = 8, size = __ICFEDIT_size_heap__ { };
25 |
26 | initialize by copy { readwrite };
27 | do not initialize { section .noinit };
28 |
29 | place at address mem:__ICFEDIT_intvec_start__ { readonly section .intvec };
30 |
31 | place in ROM_region { readonly };
32 | place in RAM_region { readwrite,
33 | block CSTACK, block HEAP };
--------------------------------------------------------------------------------
/ST-STEVAL-FKI868V1/Drivers/CMSIS/Lib/ARM/arm_cortexM0b_math.lib:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ZeWaren/izar-prios-smart-meter-collector/5f7aba86ddfc2d216c859774d46968952feb2b2d/ST-STEVAL-FKI868V1/Drivers/CMSIS/Lib/ARM/arm_cortexM0b_math.lib
--------------------------------------------------------------------------------
/ST-STEVAL-FKI868V1/Drivers/CMSIS/Lib/ARM/arm_cortexM0l_math.lib:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ZeWaren/izar-prios-smart-meter-collector/5f7aba86ddfc2d216c859774d46968952feb2b2d/ST-STEVAL-FKI868V1/Drivers/CMSIS/Lib/ARM/arm_cortexM0l_math.lib
--------------------------------------------------------------------------------
/ST-STEVAL-FKI868V1/Drivers/CMSIS/Lib/GCC/libarm_cortexM0l_math.a:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ZeWaren/izar-prios-smart-meter-collector/5f7aba86ddfc2d216c859774d46968952feb2b2d/ST-STEVAL-FKI868V1/Drivers/CMSIS/Lib/GCC/libarm_cortexM0l_math.a
--------------------------------------------------------------------------------
/ST-STEVAL-FKI868V1/Drivers/S2LP_Library/inc/S2LP_Fifo.h:
--------------------------------------------------------------------------------
1 | /**
2 | * @file S2LP_Fifo.h
3 | * @author ST Microelectronics
4 | * @version 1.3.0
5 | * @date June, 2019
6 | * @brief Configuration and management of S2-LP Fifo.
7 | * @details
8 | *
9 | * This module allows the user to manage the linear FIFO. The functions exported
10 | * here can be used to set the thresholds for the FIFO almost full / empty alarm
11 | * interrupts or to get the total number of elements inside the FIFO.
12 | *
13 | * THE PRESENT FIRMWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS
14 | * WITH CODING INFORMATION REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE
15 | * TIME. AS A RESULT, STMICROELECTRONICS SHALL NOT BE HELD LIABLE FOR ANY
16 | * DIRECT, INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING
17 | * FROM THE CONTENT OF SUCH FIRMWARE AND/OR THE USE MADE BY CUSTOMERS OF THE
18 | * CODING INFORMATION CONTAINED HEREIN IN CONNECTION WITH THEIR PRODUCTS.
19 | *
20 | * THIS SOURCE CODE IS PROTECTED BY A LICENSE.
21 | * FOR MORE INFORMATION PLEASE CAREFULLY READ THE LICENSE AGREEMENT FILE LOCATED
22 | * IN THE ROOT DIRECTORY OF THIS FIRMWARE PACKAGE.
23 | *
24 | * © COPYRIGHT 2019 STMicroelectronics
25 | */
26 |
27 |
28 | /* Define to prevent recursive inclusion -------------------------------------*/
29 | #ifndef __S2LP_FIFO_H
30 | #define __S2LP_FIFO_H
31 |
32 |
33 | /* Includes ------------------------------------------------------------------*/
34 | #include "S2LP_Regs.h"
35 | #include "S2LP_Types.h"
36 | #include "S2LP_CORE_SPI.h"
37 |
38 |
39 | #ifdef __cplusplus
40 | extern "C" {
41 | #endif
42 |
43 |
44 | /**
45 | * @addtogroup S2LP_Libraries
46 | * @{
47 | */
48 |
49 |
50 | /**
51 | * @defgroup S2LP_Fifo FIFO
52 | * @brief Configuration and management of S2LP FIFO.
53 | * @details See the file @ref S2LP_Fifo.h for more details.
54 | * @{
55 | */
56 |
57 | /**
58 | * @defgroup Fifo_Exported_Types FIFO Exported Types
59 | * @{
60 | */
61 |
62 |
63 | /**
64 | * @}
65 | */
66 |
67 |
68 | /**
69 | * @defgroup Fifo_Exported_Constants FIFO Exported Constants
70 | * @{
71 | */
72 |
73 | /**
74 | * @}
75 | */
76 |
77 |
78 | /**
79 | * @defgroup Fifo_Exported_Macros FIFO Exported Macros
80 | * @{
81 | */
82 |
83 |
84 | /**
85 | * @}
86 | */
87 |
88 |
89 | /**
90 | * @defgroup Fifo_Exported_Functions FIFO Exported Functions
91 | * @{
92 | */
93 |
94 | uint8_t S2LPFifoReadNumberBytesRxFifo(void);
95 | uint8_t S2LPFifoReadNumberBytesTxFifo(void);
96 | void S2LPFifoSetAlmostFullThresholdRx(uint8_t cThrRxFifo);
97 | uint8_t S2LPFifoGetAlmostFullThresholdRx(void);
98 | void S2LPFifoSetAlmostEmptyThresholdRx(uint8_t cThrRxFifo);
99 | uint8_t S2LPFifoGetAlmostEmptyThresholdRx(void);
100 | void S2LPFifoSetAlmostFullThresholdTx(uint8_t cThrTxFifo);
101 | uint8_t S2LPFifoGetAlmostFullThresholdTx(void);
102 | void S2LPFifoSetAlmostEmptyThresholdTx(uint8_t cThrTxFifo);
103 | uint8_t S2LPFifoGetAlmostEmptyThresholdTx(void);
104 | void S2LPFifoMuxRxFifoIrqEnable(SFunctionalState xNewState);
105 |
106 | /**
107 | * @}
108 | */
109 |
110 | /**
111 | * @}
112 | */
113 |
114 |
115 | /**
116 | * @}
117 | */
118 |
119 | #ifdef __cplusplus
120 | }
121 | #endif
122 |
123 | #endif
124 |
125 | /******************* (C) COPYRIGHT 2019 STMicroelectronics *****END OF FILE****/
126 |
--------------------------------------------------------------------------------
/ST-STEVAL-FKI868V1/Drivers/S2LP_Library/inc/S2LP_General.h:
--------------------------------------------------------------------------------
1 | /**
2 | * @file S2LP_General.h
3 | * @author ST Microelectronics
4 | * @version 1.3.0
5 | * @date June, 2019
6 | * @brief Configuration and management of S2-LP General functionalities.
7 | * @details
8 | *
9 | * THE PRESENT FIRMWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS
10 | * WITH CODING INFORMATION REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE
11 | * TIME. AS A RESULT, STMICROELECTRONICS SHALL NOT BE HELD LIABLE FOR ANY
12 | * DIRECT, INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING
13 | * FROM THE CONTENT OF SUCH FIRMWARE AND/OR THE USE MADE BY CUSTOMERS OF THE
14 | * CODING INFORMATION CONTAINED HEREIN IN CONNECTION WITH THEIR PRODUCTS.
15 | *
16 | * THIS SOURCE CODE IS PROTECTED BY A LICENSE.
17 | * FOR MORE INFORMATION PLEASE CAREFULLY READ THE LICENSE AGREEMENT FILE LOCATED
18 | * IN THE ROOT DIRECTORY OF THIS FIRMWARE PACKAGE.
19 | *
20 | * © COPYRIGHT 2019 STMicroelectronics
21 | */
22 |
23 |
24 | /* Define to prevent recursive inclusion -------------------------------------*/
25 | #ifndef __S2LP_GENERAL_H
26 | #define __S2LP_GENERAL_H
27 |
28 |
29 | /* Includes ------------------------------------------------------------------*/
30 |
31 | #include "S2LP_Regs.h"
32 | #include "S2LP_Types.h"
33 | #include "S2LP_CORE_SPI.h"
34 |
35 |
36 |
37 | #ifdef __cplusplus
38 | extern "C" {
39 | #endif
40 |
41 | /**
42 | * @addtogroup S2LP_Libraries
43 | * @{
44 | */
45 |
46 |
47 | /**
48 | * @defgroup S2LP_General General
49 | * @brief Configuration and management of S2LP General functionalities.
50 | * @details See the file @ref S2LP_General.h for more details.
51 | * @{
52 | */
53 |
54 | /**
55 | * @defgroup General_Exported_Types General Exported Types
56 | * @{
57 | */
58 |
59 |
60 | /**
61 | * @brief S2LP version type enumeration
62 | */
63 |
64 | typedef enum {
65 | MODE_EXT_XO = 0,
66 | MODE_EXT_XIN = 0x80,
67 | } ModeExtRef;
68 |
69 |
70 | /**
71 | * @}
72 | */
73 |
74 |
75 | /**
76 | * @defgroup General_Exported_Constants General Exported Constants
77 | * @{
78 | */
79 |
80 |
81 | /**
82 | * @}
83 | */
84 |
85 |
86 | /**
87 | * @defgroup General_Exported_Macros General Exported Macros
88 | * @{
89 | */
90 | #define S2LPGeneralLibraryVersion() "S2LP_Libraries_v.1.3.0"
91 |
92 |
93 | /**
94 | * @}
95 | */
96 |
97 |
98 | /**
99 | * @defgroup General_Exported_Functions General Exported Functions
100 | * @{
101 | */
102 |
103 | uint8_t S2LPGeneralGetDevicePN(void);
104 | uint8_t S2LPGeneralGetVersion(void);
105 | void S2LPGeneralSetExtRef(ModeExtRef xExtMode);
106 | ModeExtRef S2LPGeneralGetExtRef(void);
107 | void S2LPRadioSetExternalSmpsMode(SFunctionalState xNewState);
108 | void S2LPRefreshStatus(void);
109 |
110 | /**
111 | * @}
112 | */
113 |
114 | /**
115 | * @}
116 | */
117 |
118 |
119 | /**
120 | * @}
121 | */
122 |
123 |
124 | #ifdef __cplusplus
125 | }
126 | #endif
127 |
128 | #endif
129 |
130 | /******************* (C) COPYRIGHT 2019 STMicroelectronics *****END OF FILE****/
131 |
--------------------------------------------------------------------------------
/ST-STEVAL-FKI868V1/Drivers/S2LP_Library/inc/S2LP_Timer_ex.h:
--------------------------------------------------------------------------------
1 | /**
2 | * @file S2LP_Timer_ex.h
3 | * @author ST Microelectronics
4 | * @version 1.3.0
5 | * @date June, 2019
6 | * @brief Configuration and management of S2-LP Timers using floating point.
7 | * @details
8 | *
9 | * This module provides API to configure the S2-LP timing mechanisms using floating points.
10 | *
11 | * Example:
12 | * @code
13 | * ...
14 | *
15 | * S2LPTimerSetRxTimeoutMs(50.0);
16 | *
17 | * ...
18 | *
19 | * @endcode
20 | *
21 | * THE PRESENT FIRMWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS
22 | * WITH CODING INFORMATION REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE
23 | * TIME. AS A RESULT, STMICROELECTRONICS SHALL NOT BE HELD LIABLE FOR ANY
24 | * DIRECT, INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING
25 | * FROM THE CONTENT OF SUCH FIRMWARE AND/OR THE USE MADE BY CUSTOMERS OF THE
26 | * CODING INFORMATION CONTAINED HEREIN IN CONNECTION WITH THEIR PRODUCTS.
27 | *
28 | * THIS SOURCE CODE IS PROTECTED BY A LICENSE.
29 | * FOR MORE INFORMATION PLEASE CAREFULLY READ THE LICENSE AGREEMENT FILE LOCATED
30 | * IN THE ROOT DIRECTORY OF THIS FIRMWARE PACKAGE.
31 | *
32 | * © COPYRIGHT 2017 STMicroelectronics
33 | */
34 |
35 |
36 | /* Define to prevent recursive inclusion -------------------------------------*/
37 | #ifndef __S2LP_TIMER_EX_H
38 | #define __S2LP_TIMER_EX_H
39 |
40 |
41 | /* Includes ------------------------------------------------------------------*/
42 |
43 | #include "S2LP_Timer_ex.h"
44 | #include "S2LP_CORE_SPI.h"
45 |
46 |
47 | #ifdef __cplusplus
48 | extern "C" {
49 | #endif
50 |
51 | /**
52 | * @addtogroup S2LP_Libraries
53 | * @{
54 | */
55 |
56 |
57 | /**
58 | * @defgroup S2LP_Timer_ex Timer Wrapper
59 | * @brief Configuration and management of S2LP Timers using floating point.
60 | * @details See the file @ref S2LP_Timer.h for more details.
61 | * @{
62 | */
63 |
64 |
65 | /**
66 | * @defgroup Timer_ex_Exported_Types Timer Wrapper Exported Types
67 | * @{
68 | */
69 |
70 |
71 |
72 |
73 | /**
74 | * @defgroup Timer_ex_Exported_Functions Timer Wrapper Exported Functions
75 | * @{
76 | */
77 | void S2LPTimerSetRxTimerMs(float fDesiredMsec);
78 | void S2LPTimerGetRxTimer(float* pfTimeoutMsec, uint8_t* pcCounter , uint8_t* pcPrescaler);
79 | void S2LPTimerSetWakeUpTimerMs(float fDesiredMsec);
80 | void S2LPTimerSetWakeUpTimerReloadMs(float fDesiredMsec);
81 | void S2LPTimerGetWakeUpTimer(float* pfWakeUpMsec, uint8_t* pcCounter , uint8_t* pcPrescaler, uint8_t* pcMulti);
82 | void S2LPTimerGetWakeUpTimerReload(float* pfWakeUpReloadMsec, uint8_t* pcCounter, uint8_t* pcPrescaler, uint8_t* pcMulti);
83 | void S2LPTimerComputeWakeUpValues(float fDesiredMsec , uint8_t* pcCounter , uint8_t* pcPrescaler);
84 |
85 | /**
86 | * @}
87 | */
88 |
89 | /**
90 | * @}
91 | */
92 |
93 |
94 | /**
95 | * @}
96 | */
97 |
98 | #ifdef __cplusplus
99 | }
100 | #endif
101 |
102 | #endif
103 |
104 | /******************* (C) COPYRIGHT 2017 STMicroelectronics *****END OF FILE****/
105 |
106 |
--------------------------------------------------------------------------------
/ST-STEVAL-FKI868V1/Drivers/S2LP_Library/inc/uint64.h:
--------------------------------------------------------------------------------
1 | //
2 | // A few 64-bit integer functions that use only 32-bit arithmetic
3 | //
4 | // If you are porting to a small PIC, maybe leave out any
5 | // calls to print functions and run through the debugger.
6 | //
7 | // This project was compiled on a PC with GNU gcc
8 | //
9 | // davekw7x
10 | //
11 |
12 | #ifndef UINT64_H__
13 | #define UINT64_H__
14 |
15 | #include
16 |
17 | typedef struct uint64 {
18 | uint32_t low;
19 | uint32_t high;
20 | } uint64;
21 |
22 | int uint64_is_zero(uint64 );
23 | uint64 and_uint64(uint64 *x, uint64 *y);
24 | uint64 make_uint64(uint32_t);
25 |
26 | void set_zero_uint64(uint64 *);
27 |
28 | uint64 multiply_uint32x32(uint32_t *multiplicand, uint32_t *multiplier);
29 | uint64 shift_left_one_uint64(uint64*);
30 | uint64 shift_left_uint64(uint64*, uint8_t);
31 | uint64 shift_right_one_uint64(uint64*);
32 |
33 | uint64 add_uint64(uint64* augend, uint64* addend);
34 | uint64 subtract_uint64(uint64 *minuend, uint64 *subtrahend);
35 | uint64 divide_uint64_by_uint32(uint64 *numerator, uint32_t *denominator, uint32_t *remainder);
36 | int compare_uint64(uint64 *first, uint64 *second);
37 | void print_uint64(uint64 *x);
38 |
39 | #endif
40 |
--------------------------------------------------------------------------------
/ST-STEVAL-FKI868V1/Drivers/S2LP_Library/src/S2LP_Commands.c:
--------------------------------------------------------------------------------
1 | /**
2 | * @file S2LP_Commands.c
3 | * @author ST Microelectronics
4 | * @version 1.3.0
5 | * @date June, 2019
6 | * @brief Management of S2-LP Commands.
7 | * @details
8 | *
9 | * THE PRESENT FIRMWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS
10 | * WITH CODING INFORMATION REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE
11 | * TIME. AS A RESULT, STMICROELECTRONICS SHALL NOT BE HELD LIABLE FOR ANY
12 | * DIRECT, INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING
13 | * FROM THE CONTENT OF SUCH FIRMWARE AND/OR THE USE MADE BY CUSTOMERS OF THE
14 | * CODING INFORMATION CONTAINED HEREIN IN CONNECTION WITH THEIR PRODUCTS.
15 | *
16 | * THIS SOURCE CODE IS PROTECTED BY A LICENSE.
17 | * FOR MORE INFORMATION PLEASE CAREFULLY READ THE LICENSE AGREEMENT FILE LOCATED
18 | * IN THE ROOT DIRECTORY OF THIS FIRMWARE PACKAGE.
19 | *
20 | * © COPYRIGHT 2019 STMicroelectronics
21 | */
22 |
23 |
24 | /* Includes ------------------------------------------------------------------*/
25 | #include "S2LP_Commands.h"
26 |
27 |
28 |
29 | /**
30 | * @addtogroup S2LP_Libraries
31 | * @{
32 | */
33 |
34 |
35 | /**
36 | * @addtogroup S2LP_Commands
37 | * @{
38 | */
39 |
40 |
41 | /**
42 | * @defgroup Commands_Private_TypesDefinitions Commands Private TypesDefinitions
43 | * @{
44 | */
45 |
46 | /**
47 | *@}
48 | */
49 |
50 |
51 | /**
52 | * @defgroup Commands_Private_Defines Commands Private Defines
53 | * @{
54 | */
55 |
56 | /**
57 | *@}
58 | */
59 |
60 | /**
61 | * @defgroup Commands_Private_Macros Commands Private Macros
62 | * @{
63 | */
64 |
65 | #define IS_S2LP_CMD(CMD) (CMD == CMD_TX || \
66 | CMD == CMD_RX || \
67 | CMD == CMD_READY || \
68 | CMD == CMD_STANDBY || \
69 | CMD == CMD_SLEEP || \
70 | CMD == CMD_LOCKRX || \
71 | CMD == CMD_LOCKTX || \
72 | CMD == CMD_SABORT || \
73 | CMD == CMD_LDC_RELOAD || \
74 | CMD == CMD_SEQUENCE_UPDATE || \
75 | CMD == CMD_SRES || \
76 | CMD == CMD_FLUSHRXFIFO || \
77 | CMD == CMD_FLUSHTXFIFO \
78 | )
79 |
80 | /**
81 | *@}
82 | */
83 |
84 |
85 | /**
86 | * @defgroup Commands_Private_Variables Commands Private Variables
87 | * @{
88 | */
89 |
90 | /**
91 | *@}
92 | */
93 |
94 |
95 |
96 | /**
97 | * @defgroup Commands_Private_FunctionPrototypes Commands Private Function Prototypes
98 | * @{
99 | */
100 |
101 | /**
102 | *@}
103 | */
104 |
105 |
106 | /**
107 | * @defgroup Commands_Private_Functions Commands Private Functions
108 | * @{
109 | */
110 |
111 | /**
112 | * @brief Send a specific command to S2LP.
113 | * @param xCommandCode code of the command to send.
114 | This parameter can be any value of @ref S2LPCmd.
115 | * @retval None.
116 | */
117 | void S2LPCmdStrobeCommand(S2LPCmd xCommandCode)
118 | {
119 | /* Check the parameters */
120 | s_assert_param(IS_S2LP_CMD(xCommandCode));
121 |
122 | *(uint8_t*)&g_xStatus = S2LPSpiCommandStrobes((uint8_t) xCommandCode);
123 | }
124 |
125 |
126 | /**
127 | *@}
128 | */
129 |
130 |
131 | /**
132 | *@}
133 | */
134 |
135 |
136 | /**
137 | *@}
138 | */
139 |
140 |
141 |
142 |
143 | /******************* (C) COPYRIGHT 2019 STMicroelectronics *****END OF FILE****/
144 |
--------------------------------------------------------------------------------
/ST-STEVAL-FKI868V1/Drivers/S2LP_Library/src/S2LP_Timer_ex.c:
--------------------------------------------------------------------------------
1 | /**
2 | * @file S2LP_Timer_ex.c
3 | * @author LowPower RF BU - AMG
4 | * @version 1.2.0
5 | * @date October 31, 2016
6 | * @brief This file provides functions to manage S2-LP debug.
7 | * @details
8 | *
9 | * THE PRESENT FIRMWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS
10 | * WITH CODING INFORMATION REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE
11 | * TIME. AS A RESULT, STMICROELECTRONICS SHALL NOT BE HELD LIABLE FOR ANY
12 | * DIRECT, INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING
13 | * FROM THE CONTENT OF SUCH FIRMWARE AND/OR THE USE MADE BY CUSTOMERS OF THE
14 | * CODING INFORMATION CONTAINED HEREIN IN CONNECTION WITH THEIR PRODUCTS.
15 | *
16 | * THIS SOURCE CODE IS PROTECTED BY A LICENSE.
17 | * FOR MORE INFORMATION PLEASE CAREFULLY READ THE LICENSE AGREEMENT FILE LOCATED
18 | * IN THE ROOT DIRECTORY OF THIS FIRMWARE PACKAGE.
19 | *
20 | * © COPYRIGHT 2019 STMicroelectronics
21 | *
22 | */
23 |
24 | /* Includes ------------------------------------------------------------------*/
25 | #include "S2LP_Timer.h"
26 | #include "S2LP_Timer_ex.h"
27 | #include "S2LP_Regs.h"
28 |
29 |
30 | /** @addtogroup S2LP_Libraries
31 | * @{
32 | */
33 |
34 |
35 | /** @addtogroup S2LP_Types
36 | * @{
37 | */
38 |
39 | /** @defgroup Types_Private_Functions Types Private Functions
40 | * @{
41 | */
42 |
43 |
44 | void S2LPTimerSetRxTimerMs(float fDesiredMsec)
45 | {
46 | S2LPTimerSetRxTimerUs((uint32_t)(fDesiredMsec*1000));
47 | }
48 |
49 | void S2LPTimerGetRxTimer(float* pfTimeoutMsec, uint8_t* pcCounter , uint8_t* pcPrescaler)
50 | {
51 | uint32_t timeoutUsec;
52 |
53 | S2LPTimerGetRxTimerUs(&timeoutUsec, pcCounter , pcPrescaler);
54 |
55 | (*pfTimeoutMsec)=((float)timeoutUsec)/1000;
56 | }
57 |
58 | void S2LPTimerSetWakeUpTimerMs(float fDesiredMsec)
59 | {
60 | S2LPTimerSetWakeUpTimerUs((uint32_t)(fDesiredMsec*1000));
61 | }
62 |
63 | void S2LPTimerSetWakeUpTimerReloadMs(float fDesiredMsec)
64 | {
65 | S2LPTimerSetWakeUpTimerReloadUs((uint32_t)(fDesiredMsec*1000));
66 | }
67 |
68 | void S2LPTimerGetWakeUpTimer(float* pfWakeUpMsec, uint8_t* pcCounter , uint8_t* pcPrescaler, uint8_t* pcMulti)
69 | {
70 | uint32_t timeoutUsec;
71 |
72 | S2LPTimerGetWakeUpTimerUs(&timeoutUsec, pcCounter , pcPrescaler, pcMulti);
73 |
74 | (*pfWakeUpMsec)=((float)timeoutUsec)/1000;
75 | }
76 |
77 | void S2LPTimerGetWakeUpTimerReload(float* pfWakeUpReloadMsec, uint8_t* pcCounter, uint8_t* pcPrescaler, uint8_t* pcMulti)
78 | {
79 | uint32_t timeoutUsec;
80 |
81 | S2LPTimerGetWakeUpTimerReloadUs(&timeoutUsec, pcCounter , pcPrescaler, pcMulti);
82 |
83 | (*pfWakeUpReloadMsec)=((float)timeoutUsec)/1000;
84 | }
85 |
86 |
87 |
88 | /**
89 | * @}
90 | */
91 |
92 |
93 |
94 | /**
95 | * @}
96 | */
97 |
98 |
99 |
100 | /**
101 | * @}
102 | */
103 |
104 |
105 |
106 | /******************* (C) COPYRIGHT 2019 STMicroelectronics *****END OF FILE****/
107 |
--------------------------------------------------------------------------------
/ST-STEVAL-FKI868V1/Drivers/S2LP_Middleware/inc/S2LP_AUX_FEM.h:
--------------------------------------------------------------------------------
1 | /**
2 | * @file S2LP_FEM.h
3 | * @author AMG - RF Application team
4 | * @version 1.0.0
5 | * @date March, 2020
6 | * @brief FEM (Front end module, aka power amplifier) management
7 | * @details This module exports API to manage a FEM possibly present on an
8 | * S2-LP board. The API is intended to provided users hooks to configure the
9 | * FEM in his own board.
10 | *
11 | * THE PRESENT FIRMWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS
12 | * WITH CODING INFORMATION REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE
13 | * TIME. AS A RESULT, STMICROELECTRONICS SHALL NOT BE HELD LIABLE FOR ANY
14 | * DIRECT, INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING
15 | * FROM THE CONTENT OF SUCH FIRMWARE AND/OR THE USE MADE BY CUSTOMERS OF THE
16 | * CODING INFORMATION CONTAINED HEREIN IN CONNECTION WITH THEIR PRODUCTS.
17 | *
18 | * THIS SOURCE CODE IS PROTECTED BY A LICENSE.
19 | * FOR MORE INFORMATION PLEASE CAREFULLY READ THE LICENSE AGREEMENT FILE LOCATED
20 | * IN THE ROOT DIRECTORY OF THIS FIRMWARE PACKAGE.
21 | *
22 | * © COPYRIGHT 2020 STMicroelectronics
23 | */
24 |
25 | /* Define to prevent recursive inclusion -------------------------------------*/
26 | #ifndef __S2LP_FEM_H__
27 | #define __S2LP_FEM_H__
28 |
29 | #include "cube_hal.h"
30 |
31 | #ifdef __cplusplus
32 | "C" {
33 | #endif
34 |
35 | /**
36 | * @addtogroup S2LP_AUX_FEM_AUTO
37 | * @{
38 | */
39 |
40 | /**
41 | * @defgroup S2LP_AUX_FEM_AUTO_TYPES S2LP AUX FEM AUTO Exported Types
42 | * @{
43 | */
44 |
45 |
46 | /**
47 | * @brief Opcode for FEM management
48 | */
49 | #define POWER_DBM 12
50 |
51 | /*Structure to manage External PA */
52 | typedef enum
53 | {
54 | FEM_SHUTDOWN = 0x00,
55 | FEM_TX_BYPASS = 0x01,
56 | FEM_TX = 0x02,
57 | FEM_RX = 0x03,
58 | } FEM_OperationType;
59 |
60 | /*Structure to describe gain parametr */
61 | typedef enum
62 | {
63 | FEM_GAIN_TX = 0x00,
64 | FEM_GAIN_RX = 0x01,
65 | } FEM_GainType;
66 |
67 | /**
68 | * @}
69 | */
70 |
71 | /**
72 | * @}
73 | */
74 |
75 | /**
76 | * @brief Initializes the power amplfier control lines.
77 | * @param None
78 | * @retval None
79 | */
80 | void FEM_Init(void);
81 |
82 | /**
83 | * @brief Perform operation on FEM, usually controlling the configuration lines via GPIO in the uC.
84 | * If FEM is under control of S2-LP GPIOs, possibly this function can be implemented as dummy function.
85 | * @param operation: operation requested, if FEM is not present this is implemented by dummy function
86 | * @retval None
87 | */
88 | void FEM_Operation(FEM_OperationType operation);
89 |
90 | /**
91 | * @brief Return gain for the FEM.
92 | * @retval FEM_GainType
93 | */
94 | FEM_GainType FEM_GetGain(void);
95 |
96 | /**
97 | * @brief Set gain value for the FEM.
98 | * @param direction: operation requested, if FEM is not present this is implemented by dummy function
99 | * @retval None
100 | */
101 | void FEM_SetGain(FEM_GainType direction);
102 |
103 | /*
104 | * @brief Set the FEM in Bypass (if bypass mode is available)
105 | * This function configures the FEM in Bypass Mode,
106 | * whereas the Bypass mode is available
107 | * @param the Bypass flag (1 means "set Bypass")
108 | * @retval None
109 | */
110 | void FEM_SetBypass(uint8_t bypass_mode);
111 |
112 | /*
113 | * @brief Get the FEM Bypass Mode
114 | * This function returns 1 if the FEM is in Bypass Mode
115 | * @param None
116 | * @retval the Bypass state
117 | */
118 | uint8_t FEM_GetBypass(void);
119 |
120 | #ifdef __cplusplus
121 | }
122 | #endif
123 |
124 |
125 | #endif
126 | /******************* (C) COPYRIGHT 2020 STMicroelectronics *****END OF FILE****/
127 |
128 |
--------------------------------------------------------------------------------
/ST-STEVAL-FKI868V1/Drivers/S2LP_Middleware/inc/S2LP_AUX_TCXO.h:
--------------------------------------------------------------------------------
1 | /**
2 | * @file S2LP_TCXO.h
3 | * @author AMG - RF Application team
4 | * @version 1.0.0
5 | * @date March, 2020
6 | * @brief TCXO (Temperature controlled crystal oscillator) management
7 | * @details This module exports API to manage a TCXO possibly present on an
8 | * S2-LP board.
9 | *
10 | * THE PRESENT FIRMWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS
11 | * WITH CODING INFORMATION REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE
12 | * TIME. AS A RESULT, STMICROELECTRONICS SHALL NOT BE HELD LIABLE FOR ANY
13 | * DIRECT, INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING
14 | * FROM THE CONTENT OF SUCH FIRMWARE AND/OR THE USE MADE BY CUSTOMERS OF THE
15 | * CODING INFORMATION CONTAINED HEREIN IN CONNECTION WITH THEIR PRODUCTS.
16 | *
17 | * THIS SOURCE CODE IS PROTECTED BY A LICENSE.
18 | * FOR MORE INFORMATION PLEASE CAREFULLY READ THE LICENSE AGREEMENT FILE LOCATED
19 | * IN THE ROOT DIRECTORY OF THIS FIRMWARE PACKAGE.
20 | *
21 | * © COPYRIGHT 2020 STMicroelectronics
22 | */
23 |
24 | /* Define to prevent recursive inclusion -------------------------------------*/
25 | #ifndef __S2LP_TCXO_H__
26 | #define __S2LP_TCXO_H__
27 |
28 | /* Includes ------------------------------------------------------------------*/
29 |
30 | #ifdef __cplusplus
31 | "C" {
32 | #endif
33 |
34 | /**
35 | * @addtogroup S2LP_AUX_TCXO_AUTO
36 | * @{
37 | */
38 |
39 |
40 | /**
41 | * @defgroup S2LP_AUX_TCXO_AUTO_TYPES S2LP AUX TCXO Auto exported types
42 | * @{
43 | */
44 |
45 |
46 |
47 | /**
48 | * @brief Opcode for TCXO management
49 | */
50 |
51 | typedef enum
52 | {
53 | TCXO_OFF = 0x00,
54 | TCXO_ON = 0x01,
55 | } TCXO_OperationType;
56 |
57 | /**
58 | * @brief Initializes the TCXO control lines. If not present is implemented by dummy function.
59 | * @param None
60 | * @retval None
61 | */
62 | void TCXO_Init(void);
63 |
64 | /**
65 | * @brief Turn on/off TCXO.
66 | * @param operation: operation requested, if TCXO is not present this is implemented by dummy function
67 | * @retval None
68 | */
69 | void TCXO_Operation(TCXO_OperationType operation);
70 |
71 | /**
72 | * @}
73 | */
74 |
75 |
76 | /**
77 | * @}
78 | */
79 |
80 | #ifdef __cplusplus
81 | }
82 | #endif
83 |
84 |
85 | #endif
86 | /******************* (C) COPYRIGHT 2020 STMicroelectronics *****END OF FILE****/
87 |
88 |
--------------------------------------------------------------------------------
/ST-STEVAL-FKI868V1/Drivers/S2LP_Middleware/inc/S2LP_AUX_UTILS.h:
--------------------------------------------------------------------------------
1 | /**
2 | * @file S2LP_EVAL_Utils.h
3 | * @author VMA division - AMS
4 | * @version 4.0.1
5 | * @date March, 2020
6 | * @brief Identification and utils functions for S2LP DK.
7 | * @details
8 | *
9 | * THE PRESENT FIRMWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS
10 | * WITH CODING INFORMATION REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE
11 | * TIME. AS A RESULT, STMICROELECTRONICS SHALL NOT BE HELD LIABLE FOR ANY
12 | * DIRECT, INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING
13 | * FROM THE CONTENT OF SUCH FIRMWARE AND/OR THE USE MADE BY CUSTOMERS OF THE
14 | * CODING INFORMATION CONTAINED HEREIN IN CONNECTION WITH THEIR PRODUCTS.
15 | *
16 | * THIS SOURCE CODE IS PROTECTED BY A LICENSE.
17 | * FOR MORE INFORMATION PLEASE CAREFULLY READ THE LICENSE AGREEMENT FILE LOCATED
18 | * IN THE ROOT DIRECTORY OF THIS FIRMWARE PACKAGE.
19 | *
20 | * © COPYRIGHT 2020 STMicroelectronics
21 | */
22 |
23 | #ifndef __S2LP_AUX_UTILS_H
24 | #define __S2LP_AUX_UTILS_H
25 |
26 | /* Includes ------------------------------------------------------------------*/
27 | #include "S2LP_AUX_EEPROM.h"
28 |
29 | /**
30 | * @addtogroup S2LP_AUX_UTILS
31 | * @{
32 | */
33 |
34 | /**
35 | * @defgroup SDK_S2LP_MANAGEMENT_FUNCTIONS SDK S2LP Management Functions
36 | * @{
37 | */
38 |
39 | /**
40 | * @defgroup S2LP_AUX_UTILS_TYPES S2LP AUX UTILS exported types
41 | * @{
42 | */
43 |
44 | typedef enum
45 | {
46 | RANGE_EXT_NONE = 0,
47 | RANGE_EXT_SKY_66100_11 = 1,
48 | RANGE_EXT_SKYWORKS_SE2435L = 2,
49 | RANGE_EXT_SKYWORKS_SKY66420 = 3,
50 | RANGE_EXT_CUSTOM = 4
51 | } RangeExtType;
52 |
53 | typedef enum
54 | {
55 | S2LP_CUT_2_1 = 0x91,
56 | S2LP_CUT_2_0 = 0x81,
57 | S2LP_CUT_3_0 = 0xC1,
58 | } S2LPCutType;
59 |
60 | /**
61 | * @}
62 | */
63 |
64 | /**
65 | * @}
66 | */
67 |
68 |
69 | S2LPCutType S2LPManagementGetCut(void);
70 | uint8_t S2LPManagementGetBand(void);
71 | void S2LPManagementSetBand(uint8_t band);
72 | RangeExtType S2LPManagementGetRangeExtender(void);
73 | void S2LPManagementSetRangeExtender(RangeExtType value);
74 | uint32_t S2LPManagementComputeXtalFrequency(void);
75 | void S2LPManagementIdentificationRFBoard(void);
76 | uint8_t S2LPManagementGetTcxo(void);
77 | uint32_t S2LPManagementGetXtalFrequency(void);
78 | uint32_t S2LPGetFrequencyBand(void);
79 | void S2LPRadioSetXtalFrequency(uint32_t xtal);
80 | uint8_t EepromIdentification(void);
81 | uint32_t S2LPManagementComputeRcoFrequency(void);
82 | void S2LPManagementRcoCalibration(void);
83 | uint32_t S2LPManagementComputeRcoFrequency(void);
84 | uint32_t S2LPGetSPIPrescaler(void);
85 | /**
86 | * @}
87 | */
88 |
89 |
90 |
91 | /**
92 | * @}
93 | */
94 |
95 |
96 | /**
97 | * @}
98 | */
99 |
100 | /**
101 | * @}
102 | */
103 |
104 | #endif /*__S2LP_AUX_UTILS_H */
105 |
106 | /******************* (C) COPYRIGHT 2020 STMicroelectronics *****END OF FILE****/
107 |
--------------------------------------------------------------------------------
/ST-STEVAL-FKI868V1/Drivers/S2LP_Middleware/inc/S2LP_CORE_SPI.h:
--------------------------------------------------------------------------------
1 | /**
2 | * @file S2LP_CORE_SPI.h
3 | * @author LowPower RF BU - AMG
4 | * @version 2.0.0
5 | * @date March, 2020
6 | * @brief Header file for the SPI of S2-LP interface.
7 | * @details
8 | *
9 | * THE PRESENT FIRMWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS
10 | * WITH CODING INFORMATION REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE
11 | * TIME. AS A RESULT, STMICROELECTRONICS SHALL NOT BE HELD LIABLE FOR ANY
12 | * DIRECT, INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING
13 | * FROM THE CONTENT OF SUCH FIRMWARE AND/OR THE USE MADE BY CUSTOMERS OF THE
14 | * CODING INFORMATION CONTAINED HEREIN IN CONNECTION WITH THEIR PRODUCTS.
15 | *
16 | * THIS SOURCE CODE IS PROTECTED BY A LICENSE.
17 | * FOR MORE INFORMATION PLEASE CAREFULLY READ THE LICENSE AGREEMENT FILE LOCATED
18 | * IN THE ROOT DIRECTORY OF THIS FIRMWARE PACKAGE.
19 | *
20 | * © COPYRIGHT 2020 STMicroelectronics
21 | */
22 |
23 |
24 | /* Includes ------------------------------------------------------------------*/
25 | #include
26 |
27 | /**
28 | * @addtogroup S2LP_CORE_SPI
29 | * @{
30 | */
31 |
32 | /** @defgroup S2LP_CORE_SPI_Functions S2LP CORE SPI exported functions
33 | * @{
34 | */
35 |
36 | /**
37 | * @brief Configures SPI interface
38 | * @param None.
39 | * @retval None.
40 | */
41 | void S2LPSpiInit(void);
42 |
43 | /**
44 | * @brief Deinitializes the SPI
45 | * @param None
46 | * @retval None
47 | */
48 | void SdkEvalSpiDeinit(void);
49 |
50 | void S2LPSpiRaw(uint8_t n_bytes, uint8_t* in_buffer, uint8_t* out_buffer, uint8_t can_return_bef_tx);
51 |
52 | /**
53 | * @brief SPI function to read registers from a slave device
54 | * @param RegisterAddr: register address
55 | * @param NumByteToRead: number of byte to read
56 | * @param pBuffer: buffer to retrieve data from a slave
57 | * @retval ErrorStatus: error status @ref ErrorStatus
58 | * This parameter can be: SUCCESS or ERROR.
59 | */
60 | uint16_t S2LPSpiReadRegisters(uint8_t RegisterAddr, uint8_t NumByteToRead, uint8_t* pBuffer);
61 |
62 | /**
63 | * @brief SPI function to write registers of a slave device
64 | * @param RegisterAddr: register address
65 | * @param NumByteToRead: number of byte to write
66 | * @param pBuffer: buffer contains data to write
67 | * @retval ErrorStatus: error status @ref ErrorStatus
68 | * This parameter can be: SUCCESS or ERROR.
69 | */
70 | uint16_t S2LPSpiWriteRegisters(uint8_t RegisterAddr, uint8_t NumByteToRead, uint8_t* pBuffer);
71 |
72 | uint16_t S2LPSpiCommandStrobes(uint8_t command);
73 |
74 | uint16_t S2LPSpiReadFifo(uint8_t n_bytes, uint8_t* buffer);
75 |
76 | uint16_t S2LPSpiWriteFifo(uint8_t n_bytes, uint8_t* buffer);
77 |
78 | void S2LPSetSpiInUse(uint8_t state);
79 |
80 | uint8_t S2LPGetSpiInUse(void);
81 | /**
82 | * @}
83 | */
84 |
85 | /**
86 | * @}
87 | */
88 |
89 | /******************* (C) COPYRIGHT 2020 STMicroelectronics *****END OF FILE****/
90 |
--------------------------------------------------------------------------------
/ST-STEVAL-FKI868V1/Drivers/S2LP_Middleware/inc/cube_hal.h:
--------------------------------------------------------------------------------
1 | /**
2 | ******************************************************************************
3 | * @file cube_hal.h
4 | * @author CL
5 | * @version V1.0.0
6 | * @date 04-March-2019
7 | * @brief
8 | ******************************************************************************
9 | * @attention
10 | *
11 | * © COPYRIGHT(c) 2014 STMicroelectronics
12 | *
13 | * Redistribution and use in source and binary forms, with or without modification,
14 | * are permitted provided that the following conditions are met:
15 | * 1. Redistributions of source code must retain the above copyright notice,
16 | * this list of conditions and the following disclaimer.
17 | * 2. Redistributions in binary form must reproduce the above copyright notice,
18 | * this list of conditions and the following disclaimer in the documentation
19 | * and/or other materials provided with the distribution.
20 | * 3. Neither the name of STMicroelectronics nor the names of its contributors
21 | * may be used to endorse or promote products derived from this software
22 | * without specific prior written permission.
23 | *
24 | * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
25 | * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
26 | * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
27 | * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
28 | * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
29 | * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
30 | * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
31 | * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
32 | * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
33 | * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
34 | *
35 | ******************************************************************************
36 | */
37 |
38 | #ifndef _CUBE_HAL_H_
39 | #define _CUBE_HAL_H_
40 |
41 | #if !defined(USE_STM32L1XX_NUCLEO) && !defined(USE_STM32F4XX_NUCLEO) && !defined(USE_STM32L0XX_NUCLEO)
42 | #define USE_STM32L1XX_NUCLEO
43 | #endif
44 |
45 | /* Includes ------------------------------------------------------------------*/
46 | #ifdef USE_STM32F4XX_NUCLEO
47 | #include "stm32f4xx_hal.h"
48 | #include "stm32f4xx.h"
49 | #include "stm32xx_it.h"
50 | #endif
51 |
52 | #ifdef USE_STM32L1XX_NUCLEO
53 | #include "stm32l1xx_hal.h"
54 | #include "stm32l1xx.h"
55 | #include "stm32l1xx_it.h"
56 | #endif
57 |
58 | #ifdef USE_STM32L0XX_NUCLEO
59 | #include "stm32l0xx_hal.h"
60 | #include "stm32l0xx.h"
61 | #include "stm32l0xx_it.h"
62 | #endif
63 |
64 |
65 | void SystemClock_Config(void);
66 |
67 | #endif //_CUBE_HAL_H_
68 |
--------------------------------------------------------------------------------
/ST-STEVAL-FKI868V1/Drivers/S2LP_Middleware/src/TCXO/S2LP_AUX_TCXO_AUTO.c:
--------------------------------------------------------------------------------
1 | /**
2 | * @file S2LP_TCXO_AUTO.c
3 | * @author LowPower RF BU - AMG
4 | * @version V1.0.0
5 | * @date March, 2020
6 | * @brief This file provides an implementation of TCXO function when
7 | * TCXO is autodetected by the EEPROM in ST Evaluation kits. Users are normally
8 | * not interested in this file since it is useful only for ST Eval kit.
9 | * Please have a look at S2LP_TCXO_YES.c for a template file for users.
10 | * @details
11 | *
12 | * THE PRESENT FIRMWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS
13 | * WITH CODING INFORMATION REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE
14 | * TIME. AS A RESULT, STMICROELECTRONICS SHALL NOT BE HELD LIABLE FOR ANY
15 | * DIRECT, INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING
16 | * FROM THE CONTENT OF SUCH FIRMWARE AND/OR THE USE MADE BY CUSTOMERS OF THE
17 | * CODING INFORMATION CONTAINED HEREIN IN CONNECTION WITH THEIR PRODUCTS.
18 | *
19 | * THIS SOURCE CODE IS PROTECTED BY A LICENSE.
20 | * FOR MORE INFORMATION PLEASE CAREFULLY READ THE LICENSE AGREEMENT FILE LOCATED
21 | * IN THE ROOT DIRECTORY OF THIS FIRMWARE PACKAGE.
22 | *
23 | * © COPYRIGHT 2020 STMicroelectronics
24 | */
25 |
26 | /* Includes ------------------------------------------------------------------*/
27 | #include "S2LP_Middleware_Config.h"
28 | #include "S2LP_AUX_TCXO.h"
29 |
30 | /** @addtogroup S2LP_MIDDLEWARE_STM32 S2LP Middleware - STM32
31 | * @{
32 | */
33 |
34 | /** @defgroup S2LP_AUX_TCXO_AUTO S2LP AUX TCXO AUTO
35 | * @brief S2-LP TCXO handling module.
36 | * This module exports all the main operations to deal with TCXO.
37 | * @{
38 | */
39 |
40 | /** @defgroup S2LP_AUX_TCXO_AUTO_Functions S2LP AUX TCXO Auto exported functions
41 | * @{
42 | */
43 |
44 |
45 | /**
46 | * @brief TCXO initialization function.
47 | * This function automatically sets the TCXO according to the information stored in the device EEPROM.
48 | * This function can be redefined for special needs.
49 | * @param None
50 | * @retval None
51 | */
52 | __weak void TCXO_Init()
53 | {
54 | /* Not implemented: at the moment there isn't any eval kit with TCXO */
55 | }
56 |
57 |
58 | /**
59 | * @brief TCXO Operation function.
60 | * This function configures the TCXO according to the desired status.
61 | * This function can be redefined for special needs.
62 | * @param operation Specifies the operation to perform.
63 | * This parameter can be one of following parameters:
64 | * @arg TCXO_ON: Turns on TCXO
65 | * @arg TCXO_OFF: Turns off TCXO
66 | * @retval None
67 | */
68 | __weak void TCXO_Operation(TCXO_OperationType operation)
69 | {
70 | /* Not implemented: at the moment there isn't any eval kit with TCXO */
71 | }
72 |
73 | /**
74 | * @}
75 | */
76 |
77 | /**
78 | * @}
79 | */
80 |
81 | /**
82 | * @}
83 | */
84 |
85 | /******************* (C) COPYRIGHT 2020 STMicroelectronics *****END OF FILE****/
86 |
--------------------------------------------------------------------------------
/ST-STEVAL-FKI868V1/Drivers/STM32L0xx_HAL_Driver/Inc/stm32_assert_template.h:
--------------------------------------------------------------------------------
1 | /**
2 | ******************************************************************************
3 | * @file stm32_assert.h
4 | * @author MCD Application Team
5 | * @brief STM32 assert template file.
6 | * This file should be copied to the application folder and renamed
7 | * to stm32_assert.h.
8 | ******************************************************************************
9 | * @attention
10 | *
11 | * © Copyright (c) 2016 STMicroelectronics.
12 | * All rights reserved.
13 | *
14 | * This software component is licensed by ST under BSD 3-Clause license,
15 | * the "License"; You may not use this file except in compliance with the
16 | * License. You may obtain a copy of the License at:
17 | * opensource.org/licenses/BSD-3-Clause
18 | *
19 | ******************************************************************************
20 | */
21 |
22 | /* Define to prevent recursive inclusion -------------------------------------*/
23 | #ifndef __STM32_ASSERT_H
24 | #define __STM32_ASSERT_H
25 |
26 | #ifdef __cplusplus
27 | extern "C" {
28 | #endif
29 |
30 | /* Exported types ------------------------------------------------------------*/
31 | /* Exported constants --------------------------------------------------------*/
32 | /* Includes ------------------------------------------------------------------*/
33 | /* Exported macro ------------------------------------------------------------*/
34 | #ifdef USE_FULL_ASSERT
35 | /**
36 | * @brief The assert_param macro is used for function's parameters check.
37 | * @param expr If expr is false, it calls assert_failed function
38 | * which reports the name of the source file and the source
39 | * line number of the call that failed.
40 | * If expr is true, it returns no value.
41 | * @retval None
42 | */
43 | #define assert_param(expr) ((expr) ? (void)0U : assert_failed((uint8_t *)__FILE__, __LINE__))
44 | /* Exported functions ------------------------------------------------------- */
45 | void assert_failed(uint8_t* file, uint32_t line);
46 | #else
47 | #define assert_param(expr) ((void)0U)
48 | #endif /* USE_FULL_ASSERT */
49 |
50 | #ifdef __cplusplus
51 | }
52 | #endif
53 |
54 | #endif /* __STM32_ASSERT_H */
55 |
56 |
57 | /************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
58 |
--------------------------------------------------------------------------------
/ST-STEVAL-FKI868V1/Drivers/STM32L0xx_HAL_Driver/Inc/stm32l0xx_hal_comp_ex.h:
--------------------------------------------------------------------------------
1 | /**
2 | ******************************************************************************
3 | * @file stm32l0xx_hal_comp_ex.h
4 | * @author MCD Application Team
5 | * @brief Header file of COMP HAL Extended module.
6 | ******************************************************************************
7 | * @attention
8 | *
9 | * © Copyright(c) 2016 STMicroelectronics.
10 | * All rights reserved.
11 | *
12 | * This software component is licensed by ST under BSD 3-Clause license,
13 | * the "License"; You may not use this file except in compliance with the
14 | * License. You may obtain a copy of the License at:
15 | * opensource.org/licenses/BSD-3-Clause
16 | *
17 | ******************************************************************************
18 | */
19 |
20 | /* Define to prevent recursive inclusion -------------------------------------*/
21 | #ifndef __STM32L0xx_HAL_COMP_EX_H
22 | #define __STM32L0xx_HAL_COMP_EX_H
23 |
24 | #ifdef __cplusplus
25 | extern "C" {
26 | #endif
27 |
28 | #if !defined(STM32L010xB) && !defined (STM32L010x8) && !defined (STM32L010x6) && !defined (STM32L010x4)
29 | /* Includes ------------------------------------------------------------------*/
30 | #include "stm32l0xx_hal_def.h"
31 |
32 | /** @addtogroup STM32L0xx_HAL_Driver
33 | * @{
34 | */
35 |
36 | /** @defgroup COMPEx COMPEx
37 | * @{
38 | */
39 |
40 | /* Exported functions --------------------------------------------------------*/
41 | /** @defgroup COMPEx_Exported_Functions COMPEx Exported Functions
42 | * @{
43 | */
44 |
45 | /** @defgroup COMPEx_Exported_Functions_Group1 Extended COMP VREFINT setup functions
46 | * @{
47 | */
48 | /* COMP specific functions to manage VREFINT *************************************/
49 | void HAL_COMPEx_EnableVREFINT(void);
50 | void HAL_COMPEx_DisableVREFINT(void);
51 |
52 | /**
53 | * @}
54 | */
55 |
56 | /**
57 | * @}
58 | */
59 |
60 | /**
61 | * @}
62 | */
63 |
64 | /**
65 | * @}
66 | */
67 | #endif /* #if !defined(STM32L010xB) && !defined (STM32L010x8) && !defined (STM32L010x6) && !defined (STM32L010x4) */
68 |
69 | #ifdef __cplusplus
70 | }
71 | #endif
72 |
73 | #endif /* __STM32L0xx_HAL_COMP_EX_H */
74 |
75 | /************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
76 |
77 |
--------------------------------------------------------------------------------
/ST-STEVAL-FKI868V1/Drivers/STM32L0xx_HAL_Driver/Inc/stm32l0xx_hal_cryp_ex.h:
--------------------------------------------------------------------------------
1 | /**
2 | ******************************************************************************
3 | * @file stm32l0xx_hal_cryp_ex.h
4 | * @author MCD Application Team
5 | * @brief Header file of CRYPEx HAL module.
6 | ******************************************************************************
7 | * @attention
8 | *
9 | * © Copyright(c) 2016 STMicroelectronics.
10 | * All rights reserved.
11 | *
12 | * This software component is licensed by ST under BSD 3-Clause license,
13 | * the "License"; You may not use this file except in compliance with the
14 | * License. You may obtain a copy of the License at:
15 | * opensource.org/licenses/BSD-3-Clause
16 | *
17 | ******************************************************************************
18 | */
19 |
20 | /* Define to prevent recursive inclusion -------------------------------------*/
21 | #ifndef __STM32L0xx_HAL_CRYP_EX_H
22 | #define __STM32L0xx_HAL_CRYP_EX_H
23 |
24 | #ifdef __cplusplus
25 | extern "C" {
26 | #endif
27 |
28 | #if defined (STM32L021xx) || defined (STM32L041xx) || defined (STM32L061xx) || defined (STM32L062xx) || defined (STM32L063xx) || (STM32L081xx) || defined (STM32L082xx) || defined (STM32L083xx)
29 |
30 | /* Includes ------------------------------------------------------------------*/
31 | #include "stm32l0xx_hal_def.h"
32 |
33 | /** @addtogroup STM32L0xx_HAL_Driver
34 | * @{
35 | */
36 |
37 | /** @defgroup CRYPEx CRYPEx
38 | * @{
39 | */
40 |
41 | /* Exported types ------------------------------------------------------------*/
42 | /* Exported constants --------------------------------------------------------*/
43 | /* Exported functions --------------------------------------------------------*/
44 |
45 | /** @defgroup CRYPEx_Exported_Functions CRYPEx Exported Functions
46 | * @{
47 | */
48 |
49 | /** @defgroup CRYPEx_Exported_Functions_Group1 Extended features functions
50 | * @{
51 | */
52 |
53 | /* CallBack functions ********************************************************/
54 | void HAL_CRYPEx_ComputationCpltCallback(CRYP_HandleTypeDef *hcryp);
55 |
56 | /**
57 | * @}
58 | */
59 |
60 | /**
61 | * @}
62 | */
63 |
64 | /**
65 | * @}
66 | */
67 |
68 | /**
69 | * @}
70 | */
71 |
72 | #endif /* STM32L021xx || STM32L041xx || STM32L061xx || STM32L062xx || STM32L063xx || STM32L081xx || STM32L082xx || STM32L083xx */
73 |
74 | #ifdef __cplusplus
75 | }
76 | #endif
77 |
78 | #endif /* __STM32L0xx_HAL_CRYP_EX_H */
79 |
80 | /************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
81 |
82 |
--------------------------------------------------------------------------------
/ST-STEVAL-FKI868V1/Drivers/STM32L0xx_HAL_Driver/Inc/stm32l0xx_hal_flash_ramfunc.h:
--------------------------------------------------------------------------------
1 | /**
2 | ******************************************************************************
3 | * @file stm32l0xx_hal_flash_ramfunc.h
4 | * @author MCD Application Team
5 | * @brief Header file of FLASH RAMFUNC driver.
6 | ******************************************************************************
7 | * @attention
8 | *
9 | * © Copyright (c) 2016 STMicroelectronics.
10 | * All rights reserved.
11 | *
12 | * This software component is licensed by ST under BSD 3-Clause license,
13 | * the "License"; You may not use this file except in compliance with the
14 | * License. You may obtain a copy of the License at:
15 | * opensource.org/licenses/BSD-3-Clause
16 | *
17 | ******************************************************************************
18 | */
19 |
20 | /* Define to prevent recursive inclusion -------------------------------------*/
21 | #ifndef __STM32L0xx_FLASH_RAMFUNC_H
22 | #define __STM32L0xx_FLASH_RAMFUNC_H
23 |
24 | #ifdef __cplusplus
25 | extern "C" {
26 | #endif
27 |
28 | /* Includes ------------------------------------------------------------------*/
29 | #include "stm32l0xx_hal_def.h"
30 |
31 | /** @addtogroup STM32L0xx_HAL_Driver
32 | * @{
33 | */
34 |
35 | /** @addtogroup FLASH_RAMFUNC
36 | * @{
37 | */
38 |
39 | /* Exported types ------------------------------------------------------------*/
40 |
41 |
42 | /* Exported functions --------------------------------------------------------*/
43 |
44 | /** @addtogroup FLASH_RAMFUNC_Exported_Functions
45 | * @{
46 | */
47 |
48 | /*
49 | * @brief FLASH memory functions that should be executed from internal SRAM.
50 | * These functions are defined inside the "stm32l0xx_hal_flash_ramfunc.c"
51 | * file.
52 | */
53 |
54 | /** @addtogroup FLASH_RAMFUNC_Exported_Functions_Group1
55 | * @{
56 | */
57 |
58 | __RAM_FUNC HAL_StatusTypeDef HAL_FLASHEx_EnableRunPowerDown(void);
59 | __RAM_FUNC HAL_StatusTypeDef HAL_FLASHEx_DisableRunPowerDown(void);
60 |
61 | /**
62 | * @}
63 | */
64 |
65 | /** @addtogroup FLASH_RAMFUNC_Exported_Functions_Group2
66 | * @{
67 | */
68 |
69 | #if defined(FLASH_PECR_PARALLBANK)
70 |
71 | __RAM_FUNC HAL_StatusTypeDef HAL_FLASHEx_EraseParallelPage(uint32_t Page_Address1, uint32_t Page_Address2);
72 | __RAM_FUNC HAL_StatusTypeDef HAL_FLASHEx_ProgramParallelHalfPage(uint32_t Address1, uint32_t* pBuffer1, uint32_t Address2, uint32_t* pBuffer2);
73 |
74 | #endif /* FLASH_PECR_PARALLBANK */
75 |
76 | __RAM_FUNC HAL_StatusTypeDef HAL_FLASHEx_HalfPageProgram(uint32_t Address, uint32_t* pBuffer);
77 |
78 | /**
79 | * @}
80 | */
81 |
82 | /** @addtogroup FLASH_RAMFUNC_Exported_Functions_Group3
83 | * @{
84 | */
85 | __RAM_FUNC HAL_StatusTypeDef HAL_FLASHEx_GetError(uint32_t *Error);
86 | /**
87 | * @}
88 | */
89 |
90 | /**
91 | * @}
92 | */
93 |
94 | /**
95 | * @}
96 | */
97 |
98 | /**
99 | * @}
100 | */
101 |
102 | #ifdef __cplusplus
103 | }
104 | #endif
105 |
106 | #endif /* __STM32L0xx_FLASH_RAMFUNC_H */
107 |
108 | /************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
109 |
--------------------------------------------------------------------------------
/ST-STEVAL-FKI868V1/Drivers/STM32L0xx_HAL_Driver/Inc/stm32l0xx_hal_pcd_ex.h:
--------------------------------------------------------------------------------
1 | /**
2 | ******************************************************************************
3 | * @file stm32l0xx_hal_pcd_ex.h
4 | * @author MCD Application Team
5 | * @brief Header file of PCD HAL Extension module.
6 | ******************************************************************************
7 | * @attention
8 | *
9 | * © Copyright (c) 2016 STMicroelectronics.
10 | * All rights reserved.
11 | *
12 | * This software component is licensed by ST under BSD 3-Clause license,
13 | * the "License"; You may not use this file except in compliance with the
14 | * License. You may obtain a copy of the License at:
15 | * opensource.org/licenses/BSD-3-Clause
16 | *
17 | ******************************************************************************
18 | */
19 |
20 | /* Define to prevent recursive inclusion -------------------------------------*/
21 | #ifndef STM32L0xx_HAL_PCD_EX_H
22 | #define STM32L0xx_HAL_PCD_EX_H
23 |
24 | #ifdef __cplusplus
25 | extern "C" {
26 | #endif
27 |
28 | /* Includes ------------------------------------------------------------------*/
29 | #include "stm32l0xx_hal_def.h"
30 |
31 | #if defined (USB)
32 | /** @addtogroup STM32L0xx_HAL_Driver
33 | * @{
34 | */
35 |
36 | /** @addtogroup PCDEx
37 | * @{
38 | */
39 | /* Exported types ------------------------------------------------------------*/
40 | /* Exported constants --------------------------------------------------------*/
41 | /* Exported macros -----------------------------------------------------------*/
42 | /* Exported functions --------------------------------------------------------*/
43 | /** @addtogroup PCDEx_Exported_Functions PCDEx Exported Functions
44 | * @{
45 | */
46 | /** @addtogroup PCDEx_Exported_Functions_Group1 Peripheral Control functions
47 | * @{
48 | */
49 |
50 |
51 |
52 | HAL_StatusTypeDef HAL_PCDEx_PMAConfig(PCD_HandleTypeDef *hpcd,
53 | uint16_t ep_addr,
54 | uint16_t ep_kind,
55 | uint32_t pmaadress);
56 |
57 |
58 | HAL_StatusTypeDef HAL_PCDEx_ActivateLPM(PCD_HandleTypeDef *hpcd);
59 | HAL_StatusTypeDef HAL_PCDEx_DeActivateLPM(PCD_HandleTypeDef *hpcd);
60 |
61 |
62 | HAL_StatusTypeDef HAL_PCDEx_ActivateBCD(PCD_HandleTypeDef *hpcd);
63 | HAL_StatusTypeDef HAL_PCDEx_DeActivateBCD(PCD_HandleTypeDef *hpcd);
64 | void HAL_PCDEx_BCD_VBUSDetect(PCD_HandleTypeDef *hpcd);
65 |
66 | void HAL_PCDEx_LPM_Callback(PCD_HandleTypeDef *hpcd, PCD_LPM_MsgTypeDef msg);
67 | void HAL_PCDEx_BCD_Callback(PCD_HandleTypeDef *hpcd, PCD_BCD_MsgTypeDef msg);
68 |
69 | /**
70 | * @}
71 | */
72 |
73 | /**
74 | * @}
75 | */
76 |
77 | /**
78 | * @}
79 | */
80 |
81 | /**
82 | * @}
83 | */
84 | #endif /* defined (USB) */
85 |
86 | #ifdef __cplusplus
87 | }
88 | #endif
89 |
90 |
91 | #endif /* STM32L0xx_HAL_PCD_EX_H */
92 |
93 | /************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
94 |
--------------------------------------------------------------------------------
/ST-STEVAL-FKI868V1/Drivers/STM32L0xx_HAL_Driver/Inc/stm32l0xx_hal_pwr_ex.h:
--------------------------------------------------------------------------------
1 | /**
2 | ******************************************************************************
3 | * @file stm32l0xx_hal_pwr_ex.h
4 | * @author MCD Application Team
5 | * @brief Header file of PWR HAL Extension module.
6 | ******************************************************************************
7 | * @attention
8 | *
9 | * © Copyright(c) 2016 STMicroelectronics.
10 | * All rights reserved.
11 | *
12 | * This software component is licensed by ST under BSD 3-Clause license,
13 | * the "License"; You may not use this file except in compliance with the
14 | * License. You may obtain a copy of the License at:
15 | * opensource.org/licenses/BSD-3-Clause
16 | *
17 | ******************************************************************************
18 | */
19 |
20 | /* Define to prevent recursive inclusion -------------------------------------*/
21 | #ifndef __STM32L0xx_HAL_PWR_EX_H
22 | #define __STM32L0xx_HAL_PWR_EX_H
23 |
24 | #ifdef __cplusplus
25 | extern "C" {
26 | #endif
27 |
28 | /* Includes ------------------------------------------------------------------*/
29 | #include "stm32l0xx_hal_def.h"
30 |
31 | /** @addtogroup STM32L0xx_HAL_Driver
32 | * @{
33 | */
34 |
35 | /** @defgroup PWREx PWREx
36 | * @{
37 | */
38 |
39 | /** @defgroup PWREx_Exported_Macros PWREx Exported Macros
40 | * @{
41 | */
42 |
43 | /** @brief Macros to enable the Deep-sleep mode with Flash memory kept off.
44 | * @note When entering low power mode (stop or standby only), if DS_EE_KOFF and RUN_PD of
45 | * FLASH_ACR register are both set , the Flash memory will not be woken up
46 | * when exiting from deep-sleep mode.
47 | */
48 | #define __HAL_PWR_FLASHWAKEUP_ENABLE() CLEAR_BIT(PWR->CR, PWR_CR_DSEEKOFF)
49 |
50 | /** @brief Macros to disable the Deep-sleep mode with Flash memory kept off.
51 | * @note When entering low power mode (stop or standby only), if DS_EE_KOFF and RUN_PD of
52 | * FLASH_ACR register are both set , the Flash memory will not be woken up
53 | * when exiting from deep-sleep mode.
54 | */
55 | #define __HAL_PWR_FLASHWAKEUP_DISABLE() SET_BIT(PWR->CR, PWR_CR_DSEEKOFF)
56 | /**
57 | * @}
58 | */
59 |
60 | /** @defgroup PWREx_Exported_Functions PWREx Exported Functions
61 | * @{
62 | */
63 | uint32_t HAL_PWREx_GetVoltageRange(void);
64 | void HAL_PWREx_EnableFastWakeUp(void);
65 | void HAL_PWREx_DisableFastWakeUp(void);
66 | void HAL_PWREx_EnableUltraLowPower(void);
67 | void HAL_PWREx_DisableUltraLowPower(void);
68 | void HAL_PWREx_EnableLowPowerRunMode(void);
69 | HAL_StatusTypeDef HAL_PWREx_DisableLowPowerRunMode(void);
70 | /**
71 | * @}
72 | */
73 |
74 | /* Define the private group ***********************************/
75 | /**************************************************************/
76 | /** @defgroup PWREx_Private PWREx Private
77 | * @{
78 | */
79 | /**
80 | * @}
81 | */
82 | /**************************************************************/
83 |
84 | /**
85 | * @}
86 | */
87 |
88 | /**
89 | * @}
90 | */
91 |
92 | #ifdef __cplusplus
93 | }
94 | #endif
95 |
96 | #endif /* __STM32L0xx_HAL_PWR_EX_H */
97 |
98 | /************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
99 |
100 |
--------------------------------------------------------------------------------
/ST-STEVAL-FKI868V1/Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_cryp_ex.c:
--------------------------------------------------------------------------------
1 | /**
2 | ******************************************************************************
3 | * @file stm32l0xx_hal_cryp_ex.c
4 | * @author MCD Application Team
5 | * @brief CRYPEx HAL module driver.
6 | *
7 | * This file provides firmware functions to manage the following
8 | * functionalities of the Cryptography (CRYP) extension peripheral:
9 | * + Computation completed callback.
10 | *
11 | ******************************************************************************
12 | * @attention
13 | *
14 | * © Copyright(c) 2016 STMicroelectronics.
15 | * All rights reserved.
16 | *
17 | * This software component is licensed by ST under BSD 3-Clause license,
18 | * the "License"; You may not use this file except in compliance with the
19 | * License. You may obtain a copy of the License at:
20 | * opensource.org/licenses/BSD-3-Clause
21 | *
22 | ******************************************************************************
23 | */
24 |
25 | #if defined (STM32L021xx) || defined (STM32L041xx) || defined (STM32L061xx) || defined (STM32L062xx) || defined (STM32L063xx) || defined (STM32L081xx) || defined (STM32L082xx) || defined (STM32L083xx)
26 | /* Includes ------------------------------------------------------------------*/
27 | #include "stm32l0xx_hal.h"
28 |
29 | /** @addtogroup STM32L0xx_HAL_Driver
30 | * @{
31 | */
32 | #ifdef HAL_CRYP_MODULE_ENABLED
33 |
34 |
35 | /** @addtogroup CRYPEx
36 | * @brief CRYP HAL Extended module driver.
37 | * @{
38 | */
39 |
40 |
41 | /* Private typedef -----------------------------------------------------------*/
42 | /* Private define ------------------------------------------------------------*/
43 | /* Private macro -------------------------------------------------------------*/
44 | /* Private variables ---------------------------------------------------------*/
45 | /* Private function prototypes -----------------------------------------------*/
46 | /* Private functions ---------------------------------------------------------*/
47 |
48 | /** @addtogroup CRYPEx_Exported_Functions
49 | * @{
50 | */
51 |
52 |
53 | /** @addtogroup CRYPEx_Exported_Functions_Group1
54 | * @brief Extended features functions.
55 | *
56 | @verbatim
57 | ===============================================================================
58 | ##### Extended features functions #####
59 | ===============================================================================
60 | [..] This section provides callback functions:
61 | (+) Computation completed.
62 |
63 | @endverbatim
64 | * @{
65 | */
66 |
67 | /**
68 | * @brief Computation completed callbacks.
69 | * @param hcryp pointer to a CRYP_HandleTypeDef structure that contains
70 | * the configuration information for CRYP module
71 | * @retval None
72 | */
73 | __weak void HAL_CRYPEx_ComputationCpltCallback(CRYP_HandleTypeDef *hcryp)
74 | {
75 | /* Prevent unused argument(s) compilation warning */
76 | UNUSED(hcryp);
77 |
78 | /* NOTE : This function Should not be modified, when the callback is needed,
79 | the HAL_CRYP_ComputationCpltCallback could be implemented in the user file
80 | */
81 | }
82 |
83 | /**
84 | * @}
85 | */
86 |
87 |
88 | /**
89 | * @}
90 | */
91 | /**
92 | * @}
93 | */
94 |
95 | #endif /* HAL_CRYP_MODULE_ENABLED */
96 |
97 | /**
98 | * @}
99 | */
100 | #endif /* STM32L021xx || STM32L041xx || STM32L061xx || STM32L062xx || STM32L063xx || STM32L081xx || STM32L082xx || STM32L083xx */
101 | /************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
102 |
103 |
--------------------------------------------------------------------------------
/ST-STEVAL-FKI868V1/Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_msp_template.c:
--------------------------------------------------------------------------------
1 | /**
2 | ******************************************************************************
3 | * @file stm32l0xx_hal_msp_template.c
4 | * @author MCD Application Team
5 | * @brief HAL MSP module.
6 | * This file template is located in the HAL folder and should be copied
7 | * to the user folder.
8 | *
9 | @verbatim
10 | ===============================================================================
11 | ##### How to use this driver #####
12 | ===============================================================================
13 | [..]
14 | This file is eventually modified by the user.
15 |
16 | @endverbatim
17 | ******************************************************************************
18 | * @attention
19 | *
20 | * © Copyright (c) 2016 STMicroelectronics.
21 | * All rights reserved.
22 | *
23 | * This software component is licensed by ST under BSD 3-Clause license,
24 | * the "License"; You may not use this file except in compliance with the
25 | * License. You may obtain a copy of the License at:
26 | * opensource.org/licenses/BSD-3-Clause
27 | *
28 | ******************************************************************************
29 | */
30 |
31 | /* Includes ------------------------------------------------------------------*/
32 | #include "stm32l0xx_hal.h"
33 |
34 | /** @addtogroup STM32L0xx_HAL_Driver
35 | * @{
36 | */
37 |
38 | /** @defgroup HAL_MSP
39 | * @brief HAL MSP module.
40 | * @{
41 | */
42 |
43 | /* Private typedef -----------------------------------------------------------*/
44 | /* Private define ------------------------------------------------------------*/
45 | /* Private macro -------------------------------------------------------------*/
46 | /* Private variables ---------------------------------------------------------*/
47 | /* Private function prototypes -----------------------------------------------*/
48 | /* Private functions ---------------------------------------------------------*/
49 |
50 | /** @defgroup HAL_MSP_Private_Functions
51 | * @{
52 | */
53 |
54 | /**
55 | * @brief Initializes the Global BSP.
56 | * @param None
57 | * @retval None
58 | */
59 | void HAL_MspInit(void)
60 | {
61 | /* NOTE : This function is eventually modified by the user */
62 | }
63 |
64 | /**
65 | * @brief DeInitializes the Global MSP.
66 | * @param None
67 | * @retval None
68 | */
69 | void HAL_MspDeInit(void)
70 | {
71 | /* NOTE : This function is eventually modified by the user */
72 | }
73 |
74 | /**
75 | * @brief Initializes the PPP MSP.
76 | * @param None
77 | * @retval None
78 | */
79 | void HAL_PPP_MspInit(void)
80 | {
81 | /* NOTE : This function is eventually modified by the user */
82 | }
83 |
84 | /**
85 | * @brief DeInitializes the PPP MSP.
86 | * @param None
87 | * @retval None
88 | */
89 | void HAL_PPP_MspDeInit(void)
90 | {
91 | /* NOTE : This function is eventually modified by the user */
92 | }
93 |
94 | /**
95 | * @}
96 | */
97 |
98 | /**
99 | * @}
100 | */
101 |
102 | /**
103 | * @}
104 | */
105 |
106 | /************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
107 |
108 |
--------------------------------------------------------------------------------
/ST-STEVAL-FKI868V1/Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_wwdg.c:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ZeWaren/izar-prios-smart-meter-collector/5f7aba86ddfc2d216c859774d46968952feb2b2d/ST-STEVAL-FKI868V1/Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_wwdg.c
--------------------------------------------------------------------------------
/ST-STEVAL-FKI868V1/Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_ll_crc.c:
--------------------------------------------------------------------------------
1 | /**
2 | ******************************************************************************
3 | * @file stm32l0xx_ll_crc.c
4 | * @author MCD Application Team
5 | * @brief CRC LL module driver.
6 | ******************************************************************************
7 | * @attention
8 | *
9 | * © Copyright (c) 2016 STMicroelectronics.
10 | * All rights reserved.
11 | *
12 | * This software component is licensed by ST under BSD 3-Clause license,
13 | * the "License"; You may not use this file except in compliance with the
14 | * License. You may obtain a copy of the License at:
15 | * opensource.org/licenses/BSD-3-Clause
16 | *
17 | ******************************************************************************
18 | */
19 | #if defined(USE_FULL_LL_DRIVER)
20 |
21 | /* Includes ------------------------------------------------------------------*/
22 | #include "stm32l0xx_ll_crc.h"
23 | #include "stm32l0xx_ll_bus.h"
24 |
25 | #ifdef USE_FULL_ASSERT
26 | #include "stm32_assert.h"
27 | #else
28 | #define assert_param(expr) ((void)0U)
29 | #endif
30 |
31 | /** @addtogroup STM32L0xx_LL_Driver
32 | * @{
33 | */
34 |
35 | #if defined (CRC)
36 |
37 | /** @addtogroup CRC_LL
38 | * @{
39 | */
40 |
41 | /* Private types -------------------------------------------------------------*/
42 | /* Private variables ---------------------------------------------------------*/
43 | /* Private constants ---------------------------------------------------------*/
44 | /* Private macros ------------------------------------------------------------*/
45 | /* Private function prototypes -----------------------------------------------*/
46 |
47 | /* Exported functions --------------------------------------------------------*/
48 | /** @addtogroup CRC_LL_Exported_Functions
49 | * @{
50 | */
51 |
52 | /** @addtogroup CRC_LL_EF_Init
53 | * @{
54 | */
55 |
56 | /**
57 | * @brief De-initialize CRC registers (Registers restored to their default values).
58 | * @param CRCx CRC Instance
59 | * @retval An ErrorStatus enumeration value:
60 | * - SUCCESS: CRC registers are de-initialized
61 | * - ERROR: CRC registers are not de-initialized
62 | */
63 | ErrorStatus LL_CRC_DeInit(CRC_TypeDef *CRCx)
64 | {
65 | ErrorStatus status = SUCCESS;
66 |
67 | /* Check the parameters */
68 | assert_param(IS_CRC_ALL_INSTANCE(CRCx));
69 |
70 | if (CRCx == CRC)
71 | {
72 | /* Force CRC reset */
73 | LL_AHB1_GRP1_ForceReset(LL_AHB1_GRP1_PERIPH_CRC);
74 |
75 | /* Release CRC reset */
76 | LL_AHB1_GRP1_ReleaseReset(LL_AHB1_GRP1_PERIPH_CRC);
77 | }
78 | else
79 | {
80 | status = ERROR;
81 | }
82 |
83 | return (status);
84 | }
85 |
86 | /**
87 | * @}
88 | */
89 |
90 | /**
91 | * @}
92 | */
93 |
94 | /**
95 | * @}
96 | */
97 |
98 | #endif /* defined (CRC) */
99 |
100 | /**
101 | * @}
102 | */
103 |
104 | #endif /* USE_FULL_LL_DRIVER */
105 |
106 | /************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
107 |
108 |
--------------------------------------------------------------------------------
/ST-STEVAL-FKI868V1/Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_ll_crs.c:
--------------------------------------------------------------------------------
1 | /**
2 | ******************************************************************************
3 | * @file stm32l0xx_ll_crs.h
4 | * @author MCD Application Team
5 | * @brief CRS LL module driver.
6 | ******************************************************************************
7 | * @attention
8 | *
9 | * © Copyright(c) 2016 STMicroelectronics.
10 | * All rights reserved.
11 | *
12 | * This software component is licensed by ST under BSD 3-Clause license,
13 | * the "License"; You may not use this file except in compliance with the
14 | * License. You may obtain a copy of the License at:
15 | * opensource.org/licenses/BSD-3-Clause
16 | *
17 | ******************************************************************************
18 | */
19 | #if defined(USE_FULL_LL_DRIVER)
20 |
21 | /* Includes ------------------------------------------------------------------*/
22 | #include "stm32l0xx_ll_crs.h"
23 | #include "stm32l0xx_ll_bus.h"
24 |
25 | /** @addtogroup STM32L0xx_LL_Driver
26 | * @{
27 | */
28 |
29 | #if defined(CRS)
30 |
31 | /** @defgroup CRS_LL CRS
32 | * @{
33 | */
34 |
35 | /* Private types -------------------------------------------------------------*/
36 | /* Private variables ---------------------------------------------------------*/
37 | /* Private constants ---------------------------------------------------------*/
38 | /* Private macros ------------------------------------------------------------*/
39 | /* Private function prototypes -----------------------------------------------*/
40 |
41 | /* Exported functions --------------------------------------------------------*/
42 | /** @addtogroup CRS_LL_Exported_Functions
43 | * @{
44 | */
45 |
46 | /** @addtogroup CRS_LL_EF_Init
47 | * @{
48 | */
49 |
50 | /**
51 | * @brief De-Initializes CRS peripheral registers to their default reset values.
52 | * @retval An ErrorStatus enumeration value:
53 | * - SUCCESS: CRS registers are de-initialized
54 | * - ERROR: not applicable
55 | */
56 | ErrorStatus LL_CRS_DeInit(void)
57 | {
58 | LL_APB1_GRP1_ForceReset(LL_APB1_GRP1_PERIPH_CRS);
59 | LL_APB1_GRP1_ReleaseReset(LL_APB1_GRP1_PERIPH_CRS);
60 |
61 | return SUCCESS;
62 | }
63 |
64 |
65 |
66 | /**
67 | * @}
68 | */
69 |
70 | /**
71 | * @}
72 | */
73 |
74 | /**
75 | * @}
76 | */
77 |
78 | #endif /* defined(CRS) */
79 |
80 | /**
81 | * @}
82 | */
83 |
84 | #endif /* USE_FULL_LL_DRIVER */
85 |
86 | /************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
87 |
--------------------------------------------------------------------------------
/ST-STEVAL-FKI868V1/Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_ll_pwr.c:
--------------------------------------------------------------------------------
1 | /**
2 | ******************************************************************************
3 | * @file stm32l0xx_ll_pwr.c
4 | * @author MCD Application Team
5 | * @brief PWR LL module driver.
6 | ******************************************************************************
7 | * @attention
8 | *
9 | * © Copyright(c) 2016 STMicroelectronics.
10 | * All rights reserved.
11 | *
12 | * This software component is licensed by ST under BSD 3-Clause license,
13 | * the "License"; You may not use this file except in compliance with the
14 | * License. You may obtain a copy of the License at:
15 | * opensource.org/licenses/BSD-3-Clause
16 | *
17 | ******************************************************************************
18 | */
19 | #if defined(USE_FULL_LL_DRIVER)
20 |
21 | /* Includes ------------------------------------------------------------------*/
22 | #include "stm32l0xx_ll_pwr.h"
23 | #include "stm32l0xx_ll_bus.h"
24 |
25 | /** @addtogroup STM32L0xx_LL_Driver
26 | * @{
27 | */
28 |
29 | #if defined(PWR)
30 |
31 | /** @defgroup PWR_LL PWR
32 | * @{
33 | */
34 |
35 | /* Private types -------------------------------------------------------------*/
36 | /* Private variables ---------------------------------------------------------*/
37 | /* Private constants ---------------------------------------------------------*/
38 | /* Private macros ------------------------------------------------------------*/
39 | /* Private function prototypes -----------------------------------------------*/
40 |
41 | /* Exported functions --------------------------------------------------------*/
42 | /** @addtogroup PWR_LL_Exported_Functions
43 | * @{
44 | */
45 |
46 | /** @addtogroup PWR_LL_EF_Init
47 | * @{
48 | */
49 |
50 | /**
51 | * @brief De-initialize the PWR registers to their default reset values.
52 | * @retval An ErrorStatus enumeration value:
53 | * - SUCCESS: PWR registers are de-initialized
54 | * - ERROR: not applicable
55 | */
56 | ErrorStatus LL_PWR_DeInit(void)
57 | {
58 | /* Force reset of PWR clock */
59 | LL_APB1_GRP1_ForceReset(LL_APB1_GRP1_PERIPH_PWR);
60 |
61 | /* Release reset of PWR clock */
62 | LL_APB1_GRP1_ReleaseReset(LL_APB1_GRP1_PERIPH_PWR);
63 |
64 | return SUCCESS;
65 | }
66 |
67 | /**
68 | * @}
69 | */
70 |
71 | /**
72 | * @}
73 | */
74 |
75 | /**
76 | * @}
77 | */
78 | #endif /* defined(PWR) */
79 | /**
80 | * @}
81 | */
82 |
83 | #endif /* USE_FULL_LL_DRIVER */
84 |
85 | /************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
86 |
--------------------------------------------------------------------------------
/ST-STEVAL-FKI868V1/Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_ll_rng.c:
--------------------------------------------------------------------------------
1 | /**
2 | ******************************************************************************
3 | * @file stm32l0xx_ll_rng.c
4 | * @author MCD Application Team
5 | * @brief RNG LL module driver.
6 | ******************************************************************************
7 | * @attention
8 | *
9 | * © Copyright(c) 2018 STMicroelectronics.
10 | * All rights reserved.
11 | *
12 | * This software component is licensed by ST under BSD 3-Clause license,
13 | * the "License"; You may not use this file except in compliance with the
14 | * License. You may obtain a copy of the License at:
15 | * opensource.org/licenses/BSD-3-Clause
16 | *
17 | ******************************************************************************
18 | */
19 | #if defined(USE_FULL_LL_DRIVER)
20 |
21 | /* Includes ------------------------------------------------------------------*/
22 | #include "stm32l0xx_ll_rng.h"
23 | #include "stm32l0xx_ll_bus.h"
24 |
25 | #ifdef USE_FULL_ASSERT
26 | #include "stm32_assert.h"
27 | #else
28 | #define assert_param(expr) ((void)0U)
29 | #endif
30 |
31 | /** @addtogroup STM32L0xx_LL_Driver
32 | * @{
33 | */
34 |
35 | #if defined (RNG)
36 |
37 | /** @addtogroup RNG_LL
38 | * @{
39 | */
40 |
41 | /* Private types -------------------------------------------------------------*/
42 | /* Private variables ---------------------------------------------------------*/
43 | /* Private constants ---------------------------------------------------------*/
44 | /* Private macros ------------------------------------------------------------*/
45 | /* Private function prototypes -----------------------------------------------*/
46 |
47 | /* Exported functions --------------------------------------------------------*/
48 | /** @addtogroup RNG_LL_Exported_Functions
49 | * @{
50 | */
51 |
52 | /** @addtogroup RNG_LL_EF_Init
53 | * @{
54 | */
55 |
56 | /**
57 | * @brief De-initialize RNG registers (Registers restored to their default values).
58 | * @param RNGx RNG Instance
59 | * @retval An ErrorStatus enumeration value:
60 | * - SUCCESS: RNG registers are de-initialized
61 | * - ERROR: not applicable
62 | */
63 | ErrorStatus LL_RNG_DeInit(RNG_TypeDef *RNGx)
64 | {
65 | /* Check the parameters */
66 | assert_param(IS_RNG_ALL_INSTANCE(RNGx));
67 | /* Enable RNG reset state */
68 | LL_AHB1_GRP1_ForceReset(LL_AHB1_GRP1_PERIPH_RNG);
69 |
70 | /* Release RNG from reset state */
71 | LL_AHB1_GRP1_ReleaseReset(LL_AHB1_GRP1_PERIPH_RNG);
72 | return (SUCCESS);
73 | }
74 |
75 | /**
76 | * @}
77 | */
78 |
79 | /**
80 | * @}
81 | */
82 |
83 | /**
84 | * @}
85 | */
86 |
87 | #endif /* RNG */
88 |
89 | /**
90 | * @}
91 | */
92 |
93 | #endif /* USE_FULL_LL_DRIVER */
94 |
95 | /************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
96 |
97 |
--------------------------------------------------------------------------------
/ST-STEVAL-FKI868V1/Drivers/Utils/inc/SDK_UTILS_Timers.h:
--------------------------------------------------------------------------------
1 | /**
2 | * @file SDK_UTILS_Timers.c
3 | * @author LowPower RF BU - AMG
4 | * @version 4.1.0
5 | * @date September, 2019
6 | * @brief SDK EVAL timers configuration.
7 | * @details
8 | *
9 | *
10 | * THE PRESENT FIRMWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS
11 | * WITH CODING INFORMATION REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE
12 | * TIME. AS A RESULT, STMICROELECTRONICS SHALL NOT BE HELD LIABLE FOR ANY
13 | * DIRECT, INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING
14 | * FROM THE CONTENT OF SUCH FIRMWARE AND/OR THE USE MADE BY CUSTOMERS OF THE
15 | * CODING INFORMATION CONTAINED HEREIN IN CONNECTION WITH THEIR PRODUCTS.
16 | *
17 | * THIS SOURCE CODE IS PROTECTED BY A LICENSE.
18 | * FOR MORE INFORMATION PLEASE CAREFULLY READ THE LICENSE AGREEMENT FILE LOCATED
19 | * IN THE ROOT DIRECTORY OF THIS FIRMWARE PACKAGE.
20 | *
21 | * © COPYRIGHT 2019 STMicroelectronics
22 | */
23 |
24 | /* Define to prevent recursive inclusion -------------------------------------*/
25 | #ifndef __SDK_EVAL_TIMERS_H
26 | #define __SDK_EVAL_TIMERS_H
27 |
28 | /* Includes ------------------------------------------------------------------*/
29 |
30 | #include "cube_hal.h"
31 | #include "SDK_EVAL_Config.h"
32 |
33 | #ifdef __cplusplus
34 | extern "C" {
35 | #endif
36 |
37 | /**
38 | * @addtogroup SDK_EVAL_NUCLEO
39 | * @{
40 | */
41 |
42 | /**
43 | * @defgroup SDK_EVAL_Timers SDK EVAL Timers
44 | * @brief Management of STM32L timers.
45 | * @details See the file @ref SDK_EVAL_Timers.h for more details.
46 | * @{
47 | */
48 |
49 |
50 |
51 |
52 | /**
53 | * @defgroup SDK_EVAL_Timers_Exported_Constants SDK EVAL Timers Exported Constants
54 | * @{
55 | */
56 |
57 |
58 | /**
59 | * @brief Absolute value macro.
60 | * @param x: Value on which apply the abs function.
61 | * @retval None
62 | */
63 | #define ABS(x) (x>0?x:-x)
64 |
65 | /**
66 | *@}
67 | */
68 |
69 |
70 | /**
71 | * @defgroup SDK_EVAL_Timers_Exported_Macros SDK EVAL Timers Exported Macros
72 | * @{
73 | */
74 | typedef enum TimerID_Enum {
75 | TIMESTAMP_TIMER_ID = 0,
76 | APPL_TIMER_ID,
77 | GP_TIMER_ID
78 | } TimerID_Type;
79 |
80 | typedef void (*TimerCallbackType)(uint32_t time);
81 |
82 | typedef struct TIMER_InfoS {
83 | TimerCallbackType callback;
84 | uint32_t timeout;
85 | uint16_t delay;
86 | uint8_t enabled;
87 | } TIMER_InfoType;
88 |
89 |
90 | /**
91 | *@}
92 | */
93 |
94 |
95 | /**
96 | * @defgroup SDK_EVAL_Timers_Exported_Functions SDK EVAL Timers Exported Functions
97 | * @{
98 | */
99 |
100 | #ifdef USE_SYSTICK_DELAY
101 | void SysTick_Handler(void);
102 | void SdkDelayMs(volatile uint32_t lTimeMs);
103 | uint32_t SdkGetCurrentSysTick(void);
104 | void SdkStartSysTick(void);
105 | #endif
106 |
107 |
108 | uint32_t SdkEvalGetTimerValue(void);
109 | void SdkEvalTimersResetCounter(TimerID_Type timerID);
110 | uint32_t SdkEvalTimersState(TimerID_Type timerID, TIM_HandleTypeDef *tim, uint8_t enable);
111 | void SdkEvalTimersTimConfig_ms(TimerID_Type timerID, uint16_t ms);
112 | void SdkEvalTimerTimestampReset(void);
113 | void SdkEvalTimersFindFactors(uint32_t n, uint16_t *pnPrescaler, uint16_t *pnCounter);
114 | void SdkEvalTimersTimConfig(TIM_HandleTypeDef* TIM_TimeBaseStructure, uint16_t nPrescaler, uint16_t nPeriod);
115 |
116 | /**
117 | *@}
118 | */
119 |
120 | /**
121 | *@}
122 | */
123 |
124 | /**
125 | *@}
126 | */
127 |
128 | #ifdef __cplusplus
129 | }
130 | #endif
131 |
132 | #endif /*__SDK_EVAL_TIMERS_H*/
133 |
134 | /******************* (C) COPYRIGHT 2019 STMicroelectronics *****END OF FILE****/
135 |
--------------------------------------------------------------------------------
/ST-STEVAL-FKI868V1/EWARM/IZAR-PRIOS-ST-STEVAL-FKI868V1.eww:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | $WS_DIR$\ST-STEVAL-FKI868V1.ewp
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/ST-STEVAL-FKI868V1/EWARM/settings/ST-STEVAL-FKI868V1.ST-STEVAL-FKI868V1.cspy.bat:
--------------------------------------------------------------------------------
1 | @REM This batch file has been generated by the IAR Embedded Workbench
2 | @REM C-SPY Debugger, as an aid to preparing a command line for running
3 | @REM the cspybat command line utility using the appropriate settings.
4 | @REM
5 | @REM Note that this file is generated every time a new debug session
6 | @REM is initialized, so you may want to move or rename the file before
7 | @REM making changes.
8 | @REM
9 | @REM You can launch cspybat by typing the name of this batch file followed
10 | @REM by the name of the debug file (usually an ELF/DWARF or UBROF file).
11 | @REM
12 | @REM Read about available command line parameters in the C-SPY Debugging
13 | @REM Guide. Hints about additional command line parameters that may be
14 | @REM useful in specific cases:
15 | @REM --download_only Downloads a code image without starting a debug
16 | @REM session afterwards.
17 | @REM --silent Omits the sign-on message.
18 | @REM --timeout Limits the maximum allowed execution time.
19 | @REM
20 |
21 |
22 | @echo off
23 |
24 | if not "%~1" == "" goto debugFile
25 |
26 | @echo on
27 |
28 | "C:\Program Files (x86)\IAR Systems\Embedded Workbench 8.4\common\bin\cspybat" -f "C:\Users\ZWM\Desktop\meters\c_code\ST-STEVAL-FKI868V1\EWARM\settings\ST-STEVAL-FKI868V1.ST-STEVAL-FKI868V1.general.xcl" --backend -f "C:\Users\ZWM\Desktop\meters\c_code\ST-STEVAL-FKI868V1\EWARM\settings\ST-STEVAL-FKI868V1.ST-STEVAL-FKI868V1.driver.xcl"
29 |
30 | @echo off
31 | goto end
32 |
33 | :debugFile
34 |
35 | @echo on
36 |
37 | "C:\Program Files (x86)\IAR Systems\Embedded Workbench 8.4\common\bin\cspybat" -f "C:\Users\ZWM\Desktop\meters\c_code\ST-STEVAL-FKI868V1\EWARM\settings\ST-STEVAL-FKI868V1.ST-STEVAL-FKI868V1.general.xcl" "--debug_file=%~1" --backend -f "C:\Users\ZWM\Desktop\meters\c_code\ST-STEVAL-FKI868V1\EWARM\settings\ST-STEVAL-FKI868V1.ST-STEVAL-FKI868V1.driver.xcl"
38 |
39 | @echo off
40 | :end
--------------------------------------------------------------------------------
/ST-STEVAL-FKI868V1/EWARM/settings/ST-STEVAL-FKI868V1.ST-STEVAL-FKI868V1.cspy.ps1:
--------------------------------------------------------------------------------
1 | param([String]$debugfile = "");
2 |
3 | # This powershell file has been generated by the IAR Embedded Workbench
4 | # C - SPY Debugger, as an aid to preparing a command line for running
5 | # the cspybat command line utility using the appropriate settings.
6 | #
7 | # Note that this file is generated every time a new debug session
8 | # is initialized, so you may want to move or rename the file before
9 | # making changes.
10 | #
11 | # You can launch cspybat by typing Powershell.exe -File followed by the name of this batch file, followed
12 | # by the name of the debug file (usually an ELF / DWARF or UBROF file).
13 | #
14 | # Read about available command line parameters in the C - SPY Debugging
15 | # Guide. Hints about additional command line parameters that may be
16 | # useful in specific cases :
17 | # --download_only Downloads a code image without starting a debug
18 | # session afterwards.
19 | # --silent Omits the sign - on message.
20 | # --timeout Limits the maximum allowed execution time.
21 | #
22 |
23 |
24 | if ($debugfile -eq "")
25 | {
26 | & "C:\Program Files (x86)\IAR Systems\Embedded Workbench 8.4\common\bin\cspybat" -f "C:\Users\ZWM\Desktop\meters\c_code\ST-STEVAL-FKI868V1\EWARM\settings\ST-STEVAL-FKI868V1.ST-STEVAL-FKI868V1.general.xcl" --backend -f "C:\Users\ZWM\Desktop\meters\c_code\ST-STEVAL-FKI868V1\EWARM\settings\ST-STEVAL-FKI868V1.ST-STEVAL-FKI868V1.driver.xcl"
27 | }
28 | else
29 | {
30 | & "C:\Program Files (x86)\IAR Systems\Embedded Workbench 8.4\common\bin\cspybat" -f "C:\Users\ZWM\Desktop\meters\c_code\ST-STEVAL-FKI868V1\EWARM\settings\ST-STEVAL-FKI868V1.ST-STEVAL-FKI868V1.general.xcl" --debug_file=$debugfile --backend -f "C:\Users\ZWM\Desktop\meters\c_code\ST-STEVAL-FKI868V1\EWARM\settings\ST-STEVAL-FKI868V1.ST-STEVAL-FKI868V1.driver.xcl"
31 | }
32 |
--------------------------------------------------------------------------------
/ST-STEVAL-FKI868V1/EWARM/settings/ST-STEVAL-FKI868V1.ST-STEVAL-FKI868V1.driver.xcl:
--------------------------------------------------------------------------------
1 | "--endian=little"
2 |
3 | "--cpu=Cortex-M0+"
4 |
5 | "--fpu=None"
6 |
7 | "-p"
8 |
9 | "C:\Program Files (x86)\IAR Systems\Embedded Workbench 8.4\arm\CONFIG\debugger\ST\STM32L053R8.ddf"
10 |
11 | "--drv_verify_download"
12 |
13 | "--semihosting"
14 |
15 | "--device=STM32L053R8"
16 |
17 | "--drv_interface=SWD"
18 |
19 | "--stlink_reset_strategy=0,2"
20 |
21 | "--drv_swo_clock_setup=2097000,0,2000000"
22 |
23 | "--drv_catch_exceptions=0x000"
24 |
25 | "--drv_debug_ap=0"
26 |
27 |
28 |
29 |
30 |
--------------------------------------------------------------------------------
/ST-STEVAL-FKI868V1/EWARM/settings/ST-STEVAL-FKI868V1.ST-STEVAL-FKI868V1.general.xcl:
--------------------------------------------------------------------------------
1 | "C:\Program Files (x86)\IAR Systems\Embedded Workbench 8.4\arm\bin\armproc.dll"
2 |
3 | "C:\Program Files (x86)\IAR Systems\Embedded Workbench 8.4\arm\bin\armstlink2.dll"
4 |
5 | "C:\Users\ZWM\Desktop\meters\c_code\ST-STEVAL-FKI868V1\EWARM\ST-STEVAL-FKI868V1\Exe\ST-STEVAL-FKI868V1.out"
6 |
7 | --plugin="C:\Program Files (x86)\IAR Systems\Embedded Workbench 8.4\arm\bin\armbat.dll"
8 |
9 | --device_macro="C:\Program Files (x86)\IAR Systems\Embedded Workbench 8.4\arm\config\debugger\ST\STM32L0xx.dmac"
10 |
11 | --flash_loader="C:\Program Files (x86)\IAR Systems\Embedded Workbench 8.4\arm\config\flashloader\ST\FlashSTM32L0xxx8.board"
12 |
13 |
14 |
15 |
16 |
--------------------------------------------------------------------------------
/ST-STEVAL-FKI868V1/EWARM/settings/ST-STEVAL-FKI868V1.crun:
--------------------------------------------------------------------------------
1 |
2 |
3 | 1
4 |
5 |
6 | *
7 | *
8 | *
9 | 0
10 | 1
11 |
12 |
13 |
14 |
--------------------------------------------------------------------------------
/ST-STEVAL-FKI868V1/EWARM/settings/ST-STEVAL-FKI868V1.dnx:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | 0
5 | 1
6 | 90
7 | 1
8 | 1
9 | 1
10 | main
11 | 0
12 | 50
13 |
14 |
15 | 0670FF495355878281223610
16 |
17 | _ 0
18 | _ 0
19 | 0
20 | 2
21 |
22 |
23 | 2385112967
24 |
25 |
26 | _ 0
27 | _ 0
28 |
29 |
30 | 0
31 |
32 |
33 | 1
34 |
35 |
36 | {W}1:A_Id 4 0
37 | {W}1:cRxData 3 0
38 |
39 |
40 | 0
41 |
42 |
43 | 0
44 |
45 |
46 | _ 0
47 | _ ""
48 |
49 |
50 | _ 0
51 | _ ""
52 | _ 0
53 |
54 |
55 | 0
56 | 0
57 |
58 |
59 | 0
60 |
61 |
62 | 1
63 |
64 |
65 |
--------------------------------------------------------------------------------
/ST-STEVAL-FKI868V1/EWARM/stm32l053xx_flash.icf:
--------------------------------------------------------------------------------
1 | /*###ICF### Section handled by ICF editor, don't touch! ****/
2 | /*-Editor annotation file-*/
3 | /* IcfEditorFile="$TOOLKIT_DIR$\config\ide\IcfEditor\cortex_v1_0.xml" */
4 | /*-Specials-*/
5 | define symbol __ICFEDIT_intvec_start__ = 0x08000000;
6 | /*-Memory Regions-*/
7 | define symbol __ICFEDIT_region_ROM_start__ = 0x08000000 ;
8 | define symbol __ICFEDIT_region_ROM_end__ = 0x0800FFFF;
9 | define symbol __ICFEDIT_region_RAM_start__ = 0x20000000;
10 | define symbol __ICFEDIT_region_RAM_end__ = 0x20001FFF;
11 |
12 | /*-Sizes-*/
13 | define symbol __ICFEDIT_size_cstack__ = 0x800;
14 | define symbol __ICFEDIT_size_heap__ = 0x400;
15 | /**** End of ICF editor section. ###ICF###*/
16 |
17 |
18 | define memory mem with size = 4G;
19 | define region ROM_region = mem:[from __ICFEDIT_region_ROM_start__ to __ICFEDIT_region_ROM_end__];
20 | define region RAM_region = mem:[from __ICFEDIT_region_RAM_start__ to __ICFEDIT_region_RAM_end__];
21 |
22 |
23 | define block CSTACK with alignment = 8, size = __ICFEDIT_size_cstack__ { };
24 | define block HEAP with alignment = 8, size = __ICFEDIT_size_heap__ { };
25 |
26 | initialize by copy { readwrite };
27 | do not initialize { section .noinit };
28 |
29 | place at address mem:__ICFEDIT_intvec_start__ { readonly section .intvec };
30 |
31 | place in ROM_region { readonly };
32 | place in RAM_region { readwrite,
33 | block CSTACK, block HEAP };
34 |
--------------------------------------------------------------------------------
/ST-STEVAL-FKI868V1/EWARM/stm32l053xx_sram.icf:
--------------------------------------------------------------------------------
1 | /*###ICF### Section handled by ICF editor, don't touch! ****/
2 | /*-Editor annotation file-*/
3 | /* IcfEditorFile="$TOOLKIT_DIR$\config\ide\IcfEditor\cortex_v1_0.xml" */
4 | /*-Specials-*/
5 | define symbol __ICFEDIT_intvec_start__ = 0x20000000;
6 | /*-Memory Regions-*/
7 | define symbol __ICFEDIT_region_ROM_start__ = 0x20000000;
8 | define symbol __ICFEDIT_region_ROM_end__ = 0x200013FF;
9 | define symbol __ICFEDIT_region_RAM_start__ = 0x20001400;
10 | define symbol __ICFEDIT_region_RAM_end__ = 0x20001FFF;
11 |
12 | /*-Sizes-*/
13 | define symbol __ICFEDIT_size_cstack__ = 0x800;
14 | define symbol __ICFEDIT_size_heap__ = 0x400;
15 | /**** End of ICF editor section. ###ICF###*/
16 |
17 |
18 | define memory mem with size = 4G;
19 | define region ROM_region = mem:[from __ICFEDIT_region_ROM_start__ to __ICFEDIT_region_ROM_end__];
20 | define region RAM_region = mem:[from __ICFEDIT_region_RAM_start__ to __ICFEDIT_region_RAM_end__];
21 |
22 |
23 | define block CSTACK with alignment = 8, size = __ICFEDIT_size_cstack__ { };
24 | define block HEAP with alignment = 8, size = __ICFEDIT_size_heap__ { };
25 |
26 | initialize by copy { readwrite };
27 | do not initialize { section .noinit };
28 |
29 | place at address mem:__ICFEDIT_intvec_start__ { readonly section .intvec };
30 |
31 | place in ROM_region { readonly };
32 | place in RAM_region { readwrite,
33 | block CSTACK, block HEAP };
34 |
--------------------------------------------------------------------------------
/ST-STEVAL-FKI868V1/Inc/PRIOS.h:
--------------------------------------------------------------------------------
1 | #ifndef __PRIOS_H
2 | #define __PRIOS_H
3 |
4 | #include
5 | #include
6 |
7 | /** Contains all the booleans required to store the alarms of a PRIOS device. */
8 | typedef struct _izar_alarms {
9 | bool general_alarm;
10 | bool leakage_currently;
11 | bool leakage_previously;
12 | bool meter_blocked;
13 | bool back_flow;
14 | bool underflow;
15 | bool overflow;
16 | bool submarine;
17 | bool sensor_fraud_currently;
18 | bool sensor_fraud_previously;
19 | bool mechanical_fraud_currently;
20 | bool mechanical_fraud_previously;
21 | } izar_alarms;
22 |
23 | /** Describe the various unit types we can encounter */
24 | typedef enum unit_type {UNKNOWN_UNIT, VOLUME_CUBIC_METER} unit_type_t;
25 |
26 | /** Can store everything a PRIOS frame can offer */
27 | typedef struct _izar_reading {
28 | izar_alarms alarms;
29 | uint8_t random_generator;
30 | uint8_t radio_interval;
31 | float remaining_battery_life;
32 | unit_type_t unit_type;
33 | float current_reading;
34 | float h0_reading;
35 | uint16_t h0_year;
36 | uint8_t h0_month;
37 | uint8_t h0_day;
38 | } izar_reading;
39 |
40 | void printIZARReadingAsCSV(const uint32_t A_Id, const izar_reading * const reading);
41 | uint8_t decodePRIOSPayload(const uint8_t * const in, const uint8_t payload_len, const uint32_t key, uint8_t *out);
42 | uint8_t getMetricsFromPRIOSWMBusFrame(const uint8_t * const frame, izar_reading * const reading);
43 |
44 | #endif
45 |
--------------------------------------------------------------------------------
/ST-STEVAL-FKI868V1/Inc/S2LP_WMBus.h:
--------------------------------------------------------------------------------
1 | #ifndef S2LP_WMBUS_h
2 | #define S2LP_WMBUS_h
3 |
4 | #include
5 |
6 | void S2LP_ConfigureSlaveBoardLink(uint32_t *PinIRQ);
7 | void S2LP_ConfigureForWMBusT1Receiver(void);
8 | void S2LP_ConfigureEnableIrqs(void);
9 | void S2LP_CompleteConfigurationAndStart(void);
10 |
11 | void S2LP_HandleGPIOInterrupt(void);
12 |
13 | #endif
--------------------------------------------------------------------------------
/ST-STEVAL-FKI868V1/Inc/S2LP_WMBus_T1.h:
--------------------------------------------------------------------------------
1 | #ifndef __WMBUS_T1_H
2 | #define __WMBUS_T1_H
3 |
4 | #define BASE_FREQUENCY 868950000
5 | #define MODULATION_SELECT MOD_2FSK
6 | #define DATARATE 100000
7 | #define FREQ_DEVIATION 75000
8 | #define BANDWIDTH 350000
9 | #define POWER_DBM 12/*.0*/
10 | #define PREAMBLE_LENGTH 19
11 | #define SYNC_LENGTH 10
12 | #define SYNC_WORD 0x0F400000
13 | #define VARIABLE_LENGTH S_DISABLE
14 | #define EXTENDED_LENGTH_FIELD S_DISABLE
15 | #define PAYLOAD_LENGTH 0x1E
16 | #define CRC_MODE PKT_NO_CRC
17 | #define EN_ADDRESS S_DISABLE
18 | #define EN_FEC S_DISABLE
19 | #define EN_WHITENING S_DISABLE
20 | #define RSSI_THRESHOLD -100
21 | #define RX_TIMER_TIMEOUT_US 700E3
22 |
23 | #endif
24 |
--------------------------------------------------------------------------------
/ST-STEVAL-FKI868V1/Inc/WMBus.h:
--------------------------------------------------------------------------------
1 | #ifndef __WMBUS_H
2 | #define __WMBUS_H
3 |
4 | uint8_t CheckWMBusFrame(const uint8_t * const frame, const uint8_t len, uint8_t * const LField, uint8_t * const CField, uint16_t * const Manufacturer, uint32_t * const A_Id, uint8_t * const A_Ver, uint8_t * const A_Type);
5 |
6 | #endif
--------------------------------------------------------------------------------
/ST-STEVAL-FKI868V1/Inc/main.h:
--------------------------------------------------------------------------------
1 | /* USER CODE BEGIN Header */
2 | /**
3 | ******************************************************************************
4 | * @file : main.h
5 | * @brief : Header for main.c file.
6 | * This file contains the common defines of the application.
7 | ******************************************************************************
8 | * @attention
9 | *
10 | * © Copyright (c) 2020 STMicroelectronics.
11 | * All rights reserved.
12 | *
13 | * This software component is licensed by ST under BSD 3-Clause license,
14 | * the "License"; You may not use this file except in compliance with the
15 | * License. You may obtain a copy of the License at:
16 | * opensource.org/licenses/BSD-3-Clause
17 | *
18 | ******************************************************************************
19 | */
20 | /* USER CODE END Header */
21 |
22 | /* Define to prevent recursive inclusion -------------------------------------*/
23 | #ifndef __MAIN_H
24 | #define __MAIN_H
25 |
26 | #ifdef __cplusplus
27 | extern "C" {
28 | #endif
29 |
30 | /* Includes ------------------------------------------------------------------*/
31 | #include "stm32l0xx_hal.h"
32 |
33 | /* Private includes ----------------------------------------------------------*/
34 | /* USER CODE BEGIN Includes */
35 | #include "S2LP_WMBus.h"
36 | /* USER CODE END Includes */
37 |
38 | /* Exported types ------------------------------------------------------------*/
39 | /* USER CODE BEGIN ET */
40 |
41 | /* USER CODE END ET */
42 |
43 | /* Exported constants --------------------------------------------------------*/
44 | /* USER CODE BEGIN EC */
45 |
46 | /* USER CODE END EC */
47 |
48 | /* Exported macro ------------------------------------------------------------*/
49 | /* USER CODE BEGIN EM */
50 |
51 | /* USER CODE END EM */
52 |
53 | /* Exported functions prototypes ---------------------------------------------*/
54 | void Error_Handler(void);
55 |
56 | /* USER CODE BEGIN EFP */
57 |
58 | /* USER CODE END EFP */
59 |
60 | /* Private defines -----------------------------------------------------------*/
61 | #define B1_Pin GPIO_PIN_13
62 | #define B1_GPIO_Port GPIOC
63 | #define USART_TX_Pin GPIO_PIN_2
64 | #define USART_TX_GPIO_Port GPIOA
65 | #define USART_RX_Pin GPIO_PIN_3
66 | #define USART_RX_GPIO_Port GPIOA
67 | #define LD2_Pin GPIO_PIN_5
68 | #define LD2_GPIO_Port GPIOA
69 | #define TMS_Pin GPIO_PIN_13
70 | #define TMS_GPIO_Port GPIOA
71 | #define TCK_Pin GPIO_PIN_14
72 | #define TCK_GPIO_Port GPIOA
73 | /* USER CODE BEGIN Private defines */
74 |
75 | /* USER CODE END Private defines */
76 |
77 | #ifdef __cplusplus
78 | }
79 | #endif
80 |
81 | #endif /* __MAIN_H */
82 |
83 | /************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
84 |
--------------------------------------------------------------------------------
/ST-STEVAL-FKI868V1/Inc/stm32l0xx_it.h:
--------------------------------------------------------------------------------
1 | /* USER CODE BEGIN Header */
2 | /**
3 | ******************************************************************************
4 | * @file stm32l0xx_it.h
5 | * @brief This file contains the headers of the interrupt handlers.
6 | ******************************************************************************
7 | * @attention
8 | *
9 | * © Copyright (c) 2020 STMicroelectronics.
10 | * All rights reserved.
11 | *
12 | * This software component is licensed by ST under BSD 3-Clause license,
13 | * the "License"; You may not use this file except in compliance with the
14 | * License. You may obtain a copy of the License at:
15 | * opensource.org/licenses/BSD-3-Clause
16 | *
17 | ******************************************************************************
18 | */
19 | /* USER CODE END Header */
20 |
21 | /* Define to prevent recursive inclusion -------------------------------------*/
22 | #ifndef __STM32L0xx_IT_H
23 | #define __STM32L0xx_IT_H
24 |
25 | #ifdef __cplusplus
26 | extern "C" {
27 | #endif
28 |
29 | /* Private includes ----------------------------------------------------------*/
30 | /* USER CODE BEGIN Includes */
31 |
32 | /* USER CODE END Includes */
33 |
34 | /* Exported types ------------------------------------------------------------*/
35 | /* USER CODE BEGIN ET */
36 |
37 | /* USER CODE END ET */
38 |
39 | /* Exported constants --------------------------------------------------------*/
40 | /* USER CODE BEGIN EC */
41 |
42 | /* USER CODE END EC */
43 |
44 | /* Exported macro ------------------------------------------------------------*/
45 | /* USER CODE BEGIN EM */
46 |
47 | /* USER CODE END EM */
48 |
49 | /* Exported functions prototypes ---------------------------------------------*/
50 | void NMI_Handler(void);
51 | void HardFault_Handler(void);
52 | void SVC_Handler(void);
53 | void PendSV_Handler(void);
54 | void SysTick_Handler(void);
55 | /* USER CODE BEGIN EFP */
56 |
57 | /* USER CODE END EFP */
58 |
59 | #ifdef __cplusplus
60 | }
61 | #endif
62 |
63 | #endif /* __STM32L0xx_IT_H */
64 |
65 | /************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
66 |
--------------------------------------------------------------------------------
/doc/212612-FR-EN-IZAR-RC-i-R4.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ZeWaren/izar-prios-smart-meter-collector/5f7aba86ddfc2d216c859774d46968952feb2b2d/doc/212612-FR-EN-IZAR-RC-i-R4.pdf
--------------------------------------------------------------------------------
/doc/IZAR_RC_I_R4.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ZeWaren/izar-prios-smart-meter-collector/5f7aba86ddfc2d216c859774d46968952feb2b2d/doc/IZAR_RC_I_R4.jpg
--------------------------------------------------------------------------------
/doc/steval-fki868v2.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ZeWaren/izar-prios-smart-meter-collector/5f7aba86ddfc2d216c859774d46968952feb2b2d/doc/steval-fki868v2.jpg
--------------------------------------------------------------------------------
/doc/steval-fki868v2.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ZeWaren/izar-prios-smart-meter-collector/5f7aba86ddfc2d216c859774d46968952feb2b2d/doc/steval-fki868v2.pdf
--------------------------------------------------------------------------------