Dw3000 Example 06e 06f question

When I run example 06e and 06f , I just can measure distance once. Then the responder occur ERROR AES. When I rest the initiator, the initiator can measure distance again, but just also once.

What could be wrong?

I use DW3xxx Device Driver Version 06.00.xx.

When I add const attribute to static dwt_aes_key_t keys_options[NUM_OF_KEY_OPTIONS], the examples run correctly.

static const dwt_aes_key_t keys_options[NUM_OF_KEY_OPTIONS] = {{0x00010203, 0x04050607, 0x08090A0B, 0x0C0D0E0F, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
                                                         {0x11223344, 0x55667788, 0x99AABBCC, 0xDDEEFF00, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
                                                         {0xFFEEDDCC, 0xBBAA9988, 0x77665544, 0x33221100, 0x00000000, 0x00000000, 0x00000000, 0x00000000}};

I guess somewhere in the program keys_options is modified.

I think the parameter dwt_aes_key_t *aes_key_ptr in fun rx_aes_802_15_4() also should add const attribute.

aes_results_e rx_aes_802_15_4(mac_frame_802_15_4_format_t *mac_frame_ptr, uint16_t frame_length, dwt_aes_job_t *aes_job, uint16_t max_payload,
                              const dwt_aes_key_t *aes_key_ptr, uint64_t exp_src_addr, uint64_t exp_dst_addr, dwt_aes_config_t *aes_config);