02.05.2013, 17:42
|
#11
|
Прописка
Регистрация: 31.03.2013
Сообщений: 146
Сказал спасибо: 50
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
|
Re: FAQ по STM8
Сообщение от tempora
|
Ваша же цель, как я понял, совсем другая - убрать из ОЗУ константы, которые ни инициализации, ни изменению не подлежат
|
Эти константы не меняемые, нужны для функций кодирования и декодирования потока данных, но так как их дохрена и они забирают 1кб из RAM, что ограничивает меня в добавлении новых функций в девайсе.
|
|
|
|
02.05.2013, 17:42
|
#12
|
Почётный гражданин KAZUS.RU
Регистрация: 19.08.2006
Адрес: Львов
Сообщений: 1,616
Сказал спасибо: 65
Сказали Спасибо 315 раз(а) в 264 сообщении(ях)
|
Re: FAQ по STM8
Сообщение от tempora
|
записываете их в еепром заранее самостоятельно (возникнет проблема ручного распределения памяти)
|
Да, забыл и об этом предупредить. Работа с адресами там тоже тоскливая. tempora напомнил.
__________________
С уважением,
Vic / ut1wpr
|
|
|
|
02.05.2013, 17:44
|
#13
|
Почётный гражданин KAZUS.RU
Регистрация: 19.08.2006
Адрес: Львов
Сообщений: 1,616
Сказал спасибо: 65
Сказали Спасибо 315 раз(а) в 264 сообщении(ях)
|
Re: FAQ по STM8
Сообщение от stmfaq
|
они забирают 1кб из RAM
|
А кто их туда запхал?! Что мешает их во флеши держать? Для stm вроде как-то пофигу, откуда читать, рам или флеш. Оно не AVR.
__________________
С уважением,
Vic / ut1wpr
|
|
|
|
02.05.2013, 17:49
|
#14
|
Почётный гражданин KAZUS.RU
Регистрация: 10.01.2007
Сообщений: 3,412
Сказал спасибо: 65
Сказали Спасибо 664 раз(а) в 443 сообщении(ях)
|
Re: FAQ по STM8
Сообщение от stmfaq
|
табличных данных очень много, порядка 1000 кбайт
|
Если это не опечатка, то где ж столько eeprom'а-то достанете?
Сообщение от stmfaq
|
Я думал что просто перед массивом констант поставлю модификатор и скомпилирую прошью МК и все дела.
|
Ну так, поместите их во флешь, "и все дела".
__________________
There's always more than one way to skin a cat.
Последний раз редактировалось tempora; 02.05.2013 в 18:05.
|
|
|
|
02.05.2013, 18:11
|
#15
|
Прописка
Регистрация: 31.03.2013
Сообщений: 146
Сказал спасибо: 50
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
|
Re: FAQ по STM8
Сообщение от tempora
|
Если это не опечатка, то где ж столько eeprom'а-то достанете?
Ну так, поместите их во флешь, "и все дела".
|
опечатка ,1кб.
Ну так мне все равно куда поместить, я что в eeprom не умею что во flash. ![Смущение](images/smilies/icon_redface.gif)
Честно сказать я не совсем пойму сколько я каких ресурсов уже сьел у МК
вот что мне выдает IAR после компиляции
Код:
|
8 388 bytes of readonly code memory
753 bytes of readonly data memory
1 549 bytes of readwrite data memory
Errors: none
Warnings: none
Link time: 0.11 (CPU) 0.23 (elapsed)
Total number of errors: 0
Total number of warnings: 1 |
Я так понимаю что 8.3кб я уже занял кодом, 753 не понятно что, и в RAM занято 1549 байт.
Только не понятно 753 и 1549 плюсовать к коду 8.3 кб или это уже туда включено? Хочу понять сколько ещё осталось ресурсов у МК, на данный момент реализовано 40% кода от всего объема программы , но так как у STM8S105C6T6 32кб. памяти то я думаю что все что мне нужно влезет, вопрос только в RAM . Мне ещё нужно добавлять несколько структур довольно большого объема , кеш байт на 300,поэтому я начал искать пути освобождения RAM .
Последний раз редактировалось stmfaq; 02.05.2013 в 18:18.
|
|
|
|
02.05.2013, 18:11
|
#16
|
Почётный гражданин KAZUS.RU
Регистрация: 19.08.2006
Адрес: Львов
Сообщений: 1,616
Сказал спасибо: 65
Сказали Спасибо 315 раз(а) в 264 сообщении(ях)
|
Re: FAQ по STM8
Не, ну все-таки... Мне бы давно уже стало интересно, а с чем это таким я сейчас работаю? А чем оно от АВР-а отличается? Че там народ про фона неймана топчет и про гарвард? Видать не дождусь я, когда людь перед освоением камушков начнет читать про них. Сразу в бой! Сразу в либы! Сразу в еепромы! Копипастить АВР-овские тексты мы уже научились. Мы - программеры!
Негоже так!
__________________
С уважением,
Vic / ut1wpr
|
|
|
|
02.05.2013, 18:32
|
#17
|
Прописка
Регистрация: 31.03.2013
Сообщений: 146
Сказал спасибо: 50
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
|
Re: FAQ по STM8
Сообщение от ut1wpr
|
Сразу в бой! Сразу в либы! Сразу в еепромы! Копипастить АВР-овские тексты мы уже научились. Мы - программеры!
Негоже так!
|
Это бизнес. Тут нужно все и сразу. Разбираться времени особо некогда, нужно зарабатывать деньги, этот девайс нужен был ещё вчера. Уже лежат платы и корпуса , дело осталось за софтом. Я и так работаю с 8 утра до 2 часов ночи. Голова забита кучей информации, вот когда девайс будет сделан, тогда можно посидеть спокойно и повникать в суть.
Последний раз редактировалось stmfaq; 02.05.2013 в 18:36.
|
|
|
|
02.05.2013, 19:44
|
#18
|
Временная регистрация
Регистрация: 08.02.2010
Сообщений: 62
Сказал спасибо: 4
Сказали Спасибо 14 раз(а) в 12 сообщении(ях)
|
Re: FAQ по STM8
такой подход к решению задачи, по моему, тоже имеет право на жизнь.... сам лет 15 назад так изучал AVR. У меня почему то не пошло объявить переменную в EEPROM как
__eeprom __no init unsigned char i;
но сработал другой вариант:
#pragma location=0x4000 //start eeprom address ( это для STM8S003)
__no_init unsigned char i; //
void main(void)
{
....
.......
i = 0x25;
....
while(1)
{
....
.....
}
}
Вместо переменной i можно объявить массив или структуру...
|
|
|
|
02.05.2013, 20:05
|
#19
|
Почётный гражданин KAZUS.RU
Регистрация: 19.08.2006
Адрес: Львов
Сообщений: 1,616
Сказал спасибо: 65
Сказали Спасибо 315 раз(а) в 264 сообщении(ях)
|
Re: FAQ по STM8
Сообщение от s64
|
такой подход к решению задачи, по моему, тоже имеет право на жизнь.... сам лет 15 назад так изучал AVR. У меня почему то не пошло объявить переменную в EEPROM как
__eeprom __no init unsigned char i;
но сработал другой вариант:
#pragma location=0x4000 //start eeprom address ( это для STM8S003)
__no_init unsigned char i; //
void main(void)
{
....
.......
i = 0x25;
....
while(1)
{
....
.....
}
}
Вместо переменной i можно объявить массив или структуру...
|
Потом пишем новую прагму, считаем локацию, ставим переменную, потом новую прагму и снова считаем. Я предупреждал, что с адресами будут еще забавы. Да и не получится вот так с разгону в туда писать, ой не получится. Придется шаманить с пукрами/дукрами. Правда структура или массив потребуют одну прагму, но если несколько свободных переменных, то...
Вообще-то инет много на поверхность выносит, если туда кинуть "stm8 eeprom". Успевай отгребать. ![Улыбка](images/smilies/icon_smile.gif)
Когда мне понадобилось что-то около 128 байтов туда закопать, я поднял на поверхность старую добрую АВР-студию, в асм-е org-анизовал стартовый адрес eeproma для stm8 и посредством db/dw yfgbcfk ntrcn/ Потом ассемблировал, получил гекс в нужных адресах и вчитал в stvp c записью в секцию DATA. Главное, не запутаться в адресах размещения. Если в ассемблере расставить лейблы - он сам выдаст на-гора адреса. Потом их просто повписывать в прагмы. Можно и без прагмы, через @ прибивать к адресу. Для ИАРа типовой прием. ![Улыбка](images/smilies/icon_smile.gif)
А насчет подхода... Кому как. Но я в любом случае не пойму, что и как можно написать, не понимая, с чем имеешь дело? Как в народе говорят "не понимая физики процесса" ![Улыбка](images/smilies/icon_smile.gif)
Хотя бы туда заглянули...
http://www.element14.com/community/d...nd-data-eeprom
__________________
С уважением,
Vic / ut1wpr
Последний раз редактировалось ut1wpr; 02.05.2013 в 20:15.
|
|
|
|
02.05.2013, 20:09
|
#20
|
Почётный гражданин KAZUS.RU
Регистрация: 19.08.2006
Адрес: Львов
Сообщений: 1,616
Сказал спасибо: 65
Сказали Спасибо 315 раз(а) в 264 сообщении(ях)
|
Re: FAQ по STM8
Сообщение от stmfaq
|
Это бизнес. Тут нужно все и сразу. Разбираться времени особо некогда, нужно зарабатывать деньги, этот девайс нужен был ещё вчера. Уже лежат платы и корпуса , дело осталось за софтом. Я и так работаю с 8 утра до 2 часов ночи. Голова забита кучей информации, вот когда девайс будет сделан, тогда можно посидеть спокойно и повникать в суть.
|
Да какой это к черту бизнес?! Наклепали плат, не зная возможностей камня? В голове не укладывается. Вы что, с АВР-ами сравнивали по к-ву флеша, что-ли? Они же разные!!!
__________________
С уважением,
Vic / ut1wpr
|
|
|
|
Ваши права в разделе
|
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 23:33.
|
|