Easyelectronics.ru

Электроника для всех
Текущее время: 13 апр 2021, 10:02

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



JLCPCB – Прототипы печатных плат за $2/5шт. два слоя. $5/5шт. четыре слоя
Крупнейший производитель печатных плат и прототипов. Более 600000 клиентов и свыше 10000 заказов в день!
Получите скидку на почтовую отправку при первом заказе в JLCPCB!

Начать новую тему Ответить на тему  [ Сообщений: 5 ] 
Автор Сообщение
 Заголовок сообщения: Компилятор забивает память нулями...
СообщениеДобавлено: 05 июл 2011, 20:29 
Здравствуйте!

Зарегистрирован: 05 июл 2011, 12:56
Сообщения: 3
Сделал свой первый проект в KeiluVision. Написал на С++ простенькую программулину для AT89C2051, отладил, в Proteuse все работает как надо. Но обнаружилось, что НЕХ имеет длину почти 3 КВ, при том, что длина кода 982 байта. Посмотрел карту Code Memory и оказалось, что начиная с адреса 0003h до адреса 0800h все заполнено нулями. Называется эта гирлянда нулей гордым именем *GAP*. Весь остальной код располагается за этим *GAP*. Естественно, в 2К Flash 2051-й не влезает. Я в Keilе новичок, внятной литературы, как на этом форуме уже писалось, нет. Пробовал менять настройки Keilа - не помогло. 4 дня бороздил Интернет - глухо. Как бороться с такой засадой?
Результат компиляции:

MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 806 ----
CONSTANT SIZE = ---- ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = 4 ----
C51 COMPILER V9.00 C_PROB_3
IDATA SIZE = ---- ----
BIT SIZE = 10 ----
END OF MODULE INFORMATION.

C51 COMPILATION COMPLETE. 0 WARNING(S), 0 ERROR(S)

LINK MAP OF MODULE: C_prob 3 (C_PROB_3)

TYPE BASE LENGTH RELOCATION SEGMENT NAME
-----------------------------------------------------

* * * * * * * D A T A M E M O R Y * * * * * * *
REG 0000H 0008H ABSOLUTE "REG BANK 0"
DATA 0008H 0004H UNIT ?DT?C_PROB_3
000CH 0014H *** GAP ***
BIT 0020H.0 0001H.2 UNIT ?BI?C_PROB_3
0021H.2 0000H.6 *** GAP ***
IDATA 0022H 0001H UNIT ?STACK

* * * * * * * C O D E M E M O R Y * * * * * * *
CODE 0000H 0003H ABSOLUTE
0003H 07FDH *** GAP ***
CODE 0800H 0204H INBLOCK ?PR?MAIN?C_PROB_3
CODE 0A04H 008CH UNIT ?C_C51STARTUP
CODE 0A90H 0026H INBLOCK ?PR?BLINK_2_HL1?C_PROB_3
CODE 0AB6H 0026H INBLOCK ?PR?BLINK_2_HL2?C_PROB_3
CODE 0ADCH 0021H INBLOCK ?PR?OP_TK1?C_PROB_3
CODE 0AFDH 0021H INBLOCK ?PR?OP_TK2?C_PROB_3
CODE 0B1EH 0021H INBLOCK ?PR?OP_PNP1?C_PROB_3
CODE 0B3FH 0021H INBLOCK ?PR?OP_PNP2?C_PROB_3
CODE 0B60H 0021H UNIT ?C_INITSEG
CODE 0B81H 0019H INBLOCK ?PR?BLINK_1_HL1?C_PROB_3
CODE 0B9AH 0019H INBLOCK ?PR?BLINK_1_HL2?C_PROB_3
CODE 0BB3H 0010H INBLOCK ?PR?OP_BUT1?C_PROB_3
CODE 0BC3H 0010H INBLOCK ?PR?OP_BUT2?C_PROB_3


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Компилятор забивает память нулями...
СообщениеДобавлено: 01 сен 2011, 20:47 
Здравствуйте!

Зарегистрирован: 05 июл 2011, 12:56
Сообщения: 3
Тему можно закрывать.
За месяц ни одного ответа. Видимо, тяжелый случай.
Переделал проект на TINY2313, благо цоколевки одинаковые, за 4 часа получил то, на что 51-й потребовал более месяца (к тому же безуспешно). В топку эти 51-е!!!


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Компилятор забивает память нулями...
СообщениеДобавлено: 01 сен 2011, 21:51 
Старожил
Аватара пользователя

Зарегистрирован: 11 мар 2010, 12:44
Сообщения: 1165
Откуда: Default city
Попробую посоветовать использовать GCС, там всё настраиваемо...

_________________
Не дай Бог увидеть нубский ЛУТ, бессмысленный и беспощадный
В МК "на порядок" - это "в два раза"


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Компилятор забивает память нулями...
СообщениеДобавлено: 02 сен 2011, 00:24 
Старожил

Зарегистрирован: 22 мар 2010, 22:54
Сообщения: 3995
и в кейле настраиваемо, будьте уверены. просто никто не знает и не хочет читать доки.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Компилятор забивает память нулями...
СообщениеДобавлено: 02 сен 2011, 10:16 
Старожил
Аватара пользователя

Зарегистрирован: 20 авг 2010, 14:14
Сообщения: 1616
Откуда: Рэшен Федерэшн
Я, например, с такой хренью не встречался, поэтому мне, чтобы поковырять проблему, нужны исходники. Исходников нет, только вопрос - соотв. нет ответа.
Ratmir писал(а):
Переделал проект на TINY2313, благо цоколевки одинаковые, за 4 часа получил то, на что 51-й потребовал более месяца (к тому же безуспешно). В топку эти 51-е!!!

Конечно, готовый проект быстрее перелопатить под другой МК нежели писать с нуля, а то что безуспешно, так в этом 51й не виноват, сам чего то не додумал, может стартап код не вырезал из проекта, может в настр. проекта чего то не то...


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


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


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

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


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

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

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