|
Не могу понять природу исключения |
|
|
|
Jun 5 2018, 13:39
|
Профессионал
    
Группа: Участник
Сообщений: 1 778
Регистрация: 29-03-12
Пользователь №: 71 075

|
Есть функция в которой вызывается другая функция Код d_RangeToTarget = round_int16(s1553_AH64A_Conv.Range_AID, 1.0); при попадании на эту строчку контролер уходит в исключение и я не могу отследить причину так как я не могу даже сделать Step Into.сама функция ничего особобенного не представляет Код double round_int16(double num2rnd, double scale) { double l_temp_mod = 0, l_num_after_rnd = 0, l_temp_mod2 = 0, temp_scale =0; //int32_t num_int =0; //num_int = (uint32_t)num2rnd;
//l_temp_mod = fmod(num2rnd, scale);
if(l_temp_mod < 0.0) { l_temp_mod2 = l_temp_mod * (-1.0); temp_scale = scale * (-1.0); } else { l_temp_mod2 = l_temp_mod; temp_scale = scale; }
if ((l_temp_mod2)>= (scale/2)) l_num_after_rnd = num2rnd- (l_temp_mod) + temp_scale; else l_num_after_rnd = num2rnd- l_temp_mod;
return l_num_after_rnd; } как можно отследить проблему?
Сообщение отредактировал Jenya7 - Jun 5 2018, 13:40
|
|
|
|
|
 |
Ответов
|
Jun 5 2018, 14:34
|
Профессионал
    
Группа: Участник
Сообщений: 1 778
Регистрация: 29-03-12
Пользователь №: 71 075

|
Цитата(aaarrr @ Jun 5 2018, 19:49)  После попадания в исключение можно узнать адрес из стекфрейма (контроллер по умолчанию - Cortex-M, ага). Но я бы прежде всего посмотрел определение s1553_AH64A_Conv.Range_AID, очень вероятно, что выполняется чтение двойного слова с недопустимым выравниванием. да. Cortex-М4ю вроде все нормально Код typedef struct { double Range_AID; ........................... .......................... } muxbus_sDataAfterConvert_AH64A_messages;
muxbus_sDataAfterConvert_AH64A_messages s1553_AH64A_Conv; View -> Call Stack показывает вхождение в эту функцию и все - никакой индикации.
Сообщение отредактировал Jenya7 - Jun 5 2018, 14:35
|
|
|
|
Сообщений в этой теме
Jenya7 Не могу понять природу исключения Jun 5 2018, 13:39    aaarrr Цитата(Jenya7 @ Jun 5 2018, 18:16) SP = 0... Jun 5 2018, 15:26     Jenya7 Цитата(aaarrr @ Jun 5 2018, 21:26) А если... Jun 5 2018, 15:41      aaarrr Цитата(Jenya7 @ Jun 5 2018, 18:41) извиня... Jun 5 2018, 16:05 k155la3 Вынесите функцию из параметра.
Вместо функции ... Jun 6 2018, 08:09 Jenya7 Цитата(k155la3 @ Jun 6 2018, 14:09) Вынес... Jun 6 2018, 08:41  Сергей Борщ QUOTE (Jenya7 @ Jun 6 2018, 11:41) на стр... Jun 6 2018, 11:08   Jenya7 Цитата(Сергей Борщ @ Jun 6 2018, 16:08) О... Jun 6 2018, 11:33    aaarrr Цитата(Jenya7 @ Jun 6 2018, 14:33) debug2... Jun 6 2018, 13:18 k155la3 Если обычный стек - может "зашкал" ? Ил... Jun 6 2018, 10:17 k155la3 По map-файлу проверьте еще где (адреса) размещена ... Jun 6 2018, 12:10 Jenya7 странно. при вхождении в эту функцию я получаю соо... Jun 6 2018, 14:23 aaarrr Цитата(Jenya7 @ Jun 6 2018, 17:23) там на... Jun 6 2018, 15:21  Jenya7 Цитата(aaarrr @ Jun 6 2018, 20:21) С адре... Jun 6 2018, 15:30 k155la3 Посмотрите в опциях проекта Linker - Advanced, ни... Jun 6 2018, 15:35 Jenya7 Цитата(k155la3 @ Jun 6 2018, 20:35) Посмо... Jun 7 2018, 04:37  k155la3 Цитата(Jenya7 @ Jun 7 2018, 07:37) брэкпо... Jun 7 2018, 05:07   Jenya7 Цитата(k155la3 @ Jun 7 2018, 10:07) Посмо... Jun 10 2018, 05:39    aaarrr Цитата(Jenya7 @ Jun 10 2018, 08:39) полна... Jun 10 2018, 07:06     Jenya7 Цитата(aaarrr @ Jun 10 2018, 12:06) А FPU... Jun 10 2018, 07:48      aaarrr Цитата(Jenya7 @ Jun 10 2018, 10:48) Вопро... Jun 10 2018, 08:06       Jenya7 Цитата(aaarrr @ Jun 10 2018, 13:06) Не зн... Jun 10 2018, 08:21      k155la3 Цитата(Jenya7 @ Jun 10 2018, 10:48) . . .... Jun 11 2018, 08:32       Jenya7 Цитата(k155la3 @ Jun 11 2018, 13:32) Посм... Jun 12 2018, 08:15
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|