Easyelectronics.ru

Электроника для всех
Текущее время: 17 ноя 2017, 22:34

Часовой пояс: UTC + 5 часов



    • 10 шт. 2-слоя 100*100mm 2$. Быстрый заказ: JLCPCB.com
    • JLCPCB - это крупнейшая фабрика PCB прототипов в Китае.
    • Имеющий более 290,000 клиентов и выполняющий более 8,000 заказов в день.
    • LCSC - Крупнейший китайский онлайн магазин радиодеталей.

Начать новую тему Ответить на тему  [ Сообщений: 5 ] 
Автор Сообщение
 Заголовок сообщения: Зависания МК 8051F580 от Silicon Labs
СообщениеДобавлено: 03 апр 2016, 22:09 
Старожил
Аватара пользователя

Зарегистрирован: 28 сен 2012, 22:11
Сообщения: 291
Откуда: г.Таганрог/г.Геленджик/г.Одесса
Вечер добрый.
Пишу прошивку под МК 8051F580 и столкнулся со следующей проблемой. Когда количество объявленных глобально переменных превышает некоторое число, МК перестает работать. При этом Keil не ругается и в симуляторе прога работает. Судя по отладчику, после запуска МК прога не переходит на секцию функции main(). Собственно вопрос, в чем причина зависания и как с этим бороться? Не уменьшать же количество переменных при таком солидном объеме памяти? Тем более и так беру их по минимуму возможного. Ни в AVR, ни в STM с такой проблемой не встречался.

_________________
Количество полученного опыта прямо пропорционально выведенному из строя оборудованию....


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Зависания МК 8051F580 от Silicon Labs
СообщениеДобавлено: 04 апр 2016, 18:48 
Старожил
Аватара пользователя

Зарегистрирован: 28 сен 2012, 22:11
Сообщения: 291
Откуда: г.Таганрог/г.Геленджик/г.Одесса
Например вот с этим работает:
Код:
uint8_t len = 0, but = 0, ip[4] = {192, 168, 1, 1}, temp_ip[4] = {0, 0, 0, 0}, gate[4] = {192, 168, 1, 5}, mask[4] = {255, 255, 255, 0};
uint16_t temp_Port = 0, Port = 10001;
//const uint8_t str[23] = "~HELLO! W5500 works!!!^";
uint8_t xdata read_buf[50], INTPT = 0;
uint8_t RX_S[3] = {0, 0, 0};

uint8_t time_cnt[2] = {0, 0}, eep_buf[4];

uint8_t alarm_int = 0;
uint32_t time = 0;
uint16_t temp_cnt = 0, cur_cnt = 0, set_state = 0;

uint8_t ALARM = 0, IGBT = 0, Work = 0, Start = 0, Protect = 0, BLOCK_CHECK = 0;


А стоит добавить:
Код:
uint16_t Ua = 0;

и МК не стартует.

_________________
Количество полученного опыта прямо пропорционально выведенному из строя оборудованию....


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Зависания МК 8051F580 от Silicon Labs
СообщениеДобавлено: 04 апр 2016, 19:23 
Старожил
Аватара пользователя

Зарегистрирован: 28 сен 2012, 22:11
Сообщения: 291
Откуда: г.Таганрог/г.Геленджик/г.Одесса
Пока выяснилось, что если убрать присвоение значений в объявлении переменных, то МК стартует нормально. Видимо, проблема исчерпана.

_________________
Количество полученного опыта прямо пропорционально выведенному из строя оборудованию....


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Зависания МК 8051F580 от Silicon Labs
СообщениеДобавлено: 05 апр 2016, 00:32 
Старожил
Аватара пользователя

Зарегистрирован: 28 сен 2012, 22:11
Сообщения: 291
Откуда: г.Таганрог/г.Геленджик/г.Одесса
Я для надежности обычно прописываю в них нули при объявлении, и в других МК с этим проблем не было. Тут первый раз столкнулся.

_________________
Количество полученного опыта прямо пропорционально выведенному из строя оборудованию....


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Зависания МК 8051F580 от Silicon Labs
СообщениеДобавлено: 05 апр 2016, 13:39 
Старожил
Аватара пользователя

Зарегистрирован: 28 сен 2012, 22:11
Сообщения: 291
Откуда: г.Таганрог/г.Геленджик/г.Одесса
Да, век живи - век учись :) Спасибо за подсказку :)

_________________
Количество полученного опыта прямо пропорционально выведенному из строя оборудованию....


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 5 ] 

Часовой пояс: UTC + 5 часов


Кто сейчас на конференции

Сейчас этот форум просматривают: Tronix


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  

Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB