Easyelectronics.ru

Электроника для всех
Текущее время: 24 апр 2017, 18:14

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



    • Изготовление печатных плат. Примерные цены: 10 штук 2-слоя 100*100mm 8.21$ или около ~470 рублей
    • Создание принципиальных схем и проектирование печатных плат
    • Симуляция работы на spice моделях
    • Просмотр GERBER файлов

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

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

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


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

Зарегистрирован: 28 сен 2012, 22:11
Сообщения: 271
Откуда: г.Таганрог/г.Геленджик/г.Одесса
Например вот с этим работает:
Код:
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
Сообщения: 271
Откуда: г.Таганрог/г.Геленджик/г.Одесса
Пока выяснилось, что если убрать присвоение значений в объявлении переменных, то МК стартует нормально. Видимо, проблема исчерпана.

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


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

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

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


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

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

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


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

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


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

Сейчас этот форум просматривают: нет зарегистрированных пользователей


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

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

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