Реклама на сайте English version  DatasheetsDatasheets

KAZUS.RU - Электронный портал. Принципиальные схемы, Datasheets, Форум по электронике

Новости электроники Новости Литература, электронные книги Литература Документация, даташиты Документация Поиск даташитов (datasheets)Поиск PDF
  От производителей
Новости поставщиков
В мире электроники

  Сборник статей
Электронные книги
FAQ по электронике

  Datasheets
Поиск SMD
Он-лайн справочник

Принципиальные схемы Схемы Каталоги программ, сайтов Каталоги Общение, форум Общение Ваш аккаунтАккаунт
  Каталог схем
Избранные схемы
FAQ по электронике
  Программы
Каталог сайтов
Производители электроники
  Форумы по электронике
Помощь проекту


 
Опции темы
Непрочитано 08.03.2014, 19:47  
niXto
Почётный гражданин KAZUS.RU
 
Аватар для niXto
 
Регистрация: 13.10.2007
Адрес: Беларусь
Сообщений: 8,048
Сказал спасибо: 60
Сказали Спасибо 3,954 раз(а) в 2,309 сообщении(ях)
niXto на пути к лучшему
По умолчанию Re: IAR Embedded Workbench

Откройте хекс-файл, там слева специальный счетчик байт. Нужно только перевести в десятичный вид
Реклама:
niXto вне форума  
Непрочитано 08.03.2014, 19:54  
_Артём_
Гражданин KAZUS.RU
 
Регистрация: 16.03.2011
Сообщений: 486
Сказал спасибо: 8
Сказали Спасибо 131 раз(а) в 116 сообщении(ях)
_Артём_ на пути к лучшему
По умолчанию Re: IAR Embedded Workbench

Сообщение от gary2007 Посмотреть сообщение
Где правда и какова длина кода на самом деле?
Истинная длина - та, которая наибольшая.
main.lst - это только то, что из main.c вошло в программу. А есть же ещё startup и вектора. К тому же main.lst - листинг компилятора, а итоговый размер даёт линкер. Что говорится в выводе после "Linking
...."?

P.S. Зачем в map лезть чтобы размер посмотреть? Можно выдь в IDE увидеть всё.
P.S. 2. Таблицу векторов тоже можно почикать - экономия в размере. Правда небольшая в случае тинки.
_Артём_ вне форума  
Непрочитано 08.03.2014, 20:39  
gary2007
Почётный гражданин KAZUS.RU
 
Аватар для gary2007
 
Регистрация: 24.09.2007
Адрес: Полтава, UA
Сообщений: 2,450
Сказал спасибо: 376
Сказали Спасибо 1,060 раз(а) в 624 сообщении(ях)
gary2007 на пути к лучшему
По умолчанию Re: IAR Embedded Workbench

niXto, последние строчки хекса надо смотреть?
Код:
:1003C00019F0F901EDDF01C0E6DF049610E0883195
:1003D000910768F3089500000000FFFF000000008F
:0703E0000000000000000016
:00000001FF
:00000001FF
3E0 = 992 байт

_Артём_ где смотреть в IDE?
в закладке BUILD при Make пишет:
Код:
Building configuration: 
Updating build tree... 
 
2  file(s) deleted. 
Updating build tree... 
main.c  
Linking 
 
Total number of errors: 0 
Total number of warnings: 0
Вся программа "сбита" в один файл main.c
извне только два инклюда
#include ‹ioavr.h›
#include ‹intrinsics.h›

Дудка под программатором пишет лог:
Цитата:
.hex contains 1000 bytes
avrdude.exe: reading on-chip flash data:
__________________
Мелочи не решают главного. Они решают всё!

Последний раз редактировалось gary2007; 08.03.2014 в 20:48.
gary2007 вне форума  
Непрочитано 08.03.2014, 21:04  
_Артём_
Гражданин KAZUS.RU
 
Регистрация: 16.03.2011
Сообщений: 486
Сказал спасибо: 8
Сказали Спасибо 131 раз(а) в 116 сообщении(ях)
_Артём_ на пути к лучшему
По умолчанию Re: IAR Embedded Workbench

Сообщение от gary2007 Посмотреть сообщение
niXto
Код:
:0703E0000000000000000016
:00000001FF
:00000001FF
3E0 = 992 байт
Можно и так. 3E0 + 7 = 999 -почти 1000.
Сообщение от gary2007 Посмотреть сообщение
_Артём_ где смотреть в IDE?
в закладке BUILD при Make пишет:
[CODE]Building configuration:
Updating build tree...

2 file(s) deleted.
Updating build tree...
main.c
Linking
Попробуйте так:
Нажмите на изображение для увеличения
Название: iar_ide_build_output.JPG
Просмотров: 37
Размер:	34.7 Кб
ID:	60299

Сообщение от gary2007 Посмотреть сообщение
#include ‹ioavr.h›
#include ‹intrinsics.h›
Но startup и вектора тоже есть...main - не вся программа.
_Артём_ вне форума  
Непрочитано 08.03.2014, 21:40  
gary2007
Почётный гражданин KAZUS.RU
 
Аватар для gary2007
 
Регистрация: 24.09.2007
Адрес: Полтава, UA
Сообщений: 2,450
Сказал спасибо: 376
Сказали Спасибо 1,060 раз(а) в 624 сообщении(ях)
gary2007 на пути к лучшему
По умолчанию Re: IAR Embedded Workbench

Сообщение от _Артём_ Посмотреть сообщение
:0703E0000000000000000016
Т.е. все таки по хексу надо два поля складывать 07 и 03E0.
Это наверно проще всего, потому что после тех установок что предложили Вы, теперь в закладке Build пишется то же что и в MAP-файле:
Цитата:
987 bytes of CODE memory (+ 12 range fill )
Кстати, что такое 12 range fill ?
__________________
Мелочи не решают главного. Они решают всё!
gary2007 вне форума  
Непрочитано 08.03.2014, 22:01  
_Артём_
Гражданин KAZUS.RU
 
Регистрация: 16.03.2011
Сообщений: 486
Сказал спасибо: 8
Сказали Спасибо 131 раз(а) в 116 сообщении(ях)
_Артём_ на пути к лучшему
По умолчанию Re: IAR Embedded Workbench

Сообщение от gary2007 Посмотреть сообщение
Т.е. все таки по хексу надо два поля складывать 07 и 03E0.
Это логично,ведь 03E0 - адрес первого байта.
Сообщение от gary2007 Посмотреть сообщение
Вы, теперь в закладке Build пишется то же что и в MAP-файле:
Ну да - не надо файл искать. Посмлтрел вывод и всё ясно.
Сообщение от gary2007 Посмотреть сообщение
Кстати, что такое 12 range fill ?
Видимо линкер заполнил 12 байт чем-то...Наверное неиспользуемые вектора командой RETI (есть такая галочка). А может ещё чем-то.
_Артём_ вне форума  
Непрочитано 08.03.2014, 22:31  
niXto
Почётный гражданин KAZUS.RU
 
Аватар для niXto
 
Регистрация: 13.10.2007
Адрес: Беларусь
Сообщений: 8,048
Сказал спасибо: 60
Сказали Спасибо 3,954 раз(а) в 2,309 сообщении(ях)
niXto на пути к лучшему
По умолчанию Re: IAR Embedded Workbench

Сообщение от _Артём_ Посмотреть сообщение
Можно и так. 3E0 + 7 = 999 -почти 1000.
999 не может быть в принципе, т.к. у АВР 16-битная организация ПЗУ программ, т.е. всегда четное количество байт
niXto вне форума  
Непрочитано 08.03.2014, 22:44  
_Артём_
Гражданин KAZUS.RU
 
Регистрация: 16.03.2011
Сообщений: 486
Сказал спасибо: 8
Сказали Спасибо 131 раз(а) в 116 сообщении(ях)
_Артём_ на пути к лучшему
По умолчанию Re: IAR Embedded Workbench

Сообщение от niXto Посмотреть сообщение
999 не может быть в принципе
Не может, но IAR не знает об этом - всё в байтах считает.
Но дело в том, что flash не только код может хранить, но и данные. И размер данных может быть нечётным.

Сообщение от niXto Посмотреть сообщение
т.к. у АВР 16-битная организация ПЗУ программ, т.е. всегда четное количество байт
Ну это понятно, что записывать flash только словами можно. Но данную ситуацию можно понимать так: записали N слов, но с последнем слове один байт заполнили мусором, то есть можно ещё в байтовую константу вписать и всё равно влезет.
_Артём_ вне форума  
Непрочитано 09.03.2014, 08:38  
niXto
Почётный гражданин KAZUS.RU
 
Аватар для niXto
 
Регистрация: 13.10.2007
Адрес: Беларусь
Сообщений: 8,048
Сказал спасибо: 60
Сказали Спасибо 3,954 раз(а) в 2,309 сообщении(ях)
niXto на пути к лучшему
По умолчанию Re: IAR Embedded Workbench

В ИАРе разве нет такой опции? Как в бесплатной и всеми ругаемой визуал-ассемблер среде?
*Слово = 2 байта

niXto вне форума  
Непрочитано 09.03.2014, 10:33  
ut1wpr
Почётный гражданин KAZUS.RU
 
Аватар для ut1wpr
 
Регистрация: 19.08.2006
Адрес: Львов
Сообщений: 1,616
Сказал спасибо: 65
Сказали Спасибо 315 раз(а) в 264 сообщении(ях)
ut1wpr на пути к лучшему
По умолчанию Re: IAR Embedded Workbench

Сообщение от niXto Посмотреть сообщение
В ИАРе разве нет такой опции? Как в бесплатной и всеми ругаемой визуал-ассемблер среде?
*Слово = 2 байта
IAR информирует в байтах. Программисту виднее, на каком заборе и какими словами у него писано.
__________________
С уважением,
Vic / ut1wpr
ut1wpr вне форума  
 

Закладки
Опции темы

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

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Подниму тему WinAVR vs IAR oleg110592 Микроконтроллеры, АЦП, память и т.д 5 24.10.2015 14:06


Часовой пояс GMT +4, время: 05:26.


Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot