|
Входит ли файл regxxxx.h в объём программы ? |
|
|
|
Jan 4 2009, 06:37
|
Участник

Группа: Участник
Сообщений: 31
Регистрация: 4-01-09
Из: Владивосток
Пользователь №: 42 911

|
Доброго времени суток! Хочу освоить С51, в частности например P89LPC9107, в даташите написано, что память программ - 1кВ (4 страницы по 256 байт), Но если писать к нему прогу, например в Кейле, то там только #include <REG9107.H> уже больше двух килобайт весит, и соответственно, .НЕХ код получается почти 4 кВ??? Как такое возможно, и как его прошивать? Заранее извиняюсь за незнание
--------------------
висячий монтаж -> лак - > ЦЛ - > ЛУТ - > ФР - > ? оу -> стабилизаторы - > драйверы -> микроконтроллеры - > ?
|
|
|
|
|
 |
Ответов
|
Jan 4 2009, 07:54
|
Знающий
   
Группа: Свой
Сообщений: 526
Регистрация: 5-08-05
Пользователь №: 7 390

|
Цитата(TeddyIn @ Jan 4 2009, 09:37)  там только #include <REG9107.H> уже больше двух килобайт весит, и соответственно, .НЕХ код получается почти 4 кВ??? Как такое возможно, и как его прошивать? #include <REG9107.H> - это грубо говоря привязки символьных имен к конкретным адресам в контроллере. Размер этого файла на размер hex влиять не должен. Минимальный размер можно посмотреть если собрать проект с одним С файлом: Код #include <REG9107.H>
void main(void) { for(;;); } тогда размер .НЕХ будет зависеть только от размера стартап-кода.
|
|
|
|
|
Jan 4 2009, 08:14
|
Участник

Группа: Участник
Сообщений: 31
Регистрация: 4-01-09
Из: Владивосток
Пользователь №: 42 911

|
Цитата(psL @ Jan 4 2009, 17:54)  #include <REG9107.H> - это грубо говоря привязки символьных имен к конкретным адресам в контроллере. Размер этого файла на размер hex влиять не должен. Минимальный размер можно посмотреть если собрать проект с одним С файлом: Код #include <REG9107.H>
void main(void) { for(;;); } тогда размер .НЕХ будет зависеть только от размера стартап-кода. Спасибо, действительно, 136 В получилось, да и ещё на схем.нет говорят, что BIN файл должен быть меньше, чем НЕХ. Тогда вот еще же есть всякие stdio, math ... - они то уж влияют на размер? (хотя щас сам посмотрю) Ан нет, добавил STDIO.H, размер тот же ))
Сообщение отредактировал TeddyIn - Jan 4 2009, 08:12
--------------------
висячий монтаж -> лак - > ЦЛ - > ЛУТ - > ФР - > ? оу -> стабилизаторы - > драйверы -> микроконтроллеры - > ?
|
|
|
|
|
Jan 4 2009, 18:12
|
Гуру
     
Группа: Свой
Сообщений: 10 920
Регистрация: 5-04-05
Пользователь №: 3 882

|
Цитата(TeddyIn @ Jan 4 2009, 13:14)  на схем.нет говорят, что BIN файл должен быть меньше, чем НЕХ. Прошивка в формате BIN имеет тот же размер, что и прошивка в памяти программ микроконтроллера. А файл в формате (Intel) HEX это всего лишь специальный формат представления данных той же прошивки. Если прошивка представляет из себя непрерывную область памяти (в противном случае вовсе не обязательно, что следующее утверждение справедливо), то HEX-файл на диске вашего компьютера конечно же больше места займет. Но в процессе загрузки его в память программ микроконтроллера он преобразуется в тот же размер, что и BIN. Есть специальные утилиты BIN2HEX и HEX2BIN для преобразования файлов из одного формата в другой. Найти их можно, например, на сайте Keil. Так что по большому счету для вас нет особой разницы в каком формате будет представлена прошивка.
|
|
|
|
|
Jan 6 2009, 19:09
|
Участник

Группа: Участник
Сообщений: 31
Регистрация: 4-01-09
Из: Владивосток
Пользователь №: 42 911

|
Спасибо  , скачал сейчас, и действительно, размер BIN файла почти в 3 раза меньше, чем HEX-80, который создаёт Keil! Что собственно очень сильно радует
--------------------
висячий монтаж -> лак - > ЦЛ - > ЛУТ - > ФР - > ? оу -> стабилизаторы - > драйверы -> микроконтроллеры - > ?
|
|
|
|
Сообщений в этой теме
TeddyIn Входит ли файл regxxxx.h в объём программы ? Jan 4 2009, 06:37 Alex11 Сами заголовочные файлы не влияют на размер, как В... Jan 4 2009, 09:02 TeddyIn Не могу найти в даташите к проге, в чем сии цифры ... Jan 6 2009, 19:17 DeadMoroz 1я - в байт.бит (т.к переменные также можно размещ... Jan 6 2009, 23:38 TeddyIn ок Jan 7 2009, 11:34 TeddyIn У кого нибудь такое было - если его запустить - о... Jan 7 2009, 12:04 TeddyIn Да да да ), так и есть - загнал вместо аналайзера ... Jan 7 2009, 13:23 тау У кейла всё что касается printf scanf и имхо putch... Jan 7 2009, 13:30 TeddyIn Цитата(тау @ Jan 7 2009, 23:30) видимо пе... Jan 7 2009, 14:16 тау Цитатаа что это значит? не давая им где выполнятьс... Jan 7 2009, 14:24 Сергей Борщ Цитата(тау @ Jan 7 2009, 16:24) огромные,... Jan 7 2009, 16:15 TeddyIn Оригинально гы )
но я UART пока не планирую пользо... Jan 7 2009, 17:00
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|