├── Drivers
├── CMSIS
│ ├── CMSIS_END_USER_LICENCE_AGREEMENT.pdf
│ ├── CMSIS_END_USER_LICENCE_AGREEMENT.rtf
│ ├── DSP_Lib
│ │ ├── Examples
│ │ │ ├── arm_class_marks_example
│ │ │ │ ├── ARM
│ │ │ │ │ ├── Abstract.txt
│ │ │ │ │ └── arm_class_marks_example_f32.c
│ │ │ │ └── GCC
│ │ │ │ │ ├── Abstract.txt
│ │ │ │ │ └── arm_class_marks_example_f32.c
│ │ │ ├── arm_convolution_example
│ │ │ │ ├── ARM
│ │ │ │ │ ├── Abstract.txt
│ │ │ │ │ ├── arm_convolution_example_f32.c
│ │ │ │ │ ├── math_helper.c
│ │ │ │ │ └── math_helper.h
│ │ │ │ └── GCC
│ │ │ │ │ ├── Abstract.txt
│ │ │ │ │ ├── arm_convolution_example_f32.c
│ │ │ │ │ ├── math_helper.c
│ │ │ │ │ └── math_helper.h
│ │ │ ├── arm_dotproduct_example
│ │ │ │ ├── ARM
│ │ │ │ │ ├── Abstract.txt
│ │ │ │ │ └── arm_dotproduct_example_f32.c
│ │ │ │ └── GCC
│ │ │ │ │ ├── Abstract.txt
│ │ │ │ │ └── arm_dotproduct_example_f32.c
│ │ │ ├── arm_fft_bin_example
│ │ │ │ ├── ARM
│ │ │ │ │ ├── Abstract.txt
│ │ │ │ │ ├── arm_fft_bin_data.c
│ │ │ │ │ └── arm_fft_bin_example_f32.c
│ │ │ │ └── GCC
│ │ │ │ │ ├── Abstract.txt
│ │ │ │ │ ├── arm_fft_bin_data.c
│ │ │ │ │ └── arm_fft_bin_example_f32.c
│ │ │ ├── arm_fir_example
│ │ │ │ └── ARM
│ │ │ │ │ ├── Abstract.txt
│ │ │ │ │ ├── arm_fir_data.c
│ │ │ │ │ ├── arm_fir_example_f32.c
│ │ │ │ │ ├── math_helper.c
│ │ │ │ │ └── math_helper.h
│ │ │ ├── arm_graphic_equalizer_example
│ │ │ │ └── ARM
│ │ │ │ │ ├── Abstract.txt
│ │ │ │ │ ├── arm_graphic_equalizer_data.c
│ │ │ │ │ ├── arm_graphic_equalizer_example_q31.c
│ │ │ │ │ ├── math_helper.c
│ │ │ │ │ └── math_helper.h
│ │ │ ├── arm_linear_interp_example
│ │ │ │ └── ARM
│ │ │ │ │ ├── Abstract.txt
│ │ │ │ │ ├── arm_linear_interp_data.c
│ │ │ │ │ ├── arm_linear_interp_example_f32.c
│ │ │ │ │ ├── math_helper.c
│ │ │ │ │ └── math_helper.h
│ │ │ ├── arm_matrix_example
│ │ │ │ └── ARM
│ │ │ │ │ ├── Abstract.txt
│ │ │ │ │ ├── arm_matrix_example_f32.c
│ │ │ │ │ ├── math_helper.c
│ │ │ │ │ └── math_helper.h
│ │ │ ├── arm_signal_converge_example
│ │ │ │ └── ARM
│ │ │ │ │ ├── Abstract.txt
│ │ │ │ │ ├── arm_signal_converge_data.c
│ │ │ │ │ ├── arm_signal_converge_example_f32.c
│ │ │ │ │ ├── math_helper.c
│ │ │ │ │ └── math_helper.h
│ │ │ ├── arm_sin_cos_example
│ │ │ │ └── ARM
│ │ │ │ │ ├── Abstract.txt
│ │ │ │ │ └── arm_sin_cos_example_f32.c
│ │ │ └── arm_variance_example
│ │ │ │ └── ARM
│ │ │ │ ├── Abstract.txt
│ │ │ │ └── arm_variance_example_f32.c
│ │ ├── 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
│ │ └── license.txt
│ ├── Device
│ │ └── ST
│ │ │ └── STM32F4xx
│ │ │ ├── Include
│ │ │ ├── BUILD
│ │ │ ├── stm32f401xc.h
│ │ │ ├── stm32f401xe.h
│ │ │ ├── stm32f405xx.h
│ │ │ ├── stm32f407xx.h
│ │ │ ├── stm32f410cx.h
│ │ │ ├── stm32f410rx.h
│ │ │ ├── stm32f410tx.h
│ │ │ ├── stm32f411xe.h
│ │ │ ├── stm32f412cx.h
│ │ │ ├── stm32f412rx.h
│ │ │ ├── stm32f412vx.h
│ │ │ ├── stm32f412zx.h
│ │ │ ├── stm32f413xx.h
│ │ │ ├── stm32f415xx.h
│ │ │ ├── stm32f417xx.h
│ │ │ ├── stm32f423xx.h
│ │ │ ├── stm32f427xx.h
│ │ │ ├── stm32f429xx.h
│ │ │ ├── stm32f437xx.h
│ │ │ ├── stm32f439xx.h
│ │ │ ├── stm32f446xx.h
│ │ │ ├── stm32f469xx.h
│ │ │ ├── stm32f479xx.h
│ │ │ ├── stm32f4xx.h
│ │ │ └── system_stm32f4xx.h
│ │ │ ├── Release_Notes.html
│ │ │ └── Source
│ │ │ └── Templates
│ │ │ ├── BUILD
│ │ │ ├── arm
│ │ │ ├── startup_stm32f401xc.s
│ │ │ ├── startup_stm32f401xe.s
│ │ │ ├── startup_stm32f405xx.s
│ │ │ ├── startup_stm32f407xx.s
│ │ │ ├── startup_stm32f410cx.s
│ │ │ ├── startup_stm32f410rx.s
│ │ │ ├── startup_stm32f410tx.s
│ │ │ ├── startup_stm32f411xe.s
│ │ │ ├── startup_stm32f412cx.s
│ │ │ ├── startup_stm32f412rx.s
│ │ │ ├── startup_stm32f412vx.s
│ │ │ ├── startup_stm32f412zx.s
│ │ │ ├── startup_stm32f413xx.s
│ │ │ ├── startup_stm32f415xx.s
│ │ │ ├── startup_stm32f417xx.s
│ │ │ ├── startup_stm32f423xx.s
│ │ │ ├── startup_stm32f427xx.s
│ │ │ ├── startup_stm32f429xx.s
│ │ │ ├── startup_stm32f437xx.s
│ │ │ ├── startup_stm32f439xx.s
│ │ │ ├── startup_stm32f446xx.s
│ │ │ ├── startup_stm32f469xx.s
│ │ │ └── startup_stm32f479xx.s
│ │ │ ├── gcc
│ │ │ ├── startup_stm32f401xc.s
│ │ │ ├── startup_stm32f401xe.s
│ │ │ ├── startup_stm32f405xx.s
│ │ │ ├── startup_stm32f407xx.s
│ │ │ ├── startup_stm32f410cx.s
│ │ │ ├── startup_stm32f410rx.s
│ │ │ ├── startup_stm32f410tx.s
│ │ │ ├── startup_stm32f411xe.s
│ │ │ ├── startup_stm32f412cx.s
│ │ │ ├── startup_stm32f412rx.s
│ │ │ ├── startup_stm32f412vx.s
│ │ │ ├── startup_stm32f412zx.s
│ │ │ ├── startup_stm32f413xx.s
│ │ │ ├── startup_stm32f415xx.s
│ │ │ ├── startup_stm32f417xx.s
│ │ │ ├── startup_stm32f423xx.s
│ │ │ ├── startup_stm32f427xx.s
│ │ │ ├── startup_stm32f429xx.s
│ │ │ ├── startup_stm32f437xx.s
│ │ │ ├── startup_stm32f439xx.s
│ │ │ ├── startup_stm32f446xx.s
│ │ │ ├── startup_stm32f469xx.s
│ │ │ └── startup_stm32f479xx.s
│ │ │ ├── iar
│ │ │ ├── linker
│ │ │ │ ├── stm32f401xc_flash.icf
│ │ │ │ ├── stm32f401xc_sram.icf
│ │ │ │ ├── stm32f401xe_flash.icf
│ │ │ │ ├── stm32f401xe_sram.icf
│ │ │ │ ├── stm32f405xx_flash.icf
│ │ │ │ ├── stm32f405xx_sram.icf
│ │ │ │ ├── stm32f407xx_flash.icf
│ │ │ │ ├── stm32f407xx_sram.icf
│ │ │ │ ├── stm32f410cx_flash.icf
│ │ │ │ ├── stm32f410cx_sram.icf
│ │ │ │ ├── stm32f410rx_flash.icf
│ │ │ │ ├── stm32f410rx_sram.icf
│ │ │ │ ├── stm32f410tx_flash.icf
│ │ │ │ ├── stm32f410tx_sram.icf
│ │ │ │ ├── stm32f411xe_flash.icf
│ │ │ │ ├── stm32f411xe_sram.icf
│ │ │ │ ├── stm32f412cx_flash.icf
│ │ │ │ ├── stm32f412cx_sram.icf
│ │ │ │ ├── stm32f412rx_flash.icf
│ │ │ │ ├── stm32f412rx_sram.icf
│ │ │ │ ├── stm32f412vx_flash.icf
│ │ │ │ ├── stm32f412vx_sram.icf
│ │ │ │ ├── stm32f412zx_flash.icf
│ │ │ │ ├── stm32f412zx_sram.icf
│ │ │ │ ├── stm32f413xx_flash.icf
│ │ │ │ ├── stm32f413xx_sram.icf
│ │ │ │ ├── stm32f415xx_flash.icf
│ │ │ │ ├── stm32f415xx_sram.icf
│ │ │ │ ├── stm32f417xx_flash.icf
│ │ │ │ ├── stm32f417xx_sram.icf
│ │ │ │ ├── stm32f423xx_flash.icf
│ │ │ │ ├── stm32f423xx_sram.icf
│ │ │ │ ├── stm32f427xx_flash.icf
│ │ │ │ ├── stm32f427xx_sram.icf
│ │ │ │ ├── stm32f429xx_flash.icf
│ │ │ │ ├── stm32f429xx_sram.icf
│ │ │ │ ├── stm32f437xx_flash.icf
│ │ │ │ ├── stm32f437xx_sram.icf
│ │ │ │ ├── stm32f439xx_flash.icf
│ │ │ │ ├── stm32f439xx_sram.icf
│ │ │ │ ├── stm32f446xx_flash.icf
│ │ │ │ ├── stm32f446xx_sram.icf
│ │ │ │ ├── stm32f469xx_flash.icf
│ │ │ │ ├── stm32f469xx_sram.icf
│ │ │ │ ├── stm32f479xx_flash.icf
│ │ │ │ └── stm32f479xx_sram.icf
│ │ │ ├── startup_stm32f401xc.s
│ │ │ ├── startup_stm32f401xe.s
│ │ │ ├── startup_stm32f405xx.s
│ │ │ ├── startup_stm32f407xx.s
│ │ │ ├── startup_stm32f410cx.s
│ │ │ ├── startup_stm32f410rx.s
│ │ │ ├── startup_stm32f410tx.s
│ │ │ ├── startup_stm32f411xe.s
│ │ │ ├── startup_stm32f412cx.s
│ │ │ ├── startup_stm32f412rx.s
│ │ │ ├── startup_stm32f412vx.s
│ │ │ ├── startup_stm32f412zx.s
│ │ │ ├── startup_stm32f413xx.s
│ │ │ ├── startup_stm32f415xx.s
│ │ │ ├── startup_stm32f417xx.s
│ │ │ ├── startup_stm32f423xx.s
│ │ │ ├── startup_stm32f427xx.s
│ │ │ ├── startup_stm32f429xx.s
│ │ │ ├── startup_stm32f437xx.s
│ │ │ ├── startup_stm32f439xx.s
│ │ │ ├── startup_stm32f446xx.s
│ │ │ ├── startup_stm32f469xx.s
│ │ │ └── startup_stm32f479xx.s
│ │ │ └── system_stm32f4xx.c
│ ├── Include
│ │ ├── BUILD
│ │ ├── 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
│ │ ├── GCC
│ │ │ ├── libarm_cortexM4l_math.a
│ │ │ └── libarm_cortexM4lf_math.a
│ │ └── license.txt
│ ├── RTOS
│ │ └── Template
│ │ │ └── cmsis_os.h
│ └── index.html
└── STM32F4xx_HAL_Driver
│ ├── Inc
│ ├── BUILD
│ ├── Legacy
│ │ └── stm32_hal_legacy.h
│ ├── stm32_assert_template.h
│ ├── stm32f4xx_hal.h
│ ├── stm32f4xx_hal_adc.h
│ ├── stm32f4xx_hal_adc_ex.h
│ ├── stm32f4xx_hal_can.h
│ ├── stm32f4xx_hal_cec.h
│ ├── stm32f4xx_hal_conf_template.h
│ ├── stm32f4xx_hal_cortex.h
│ ├── stm32f4xx_hal_crc.h
│ ├── stm32f4xx_hal_cryp.h
│ ├── stm32f4xx_hal_cryp_ex.h
│ ├── stm32f4xx_hal_dac.h
│ ├── stm32f4xx_hal_dac_ex.h
│ ├── stm32f4xx_hal_dcmi.h
│ ├── stm32f4xx_hal_dcmi_ex.h
│ ├── stm32f4xx_hal_def.h
│ ├── stm32f4xx_hal_dfsdm.h
│ ├── stm32f4xx_hal_dma.h
│ ├── stm32f4xx_hal_dma2d.h
│ ├── stm32f4xx_hal_dma_ex.h
│ ├── stm32f4xx_hal_dsi.h
│ ├── stm32f4xx_hal_eth.h
│ ├── stm32f4xx_hal_flash.h
│ ├── stm32f4xx_hal_flash_ex.h
│ ├── stm32f4xx_hal_flash_ramfunc.h
│ ├── stm32f4xx_hal_fmpi2c.h
│ ├── stm32f4xx_hal_fmpi2c_ex.h
│ ├── stm32f4xx_hal_gpio.h
│ ├── stm32f4xx_hal_gpio_ex.h
│ ├── stm32f4xx_hal_hash.h
│ ├── stm32f4xx_hal_hash_ex.h
│ ├── stm32f4xx_hal_hcd.h
│ ├── stm32f4xx_hal_i2c.h
│ ├── stm32f4xx_hal_i2c_ex.h
│ ├── stm32f4xx_hal_i2s.h
│ ├── stm32f4xx_hal_i2s_ex.h
│ ├── stm32f4xx_hal_irda.h
│ ├── stm32f4xx_hal_iwdg.h
│ ├── stm32f4xx_hal_lptim.h
│ ├── stm32f4xx_hal_ltdc.h
│ ├── stm32f4xx_hal_ltdc_ex.h
│ ├── stm32f4xx_hal_mmc.h
│ ├── stm32f4xx_hal_nand.h
│ ├── stm32f4xx_hal_nor.h
│ ├── stm32f4xx_hal_pccard.h
│ ├── stm32f4xx_hal_pcd.h
│ ├── stm32f4xx_hal_pcd_ex.h
│ ├── stm32f4xx_hal_pwr.h
│ ├── stm32f4xx_hal_pwr_ex.h
│ ├── stm32f4xx_hal_qspi.h
│ ├── stm32f4xx_hal_rcc.h
│ ├── stm32f4xx_hal_rcc_ex.h
│ ├── stm32f4xx_hal_rng.h
│ ├── stm32f4xx_hal_rtc.h
│ ├── stm32f4xx_hal_rtc_ex.h
│ ├── stm32f4xx_hal_sai.h
│ ├── stm32f4xx_hal_sai_ex.h
│ ├── stm32f4xx_hal_sd.h
│ ├── stm32f4xx_hal_sdram.h
│ ├── stm32f4xx_hal_smartcard.h
│ ├── stm32f4xx_hal_spdifrx.h
│ ├── stm32f4xx_hal_spi.h
│ ├── stm32f4xx_hal_sram.h
│ ├── stm32f4xx_hal_tim.h
│ ├── stm32f4xx_hal_tim_ex.h
│ ├── stm32f4xx_hal_uart.h
│ ├── stm32f4xx_hal_usart.h
│ ├── stm32f4xx_hal_wwdg.h
│ ├── stm32f4xx_ll_adc.h
│ ├── stm32f4xx_ll_bus.h
│ ├── stm32f4xx_ll_cortex.h
│ ├── stm32f4xx_ll_crc.h
│ ├── stm32f4xx_ll_dac.h
│ ├── stm32f4xx_ll_dma.h
│ ├── stm32f4xx_ll_dma2d.h
│ ├── stm32f4xx_ll_exti.h
│ ├── stm32f4xx_ll_fmc.h
│ ├── stm32f4xx_ll_fsmc.h
│ ├── stm32f4xx_ll_gpio.h
│ ├── stm32f4xx_ll_i2c.h
│ ├── stm32f4xx_ll_iwdg.h
│ ├── stm32f4xx_ll_lptim.h
│ ├── stm32f4xx_ll_pwr.h
│ ├── stm32f4xx_ll_rcc.h
│ ├── stm32f4xx_ll_rng.h
│ ├── stm32f4xx_ll_rtc.h
│ ├── stm32f4xx_ll_sdmmc.h
│ ├── stm32f4xx_ll_spi.h
│ ├── stm32f4xx_ll_system.h
│ ├── stm32f4xx_ll_tim.h
│ ├── stm32f4xx_ll_usart.h
│ ├── stm32f4xx_ll_usb.h
│ ├── stm32f4xx_ll_utils.h
│ └── stm32f4xx_ll_wwdg.h
│ ├── Release_Notes.html
│ └── Src
│ ├── BUILD
│ ├── stm32f4xx_hal.c
│ ├── stm32f4xx_hal_adc.c
│ ├── stm32f4xx_hal_adc_ex.c
│ ├── stm32f4xx_hal_can.c
│ ├── stm32f4xx_hal_cec.c
│ ├── stm32f4xx_hal_cortex.c
│ ├── stm32f4xx_hal_crc.c
│ ├── stm32f4xx_hal_cryp.c
│ ├── stm32f4xx_hal_cryp_ex.c
│ ├── stm32f4xx_hal_dac.c
│ ├── stm32f4xx_hal_dac_ex.c
│ ├── stm32f4xx_hal_dcmi.c
│ ├── stm32f4xx_hal_dcmi_ex.c
│ ├── stm32f4xx_hal_dfsdm.c
│ ├── stm32f4xx_hal_dma.c
│ ├── stm32f4xx_hal_dma2d.c
│ ├── stm32f4xx_hal_dma_ex.c
│ ├── stm32f4xx_hal_dsi.c
│ ├── stm32f4xx_hal_eth.c
│ ├── stm32f4xx_hal_flash.c
│ ├── stm32f4xx_hal_flash_ex.c
│ ├── stm32f4xx_hal_flash_ramfunc.c
│ ├── stm32f4xx_hal_fmpi2c.c
│ ├── stm32f4xx_hal_fmpi2c_ex.c
│ ├── stm32f4xx_hal_gpio.c
│ ├── stm32f4xx_hal_hash.c
│ ├── stm32f4xx_hal_hash_ex.c
│ ├── stm32f4xx_hal_hcd.c
│ ├── stm32f4xx_hal_i2c.c
│ ├── stm32f4xx_hal_i2c_ex.c
│ ├── stm32f4xx_hal_i2s.c
│ ├── stm32f4xx_hal_i2s_ex.c
│ ├── stm32f4xx_hal_irda.c
│ ├── stm32f4xx_hal_iwdg.c
│ ├── stm32f4xx_hal_lptim.c
│ ├── stm32f4xx_hal_ltdc.c
│ ├── stm32f4xx_hal_ltdc_ex.c
│ ├── stm32f4xx_hal_mmc.c
│ ├── stm32f4xx_hal_msp_template.c
│ ├── stm32f4xx_hal_nand.c
│ ├── stm32f4xx_hal_nor.c
│ ├── stm32f4xx_hal_pccard.c
│ ├── stm32f4xx_hal_pcd.c
│ ├── stm32f4xx_hal_pcd_ex.c
│ ├── stm32f4xx_hal_pwr.c
│ ├── stm32f4xx_hal_pwr_ex.c
│ ├── stm32f4xx_hal_qspi.c
│ ├── stm32f4xx_hal_rcc.c
│ ├── stm32f4xx_hal_rcc_ex.c
│ ├── stm32f4xx_hal_rng.c
│ ├── stm32f4xx_hal_rtc.c
│ ├── stm32f4xx_hal_rtc_ex.c
│ ├── stm32f4xx_hal_sai.c
│ ├── stm32f4xx_hal_sai_ex.c
│ ├── stm32f4xx_hal_sd.c
│ ├── stm32f4xx_hal_sdram.c
│ ├── stm32f4xx_hal_smartcard.c
│ ├── stm32f4xx_hal_spdifrx.c
│ ├── stm32f4xx_hal_spi.c
│ ├── stm32f4xx_hal_sram.c
│ ├── stm32f4xx_hal_tim.c
│ ├── stm32f4xx_hal_tim_ex.c
│ ├── stm32f4xx_hal_timebase_rtc_alarm_template.c
│ ├── stm32f4xx_hal_timebase_rtc_wakeup_template.c
│ ├── stm32f4xx_hal_timebase_tim_template.c
│ ├── stm32f4xx_hal_uart.c
│ ├── stm32f4xx_hal_usart.c
│ ├── stm32f4xx_hal_wwdg.c
│ ├── stm32f4xx_ll_adc.c
│ ├── stm32f4xx_ll_crc.c
│ ├── stm32f4xx_ll_dac.c
│ ├── stm32f4xx_ll_dma.c
│ ├── stm32f4xx_ll_dma2d.c
│ ├── stm32f4xx_ll_exti.c
│ ├── stm32f4xx_ll_fmc.c
│ ├── stm32f4xx_ll_fsmc.c
│ ├── stm32f4xx_ll_gpio.c
│ ├── stm32f4xx_ll_i2c.c
│ ├── stm32f4xx_ll_lptim.c
│ ├── stm32f4xx_ll_pwr.c
│ ├── stm32f4xx_ll_rcc.c
│ ├── stm32f4xx_ll_rng.c
│ ├── stm32f4xx_ll_rtc.c
│ ├── stm32f4xx_ll_sdmmc.c
│ ├── stm32f4xx_ll_spi.c
│ ├── stm32f4xx_ll_tim.c
│ ├── stm32f4xx_ll_usart.c
│ ├── stm32f4xx_ll_usb.c
│ └── stm32f4xx_ll_utils.c
├── Middlewares
└── ST
│ └── STM32_USB_Device_Library
│ ├── Class
│ ├── AUDIO
│ │ ├── Inc
│ │ │ ├── usbd_audio.h
│ │ │ └── usbd_audio_if_template.h
│ │ └── Src
│ │ │ ├── usbd_audio.c
│ │ │ └── usbd_audio_if_template.c
│ ├── BUILD
│ ├── CDC
│ │ ├── Inc
│ │ │ ├── usbd_cdc.h
│ │ │ └── usbd_cdc_if_template.h
│ │ └── Src
│ │ │ ├── usbd_cdc.c
│ │ │ └── usbd_cdc_if_template.c
│ ├── CustomHID
│ │ ├── Inc
│ │ │ ├── usbd_customhid.h
│ │ │ └── usbd_customhid_if_template.h
│ │ └── Src
│ │ │ ├── usbd_customhid.c
│ │ │ └── usbd_customhid_if_template.c
│ ├── DFU
│ │ ├── Inc
│ │ │ ├── usbd_dfu.h
│ │ │ └── usbd_dfu_media_template.h
│ │ └── Src
│ │ │ ├── usbd_dfu.c
│ │ │ └── usbd_dfu_media_template.c
│ ├── HID
│ │ ├── Inc
│ │ │ └── usbd_hid.h
│ │ └── Src
│ │ │ └── usbd_hid.c
│ ├── MSC
│ │ ├── Inc
│ │ │ ├── usbd_msc.h
│ │ │ ├── usbd_msc_bot.h
│ │ │ ├── usbd_msc_data.h
│ │ │ ├── usbd_msc_scsi.h
│ │ │ └── usbd_msc_storage_template.h
│ │ └── Src
│ │ │ ├── usbd_msc.c
│ │ │ ├── usbd_msc_bot.c
│ │ │ ├── usbd_msc_data.c
│ │ │ ├── usbd_msc_scsi.c
│ │ │ └── usbd_msc_storage_template.c
│ └── Template
│ │ ├── Inc
│ │ └── usbd_template.h
│ │ └── Src
│ │ └── usbd_template.c
│ ├── Core
│ ├── BUILD
│ ├── Inc
│ │ ├── usbd_conf_template.h
│ │ ├── usbd_core.h
│ │ ├── usbd_ctlreq.h
│ │ ├── usbd_def.h
│ │ └── usbd_ioreq.h
│ └── Src
│ │ ├── usbd_conf_template.c
│ │ ├── usbd_core.c
│ │ ├── usbd_ctlreq.c
│ │ └── usbd_ioreq.c
│ └── Release_Notes.html
├── README.md
├── WORKSPACE
├── compilers
├── BUILD
└── arm_none_gcc_6.2.BUILD
├── stm32f4
├── BUILD
├── rules.bzl
└── rules_middlewares.bzl
└── tools
├── BUILD
├── arm_compiler
├── BUILD
├── CROSSTOOL
├── arm_none_gcc
│ ├── BUILD
│ ├── arm-none-eabi-ar
│ ├── arm-none-eabi-as
│ ├── arm-none-eabi-gcc
│ ├── arm-none-eabi-ld
│ ├── arm-none-eabi-nm
│ ├── arm-none-eabi-objcopy
│ ├── arm-none-eabi-objdump
│ └── arm-none-eabi-strip
└── raw_binary.bzl
└── scripts
└── generate_startup_libraries.py
/Drivers/CMSIS/CMSIS_END_USER_LICENCE_AGREEMENT.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pedrokiefer/rules_stm32/adbc85a48dd5d5ab404d8eb3fa2b9ed15ede1523/Drivers/CMSIS/CMSIS_END_USER_LICENCE_AGREEMENT.pdf
--------------------------------------------------------------------------------
/Drivers/CMSIS/DSP_Lib/Examples/arm_class_marks_example/ARM/Abstract.txt:
--------------------------------------------------------------------------------
1 | CMSIS DSP_Lib example arm_class_marks_example for
2 | Cortex-M0, Cortex-M3 and Cortex-M4 with FPU
3 |
4 | The example is configured for uVision Simulator
5 |
--------------------------------------------------------------------------------
/Drivers/CMSIS/DSP_Lib/Examples/arm_class_marks_example/GCC/Abstract.txt:
--------------------------------------------------------------------------------
1 | CMSIS DSP_Lib example arm_class_marks_example for
2 | Cortex-M0, Cortex-M3 and Cortex-M4 with FPU
3 |
4 | The example is configured for uVision Simulator
5 |
--------------------------------------------------------------------------------
/Drivers/CMSIS/DSP_Lib/Examples/arm_convolution_example/ARM/Abstract.txt:
--------------------------------------------------------------------------------
1 | CMSIS DSP_Lib example arm_convolution_example for
2 | Cortex-M0, Cortex-M3 and Cortex-M4 with FPU
3 |
4 | The example is configured for uVision Simulator
5 |
--------------------------------------------------------------------------------
/Drivers/CMSIS/DSP_Lib/Examples/arm_convolution_example/ARM/math_helper.h:
--------------------------------------------------------------------------------
1 | /* ----------------------------------------------------------------------
2 | * Copyright (C) 2010-2013 ARM Limited. All rights reserved.
3 | *
4 | * $Date: 17. January 2013
5 | * $Revision: V1.4.0
6 | *
7 | * Project: CMSIS DSP Library
8 | *
9 | * Title: math_helper.h
10 | *
11 | * Description: Prototypes of all helper functions required.
12 | *
13 | * Target Processor: Cortex-M4/Cortex-M3
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 |
43 | #include "arm_math.h"
44 |
45 | #ifndef MATH_HELPER_H
46 | #define MATH_HELPER_H
47 |
48 | float arm_snr_f32(float *pRef, float *pTest, uint32_t buffSize);
49 | void arm_float_to_q12_20(float *pIn, q31_t * pOut, uint32_t numSamples);
50 | void arm_provide_guard_bits_q15(q15_t *input_buf, uint32_t blockSize, uint32_t guard_bits);
51 | void arm_provide_guard_bits_q31(q31_t *input_buf, uint32_t blockSize, uint32_t guard_bits);
52 | void arm_float_to_q14(float *pIn, q15_t *pOut, uint32_t numSamples);
53 | void arm_float_to_q29(float *pIn, q31_t *pOut, uint32_t numSamples);
54 | void arm_float_to_q28(float *pIn, q31_t *pOut, uint32_t numSamples);
55 | void arm_float_to_q30(float *pIn, q31_t *pOut, uint32_t numSamples);
56 | void arm_clip_f32(float *pIn, uint32_t numSamples);
57 | uint32_t arm_calc_guard_bits(uint32_t num_adds);
58 | void arm_apply_guard_bits (float32_t * pIn, uint32_t numSamples, uint32_t guard_bits);
59 | uint32_t arm_compare_fixed_q15(q15_t *pIn, q15_t * pOut, uint32_t numSamples);
60 | uint32_t arm_compare_fixed_q31(q31_t *pIn, q31_t *pOut, uint32_t numSamples);
61 | uint32_t arm_calc_2pow(uint32_t guard_bits);
62 | #endif
63 |
64 |
--------------------------------------------------------------------------------
/Drivers/CMSIS/DSP_Lib/Examples/arm_convolution_example/GCC/Abstract.txt:
--------------------------------------------------------------------------------
1 | CMSIS DSP_Lib example arm_convolution_example for
2 | Cortex-M0, Cortex-M3 and Cortex-M4 with FPU
3 |
4 | The example is configured for uVision Simulator
5 |
--------------------------------------------------------------------------------
/Drivers/CMSIS/DSP_Lib/Examples/arm_convolution_example/GCC/math_helper.h:
--------------------------------------------------------------------------------
1 | /* ----------------------------------------------------------------------
2 | * Copyright (C) 2010-2013 ARM Limited. All rights reserved.
3 | *
4 | * $Date: 17. January 2013
5 | * $Revision: V1.4.0
6 | *
7 | * Project: CMSIS DSP Library
8 | *
9 | * Title: math_helper.h
10 | *
11 | * Description: Prototypes of all helper functions required.
12 | *
13 | * Target Processor: Cortex-M4/Cortex-M3
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 |
43 | #include "arm_math.h"
44 |
45 | #ifndef MATH_HELPER_H
46 | #define MATH_HELPER_H
47 |
48 | float arm_snr_f32(float *pRef, float *pTest, uint32_t buffSize);
49 | void arm_float_to_q12_20(float *pIn, q31_t * pOut, uint32_t numSamples);
50 | void arm_provide_guard_bits_q15(q15_t *input_buf, uint32_t blockSize, uint32_t guard_bits);
51 | void arm_provide_guard_bits_q31(q31_t *input_buf, uint32_t blockSize, uint32_t guard_bits);
52 | void arm_float_to_q14(float *pIn, q15_t *pOut, uint32_t numSamples);
53 | void arm_float_to_q29(float *pIn, q31_t *pOut, uint32_t numSamples);
54 | void arm_float_to_q28(float *pIn, q31_t *pOut, uint32_t numSamples);
55 | void arm_float_to_q30(float *pIn, q31_t *pOut, uint32_t numSamples);
56 | void arm_clip_f32(float *pIn, uint32_t numSamples);
57 | uint32_t arm_calc_guard_bits(uint32_t num_adds);
58 | void arm_apply_guard_bits (float32_t * pIn, uint32_t numSamples, uint32_t guard_bits);
59 | uint32_t arm_compare_fixed_q15(q15_t *pIn, q15_t * pOut, uint32_t numSamples);
60 | uint32_t arm_compare_fixed_q31(q31_t *pIn, q31_t *pOut, uint32_t numSamples);
61 | uint32_t arm_calc_2pow(uint32_t guard_bits);
62 | #endif
63 |
64 |
--------------------------------------------------------------------------------
/Drivers/CMSIS/DSP_Lib/Examples/arm_dotproduct_example/ARM/Abstract.txt:
--------------------------------------------------------------------------------
1 | CMSIS DSP_Lib example arm_dotproduct_example for
2 | Cortex-M0, Cortex-M3 and Cortex-M4 with FPU
3 |
4 | The example is configured for uVision Simulator
5 |
--------------------------------------------------------------------------------
/Drivers/CMSIS/DSP_Lib/Examples/arm_dotproduct_example/GCC/Abstract.txt:
--------------------------------------------------------------------------------
1 | CMSIS DSP_Lib example arm_dotproduct_example for
2 | Cortex-M0, Cortex-M3 and Cortex-M4 with FPU
3 |
4 | The example is configured for uVision Simulator
5 |
--------------------------------------------------------------------------------
/Drivers/CMSIS/DSP_Lib/Examples/arm_fft_bin_example/ARM/Abstract.txt:
--------------------------------------------------------------------------------
1 | CMSIS DSP_Lib example arm_fft_bin_example for
2 | Cortex-M0, Cortex-M3 and Cortex-M4 with FPU
3 |
4 | The example is configured for uVision Simulator
5 |
--------------------------------------------------------------------------------
/Drivers/CMSIS/DSP_Lib/Examples/arm_fft_bin_example/GCC/Abstract.txt:
--------------------------------------------------------------------------------
1 | CMSIS DSP_Lib example arm_fft_bin_example for
2 | Cortex-M0, Cortex-M3 and Cortex-M4 with FPU
3 |
4 | The example is configured for uVision Simulator
5 |
--------------------------------------------------------------------------------
/Drivers/CMSIS/DSP_Lib/Examples/arm_fir_example/ARM/Abstract.txt:
--------------------------------------------------------------------------------
1 | CMSIS DSP_Lib example arm_fir_example for
2 | Cortex-M0, Cortex-M3 and Cortex-M4 with FPU
3 |
4 | The example is configured for uVision Simulator
5 |
--------------------------------------------------------------------------------
/Drivers/CMSIS/DSP_Lib/Examples/arm_fir_example/ARM/math_helper.h:
--------------------------------------------------------------------------------
1 | /* ----------------------------------------------------------------------
2 | * Copyright (C) 2010-2013 ARM Limited. All rights reserved.
3 | *
4 | * $Date: 17. January 2013
5 | * $Revision: V1.4.0
6 | *
7 | * Project: CMSIS DSP Library
8 | *
9 | * Title: math_helper.h
10 | *
11 | * Description: Prototypes of all helper functions required.
12 | *
13 | * Target Processor: Cortex-M4/Cortex-M3
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 |
43 | #include "arm_math.h"
44 |
45 | #ifndef MATH_HELPER_H
46 | #define MATH_HELPER_H
47 |
48 | float arm_snr_f32(float *pRef, float *pTest, uint32_t buffSize);
49 | void arm_float_to_q12_20(float *pIn, q31_t * pOut, uint32_t numSamples);
50 | void arm_provide_guard_bits_q15(q15_t *input_buf, uint32_t blockSize, uint32_t guard_bits);
51 | void arm_provide_guard_bits_q31(q31_t *input_buf, uint32_t blockSize, uint32_t guard_bits);
52 | void arm_float_to_q14(float *pIn, q15_t *pOut, uint32_t numSamples);
53 | void arm_float_to_q29(float *pIn, q31_t *pOut, uint32_t numSamples);
54 | void arm_float_to_q28(float *pIn, q31_t *pOut, uint32_t numSamples);
55 | void arm_float_to_q30(float *pIn, q31_t *pOut, uint32_t numSamples);
56 | void arm_clip_f32(float *pIn, uint32_t numSamples);
57 | uint32_t arm_calc_guard_bits(uint32_t num_adds);
58 | void arm_apply_guard_bits (float32_t * pIn, uint32_t numSamples, uint32_t guard_bits);
59 | uint32_t arm_compare_fixed_q15(q15_t *pIn, q15_t * pOut, uint32_t numSamples);
60 | uint32_t arm_compare_fixed_q31(q31_t *pIn, q31_t *pOut, uint32_t numSamples);
61 | uint32_t arm_calc_2pow(uint32_t guard_bits);
62 | #endif
63 |
64 |
--------------------------------------------------------------------------------
/Drivers/CMSIS/DSP_Lib/Examples/arm_graphic_equalizer_example/ARM/Abstract.txt:
--------------------------------------------------------------------------------
1 | CMSIS DSP_Lib example arm_graphic_equalizer_example for
2 | Cortex-M0, Cortex-M3 and Cortex-M4 with FPU
3 |
4 | The example is configured for uVision Simulator
5 |
--------------------------------------------------------------------------------
/Drivers/CMSIS/DSP_Lib/Examples/arm_graphic_equalizer_example/ARM/math_helper.h:
--------------------------------------------------------------------------------
1 | /* ----------------------------------------------------------------------
2 | * Copyright (C) 2010-2013 ARM Limited. All rights reserved.
3 | *
4 | * $Date: 17. January 2013
5 | * $Revision: V1.4.0
6 | *
7 | * Project: CMSIS DSP Library
8 | *
9 | * Title: math_helper.h
10 | *
11 | * Description: Prototypes of all helper functions required.
12 | *
13 | * Target Processor: Cortex-M4/Cortex-M3
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 |
43 | #include "arm_math.h"
44 |
45 | #ifndef MATH_HELPER_H
46 | #define MATH_HELPER_H
47 |
48 | float arm_snr_f32(float *pRef, float *pTest, uint32_t buffSize);
49 | void arm_float_to_q12_20(float *pIn, q31_t * pOut, uint32_t numSamples);
50 | void arm_provide_guard_bits_q15(q15_t *input_buf, uint32_t blockSize, uint32_t guard_bits);
51 | void arm_provide_guard_bits_q31(q31_t *input_buf, uint32_t blockSize, uint32_t guard_bits);
52 | void arm_float_to_q14(float *pIn, q15_t *pOut, uint32_t numSamples);
53 | void arm_float_to_q29(float *pIn, q31_t *pOut, uint32_t numSamples);
54 | void arm_float_to_q28(float *pIn, q31_t *pOut, uint32_t numSamples);
55 | void arm_float_to_q30(float *pIn, q31_t *pOut, uint32_t numSamples);
56 | void arm_clip_f32(float *pIn, uint32_t numSamples);
57 | uint32_t arm_calc_guard_bits(uint32_t num_adds);
58 | void arm_apply_guard_bits (float32_t * pIn, uint32_t numSamples, uint32_t guard_bits);
59 | uint32_t arm_compare_fixed_q15(q15_t *pIn, q15_t * pOut, uint32_t numSamples);
60 | uint32_t arm_compare_fixed_q31(q31_t *pIn, q31_t *pOut, uint32_t numSamples);
61 | uint32_t arm_calc_2pow(uint32_t guard_bits);
62 | #endif
63 |
64 |
--------------------------------------------------------------------------------
/Drivers/CMSIS/DSP_Lib/Examples/arm_linear_interp_example/ARM/Abstract.txt:
--------------------------------------------------------------------------------
1 | CMSIS DSP_Lib example arm_linear_interp_example for
2 | Cortex-M0, Cortex-M3 and Cortex-M4 with FPU
3 |
4 | The example is configured for uVision Simulator
5 |
--------------------------------------------------------------------------------
/Drivers/CMSIS/DSP_Lib/Examples/arm_linear_interp_example/ARM/math_helper.h:
--------------------------------------------------------------------------------
1 | /* ----------------------------------------------------------------------
2 | * Copyright (C) 2010-2013 ARM Limited. All rights reserved.
3 | *
4 | * $Date: 17. January 2013
5 | * $Revision: V1.4.0
6 | *
7 | * Project: CMSIS DSP Library
8 | *
9 | * Title: math_helper.h
10 | *
11 | * Description: Prototypes of all helper functions required.
12 | *
13 | * Target Processor: Cortex-M4/Cortex-M3
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 |
43 | #include "arm_math.h"
44 |
45 | #ifndef MATH_HELPER_H
46 | #define MATH_HELPER_H
47 |
48 | float arm_snr_f32(float *pRef, float *pTest, uint32_t buffSize);
49 | void arm_float_to_q12_20(float *pIn, q31_t * pOut, uint32_t numSamples);
50 | void arm_provide_guard_bits_q15(q15_t *input_buf, uint32_t blockSize, uint32_t guard_bits);
51 | void arm_provide_guard_bits_q31(q31_t *input_buf, uint32_t blockSize, uint32_t guard_bits);
52 | void arm_float_to_q14(float *pIn, q15_t *pOut, uint32_t numSamples);
53 | void arm_float_to_q29(float *pIn, q31_t *pOut, uint32_t numSamples);
54 | void arm_float_to_q28(float *pIn, q31_t *pOut, uint32_t numSamples);
55 | void arm_float_to_q30(float *pIn, q31_t *pOut, uint32_t numSamples);
56 | void arm_clip_f32(float *pIn, uint32_t numSamples);
57 | uint32_t arm_calc_guard_bits(uint32_t num_adds);
58 | void arm_apply_guard_bits (float32_t * pIn, uint32_t numSamples, uint32_t guard_bits);
59 | uint32_t arm_compare_fixed_q15(q15_t *pIn, q15_t * pOut, uint32_t numSamples);
60 | uint32_t arm_compare_fixed_q31(q31_t *pIn, q31_t *pOut, uint32_t numSamples);
61 | uint32_t arm_calc_2pow(uint32_t guard_bits);
62 | #endif
63 |
64 |
--------------------------------------------------------------------------------
/Drivers/CMSIS/DSP_Lib/Examples/arm_matrix_example/ARM/Abstract.txt:
--------------------------------------------------------------------------------
1 | CMSIS DSP_Lib example arm_matrix_example for
2 | Cortex-M0, Cortex-M3 and Cortex-M4 with FPU
3 |
4 | The example is configured for uVision Simulator
5 |
--------------------------------------------------------------------------------
/Drivers/CMSIS/DSP_Lib/Examples/arm_matrix_example/ARM/math_helper.h:
--------------------------------------------------------------------------------
1 | /* ----------------------------------------------------------------------
2 | * Copyright (C) 2010-2013 ARM Limited. All rights reserved.
3 | *
4 | * $Date: 17. January 2013
5 | * $Revision: V1.4.0
6 | *
7 | * Project: CMSIS DSP Library
8 | *
9 | * Title: math_helper.h
10 | *
11 | * Description: Prototypes of all helper functions required.
12 | *
13 | * Target Processor: Cortex-M4/Cortex-M3
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 |
43 | #include "arm_math.h"
44 |
45 | #ifndef MATH_HELPER_H
46 | #define MATH_HELPER_H
47 |
48 | float arm_snr_f32(float *pRef, float *pTest, uint32_t buffSize);
49 | void arm_float_to_q12_20(float *pIn, q31_t * pOut, uint32_t numSamples);
50 | void arm_provide_guard_bits_q15(q15_t *input_buf, uint32_t blockSize, uint32_t guard_bits);
51 | void arm_provide_guard_bits_q31(q31_t *input_buf, uint32_t blockSize, uint32_t guard_bits);
52 | void arm_float_to_q14(float *pIn, q15_t *pOut, uint32_t numSamples);
53 | void arm_float_to_q29(float *pIn, q31_t *pOut, uint32_t numSamples);
54 | void arm_float_to_q28(float *pIn, q31_t *pOut, uint32_t numSamples);
55 | void arm_float_to_q30(float *pIn, q31_t *pOut, uint32_t numSamples);
56 | void arm_clip_f32(float *pIn, uint32_t numSamples);
57 | uint32_t arm_calc_guard_bits(uint32_t num_adds);
58 | void arm_apply_guard_bits (float32_t * pIn, uint32_t numSamples, uint32_t guard_bits);
59 | uint32_t arm_compare_fixed_q15(q15_t *pIn, q15_t * pOut, uint32_t numSamples);
60 | uint32_t arm_compare_fixed_q31(q31_t *pIn, q31_t *pOut, uint32_t numSamples);
61 | uint32_t arm_calc_2pow(uint32_t guard_bits);
62 | #endif
63 |
64 |
--------------------------------------------------------------------------------
/Drivers/CMSIS/DSP_Lib/Examples/arm_signal_converge_example/ARM/Abstract.txt:
--------------------------------------------------------------------------------
1 | CMSIS DSP_Lib example arm_signal_converge_example for
2 | Cortex-M0, Cortex-M3 and Cortex-M4 with FPU
3 |
4 | The example is configured for uVision Simulator
5 |
--------------------------------------------------------------------------------
/Drivers/CMSIS/DSP_Lib/Examples/arm_signal_converge_example/ARM/math_helper.h:
--------------------------------------------------------------------------------
1 | /* ----------------------------------------------------------------------
2 | * Copyright (C) 2010-2013 ARM Limited. All rights reserved.
3 | *
4 | * $Date: 17. January 2013
5 | * $Revision: V1.4.0
6 | *
7 | * Project: CMSIS DSP Library
8 | *
9 | * Title: math_helper.h
10 | *
11 | * Description: Prototypes of all helper functions required.
12 | *
13 | * Target Processor: Cortex-M4/Cortex-M3
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 |
43 | #include "arm_math.h"
44 |
45 | #ifndef MATH_HELPER_H
46 | #define MATH_HELPER_H
47 |
48 | float arm_snr_f32(float *pRef, float *pTest, uint32_t buffSize);
49 | void arm_float_to_q12_20(float *pIn, q31_t * pOut, uint32_t numSamples);
50 | void arm_provide_guard_bits_q15(q15_t *input_buf, uint32_t blockSize, uint32_t guard_bits);
51 | void arm_provide_guard_bits_q31(q31_t *input_buf, uint32_t blockSize, uint32_t guard_bits);
52 | void arm_float_to_q14(float *pIn, q15_t *pOut, uint32_t numSamples);
53 | void arm_float_to_q29(float *pIn, q31_t *pOut, uint32_t numSamples);
54 | void arm_float_to_q28(float *pIn, q31_t *pOut, uint32_t numSamples);
55 | void arm_float_to_q30(float *pIn, q31_t *pOut, uint32_t numSamples);
56 | void arm_clip_f32(float *pIn, uint32_t numSamples);
57 | uint32_t arm_calc_guard_bits(uint32_t num_adds);
58 | void arm_apply_guard_bits (float32_t * pIn, uint32_t numSamples, uint32_t guard_bits);
59 | uint32_t arm_compare_fixed_q15(q15_t *pIn, q15_t * pOut, uint32_t numSamples);
60 | uint32_t arm_compare_fixed_q31(q31_t *pIn, q31_t *pOut, uint32_t numSamples);
61 | uint32_t arm_calc_2pow(uint32_t guard_bits);
62 | #endif
63 |
64 |
--------------------------------------------------------------------------------
/Drivers/CMSIS/DSP_Lib/Examples/arm_sin_cos_example/ARM/Abstract.txt:
--------------------------------------------------------------------------------
1 | CMSIS DSP_Lib example arm_sin_cos_example for
2 | Cortex-M0, Cortex-M3 and Cortex-M4 with FPU
3 |
4 | The example is configured for uVision Simulator
5 |
--------------------------------------------------------------------------------
/Drivers/CMSIS/DSP_Lib/Examples/arm_variance_example/ARM/Abstract.txt:
--------------------------------------------------------------------------------
1 | CMSIS DSP_Lib example arm_variance_example for
2 | Cortex-M0, Cortex-M3 and Cortex-M4 with FPU
3 |
4 | The example is configured for uVision Simulator
5 |
--------------------------------------------------------------------------------
/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 |
--------------------------------------------------------------------------------
/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 |
--------------------------------------------------------------------------------
/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 |
--------------------------------------------------------------------------------
/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 |
--------------------------------------------------------------------------------
/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 |
--------------------------------------------------------------------------------
/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 |
--------------------------------------------------------------------------------
/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 |
--------------------------------------------------------------------------------
/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 |
--------------------------------------------------------------------------------
/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 |
--------------------------------------------------------------------------------
/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 |
--------------------------------------------------------------------------------
/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 |
--------------------------------------------------------------------------------
/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 |
--------------------------------------------------------------------------------
/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 |
--------------------------------------------------------------------------------
/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 |
--------------------------------------------------------------------------------
/Drivers/CMSIS/DSP_Lib/license.txt:
--------------------------------------------------------------------------------
1 | All files contained in the folders "CMSIS\DSP-Lib\Source" and "CMSIS\DSP-Lib\Examples"
2 | are guided by the following license:
3 |
4 | Copyright (C) 2009-2015 ARM Limited.
5 | All rights reserved.
6 |
7 | Redistribution and use in source and binary forms, with or without
8 | modification, are permitted provided that the following conditions are met:
9 | - Redistributions of source code must retain the above copyright
10 | notice, this list of conditions and the following disclaimer.
11 | - Redistributions in binary form must reproduce the above copyright
12 | notice, this list of conditions and the following disclaimer in the
13 | documentation and/or other materials provided with the distribution.
14 | - Neither the name of ARM nor the names of its contributors may be used
15 | to endorse or promote products derived from this software without
16 | specific prior written permission.
17 |
18 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
19 | AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
20 | IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
21 | ARE DISCLAIMED. IN NO EVENT SHALL COPYRIGHT HOLDERS AND CONTRIBUTORS BE
22 | LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
23 | CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
24 | SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
25 | INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
26 | CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
27 | ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
28 | POSSIBILITY OF SUCH DAMAGE.
29 |
--------------------------------------------------------------------------------
/Drivers/CMSIS/Device/ST/STM32F4xx/Include/BUILD:
--------------------------------------------------------------------------------
1 | cc_library(
2 | name = "cmsis_device_stm32f4_headers",
3 | hdrs = [
4 | "stm32f401xc.h",
5 | "stm32f401xe.h",
6 | "stm32f405xx.h",
7 | "stm32f407xx.h",
8 | "stm32f410cx.h",
9 | "stm32f410rx.h",
10 | "stm32f410tx.h",
11 | "stm32f411xe.h",
12 | "stm32f412cx.h",
13 | "stm32f412rx.h",
14 | "stm32f412vx.h",
15 | "stm32f412zx.h",
16 | "stm32f413xx.h",
17 | "stm32f415xx.h",
18 | "stm32f417xx.h",
19 | "stm32f423xx.h",
20 | "stm32f427xx.h",
21 | "stm32f429xx.h",
22 | "stm32f437xx.h",
23 | "stm32f439xx.h",
24 | "stm32f446xx.h",
25 | "stm32f469xx.h",
26 | "stm32f479xx.h",
27 | "stm32f4xx.h",
28 | "system_stm32f4xx.h",
29 | ],
30 | includes = ["."],
31 | visibility = ["//visibility:public"],
32 | )
33 |
--------------------------------------------------------------------------------
/Drivers/CMSIS/Device/ST/STM32F4xx/Include/stm32f4xx.h:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pedrokiefer/rules_stm32/adbc85a48dd5d5ab404d8eb3fa2b9ed15ede1523/Drivers/CMSIS/Device/ST/STM32F4xx/Include/stm32f4xx.h
--------------------------------------------------------------------------------
/Drivers/CMSIS/Device/ST/STM32F4xx/Source/Templates/iar/linker/stm32f401xc_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__ = 0x0803FFFF;
9 | define symbol __ICFEDIT_region_RAM_start__ = 0x20000000;
10 | define symbol __ICFEDIT_region_RAM_end__ = 0x2000FFFF;
11 | /*-Sizes-*/
12 | define symbol __ICFEDIT_size_cstack__ = 0x400;
13 | define symbol __ICFEDIT_size_heap__ = 0x200;
14 | /**** End of ICF editor section. ###ICF###*/
15 |
16 |
17 | define memory mem with size = 4G;
18 | define region ROM_region = mem:[from __ICFEDIT_region_ROM_start__ to __ICFEDIT_region_ROM_end__];
19 | define region RAM_region = mem:[from __ICFEDIT_region_RAM_start__ to __ICFEDIT_region_RAM_end__];
20 |
21 | define block CSTACK with alignment = 8, size = __ICFEDIT_size_cstack__ { };
22 | define block HEAP with alignment = 8, size = __ICFEDIT_size_heap__ { };
23 |
24 | initialize by copy { readwrite };
25 | do not initialize { section .noinit };
26 |
27 | place at address mem:__ICFEDIT_intvec_start__ { readonly section .intvec };
28 |
29 | place in ROM_region { readonly };
30 | place in RAM_region { readwrite,
31 | block CSTACK, block HEAP };
--------------------------------------------------------------------------------
/Drivers/CMSIS/Device/ST/STM32F4xx/Source/Templates/iar/linker/stm32f401xc_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__ = 0x20007FFF;
9 | define symbol __ICFEDIT_region_RAM_start__ = 0x20008000;
10 | define symbol __ICFEDIT_region_RAM_end__ = 0x2000FFFF;
11 | /*-Sizes-*/
12 | define symbol __ICFEDIT_size_cstack__ = 0x400;
13 | define symbol __ICFEDIT_size_heap__ = 0x200;
14 | /**** End of ICF editor section. ###ICF###*/
15 |
16 |
17 | define memory mem with size = 4G;
18 | define region ROM_region = mem:[from __ICFEDIT_region_ROM_start__ to __ICFEDIT_region_ROM_end__];
19 | define region RAM_region = mem:[from __ICFEDIT_region_RAM_start__ to __ICFEDIT_region_RAM_end__];
20 |
21 | define block CSTACK with alignment = 8, size = __ICFEDIT_size_cstack__ { };
22 | define block HEAP with alignment = 8, size = __ICFEDIT_size_heap__ { };
23 |
24 | initialize by copy { readwrite };
25 | do not initialize { section .noinit };
26 |
27 | place at address mem:__ICFEDIT_intvec_start__ { readonly section .intvec };
28 |
29 | place in ROM_region { readonly };
30 | place in RAM_region { readwrite,
31 | block CSTACK, block HEAP };
32 |
--------------------------------------------------------------------------------
/Drivers/CMSIS/Device/ST/STM32F4xx/Source/Templates/iar/linker/stm32f401xe_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__ = 0x0807FFFF;
9 | define symbol __ICFEDIT_region_RAM_start__ = 0x20000000;
10 | define symbol __ICFEDIT_region_RAM_end__ = 0x20017FFF;
11 | /*-Sizes-*/
12 | define symbol __ICFEDIT_size_cstack__ = 0x400;
13 | define symbol __ICFEDIT_size_heap__ = 0x200;
14 | /**** End of ICF editor section. ###ICF###*/
15 |
16 |
17 | define memory mem with size = 4G;
18 | define region ROM_region = mem:[from __ICFEDIT_region_ROM_start__ to __ICFEDIT_region_ROM_end__];
19 | define region RAM_region = mem:[from __ICFEDIT_region_RAM_start__ to __ICFEDIT_region_RAM_end__];
20 |
21 | define block CSTACK with alignment = 8, size = __ICFEDIT_size_cstack__ { };
22 | define block HEAP with alignment = 8, size = __ICFEDIT_size_heap__ { };
23 |
24 | initialize by copy { readwrite };
25 | do not initialize { section .noinit };
26 |
27 | place at address mem:__ICFEDIT_intvec_start__ { readonly section .intvec };
28 |
29 | place in ROM_region { readonly };
30 | place in RAM_region { readwrite,
31 | block CSTACK, block HEAP };
--------------------------------------------------------------------------------
/Drivers/CMSIS/Device/ST/STM32F4xx/Source/Templates/iar/linker/stm32f401xe_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__ = 0x2000FFFF;
9 | define symbol __ICFEDIT_region_RAM_start__ = 0x20010000;
10 | define symbol __ICFEDIT_region_RAM_end__ = 0x20017FFF;
11 | /*-Sizes-*/
12 | define symbol __ICFEDIT_size_cstack__ = 0x400;
13 | define symbol __ICFEDIT_size_heap__ = 0x200;
14 | /**** End of ICF editor section. ###ICF###*/
15 |
16 |
17 | define memory mem with size = 4G;
18 | define region ROM_region = mem:[from __ICFEDIT_region_ROM_start__ to __ICFEDIT_region_ROM_end__];
19 | define region RAM_region = mem:[from __ICFEDIT_region_RAM_start__ to __ICFEDIT_region_RAM_end__];
20 |
21 | define block CSTACK with alignment = 8, size = __ICFEDIT_size_cstack__ { };
22 | define block HEAP with alignment = 8, size = __ICFEDIT_size_heap__ { };
23 |
24 | initialize by copy { readwrite };
25 | do not initialize { section .noinit };
26 |
27 | place at address mem:__ICFEDIT_intvec_start__ { readonly section .intvec };
28 |
29 | place in ROM_region { readonly };
30 | place in RAM_region { readwrite,
31 | block CSTACK, block HEAP };
32 |
--------------------------------------------------------------------------------
/Drivers/CMSIS/Device/ST/STM32F4xx/Source/Templates/iar/linker/stm32f405xx_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__ = 0x080FFFFF;
9 | define symbol __ICFEDIT_region_RAM_start__ = 0x20000000;
10 | define symbol __ICFEDIT_region_RAM_end__ = 0x2001FFFF;
11 | define symbol __ICFEDIT_region_CCMRAM_start__ = 0x10000000;
12 | define symbol __ICFEDIT_region_CCMRAM_end__ = 0x1000FFFF;
13 | /*-Sizes-*/
14 | define symbol __ICFEDIT_size_cstack__ = 0x400;
15 | define symbol __ICFEDIT_size_heap__ = 0x200;
16 | /**** End of ICF editor section. ###ICF###*/
17 |
18 |
19 | define memory mem with size = 4G;
20 | define region ROM_region = mem:[from __ICFEDIT_region_ROM_start__ to __ICFEDIT_region_ROM_end__];
21 | define region RAM_region = mem:[from __ICFEDIT_region_RAM_start__ to __ICFEDIT_region_RAM_end__];
22 | define region CCMRAM_region = mem:[from __ICFEDIT_region_CCMRAM_start__ to __ICFEDIT_region_CCMRAM_end__];
23 |
24 | define block CSTACK with alignment = 8, size = __ICFEDIT_size_cstack__ { };
25 | define block HEAP with alignment = 8, size = __ICFEDIT_size_heap__ { };
26 |
27 | initialize by copy { readwrite };
28 | do not initialize { section .noinit };
29 |
30 | place at address mem:__ICFEDIT_intvec_start__ { readonly section .intvec };
31 |
32 | place in ROM_region { readonly };
33 | place in RAM_region { readwrite,
34 | block CSTACK, block HEAP };
--------------------------------------------------------------------------------
/Drivers/CMSIS/Device/ST/STM32F4xx/Source/Templates/iar/linker/stm32f405xx_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__ = 0x2000FFFF;
9 | define symbol __ICFEDIT_region_RAM_start__ = 0x20010000;
10 | define symbol __ICFEDIT_region_RAM_end__ = 0x2001FFFF;
11 | define symbol __ICFEDIT_region_CCMRAM_start__ = 0x10000000;
12 | define symbol __ICFEDIT_region_CCMRAM_end__ = 0x1000FFFF;
13 | /*-Sizes-*/
14 | define symbol __ICFEDIT_size_cstack__ = 0x400;
15 | define symbol __ICFEDIT_size_heap__ = 0x200;
16 | /**** End of ICF editor section. ###ICF###*/
17 |
18 |
19 | define memory mem with size = 4G;
20 | define region ROM_region = mem:[from __ICFEDIT_region_ROM_start__ to __ICFEDIT_region_ROM_end__];
21 | define region RAM_region = mem:[from __ICFEDIT_region_RAM_start__ to __ICFEDIT_region_RAM_end__];
22 | define region CCMRAM_region = mem:[from __ICFEDIT_region_CCMRAM_start__ to __ICFEDIT_region_CCMRAM_end__];
23 |
24 | define block CSTACK with alignment = 8, size = __ICFEDIT_size_cstack__ { };
25 | define block HEAP with alignment = 8, size = __ICFEDIT_size_heap__ { };
26 |
27 | initialize by copy { readwrite };
28 | do not initialize { section .noinit };
29 |
30 | place at address mem:__ICFEDIT_intvec_start__ { readonly section .intvec };
31 |
32 | place in ROM_region { readonly };
33 | place in RAM_region { readwrite,
34 | block CSTACK, block HEAP };
35 |
--------------------------------------------------------------------------------
/Drivers/CMSIS/Device/ST/STM32F4xx/Source/Templates/iar/linker/stm32f407xx_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__ = 0x080FFFFF;
9 | define symbol __ICFEDIT_region_RAM_start__ = 0x20000000;
10 | define symbol __ICFEDIT_region_RAM_end__ = 0x2001FFFF;
11 | define symbol __ICFEDIT_region_CCMRAM_start__ = 0x10000000;
12 | define symbol __ICFEDIT_region_CCMRAM_end__ = 0x1000FFFF;
13 | /*-Sizes-*/
14 | define symbol __ICFEDIT_size_cstack__ = 0x400;
15 | define symbol __ICFEDIT_size_heap__ = 0x200;
16 | /**** End of ICF editor section. ###ICF###*/
17 |
18 |
19 | define memory mem with size = 4G;
20 | define region ROM_region = mem:[from __ICFEDIT_region_ROM_start__ to __ICFEDIT_region_ROM_end__];
21 | define region RAM_region = mem:[from __ICFEDIT_region_RAM_start__ to __ICFEDIT_region_RAM_end__];
22 | define region CCMRAM_region = mem:[from __ICFEDIT_region_CCMRAM_start__ to __ICFEDIT_region_CCMRAM_end__];
23 |
24 | define block CSTACK with alignment = 8, size = __ICFEDIT_size_cstack__ { };
25 | define block HEAP with alignment = 8, size = __ICFEDIT_size_heap__ { };
26 |
27 | initialize by copy { readwrite };
28 | do not initialize { section .noinit };
29 |
30 | place at address mem:__ICFEDIT_intvec_start__ { readonly section .intvec };
31 |
32 | place in ROM_region { readonly };
33 | place in RAM_region { readwrite,
34 | block CSTACK, block HEAP };
--------------------------------------------------------------------------------
/Drivers/CMSIS/Device/ST/STM32F4xx/Source/Templates/iar/linker/stm32f407xx_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__ = 0x2000FFFF;
9 | define symbol __ICFEDIT_region_RAM_start__ = 0x20010000;
10 | define symbol __ICFEDIT_region_RAM_end__ = 0x2001FFFF;
11 | define symbol __ICFEDIT_region_CCMRAM_start__ = 0x10000000;
12 | define symbol __ICFEDIT_region_CCMRAM_end__ = 0x1000FFFF;
13 | /*-Sizes-*/
14 | define symbol __ICFEDIT_size_cstack__ = 0x400;
15 | define symbol __ICFEDIT_size_heap__ = 0x200;
16 | /**** End of ICF editor section. ###ICF###*/
17 |
18 |
19 | define memory mem with size = 4G;
20 | define region ROM_region = mem:[from __ICFEDIT_region_ROM_start__ to __ICFEDIT_region_ROM_end__];
21 | define region RAM_region = mem:[from __ICFEDIT_region_RAM_start__ to __ICFEDIT_region_RAM_end__];
22 | define region CCMRAM_region = mem:[from __ICFEDIT_region_CCMRAM_start__ to __ICFEDIT_region_CCMRAM_end__];
23 |
24 | define block CSTACK with alignment = 8, size = __ICFEDIT_size_cstack__ { };
25 | define block HEAP with alignment = 8, size = __ICFEDIT_size_heap__ { };
26 |
27 | initialize by copy { readwrite };
28 | do not initialize { section .noinit };
29 |
30 | place at address mem:__ICFEDIT_intvec_start__ { readonly section .intvec };
31 |
32 | place in ROM_region { readonly };
33 | place in RAM_region { readwrite,
34 | block CSTACK, block HEAP };
35 |
--------------------------------------------------------------------------------
/Drivers/CMSIS/Device/ST/STM32F4xx/Source/Templates/iar/linker/stm32f410cx_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__ = 0x20007FFF;
11 | /*-Sizes-*/
12 | define symbol __ICFEDIT_size_cstack__ = 0x400;
13 | define symbol __ICFEDIT_size_heap__ = 0x200;
14 | /**** End of ICF editor section. ###ICF###*/
15 |
16 |
17 | define memory mem with size = 4G;
18 | define region ROM_region = mem:[from __ICFEDIT_region_ROM_start__ to __ICFEDIT_region_ROM_end__];
19 | define region RAM_region = mem:[from __ICFEDIT_region_RAM_start__ to __ICFEDIT_region_RAM_end__];
20 |
21 | define block CSTACK with alignment = 8, size = __ICFEDIT_size_cstack__ { };
22 | define block HEAP with alignment = 8, size = __ICFEDIT_size_heap__ { };
23 |
24 | initialize by copy { readwrite };
25 | do not initialize { section .noinit };
26 |
27 | place at address mem:__ICFEDIT_intvec_start__ { readonly section .intvec };
28 |
29 | place in ROM_region { readonly };
30 | place in RAM_region { readwrite,
31 | block CSTACK, block HEAP };
--------------------------------------------------------------------------------
/Drivers/CMSIS/Device/ST/STM32F4xx/Source/Templates/iar/linker/stm32f410cx_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__ = 0x20003FFF;
9 | define symbol __ICFEDIT_region_RAM_start__ = 0x20004000;
10 | define symbol __ICFEDIT_region_RAM_end__ = 0x20007FFF;
11 | /*-Sizes-*/
12 | define symbol __ICFEDIT_size_cstack__ = 0x400;
13 | define symbol __ICFEDIT_size_heap__ = 0x200;
14 | /**** End of ICF editor section. ###ICF###*/
15 |
16 |
17 | define memory mem with size = 4G;
18 | define region ROM_region = mem:[from __ICFEDIT_region_ROM_start__ to __ICFEDIT_region_ROM_end__];
19 | define region RAM_region = mem:[from __ICFEDIT_region_RAM_start__ to __ICFEDIT_region_RAM_end__];
20 |
21 | define block CSTACK with alignment = 8, size = __ICFEDIT_size_cstack__ { };
22 | define block HEAP with alignment = 8, size = __ICFEDIT_size_heap__ { };
23 |
24 | initialize by copy { readwrite };
25 | do not initialize { section .noinit };
26 |
27 | place at address mem:__ICFEDIT_intvec_start__ { readonly section .intvec };
28 |
29 | place in ROM_region { readonly };
30 | place in RAM_region { readwrite,
31 | block CSTACK, block HEAP };
32 |
--------------------------------------------------------------------------------
/Drivers/CMSIS/Device/ST/STM32F4xx/Source/Templates/iar/linker/stm32f410rx_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__ = 0x20007FFF;
11 | /*-Sizes-*/
12 | define symbol __ICFEDIT_size_cstack__ = 0x400;
13 | define symbol __ICFEDIT_size_heap__ = 0x200;
14 | /**** End of ICF editor section. ###ICF###*/
15 |
16 |
17 | define memory mem with size = 4G;
18 | define region ROM_region = mem:[from __ICFEDIT_region_ROM_start__ to __ICFEDIT_region_ROM_end__];
19 | define region RAM_region = mem:[from __ICFEDIT_region_RAM_start__ to __ICFEDIT_region_RAM_end__];
20 |
21 | define block CSTACK with alignment = 8, size = __ICFEDIT_size_cstack__ { };
22 | define block HEAP with alignment = 8, size = __ICFEDIT_size_heap__ { };
23 |
24 | initialize by copy { readwrite };
25 | do not initialize { section .noinit };
26 |
27 | place at address mem:__ICFEDIT_intvec_start__ { readonly section .intvec };
28 |
29 | place in ROM_region { readonly };
30 | place in RAM_region { readwrite,
31 | block CSTACK, block HEAP };
--------------------------------------------------------------------------------
/Drivers/CMSIS/Device/ST/STM32F4xx/Source/Templates/iar/linker/stm32f410rx_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__ = 0x20003FFF;
9 | define symbol __ICFEDIT_region_RAM_start__ = 0x20004000;
10 | define symbol __ICFEDIT_region_RAM_end__ = 0x20007FFF;
11 | /*-Sizes-*/
12 | define symbol __ICFEDIT_size_cstack__ = 0x400;
13 | define symbol __ICFEDIT_size_heap__ = 0x200;
14 | /**** End of ICF editor section. ###ICF###*/
15 |
16 |
17 | define memory mem with size = 4G;
18 | define region ROM_region = mem:[from __ICFEDIT_region_ROM_start__ to __ICFEDIT_region_ROM_end__];
19 | define region RAM_region = mem:[from __ICFEDIT_region_RAM_start__ to __ICFEDIT_region_RAM_end__];
20 |
21 | define block CSTACK with alignment = 8, size = __ICFEDIT_size_cstack__ { };
22 | define block HEAP with alignment = 8, size = __ICFEDIT_size_heap__ { };
23 |
24 | initialize by copy { readwrite };
25 | do not initialize { section .noinit };
26 |
27 | place at address mem:__ICFEDIT_intvec_start__ { readonly section .intvec };
28 |
29 | place in ROM_region { readonly };
30 | place in RAM_region { readwrite,
31 | block CSTACK, block HEAP };
32 |
--------------------------------------------------------------------------------
/Drivers/CMSIS/Device/ST/STM32F4xx/Source/Templates/iar/linker/stm32f410tx_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__ = 0x20007FFF;
11 | /*-Sizes-*/
12 | define symbol __ICFEDIT_size_cstack__ = 0x400;
13 | define symbol __ICFEDIT_size_heap__ = 0x200;
14 | /**** End of ICF editor section. ###ICF###*/
15 |
16 |
17 | define memory mem with size = 4G;
18 | define region ROM_region = mem:[from __ICFEDIT_region_ROM_start__ to __ICFEDIT_region_ROM_end__];
19 | define region RAM_region = mem:[from __ICFEDIT_region_RAM_start__ to __ICFEDIT_region_RAM_end__];
20 |
21 | define block CSTACK with alignment = 8, size = __ICFEDIT_size_cstack__ { };
22 | define block HEAP with alignment = 8, size = __ICFEDIT_size_heap__ { };
23 |
24 | initialize by copy { readwrite };
25 | do not initialize { section .noinit };
26 |
27 | place at address mem:__ICFEDIT_intvec_start__ { readonly section .intvec };
28 |
29 | place in ROM_region { readonly };
30 | place in RAM_region { readwrite,
31 | block CSTACK, block HEAP };
--------------------------------------------------------------------------------
/Drivers/CMSIS/Device/ST/STM32F4xx/Source/Templates/iar/linker/stm32f410tx_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__ = 0x20003FFF;
9 | define symbol __ICFEDIT_region_RAM_start__ = 0x20004000;
10 | define symbol __ICFEDIT_region_RAM_end__ = 0x20007FFF;
11 | /*-Sizes-*/
12 | define symbol __ICFEDIT_size_cstack__ = 0x400;
13 | define symbol __ICFEDIT_size_heap__ = 0x200;
14 | /**** End of ICF editor section. ###ICF###*/
15 |
16 |
17 | define memory mem with size = 4G;
18 | define region ROM_region = mem:[from __ICFEDIT_region_ROM_start__ to __ICFEDIT_region_ROM_end__];
19 | define region RAM_region = mem:[from __ICFEDIT_region_RAM_start__ to __ICFEDIT_region_RAM_end__];
20 |
21 | define block CSTACK with alignment = 8, size = __ICFEDIT_size_cstack__ { };
22 | define block HEAP with alignment = 8, size = __ICFEDIT_size_heap__ { };
23 |
24 | initialize by copy { readwrite };
25 | do not initialize { section .noinit };
26 |
27 | place at address mem:__ICFEDIT_intvec_start__ { readonly section .intvec };
28 |
29 | place in ROM_region { readonly };
30 | place in RAM_region { readwrite,
31 | block CSTACK, block HEAP };
32 |
--------------------------------------------------------------------------------
/Drivers/CMSIS/Device/ST/STM32F4xx/Source/Templates/iar/linker/stm32f411xe_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__ = 0x0807FFFF;
9 | define symbol __ICFEDIT_region_RAM_start__ = 0x20000000;
10 | define symbol __ICFEDIT_region_RAM_end__ = 0x2001FFFF;
11 | /*-Sizes-*/
12 | define symbol __ICFEDIT_size_cstack__ = 0x400;
13 | define symbol __ICFEDIT_size_heap__ = 0x200;
14 | /**** End of ICF editor section. ###ICF###*/
15 |
16 |
17 | define memory mem with size = 4G;
18 | define region ROM_region = mem:[from __ICFEDIT_region_ROM_start__ to __ICFEDIT_region_ROM_end__];
19 | define region RAM_region = mem:[from __ICFEDIT_region_RAM_start__ to __ICFEDIT_region_RAM_end__];
20 |
21 | define block CSTACK with alignment = 8, size = __ICFEDIT_size_cstack__ { };
22 | define block HEAP with alignment = 8, size = __ICFEDIT_size_heap__ { };
23 |
24 | initialize by copy { readwrite };
25 | do not initialize { section .noinit };
26 |
27 | place at address mem:__ICFEDIT_intvec_start__ { readonly section .intvec };
28 |
29 | place in ROM_region { readonly };
30 | place in RAM_region { readwrite,
31 | block CSTACK, block HEAP };
--------------------------------------------------------------------------------
/Drivers/CMSIS/Device/ST/STM32F4xx/Source/Templates/iar/linker/stm32f411xe_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__ = 0x2000FFFF;
9 | define symbol __ICFEDIT_region_RAM_start__ = 0x20010000;
10 | define symbol __ICFEDIT_region_RAM_end__ = 0x2001FFFF;
11 | /*-Sizes-*/
12 | define symbol __ICFEDIT_size_cstack__ = 0x400;
13 | define symbol __ICFEDIT_size_heap__ = 0x200;
14 | /**** End of ICF editor section. ###ICF###*/
15 |
16 |
17 | define memory mem with size = 4G;
18 | define region ROM_region = mem:[from __ICFEDIT_region_ROM_start__ to __ICFEDIT_region_ROM_end__];
19 | define region RAM_region = mem:[from __ICFEDIT_region_RAM_start__ to __ICFEDIT_region_RAM_end__];
20 |
21 | define block CSTACK with alignment = 8, size = __ICFEDIT_size_cstack__ { };
22 | define block HEAP with alignment = 8, size = __ICFEDIT_size_heap__ { };
23 |
24 | initialize by copy { readwrite };
25 | do not initialize { section .noinit };
26 |
27 | place at address mem:__ICFEDIT_intvec_start__ { readonly section .intvec };
28 |
29 | place in ROM_region { readonly };
30 | place in RAM_region { readwrite,
31 | block CSTACK, block HEAP };
32 |
--------------------------------------------------------------------------------
/Drivers/CMSIS/Device/ST/STM32F4xx/Source/Templates/iar/linker/stm32f412cx_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__ = 0x080FFFFF;
9 | define symbol __ICFEDIT_region_RAM_start__ = 0x20000000;
10 | define symbol __ICFEDIT_region_RAM_end__ = 0x2003FFFF;
11 | /*-Sizes-*/
12 | define symbol __ICFEDIT_size_cstack__ = 0x400;
13 | define symbol __ICFEDIT_size_heap__ = 0x200;
14 | /**** End of ICF editor section. ###ICF###*/
15 |
16 |
17 | define memory mem with size = 4G;
18 | define region ROM_region = mem:[from __ICFEDIT_region_ROM_start__ to __ICFEDIT_region_ROM_end__];
19 | define region RAM_region = mem:[from __ICFEDIT_region_RAM_start__ to __ICFEDIT_region_RAM_end__];
20 |
21 | define block CSTACK with alignment = 8, size = __ICFEDIT_size_cstack__ { };
22 | define block HEAP with alignment = 8, size = __ICFEDIT_size_heap__ { };
23 |
24 | initialize by copy { readwrite };
25 | do not initialize { section .noinit };
26 |
27 | place at address mem:__ICFEDIT_intvec_start__ { readonly section .intvec };
28 |
29 | place in ROM_region { readonly };
30 | place in RAM_region { readwrite,
31 | block CSTACK, block HEAP };
--------------------------------------------------------------------------------
/Drivers/CMSIS/Device/ST/STM32F4xx/Source/Templates/iar/linker/stm32f412cx_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__ = 0x2001FFFF;
9 | define symbol __ICFEDIT_region_RAM_start__ = 0x20020000;
10 | define symbol __ICFEDIT_region_RAM_end__ = 0x2003FFFF;
11 | /*-Sizes-*/
12 | define symbol __ICFEDIT_size_cstack__ = 0x400;
13 | define symbol __ICFEDIT_size_heap__ = 0x200;
14 | /**** End of ICF editor section. ###ICF###*/
15 |
16 |
17 | define memory mem with size = 4G;
18 | define region ROM_region = mem:[from __ICFEDIT_region_ROM_start__ to __ICFEDIT_region_ROM_end__];
19 | define region RAM_region = mem:[from __ICFEDIT_region_RAM_start__ to __ICFEDIT_region_RAM_end__];
20 |
21 | define block CSTACK with alignment = 8, size = __ICFEDIT_size_cstack__ { };
22 | define block HEAP with alignment = 8, size = __ICFEDIT_size_heap__ { };
23 |
24 | initialize by copy { readwrite };
25 | do not initialize { section .noinit };
26 |
27 | place at address mem:__ICFEDIT_intvec_start__ { readonly section .intvec };
28 |
29 | place in ROM_region { readonly };
30 | place in RAM_region { readwrite,
31 | block CSTACK, block HEAP };
32 |
--------------------------------------------------------------------------------
/Drivers/CMSIS/Device/ST/STM32F4xx/Source/Templates/iar/linker/stm32f412rx_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__ = 0x080FFFFF;
9 | define symbol __ICFEDIT_region_RAM_start__ = 0x20000000;
10 | define symbol __ICFEDIT_region_RAM_end__ = 0x2003FFFF;
11 | /*-Sizes-*/
12 | define symbol __ICFEDIT_size_cstack__ = 0x400;
13 | define symbol __ICFEDIT_size_heap__ = 0x200;
14 | /**** End of ICF editor section. ###ICF###*/
15 |
16 |
17 | define memory mem with size = 4G;
18 | define region ROM_region = mem:[from __ICFEDIT_region_ROM_start__ to __ICFEDIT_region_ROM_end__];
19 | define region RAM_region = mem:[from __ICFEDIT_region_RAM_start__ to __ICFEDIT_region_RAM_end__];
20 |
21 | define block CSTACK with alignment = 8, size = __ICFEDIT_size_cstack__ { };
22 | define block HEAP with alignment = 8, size = __ICFEDIT_size_heap__ { };
23 |
24 | initialize by copy { readwrite };
25 | do not initialize { section .noinit };
26 |
27 | place at address mem:__ICFEDIT_intvec_start__ { readonly section .intvec };
28 |
29 | place in ROM_region { readonly };
30 | place in RAM_region { readwrite,
31 | block CSTACK, block HEAP };
--------------------------------------------------------------------------------
/Drivers/CMSIS/Device/ST/STM32F4xx/Source/Templates/iar/linker/stm32f412rx_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__ = 0x2001FFFF;
9 | define symbol __ICFEDIT_region_RAM_start__ = 0x20020000;
10 | define symbol __ICFEDIT_region_RAM_end__ = 0x2003FFFF;
11 | /*-Sizes-*/
12 | define symbol __ICFEDIT_size_cstack__ = 0x400;
13 | define symbol __ICFEDIT_size_heap__ = 0x200;
14 | /**** End of ICF editor section. ###ICF###*/
15 |
16 |
17 | define memory mem with size = 4G;
18 | define region ROM_region = mem:[from __ICFEDIT_region_ROM_start__ to __ICFEDIT_region_ROM_end__];
19 | define region RAM_region = mem:[from __ICFEDIT_region_RAM_start__ to __ICFEDIT_region_RAM_end__];
20 |
21 | define block CSTACK with alignment = 8, size = __ICFEDIT_size_cstack__ { };
22 | define block HEAP with alignment = 8, size = __ICFEDIT_size_heap__ { };
23 |
24 | initialize by copy { readwrite };
25 | do not initialize { section .noinit };
26 |
27 | place at address mem:__ICFEDIT_intvec_start__ { readonly section .intvec };
28 |
29 | place in ROM_region { readonly };
30 | place in RAM_region { readwrite,
31 | block CSTACK, block HEAP };
32 |
--------------------------------------------------------------------------------
/Drivers/CMSIS/Device/ST/STM32F4xx/Source/Templates/iar/linker/stm32f412vx_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__ = 0x080FFFFF;
9 | define symbol __ICFEDIT_region_RAM_start__ = 0x20000000;
10 | define symbol __ICFEDIT_region_RAM_end__ = 0x2003FFFF;
11 | /*-Sizes-*/
12 | define symbol __ICFEDIT_size_cstack__ = 0x400;
13 | define symbol __ICFEDIT_size_heap__ = 0x200;
14 | /**** End of ICF editor section. ###ICF###*/
15 |
16 |
17 | define memory mem with size = 4G;
18 | define region ROM_region = mem:[from __ICFEDIT_region_ROM_start__ to __ICFEDIT_region_ROM_end__];
19 | define region RAM_region = mem:[from __ICFEDIT_region_RAM_start__ to __ICFEDIT_region_RAM_end__];
20 |
21 | define block CSTACK with alignment = 8, size = __ICFEDIT_size_cstack__ { };
22 | define block HEAP with alignment = 8, size = __ICFEDIT_size_heap__ { };
23 |
24 | initialize by copy { readwrite };
25 | do not initialize { section .noinit };
26 |
27 | place at address mem:__ICFEDIT_intvec_start__ { readonly section .intvec };
28 |
29 | place in ROM_region { readonly };
30 | place in RAM_region { readwrite,
31 | block CSTACK, block HEAP };
--------------------------------------------------------------------------------
/Drivers/CMSIS/Device/ST/STM32F4xx/Source/Templates/iar/linker/stm32f412vx_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__ = 0x2001FFFF;
9 | define symbol __ICFEDIT_region_RAM_start__ = 0x20020000;
10 | define symbol __ICFEDIT_region_RAM_end__ = 0x2003FFFF;
11 | /*-Sizes-*/
12 | define symbol __ICFEDIT_size_cstack__ = 0x400;
13 | define symbol __ICFEDIT_size_heap__ = 0x200;
14 | /**** End of ICF editor section. ###ICF###*/
15 |
16 |
17 | define memory mem with size = 4G;
18 | define region ROM_region = mem:[from __ICFEDIT_region_ROM_start__ to __ICFEDIT_region_ROM_end__];
19 | define region RAM_region = mem:[from __ICFEDIT_region_RAM_start__ to __ICFEDIT_region_RAM_end__];
20 |
21 | define block CSTACK with alignment = 8, size = __ICFEDIT_size_cstack__ { };
22 | define block HEAP with alignment = 8, size = __ICFEDIT_size_heap__ { };
23 |
24 | initialize by copy { readwrite };
25 | do not initialize { section .noinit };
26 |
27 | place at address mem:__ICFEDIT_intvec_start__ { readonly section .intvec };
28 |
29 | place in ROM_region { readonly };
30 | place in RAM_region { readwrite,
31 | block CSTACK, block HEAP };
32 |
--------------------------------------------------------------------------------
/Drivers/CMSIS/Device/ST/STM32F4xx/Source/Templates/iar/linker/stm32f412zx_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__ = 0x080FFFFF;
9 | define symbol __ICFEDIT_region_RAM_start__ = 0x20000000;
10 | define symbol __ICFEDIT_region_RAM_end__ = 0x2003FFFF;
11 | /*-Sizes-*/
12 | define symbol __ICFEDIT_size_cstack__ = 0x400;
13 | define symbol __ICFEDIT_size_heap__ = 0x200;
14 | /**** End of ICF editor section. ###ICF###*/
15 |
16 |
17 | define memory mem with size = 4G;
18 | define region ROM_region = mem:[from __ICFEDIT_region_ROM_start__ to __ICFEDIT_region_ROM_end__];
19 | define region RAM_region = mem:[from __ICFEDIT_region_RAM_start__ to __ICFEDIT_region_RAM_end__];
20 |
21 | define block CSTACK with alignment = 8, size = __ICFEDIT_size_cstack__ { };
22 | define block HEAP with alignment = 8, size = __ICFEDIT_size_heap__ { };
23 |
24 | initialize by copy { readwrite };
25 | do not initialize { section .noinit };
26 |
27 | place at address mem:__ICFEDIT_intvec_start__ { readonly section .intvec };
28 |
29 | place in ROM_region { readonly };
30 | place in RAM_region { readwrite,
31 | block CSTACK, block HEAP };
--------------------------------------------------------------------------------
/Drivers/CMSIS/Device/ST/STM32F4xx/Source/Templates/iar/linker/stm32f412zx_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__ = 0x2001FFFF;
9 | define symbol __ICFEDIT_region_RAM_start__ = 0x20020000;
10 | define symbol __ICFEDIT_region_RAM_end__ = 0x2003FFFF;
11 | /*-Sizes-*/
12 | define symbol __ICFEDIT_size_cstack__ = 0x400;
13 | define symbol __ICFEDIT_size_heap__ = 0x200;
14 | /**** End of ICF editor section. ###ICF###*/
15 |
16 |
17 | define memory mem with size = 4G;
18 | define region ROM_region = mem:[from __ICFEDIT_region_ROM_start__ to __ICFEDIT_region_ROM_end__];
19 | define region RAM_region = mem:[from __ICFEDIT_region_RAM_start__ to __ICFEDIT_region_RAM_end__];
20 |
21 | define block CSTACK with alignment = 8, size = __ICFEDIT_size_cstack__ { };
22 | define block HEAP with alignment = 8, size = __ICFEDIT_size_heap__ { };
23 |
24 | initialize by copy { readwrite };
25 | do not initialize { section .noinit };
26 |
27 | place at address mem:__ICFEDIT_intvec_start__ { readonly section .intvec };
28 |
29 | place in ROM_region { readonly };
30 | place in RAM_region { readwrite,
31 | block CSTACK, block HEAP };
32 |
--------------------------------------------------------------------------------
/Drivers/CMSIS/Device/ST/STM32F4xx/Source/Templates/iar/linker/stm32f413xx_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__ = 0x0817FFFF;
9 | define symbol __ICFEDIT_region_RAM_start__ = 0x20000000;
10 | define symbol __ICFEDIT_region_RAM_end__ = 0x2004FFFF;
11 | /*-Sizes-*/
12 | define symbol __ICFEDIT_size_cstack__ = 0x400;
13 | define symbol __ICFEDIT_size_heap__ = 0x200;
14 | /**** End of ICF editor section. ###ICF###*/
15 |
16 |
17 | define memory mem with size = 4G;
18 | define region ROM_region = mem:[from __ICFEDIT_region_ROM_start__ to __ICFEDIT_region_ROM_end__];
19 | define region RAM_region = mem:[from __ICFEDIT_region_RAM_start__ to __ICFEDIT_region_RAM_end__];
20 |
21 | define block CSTACK with alignment = 8, size = __ICFEDIT_size_cstack__ { };
22 | define block HEAP with alignment = 8, size = __ICFEDIT_size_heap__ { };
23 |
24 | initialize by copy { readwrite };
25 | do not initialize { section .noinit };
26 |
27 | place at address mem:__ICFEDIT_intvec_start__ { readonly section .intvec };
28 |
29 | place in ROM_region { readonly };
30 | place in RAM_region { readwrite,
31 | block CSTACK, block HEAP };
--------------------------------------------------------------------------------
/Drivers/CMSIS/Device/ST/STM32F4xx/Source/Templates/iar/linker/stm32f413xx_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__ = 0x2002FFFF;
9 | define symbol __ICFEDIT_region_RAM_start__ = 0x20030000;
10 | define symbol __ICFEDIT_region_RAM_end__ = 0x2004FFFF;
11 | /*-Sizes-*/
12 | define symbol __ICFEDIT_size_cstack__ = 0x400;
13 | define symbol __ICFEDIT_size_heap__ = 0x200;
14 | /**** End of ICF editor section. ###ICF###*/
15 |
16 |
17 | define memory mem with size = 4G;
18 | define region ROM_region = mem:[from __ICFEDIT_region_ROM_start__ to __ICFEDIT_region_ROM_end__];
19 | define region RAM_region = mem:[from __ICFEDIT_region_RAM_start__ to __ICFEDIT_region_RAM_end__];
20 |
21 | define block CSTACK with alignment = 8, size = __ICFEDIT_size_cstack__ { };
22 | define block HEAP with alignment = 8, size = __ICFEDIT_size_heap__ { };
23 |
24 | initialize by copy { readwrite };
25 | do not initialize { section .noinit };
26 |
27 | place at address mem:__ICFEDIT_intvec_start__ { readonly section .intvec };
28 |
29 | place in ROM_region { readonly };
30 | place in RAM_region { readwrite,
31 | block CSTACK, block HEAP };
32 |
--------------------------------------------------------------------------------
/Drivers/CMSIS/Device/ST/STM32F4xx/Source/Templates/iar/linker/stm32f415xx_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__ = 0x080FFFFF;
9 | define symbol __ICFEDIT_region_RAM_start__ = 0x20000000;
10 | define symbol __ICFEDIT_region_RAM_end__ = 0x2001FFFF;
11 | define symbol __ICFEDIT_region_CCMRAM_start__ = 0x10000000;
12 | define symbol __ICFEDIT_region_CCMRAM_end__ = 0x1000FFFF;
13 | /*-Sizes-*/
14 | define symbol __ICFEDIT_size_cstack__ = 0x400;
15 | define symbol __ICFEDIT_size_heap__ = 0x200;
16 | /**** End of ICF editor section. ###ICF###*/
17 |
18 |
19 | define memory mem with size = 4G;
20 | define region ROM_region = mem:[from __ICFEDIT_region_ROM_start__ to __ICFEDIT_region_ROM_end__];
21 | define region RAM_region = mem:[from __ICFEDIT_region_RAM_start__ to __ICFEDIT_region_RAM_end__];
22 | define region CCMRAM_region = mem:[from __ICFEDIT_region_CCMRAM_start__ to __ICFEDIT_region_CCMRAM_end__];
23 |
24 | define block CSTACK with alignment = 8, size = __ICFEDIT_size_cstack__ { };
25 | define block HEAP with alignment = 8, size = __ICFEDIT_size_heap__ { };
26 |
27 | initialize by copy { readwrite };
28 | do not initialize { section .noinit };
29 |
30 | place at address mem:__ICFEDIT_intvec_start__ { readonly section .intvec };
31 |
32 | place in ROM_region { readonly };
33 | place in RAM_region { readwrite,
34 | block CSTACK, block HEAP };
--------------------------------------------------------------------------------
/Drivers/CMSIS/Device/ST/STM32F4xx/Source/Templates/iar/linker/stm32f415xx_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__ = 0x2000FFFF;
9 | define symbol __ICFEDIT_region_RAM_start__ = 0x20010000;
10 | define symbol __ICFEDIT_region_RAM_end__ = 0x2001FFFF;
11 | define symbol __ICFEDIT_region_CCMRAM_start__ = 0x10000000;
12 | define symbol __ICFEDIT_region_CCMRAM_end__ = 0x1000FFFF;
13 | /*-Sizes-*/
14 | define symbol __ICFEDIT_size_cstack__ = 0x400;
15 | define symbol __ICFEDIT_size_heap__ = 0x200;
16 | /**** End of ICF editor section. ###ICF###*/
17 |
18 |
19 | define memory mem with size = 4G;
20 | define region ROM_region = mem:[from __ICFEDIT_region_ROM_start__ to __ICFEDIT_region_ROM_end__];
21 | define region RAM_region = mem:[from __ICFEDIT_region_RAM_start__ to __ICFEDIT_region_RAM_end__];
22 | define region CCMRAM_region = mem:[from __ICFEDIT_region_CCMRAM_start__ to __ICFEDIT_region_CCMRAM_end__];
23 |
24 | define block CSTACK with alignment = 8, size = __ICFEDIT_size_cstack__ { };
25 | define block HEAP with alignment = 8, size = __ICFEDIT_size_heap__ { };
26 |
27 | initialize by copy { readwrite };
28 | do not initialize { section .noinit };
29 |
30 | place at address mem:__ICFEDIT_intvec_start__ { readonly section .intvec };
31 |
32 | place in ROM_region { readonly };
33 | place in RAM_region { readwrite,
34 | block CSTACK, block HEAP };
35 |
--------------------------------------------------------------------------------
/Drivers/CMSIS/Device/ST/STM32F4xx/Source/Templates/iar/linker/stm32f417xx_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__ = 0x080FFFFF;
9 | define symbol __ICFEDIT_region_RAM_start__ = 0x20000000;
10 | define symbol __ICFEDIT_region_RAM_end__ = 0x2001FFFF;
11 | define symbol __ICFEDIT_region_CCMRAM_start__ = 0x10000000;
12 | define symbol __ICFEDIT_region_CCMRAM_end__ = 0x1000FFFF;
13 | /*-Sizes-*/
14 | define symbol __ICFEDIT_size_cstack__ = 0x400;
15 | define symbol __ICFEDIT_size_heap__ = 0x200;
16 | /**** End of ICF editor section. ###ICF###*/
17 |
18 |
19 | define memory mem with size = 4G;
20 | define region ROM_region = mem:[from __ICFEDIT_region_ROM_start__ to __ICFEDIT_region_ROM_end__];
21 | define region RAM_region = mem:[from __ICFEDIT_region_RAM_start__ to __ICFEDIT_region_RAM_end__];
22 | define region CCMRAM_region = mem:[from __ICFEDIT_region_CCMRAM_start__ to __ICFEDIT_region_CCMRAM_end__];
23 |
24 | define block CSTACK with alignment = 8, size = __ICFEDIT_size_cstack__ { };
25 | define block HEAP with alignment = 8, size = __ICFEDIT_size_heap__ { };
26 |
27 | initialize by copy { readwrite };
28 | do not initialize { section .noinit };
29 |
30 | place at address mem:__ICFEDIT_intvec_start__ { readonly section .intvec };
31 |
32 | place in ROM_region { readonly };
33 | place in RAM_region { readwrite,
34 | block CSTACK, block HEAP };
--------------------------------------------------------------------------------
/Drivers/CMSIS/Device/ST/STM32F4xx/Source/Templates/iar/linker/stm32f417xx_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__ = 0x2000FFFF;
9 | define symbol __ICFEDIT_region_RAM_start__ = 0x20010000;
10 | define symbol __ICFEDIT_region_RAM_end__ = 0x2001FFFF;
11 | define symbol __ICFEDIT_region_CCMRAM_start__ = 0x10000000;
12 | define symbol __ICFEDIT_region_CCMRAM_end__ = 0x1000FFFF;
13 | /*-Sizes-*/
14 | define symbol __ICFEDIT_size_cstack__ = 0x400;
15 | define symbol __ICFEDIT_size_heap__ = 0x200;
16 | /**** End of ICF editor section. ###ICF###*/
17 |
18 |
19 | define memory mem with size = 4G;
20 | define region ROM_region = mem:[from __ICFEDIT_region_ROM_start__ to __ICFEDIT_region_ROM_end__];
21 | define region RAM_region = mem:[from __ICFEDIT_region_RAM_start__ to __ICFEDIT_region_RAM_end__];
22 | define region CCMRAM_region = mem:[from __ICFEDIT_region_CCMRAM_start__ to __ICFEDIT_region_CCMRAM_end__];
23 |
24 | define block CSTACK with alignment = 8, size = __ICFEDIT_size_cstack__ { };
25 | define block HEAP with alignment = 8, size = __ICFEDIT_size_heap__ { };
26 |
27 | initialize by copy { readwrite };
28 | do not initialize { section .noinit };
29 |
30 | place at address mem:__ICFEDIT_intvec_start__ { readonly section .intvec };
31 |
32 | place in ROM_region { readonly };
33 | place in RAM_region { readwrite,
34 | block CSTACK, block HEAP };
35 |
--------------------------------------------------------------------------------
/Drivers/CMSIS/Device/ST/STM32F4xx/Source/Templates/iar/linker/stm32f423xx_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__ = 0x0817FFFF;
9 | define symbol __ICFEDIT_region_RAM_start__ = 0x20000000;
10 | define symbol __ICFEDIT_region_RAM_end__ = 0x2004FFFF;
11 | /*-Sizes-*/
12 | define symbol __ICFEDIT_size_cstack__ = 0x400;
13 | define symbol __ICFEDIT_size_heap__ = 0x200;
14 | /**** End of ICF editor section. ###ICF###*/
15 |
16 |
17 | define memory mem with size = 4G;
18 | define region ROM_region = mem:[from __ICFEDIT_region_ROM_start__ to __ICFEDIT_region_ROM_end__];
19 | define region RAM_region = mem:[from __ICFEDIT_region_RAM_start__ to __ICFEDIT_region_RAM_end__];
20 |
21 | define block CSTACK with alignment = 8, size = __ICFEDIT_size_cstack__ { };
22 | define block HEAP with alignment = 8, size = __ICFEDIT_size_heap__ { };
23 |
24 | initialize by copy { readwrite };
25 | do not initialize { section .noinit };
26 |
27 | place at address mem:__ICFEDIT_intvec_start__ { readonly section .intvec };
28 |
29 | place in ROM_region { readonly };
30 | place in RAM_region { readwrite,
31 | block CSTACK, block HEAP };
--------------------------------------------------------------------------------
/Drivers/CMSIS/Device/ST/STM32F4xx/Source/Templates/iar/linker/stm32f423xx_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__ = 0x2002FFFF;
9 | define symbol __ICFEDIT_region_RAM_start__ = 0x20030000;
10 | define symbol __ICFEDIT_region_RAM_end__ = 0x2004FFFF;
11 | /*-Sizes-*/
12 | define symbol __ICFEDIT_size_cstack__ = 0x400;
13 | define symbol __ICFEDIT_size_heap__ = 0x200;
14 | /**** End of ICF editor section. ###ICF###*/
15 |
16 |
17 | define memory mem with size = 4G;
18 | define region ROM_region = mem:[from __ICFEDIT_region_ROM_start__ to __ICFEDIT_region_ROM_end__];
19 | define region RAM_region = mem:[from __ICFEDIT_region_RAM_start__ to __ICFEDIT_region_RAM_end__];
20 |
21 | define block CSTACK with alignment = 8, size = __ICFEDIT_size_cstack__ { };
22 | define block HEAP with alignment = 8, size = __ICFEDIT_size_heap__ { };
23 |
24 | initialize by copy { readwrite };
25 | do not initialize { section .noinit };
26 |
27 | place at address mem:__ICFEDIT_intvec_start__ { readonly section .intvec };
28 |
29 | place in ROM_region { readonly };
30 | place in RAM_region { readwrite,
31 | block CSTACK, block HEAP };
32 |
--------------------------------------------------------------------------------
/Drivers/CMSIS/Device/ST/STM32F4xx/Source/Templates/iar/linker/stm32f427xx_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__ = 0x081FFFFF;
9 | define symbol __ICFEDIT_region_RAM_start__ = 0x20000000;
10 | define symbol __ICFEDIT_region_RAM_end__ = 0x2002FFFF;
11 | define symbol __ICFEDIT_region_CCMRAM_start__ = 0x10000000;
12 | define symbol __ICFEDIT_region_CCMRAM_end__ = 0x1000FFFF;
13 | /*-Sizes-*/
14 | define symbol __ICFEDIT_size_cstack__ = 0x400;
15 | define symbol __ICFEDIT_size_heap__ = 0x200;
16 | /**** End of ICF editor section. ###ICF###*/
17 |
18 |
19 | define memory mem with size = 4G;
20 | define region ROM_region = mem:[from __ICFEDIT_region_ROM_start__ to __ICFEDIT_region_ROM_end__];
21 | define region RAM_region = mem:[from __ICFEDIT_region_RAM_start__ to __ICFEDIT_region_RAM_end__];
22 | define region CCMRAM_region = mem:[from __ICFEDIT_region_CCMRAM_start__ to __ICFEDIT_region_CCMRAM_end__];
23 |
24 | define block CSTACK with alignment = 8, size = __ICFEDIT_size_cstack__ { };
25 | define block HEAP with alignment = 8, size = __ICFEDIT_size_heap__ { };
26 |
27 | initialize by copy { readwrite };
28 | do not initialize { section .noinit };
29 |
30 | place at address mem:__ICFEDIT_intvec_start__ { readonly section .intvec };
31 |
32 | place in ROM_region { readonly };
33 | place in RAM_region { readwrite,
34 | block CSTACK, block HEAP };
--------------------------------------------------------------------------------
/Drivers/CMSIS/Device/ST/STM32F4xx/Source/Templates/iar/linker/stm32f427xx_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__ = 0x2001FFFF;
9 | define symbol __ICFEDIT_region_RAM_start__ = 0x20020000;
10 | define symbol __ICFEDIT_region_RAM_end__ = 0x2002FFFF;
11 | define symbol __ICFEDIT_region_CCMRAM_start__ = 0x10000000;
12 | define symbol __ICFEDIT_region_CCMRAM_end__ = 0x1000FFFF;
13 | /*-Sizes-*/
14 | define symbol __ICFEDIT_size_cstack__ = 0x400;
15 | define symbol __ICFEDIT_size_heap__ = 0x200;
16 | /**** End of ICF editor section. ###ICF###*/
17 |
18 |
19 | define memory mem with size = 4G;
20 | define region ROM_region = mem:[from __ICFEDIT_region_ROM_start__ to __ICFEDIT_region_ROM_end__];
21 | define region RAM_region = mem:[from __ICFEDIT_region_RAM_start__ to __ICFEDIT_region_RAM_end__];
22 | define region CCMRAM_region = mem:[from __ICFEDIT_region_CCMRAM_start__ to __ICFEDIT_region_CCMRAM_end__];
23 |
24 | define block CSTACK with alignment = 8, size = __ICFEDIT_size_cstack__ { };
25 | define block HEAP with alignment = 8, size = __ICFEDIT_size_heap__ { };
26 |
27 | initialize by copy { readwrite };
28 | do not initialize { section .noinit };
29 |
30 | place at address mem:__ICFEDIT_intvec_start__ { readonly section .intvec };
31 |
32 | place in ROM_region { readonly };
33 | place in RAM_region { readwrite,
34 | block CSTACK, block HEAP };
35 |
--------------------------------------------------------------------------------
/Drivers/CMSIS/Device/ST/STM32F4xx/Source/Templates/iar/linker/stm32f429xx_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__ = 0x081FFFFF;
9 | define symbol __ICFEDIT_region_RAM_start__ = 0x20000000;
10 | define symbol __ICFEDIT_region_RAM_end__ = 0x2002FFFF;
11 | define symbol __ICFEDIT_region_CCMRAM_start__ = 0x10000000;
12 | define symbol __ICFEDIT_region_CCMRAM_end__ = 0x1000FFFF;
13 | /*-Sizes-*/
14 | define symbol __ICFEDIT_size_cstack__ = 0x400;
15 | define symbol __ICFEDIT_size_heap__ = 0x200;
16 | /**** End of ICF editor section. ###ICF###*/
17 |
18 |
19 | define memory mem with size = 4G;
20 | define region ROM_region = mem:[from __ICFEDIT_region_ROM_start__ to __ICFEDIT_region_ROM_end__];
21 | define region RAM_region = mem:[from __ICFEDIT_region_RAM_start__ to __ICFEDIT_region_RAM_end__];
22 | define region CCMRAM_region = mem:[from __ICFEDIT_region_CCMRAM_start__ to __ICFEDIT_region_CCMRAM_end__];
23 |
24 | define block CSTACK with alignment = 8, size = __ICFEDIT_size_cstack__ { };
25 | define block HEAP with alignment = 8, size = __ICFEDIT_size_heap__ { };
26 |
27 | initialize by copy { readwrite };
28 | do not initialize { section .noinit };
29 |
30 | place at address mem:__ICFEDIT_intvec_start__ { readonly section .intvec };
31 |
32 | place in ROM_region { readonly };
33 | place in RAM_region { readwrite,
34 | block CSTACK, block HEAP };
--------------------------------------------------------------------------------
/Drivers/CMSIS/Device/ST/STM32F4xx/Source/Templates/iar/linker/stm32f429xx_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__ = 0x2001FFFF;
9 | define symbol __ICFEDIT_region_RAM_start__ = 0x20020000;
10 | define symbol __ICFEDIT_region_RAM_end__ = 0x2002FFFF;
11 | define symbol __ICFEDIT_region_CCMRAM_start__ = 0x10000000;
12 | define symbol __ICFEDIT_region_CCMRAM_end__ = 0x1000FFFF;
13 | /*-Sizes-*/
14 | define symbol __ICFEDIT_size_cstack__ = 0x400;
15 | define symbol __ICFEDIT_size_heap__ = 0x200;
16 | /**** End of ICF editor section. ###ICF###*/
17 |
18 |
19 | define memory mem with size = 4G;
20 | define region ROM_region = mem:[from __ICFEDIT_region_ROM_start__ to __ICFEDIT_region_ROM_end__];
21 | define region RAM_region = mem:[from __ICFEDIT_region_RAM_start__ to __ICFEDIT_region_RAM_end__];
22 | define region CCMRAM_region = mem:[from __ICFEDIT_region_CCMRAM_start__ to __ICFEDIT_region_CCMRAM_end__];
23 |
24 | define block CSTACK with alignment = 8, size = __ICFEDIT_size_cstack__ { };
25 | define block HEAP with alignment = 8, size = __ICFEDIT_size_heap__ { };
26 |
27 | initialize by copy { readwrite };
28 | do not initialize { section .noinit };
29 |
30 | place at address mem:__ICFEDIT_intvec_start__ { readonly section .intvec };
31 |
32 | place in ROM_region { readonly };
33 | place in RAM_region { readwrite,
34 | block CSTACK, block HEAP };
35 |
--------------------------------------------------------------------------------
/Drivers/CMSIS/Device/ST/STM32F4xx/Source/Templates/iar/linker/stm32f437xx_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__ = 0x081FFFFF;
9 | define symbol __ICFEDIT_region_RAM_start__ = 0x20000000;
10 | define symbol __ICFEDIT_region_RAM_end__ = 0x2002FFFF;
11 | define symbol __ICFEDIT_region_CCMRAM_start__ = 0x10000000;
12 | define symbol __ICFEDIT_region_CCMRAM_end__ = 0x1000FFFF;
13 | /*-Sizes-*/
14 | define symbol __ICFEDIT_size_cstack__ = 0x400;
15 | define symbol __ICFEDIT_size_heap__ = 0x200;
16 | /**** End of ICF editor section. ###ICF###*/
17 |
18 |
19 | define memory mem with size = 4G;
20 | define region ROM_region = mem:[from __ICFEDIT_region_ROM_start__ to __ICFEDIT_region_ROM_end__];
21 | define region RAM_region = mem:[from __ICFEDIT_region_RAM_start__ to __ICFEDIT_region_RAM_end__];
22 | define region CCMRAM_region = mem:[from __ICFEDIT_region_CCMRAM_start__ to __ICFEDIT_region_CCMRAM_end__];
23 |
24 | define block CSTACK with alignment = 8, size = __ICFEDIT_size_cstack__ { };
25 | define block HEAP with alignment = 8, size = __ICFEDIT_size_heap__ { };
26 |
27 | initialize by copy { readwrite };
28 | do not initialize { section .noinit };
29 |
30 | place at address mem:__ICFEDIT_intvec_start__ { readonly section .intvec };
31 |
32 | place in ROM_region { readonly };
33 | place in RAM_region { readwrite,
34 | block CSTACK, block HEAP };
--------------------------------------------------------------------------------
/Drivers/CMSIS/Device/ST/STM32F4xx/Source/Templates/iar/linker/stm32f437xx_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__ = 0x2001FFFF;
9 | define symbol __ICFEDIT_region_RAM_start__ = 0x20020000;
10 | define symbol __ICFEDIT_region_RAM_end__ = 0x2002FFFF;
11 | define symbol __ICFEDIT_region_CCMRAM_start__ = 0x10000000;
12 | define symbol __ICFEDIT_region_CCMRAM_end__ = 0x1000FFFF;
13 | /*-Sizes-*/
14 | define symbol __ICFEDIT_size_cstack__ = 0x400;
15 | define symbol __ICFEDIT_size_heap__ = 0x200;
16 | /**** End of ICF editor section. ###ICF###*/
17 |
18 |
19 | define memory mem with size = 4G;
20 | define region ROM_region = mem:[from __ICFEDIT_region_ROM_start__ to __ICFEDIT_region_ROM_end__];
21 | define region RAM_region = mem:[from __ICFEDIT_region_RAM_start__ to __ICFEDIT_region_RAM_end__];
22 | define region CCMRAM_region = mem:[from __ICFEDIT_region_CCMRAM_start__ to __ICFEDIT_region_CCMRAM_end__];
23 |
24 | define block CSTACK with alignment = 8, size = __ICFEDIT_size_cstack__ { };
25 | define block HEAP with alignment = 8, size = __ICFEDIT_size_heap__ { };
26 |
27 | initialize by copy { readwrite };
28 | do not initialize { section .noinit };
29 |
30 | place at address mem:__ICFEDIT_intvec_start__ { readonly section .intvec };
31 |
32 | place in ROM_region { readonly };
33 | place in RAM_region { readwrite,
34 | block CSTACK, block HEAP };
35 |
--------------------------------------------------------------------------------
/Drivers/CMSIS/Device/ST/STM32F4xx/Source/Templates/iar/linker/stm32f439xx_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__ = 0x081FFFFF;
9 | define symbol __ICFEDIT_region_RAM_start__ = 0x20000000;
10 | define symbol __ICFEDIT_region_RAM_end__ = 0x2002FFFF;
11 | define symbol __ICFEDIT_region_CCMRAM_start__ = 0x10000000;
12 | define symbol __ICFEDIT_region_CCMRAM_end__ = 0x1000FFFF;
13 | /*-Sizes-*/
14 | define symbol __ICFEDIT_size_cstack__ = 0x400;
15 | define symbol __ICFEDIT_size_heap__ = 0x200;
16 | /**** End of ICF editor section. ###ICF###*/
17 |
18 |
19 | define memory mem with size = 4G;
20 | define region ROM_region = mem:[from __ICFEDIT_region_ROM_start__ to __ICFEDIT_region_ROM_end__];
21 | define region RAM_region = mem:[from __ICFEDIT_region_RAM_start__ to __ICFEDIT_region_RAM_end__];
22 | define region CCMRAM_region = mem:[from __ICFEDIT_region_CCMRAM_start__ to __ICFEDIT_region_CCMRAM_end__];
23 |
24 | define block CSTACK with alignment = 8, size = __ICFEDIT_size_cstack__ { };
25 | define block HEAP with alignment = 8, size = __ICFEDIT_size_heap__ { };
26 |
27 | initialize by copy { readwrite };
28 | do not initialize { section .noinit };
29 |
30 | place at address mem:__ICFEDIT_intvec_start__ { readonly section .intvec };
31 |
32 | place in ROM_region { readonly };
33 | place in RAM_region { readwrite,
34 | block CSTACK, block HEAP };
--------------------------------------------------------------------------------
/Drivers/CMSIS/Device/ST/STM32F4xx/Source/Templates/iar/linker/stm32f439xx_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__ = 0x2001FFFF;
9 | define symbol __ICFEDIT_region_RAM_start__ = 0x20020000;
10 | define symbol __ICFEDIT_region_RAM_end__ = 0x2002FFFF;
11 | define symbol __ICFEDIT_region_CCMRAM_start__ = 0x10000000;
12 | define symbol __ICFEDIT_region_CCMRAM_end__ = 0x1000FFFF;
13 | /*-Sizes-*/
14 | define symbol __ICFEDIT_size_cstack__ = 0x400;
15 | define symbol __ICFEDIT_size_heap__ = 0x200;
16 | /**** End of ICF editor section. ###ICF###*/
17 |
18 |
19 | define memory mem with size = 4G;
20 | define region ROM_region = mem:[from __ICFEDIT_region_ROM_start__ to __ICFEDIT_region_ROM_end__];
21 | define region RAM_region = mem:[from __ICFEDIT_region_RAM_start__ to __ICFEDIT_region_RAM_end__];
22 | define region CCMRAM_region = mem:[from __ICFEDIT_region_CCMRAM_start__ to __ICFEDIT_region_CCMRAM_end__];
23 |
24 | define block CSTACK with alignment = 8, size = __ICFEDIT_size_cstack__ { };
25 | define block HEAP with alignment = 8, size = __ICFEDIT_size_heap__ { };
26 |
27 | initialize by copy { readwrite };
28 | do not initialize { section .noinit };
29 |
30 | place at address mem:__ICFEDIT_intvec_start__ { readonly section .intvec };
31 |
32 | place in ROM_region { readonly };
33 | place in RAM_region { readwrite,
34 | block CSTACK, block HEAP };
35 |
--------------------------------------------------------------------------------
/Drivers/CMSIS/Device/ST/STM32F4xx/Source/Templates/iar/linker/stm32f446xx_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__ = 0x0807FFFF;
9 | define symbol __ICFEDIT_region_RAM_start__ = 0x20000000;
10 | define symbol __ICFEDIT_region_RAM_end__ = 0x2001FFFF;
11 | /*-Sizes-*/
12 | define symbol __ICFEDIT_size_cstack__ = 0x400;
13 | define symbol __ICFEDIT_size_heap__ = 0x200;
14 | /**** End of ICF editor section. ###ICF###*/
15 |
16 |
17 | define memory mem with size = 4G;
18 | define region ROM_region = mem:[from __ICFEDIT_region_ROM_start__ to __ICFEDIT_region_ROM_end__];
19 | define region RAM_region = mem:[from __ICFEDIT_region_RAM_start__ to __ICFEDIT_region_RAM_end__];
20 |
21 | define block CSTACK with alignment = 8, size = __ICFEDIT_size_cstack__ { };
22 | define block HEAP with alignment = 8, size = __ICFEDIT_size_heap__ { };
23 |
24 | initialize by copy { readwrite };
25 | do not initialize { section .noinit };
26 |
27 | place at address mem:__ICFEDIT_intvec_start__ { readonly section .intvec };
28 |
29 | place in ROM_region { readonly };
30 | place in RAM_region { readwrite,
31 | block CSTACK, block HEAP };
--------------------------------------------------------------------------------
/Drivers/CMSIS/Device/ST/STM32F4xx/Source/Templates/iar/linker/stm32f446xx_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__ = 0x2000FFFF;
9 | define symbol __ICFEDIT_region_RAM_start__ = 0x20010000;
10 | define symbol __ICFEDIT_region_RAM_end__ = 0x2001FFFF;
11 | /*-Sizes-*/
12 | define symbol __ICFEDIT_size_cstack__ = 0x400;
13 | define symbol __ICFEDIT_size_heap__ = 0x200;
14 | /**** End of ICF editor section. ###ICF###*/
15 |
16 |
17 | define memory mem with size = 4G;
18 | define region ROM_region = mem:[from __ICFEDIT_region_ROM_start__ to __ICFEDIT_region_ROM_end__];
19 | define region RAM_region = mem:[from __ICFEDIT_region_RAM_start__ to __ICFEDIT_region_RAM_end__];
20 |
21 | define block CSTACK with alignment = 8, size = __ICFEDIT_size_cstack__ { };
22 | define block HEAP with alignment = 8, size = __ICFEDIT_size_heap__ { };
23 |
24 | initialize by copy { readwrite };
25 | do not initialize { section .noinit };
26 |
27 | place at address mem:__ICFEDIT_intvec_start__ { readonly section .intvec };
28 |
29 | place in ROM_region { readonly };
30 | place in RAM_region { readwrite,
31 | block CSTACK, block HEAP };
32 |
--------------------------------------------------------------------------------
/Drivers/CMSIS/Device/ST/STM32F4xx/Source/Templates/iar/linker/stm32f469xx_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__ = 0x081FFFFF;
9 | define symbol __ICFEDIT_region_RAM_start__ = 0x20000000;
10 | define symbol __ICFEDIT_region_RAM_end__ = 0x2004FFFF;
11 | define symbol __ICFEDIT_region_CCMRAM_start__ = 0x10000000;
12 | define symbol __ICFEDIT_region_CCMRAM_end__ = 0x1000FFFF;
13 | /*-Sizes-*/
14 | define symbol __ICFEDIT_size_cstack__ = 0x400;
15 | define symbol __ICFEDIT_size_heap__ = 0x200;
16 | /**** End of ICF editor section. ###ICF###*/
17 |
18 |
19 | define memory mem with size = 4G;
20 | define region ROM_region = mem:[from __ICFEDIT_region_ROM_start__ to __ICFEDIT_region_ROM_end__];
21 | define region RAM_region = mem:[from __ICFEDIT_region_RAM_start__ to __ICFEDIT_region_RAM_end__];
22 | define region CCMRAM_region = mem:[from __ICFEDIT_region_CCMRAM_start__ to __ICFEDIT_region_CCMRAM_end__];
23 |
24 | define block CSTACK with alignment = 8, size = __ICFEDIT_size_cstack__ { };
25 | define block HEAP with alignment = 8, size = __ICFEDIT_size_heap__ { };
26 |
27 | initialize by copy { readwrite };
28 | do not initialize { section .noinit };
29 |
30 | place at address mem:__ICFEDIT_intvec_start__ { readonly section .intvec };
31 |
32 | place in ROM_region { readonly };
33 | place in RAM_region { readwrite,
34 | block CSTACK, block HEAP };
--------------------------------------------------------------------------------
/Drivers/CMSIS/Device/ST/STM32F4xx/Source/Templates/iar/linker/stm32f469xx_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__ = 0x2003FFFF;
9 | define symbol __ICFEDIT_region_RAM_start__ = 0x20040000;
10 | define symbol __ICFEDIT_region_RAM_end__ = 0x2004FFFF;
11 | define symbol __ICFEDIT_region_CCMRAM_start__ = 0x10000000;
12 | define symbol __ICFEDIT_region_CCMRAM_end__ = 0x1000FFFF;
13 | /*-Sizes-*/
14 | define symbol __ICFEDIT_size_cstack__ = 0x400;
15 | define symbol __ICFEDIT_size_heap__ = 0x200;
16 | /**** End of ICF editor section. ###ICF###*/
17 |
18 |
19 | define memory mem with size = 4G;
20 | define region ROM_region = mem:[from __ICFEDIT_region_ROM_start__ to __ICFEDIT_region_ROM_end__];
21 | define region RAM_region = mem:[from __ICFEDIT_region_RAM_start__ to __ICFEDIT_region_RAM_end__];
22 | define region CCMRAM_region = mem:[from __ICFEDIT_region_CCMRAM_start__ to __ICFEDIT_region_CCMRAM_end__];
23 |
24 | define block CSTACK with alignment = 8, size = __ICFEDIT_size_cstack__ { };
25 | define block HEAP with alignment = 8, size = __ICFEDIT_size_heap__ { };
26 |
27 | initialize by copy { readwrite };
28 | do not initialize { section .noinit };
29 |
30 | place at address mem:__ICFEDIT_intvec_start__ { readonly section .intvec };
31 |
32 | place in ROM_region { readonly };
33 | place in RAM_region { readwrite,
34 | block CSTACK, block HEAP };
35 |
--------------------------------------------------------------------------------
/Drivers/CMSIS/Device/ST/STM32F4xx/Source/Templates/iar/linker/stm32f479xx_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__ = 0x081FFFFF;
9 | define symbol __ICFEDIT_region_RAM_start__ = 0x20000000;
10 | define symbol __ICFEDIT_region_RAM_end__ = 0x2004FFFF;
11 | define symbol __ICFEDIT_region_CCMRAM_start__ = 0x10000000;
12 | define symbol __ICFEDIT_region_CCMRAM_end__ = 0x1000FFFF;
13 | /*-Sizes-*/
14 | define symbol __ICFEDIT_size_cstack__ = 0x400;
15 | define symbol __ICFEDIT_size_heap__ = 0x200;
16 | /**** End of ICF editor section. ###ICF###*/
17 |
18 |
19 | define memory mem with size = 4G;
20 | define region ROM_region = mem:[from __ICFEDIT_region_ROM_start__ to __ICFEDIT_region_ROM_end__];
21 | define region RAM_region = mem:[from __ICFEDIT_region_RAM_start__ to __ICFEDIT_region_RAM_end__];
22 | define region CCMRAM_region = mem:[from __ICFEDIT_region_CCMRAM_start__ to __ICFEDIT_region_CCMRAM_end__];
23 |
24 | define block CSTACK with alignment = 8, size = __ICFEDIT_size_cstack__ { };
25 | define block HEAP with alignment = 8, size = __ICFEDIT_size_heap__ { };
26 |
27 | initialize by copy { readwrite };
28 | do not initialize { section .noinit };
29 |
30 | place at address mem:__ICFEDIT_intvec_start__ { readonly section .intvec };
31 |
32 | place in ROM_region { readonly };
33 | place in RAM_region { readwrite,
34 | block CSTACK, block HEAP };
--------------------------------------------------------------------------------
/Drivers/CMSIS/Device/ST/STM32F4xx/Source/Templates/iar/linker/stm32f479xx_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__ = 0x2003FFFF;
9 | define symbol __ICFEDIT_region_RAM_start__ = 0x20040000;
10 | define symbol __ICFEDIT_region_RAM_end__ = 0x2004FFFF;
11 | define symbol __ICFEDIT_region_CCMRAM_start__ = 0x10000000;
12 | define symbol __ICFEDIT_region_CCMRAM_end__ = 0x1000FFFF;
13 | /*-Sizes-*/
14 | define symbol __ICFEDIT_size_cstack__ = 0x400;
15 | define symbol __ICFEDIT_size_heap__ = 0x200;
16 | /**** End of ICF editor section. ###ICF###*/
17 |
18 |
19 | define memory mem with size = 4G;
20 | define region ROM_region = mem:[from __ICFEDIT_region_ROM_start__ to __ICFEDIT_region_ROM_end__];
21 | define region RAM_region = mem:[from __ICFEDIT_region_RAM_start__ to __ICFEDIT_region_RAM_end__];
22 | define region CCMRAM_region = mem:[from __ICFEDIT_region_CCMRAM_start__ to __ICFEDIT_region_CCMRAM_end__];
23 |
24 | define block CSTACK with alignment = 8, size = __ICFEDIT_size_cstack__ { };
25 | define block HEAP with alignment = 8, size = __ICFEDIT_size_heap__ { };
26 |
27 | initialize by copy { readwrite };
28 | do not initialize { section .noinit };
29 |
30 | place at address mem:__ICFEDIT_intvec_start__ { readonly section .intvec };
31 |
32 | place in ROM_region { readonly };
33 | place in RAM_region { readwrite,
34 | block CSTACK, block HEAP };
35 |
--------------------------------------------------------------------------------
/Drivers/CMSIS/Include/BUILD:
--------------------------------------------------------------------------------
1 | cc_library(
2 | name = "cmsis_includes",
3 | hdrs = [
4 | "arm_common_tables.h",
5 | "arm_const_structs.h",
6 | "arm_math.h",
7 | "cmsis_armcc.h",
8 | "cmsis_armcc_V6.h",
9 | "cmsis_gcc.h",
10 | "core_cm0.h",
11 | "core_cm0plus.h",
12 | "core_cm3.h",
13 | "core_cm4.h",
14 | "core_cm7.h",
15 | "core_cmFunc.h",
16 | "core_cmInstr.h",
17 | "core_cmSimd.h",
18 | "core_sc000.h",
19 | "core_sc300.h",
20 | ],
21 | includes = ["."],
22 | visibility = ["//visibility:public"],
23 | )
24 |
25 |
--------------------------------------------------------------------------------
/Drivers/CMSIS/Lib/GCC/libarm_cortexM4l_math.a:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pedrokiefer/rules_stm32/adbc85a48dd5d5ab404d8eb3fa2b9ed15ede1523/Drivers/CMSIS/Lib/GCC/libarm_cortexM4l_math.a
--------------------------------------------------------------------------------
/Drivers/CMSIS/Lib/GCC/libarm_cortexM4lf_math.a:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pedrokiefer/rules_stm32/adbc85a48dd5d5ab404d8eb3fa2b9ed15ede1523/Drivers/CMSIS/Lib/GCC/libarm_cortexM4lf_math.a
--------------------------------------------------------------------------------
/Drivers/CMSIS/Lib/license.txt:
--------------------------------------------------------------------------------
1 | All pre-build libraries contained in the folders "ARM" and "GCC"
2 | are guided by the following license:
3 |
4 | Copyright (C) 2009-2014 ARM Limited.
5 | All rights reserved.
6 |
7 | Redistribution and use in source and binary forms, with or without
8 | modification, are permitted provided that the following conditions are met:
9 | - Redistributions of source code must retain the above copyright
10 | notice, this list of conditions and the following disclaimer.
11 | - Redistributions in binary form must reproduce the above copyright
12 | notice, this list of conditions and the following disclaimer in the
13 | documentation and/or other materials provided with the distribution.
14 | - Neither the name of ARM nor the names of its contributors may be used
15 | to endorse or promote products derived from this software without
16 | specific prior written permission.
17 |
18 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
19 | AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
20 | IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
21 | ARE DISCLAIMED. IN NO EVENT SHALL COPYRIGHT HOLDERS AND CONTRIBUTORS BE
22 | LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
23 | CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
24 | SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
25 | INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
26 | CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
27 | ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
28 | POSSIBILITY OF SUCH DAMAGE.
29 |
--------------------------------------------------------------------------------
/Drivers/CMSIS/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |