реклама на сайте
подробности

 
 
> ОЗУ у f1611
CAHTA_1939
сообщение Nov 1 2007, 20:46
Сообщение #1


Частый гость
**

Группа: Участник
Сообщений: 142
Регистрация: 11-08-07
Пользователь №: 29 713



не подскажете, как можно узнать, сколько программа ест ОЗУ?
а то я сейчас пишу на этом контроллере с граф. индикатором менюшку, и у меня такое ошушение что оператива вот вот кончится.... иногда заливаться не хочет.

Сообщение отредактировал CAHTA_1939 - Nov 1 2007, 20:55
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
rezident
сообщение Nov 1 2007, 21:53
Сообщение #2


Гуру
******

Группа: Свой
Сообщений: 10 920
Регистрация: 5-04-05
Пользователь №: 3 882



Какой компилятор используете? Если IAR, то он результат компиляции в окно диагностики Messages выдает. Вот пример такого сообщения.

Цитата
IAR Universal Linker V4.60K/386
Copyright 1987-2007 IAR Systems. All rights reserved.

3 362 bytes of CODE memory
217 bytes of DATA memory (+ 44 absolute )
130 bytes of CONST memory (+ 46 absolute )

Errors: none
Warnings: none


Total number of errors: 0
Total number of warnings: 0
Go to the top of the page
 
+Quote Post
CAHTA_1939
сообщение Nov 1 2007, 22:04
Сообщение #3


Частый гость
**

Группа: Участник
Сообщений: 142
Регистрация: 11-08-07
Пользователь №: 29 713



прошу прошения. забыл написать. да, я использую IAR. сейчас посмотрю...

неа. ничего подобного в сообшениях нет. в других окнах посмотрел - тоже нет. у меня IAR 3,42а

Сообщение отредактировал CAHTA_1939 - Nov 1 2007, 22:10
Go to the top of the page
 
+Quote Post
rezident
сообщение Nov 1 2007, 23:44
Сообщение #4


Гуру
******

Группа: Свой
Сообщений: 10 920
Регистрация: 5-04-05
Пользователь №: 3 882



Цитата(CAHTA_1939 @ Nov 2 2007, 03:04) *
неа. ничего подобного в сообшениях нет. в других окнах посмотрел - тоже нет. у меня IAR 3,42а

В свойствах IDE выберите All там где генерация диагностичесих сообщений.
Tools->Options->Messages->Show build message->All. Кроме того проверьте в свойствах проекта, что разрешена генерация диагностической информации - закладка Diagnostics.
Цитата(CAHTA_1939)
и вот еше. у меня есть большая структура... точне перы структур со вложенными структурами. я их забиваю данными и компилирую. вот только наступает такой момент, может я просто много записываю, что после прошития контроллера на панельке управления( там где кнопки зупуска программы, остановки и другой фигни =) достыпно только STOP =(
если я объем данных уменьшу, то все ОК.

Есть некоторая проблема при очистке глобальных структур большого объема, а они чистятся в соответствии со стандартом Си. Проблема стоит в том, что после сброса MSP430 стартует от генератора DCO (MCLK=DCOCLK) на частоте примерно 1МГц. Работа WDTimer по-умолчанию тоже разрешена. Период срабатывания WDTimer (с имеющимися у него после сброса установками) порядка 32 мс. Т.е. если WDT программно не выключить или не пересбросить, то он вызовет PUC-условие через указанный интервал времени и программа перезапустится. А время, которое занимает очистка глобальных структур большого объема при тактировании от DCO превышает указанный интервал срабатывания WDT. На на кристаллах с 2кБ ОЗУ этот эффект вроде не проявляется, но у F1611 размер ОЗУ 10кБ и описанная ситуация весьма возможна. Чтобы избежать этого нужно либо создавать неинициализируемые глобальные структуры и чистить их самостоятельно в самом начале программы, либо "рихтовать" функцию _low_level_init (включать туда команду останова WDT), которая вызывается до очистки глобальных переменных и структур и до вызова функции main. В общем читайте User's Manual и IAR Help, там написано.
Go to the top of the page
 
+Quote Post
CAHTA_1939
сообщение Nov 2 2007, 00:01
Сообщение #5


Частый гость
**

Группа: Участник
Сообщений: 142
Регистрация: 11-08-07
Пользователь №: 29 713



спасибо за информацию. но всеже у меня просто данные в озу не вмешаются... наверное.

вот то что мне компилятор в мессагах выдал
Код
Building configuration: main_slave - Debug
Updating build tree...

main.cpp

   IAR MSP430 C/C++ Compiler V3.42A/W32  [Evaluation]
   Copyright 1996-2006 IAR Systems. All rights reserved.  
  
2 760 bytes of CODE  memory (+  4 bytes shared)
4 211 bytes of CONST memory (+  2 bytes shared)
3 956 bytes of DATA  memory (+ 20 bytes shared)

Errors: none
Warnings: none

Linking

     IAR Universal Linker V4.60C/386
     Copyright 1987-2006 IAR Systems. All rights reserved.

3 308 bytes of CODE  memory
8 024 bytes of DATA  memory (+ 20 absolute )
4 194 bytes of CONST memory

Errors: none
Warnings: none


Total number of errors: 0
Total number of warnings: 0


а структуру я сразу же после описания инициализирую.

теперь у меня забота. как структуру в пзу загнать =(
Go to the top of the page
 
+Quote Post
rezident
сообщение Nov 2 2007, 00:29
Сообщение #6


Гуру
******

Группа: Свой
Сообщений: 10 920
Регистрация: 5-04-05
Пользователь №: 3 882



Цитата(CAHTA_1939 @ Nov 2 2007, 05:01) *
спасибо за информацию. но всеже у меня просто данные в озу не вмешаются... наверное.

Цитата
8 024 bytes of DATA memory (+ 20 absolute )

8024 байта вроде как меньше, чем 10240 байт. Или нет? wink.gif
Цитата(CAHTA_1939 @ Nov 2 2007, 05:01) *
а структуру я сразу же после описания инициализирую.

Да без разницы инициализируете ли вы глобальную структуру конкретными значениями или сам компилятор в соответствии со стандартом Си инициализирует ее нулями. Инициализация структуры выполняется стартапом до начала выполнения вашей программы. Нулями или любым другим, но одинаковым для всех переменных значением даже быстрее получаться должно. Естественно я про глобальные структуры переменных, а не констант. Константы компилятор по-умолчанию в сегменте CONST размещает, который в свою очередь во Flash записывается.
P.S. кстати, попробуйте в опциях проекта убрать чекбокс с Run to main. Options->Debugger->Setup-> Run to->main. Тогда дебаггер позволит вам "увидеть" и "прошагать" всю программу, включая стартап, который выполняется до main.
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- CAHTA_1939   ОЗУ у f1611   Nov 1 2007, 20:46
|- - Сергей Борщ   Цитата(CAHTA_1939 @ Nov 2 2007, 01:04) не...   Nov 1 2007, 22:29
|- - CAHTA_1939   почитал про _low_level_init ... занятно. но вот пр...   Nov 2 2007, 01:33
- - CAHTA_1939   и вот еше. у меня есть большая структура... точне ...   Nov 1 2007, 23:26
- - SSerge   Посмотрите установки в IDE Tools->Options-...   Nov 1 2007, 23:26
- - rezident   В плюсах я к сожалению не силен Так, помаленьку в...   Nov 2 2007, 01:50
|- - CAHTA_1939   эм... да я на С пишу. сам удивился при чем там кла...   Nov 2 2007, 01:55
|- - Сергей Борщ   Цитата(CAHTA_1939 @ Nov 2 2007, 04:55) эм...   Nov 2 2007, 08:20
|- - CAHTA_1939   нее. это издевательство. пишу const перед переменн...   Nov 2 2007, 22:33
|- - Сергей Борщ   Цитата(CAHTA_1939 @ Nov 3 2007, 00:33) не...   Nov 3 2007, 11:16
- - CAHTA_1939   помогите. возникла проблема при выделении динамиче...   Nov 7 2007, 13:10
- - Сергей Борщ   Цитата(CAHTA_1939 @ Nov 7 2007, 15:10) пр...   Nov 7 2007, 14:34
- - CAHTA_1939   угу, уже посмотрел. там по стандаргу выделенно что...   Nov 7 2007, 14:42
- - Сергей Борщ   Цитата(CAHTA_1939 @ Nov 7 2007, 16:42) уг...   Nov 7 2007, 17:09


Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 31st July 2025 - 19:53
Рейтинг@Mail.ru


Страница сгенерированна за 0.01436 секунд с 7
ELECTRONIX ©2004-2016