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

 
 
2 страниц V  < 1 2  
Reply to this topicStart new topic
> Генерация ошибки, Обработка ошибок на этапе компиляции/линковки
aspID
сообщение Sep 11 2007, 04:36
Сообщение #16


Местный
***

Группа: Свой
Сообщений: 343
Регистрация: 24-01-07
Из: Новосибирск
Пользователь №: 24 714



Цитата
глобальными \ статическими \ членами классов, экземпляры которых глобальны либо создаю в стеке

У меня на tiny2313 как-то уж очень быстро все заполняется sad.gif
Go to the top of the page
 
+Quote Post
alexander55
сообщение Sep 11 2007, 04:44
Сообщение #17


Бывалый
*****

Группа: Свой
Сообщений: 1 584
Регистрация: 7-08-07
Пользователь №: 29 615



Цитата(aspID @ Sep 10 2007, 19:22) *
Тогда здесь же вопрос к людям, имеющим в приложении к МК опыт бОльший, нежели я smile.gif
Куда лучше складировать данные классов - во флеш или в кучу? Понимаю, что зависит от ситуации, но может, направите на литературу, где можно про это найти.

У Вас нет ясности, что такое Flash, а что такое RAM. Когда разберетесь, таких вопросов не будет.
Go to the top of the page
 
+Quote Post
aspID
сообщение Sep 11 2007, 04:55
Сообщение #18


Местный
***

Группа: Свой
Сообщений: 343
Регистрация: 24-01-07
Из: Новосибирск
Пользователь №: 24 714



alexander55, не совсем понимаю, к чему Вы клоните, возможно неверно понимаю принцип работы. Если складывать данные в флеш и обращаться к ним, например, через указатели - то они же не будут РАМу постоянно засорять?

В грубой аналогии - флеш - это как HDD?

Сообщение отредактировал aspID - Sep 11 2007, 04:58
Go to the top of the page
 
+Quote Post
alexander55
сообщение Sep 11 2007, 05:32
Сообщение #19


Бывалый
*****

Группа: Свой
Сообщений: 1 584
Регистрация: 7-08-07
Пользователь №: 29 615



Цитата(aspID @ Sep 11 2007, 08:55) *
alexander55, не совсем понимаю, к чему Вы клоните, возможно неверно понимаю принцип работы. Если складывать данные в флеш и обращаться к ним, например, через указатели - то они же не будут РАМу постоянно засорять?

Запись во флеш осуществляется страницами (это отдельная песня), т.е. их надо подготавливать в буфере (в том же RAM), а потом писать блоком. Что тут можно выиграть, я не знаю.
В классах данные находятся в RAM, а функции во Flash.

Цитата(aspID @ Sep 11 2007, 08:55) *
В грубой аналогии - флеш - это как HDD?

Аналогии, безусловно, есть.
Запись: в HDD посекторная - во флешь постраничная.
Чтение: из HDD посекторное - из флешь, в зависимости от ее организации, побайтное для AVR, для ARM вопрос более сложный.


Цитата(alexander55 @ Sep 11 2007, 09:25) *
Запись во флеш осуществляется страницами (это отдельная песня), т.е. их надо подготавливать в буфере (в том же RAM), а потом писать блоком. Что тут можно выиграть, я не знаю.
В классах данные находятся в RAM, а функции во Flash.
Флешь иммет крнечный ресурс по перезаписи.
Аналогии, безусловно, есть.
Запись: в HDD посекторная - во флешь постраничная.
Чтение: из HDD посекторное - из флешь, в зависимости от ее организации, побайтное для AVR, для ARM вопрос более сложный.
Go to the top of the page
 
+Quote Post
tag
сообщение Sep 11 2007, 05:42
Сообщение #20


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

Группа: Свой
Сообщений: 151
Регистрация: 21-02-06
Пользователь №: 14 561



Цитата(aspID @ Sep 10 2007, 19:22) *
Тогда здесь же вопрос к людям, имеющим в приложении к МК опыт бОльший, нежели я smile.gif
Куда лучше складировать данные классов - во флеш или в кучу? Понимаю, что зависит от ситуации, но может, направите на литературу, где можно про это найти.





...зависит от конкретной задачи. В принципе объекты класса можно размещать во flash, если данные объекта не изменяются во время выполнения или изменяются редко. Куча предпочтительней, но при использовании объектов разных классов возможна дефрагментация и как следствие при создании объекта во время выполнения память может быть не выделена даже если общий размер свободной памяти на куче больше требуемой. У меня например есть суеверный страх перед кучей smile.gif , но если программа продумана хорошо проблем нет. В случае создания статических обектов проблемы кучи исчезают и поэтому он предпочтительней, как плюс - уже на этапе компиляции известен объем требуемой памяти (в случае кучи надо анализировать выполнение программы чтобы его определить, либо определять опытным путем при выполнении программы).
Go to the top of the page
 
+Quote Post
aspID
сообщение Sep 11 2007, 05:59
Сообщение #21


Местный
***

Группа: Свой
Сообщений: 343
Регистрация: 24-01-07
Из: Новосибирск
Пользователь №: 24 714



Цитата
У меня например есть суеверный страх перед кучей

У меня когда-то в "классике" был такой страх перед динамикой и перед использованием двоичных файлов. Порой вообще необоснованный smile.gif Сейчас в случае с МК этого нет. Может быть, напрасно?
Цитата
если программа продумана хорошо

сомневаюсь, поскольку опыт работы с МК у меня минимальный.
Go to the top of the page
 
+Quote Post
Непомнящий Евген...
сообщение Sep 11 2007, 06:00
Сообщение #22


Знающий
****

Группа: Свой
Сообщений: 771
Регистрация: 16-07-07
Из: Волгодонск
Пользователь №: 29 153



Цитата(tag @ Sep 11 2007, 09:42) *
В принципе объекты класса можно размещать во flash, если данные объекта не изменяются во время выполнения или изменяются редко.

А у меня суеверный страх перед изменением flash (пусть даже редким) во время работы программы. По-моему, в 99,99% случаев использовать этот прием не стоит...
Go to the top of the page
 
+Quote Post
alexander55
сообщение Sep 11 2007, 06:13
Сообщение #23


Бывалый
*****

Группа: Свой
Сообщений: 1 584
Регистрация: 7-08-07
Пользователь №: 29 615



Цитата(Непомнящий Евгений @ Sep 11 2007, 10:00) *
А у меня суеверный страх перед изменением flash (пусть даже редким) во время работы программы. По-моему, в 99,99% случаев использовать этот прием не стоит...

Интуиция Вас не подводит.
В предыдущем высказывании при редактировании я добавил одну фразу, сейчас с удивлением смотрю на результат.
Go to the top of the page
 
+Quote Post

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

 


RSS Текстовая версия Сейчас: 23rd July 2025 - 10:30
Рейтинг@Mail.ru


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