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

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

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

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

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

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


 
Опции темы
Непрочитано 06.06.2012, 09:04  
ut1wpr
Почётный гражданин KAZUS.RU
 
Аватар для ut1wpr
 
Регистрация: 19.08.2006
Адрес: Львов
Сообщений: 1,616
Сказал спасибо: 65
Сказали Спасибо 315 раз(а) в 264 сообщении(ях)
ut1wpr на пути к лучшему
По умолчанию Re: FAQ по STM8

Сообщение от Easyrider83 Посмотреть сообщение
Нашел в продаже плату STM8SVLDISCOVERY. На борту какой-то процик смешной. В качестве отладки - ST Link v2 со SWIM. Будем заказывать. Цена низкая.
Я "перепилил" Дискаверю, подпаял переходные разъемчики, и теперь имею отдельно муху (отладочный модуль) и отдельно котлету (Линк). Кстати, этот восьмерочный Линк катит и для S и для L линеек. Линейка А в руки не попадалась.
У меня две Дискавери. L и S. Соорудил несколько платок-переходников для работы на солдерлес макетнице. Не всегда чип модуля устраивает.
8S ValueLine 003, что "на борту" довольно ограничен по функционалу. Впрочем, сами убедитесь.
Реклама:
__________________
С уважением,
Vic / ut1wpr
ut1wpr вне форума  
Сказали "Спасибо" ut1wpr
Easyrider83 (06.06.2012)
Непрочитано 09.06.2012, 23:22  
ut1wpr
Почётный гражданин KAZUS.RU
 
Аватар для ut1wpr
 
Регистрация: 19.08.2006
Адрес: Львов
Сообщений: 1,616
Сказал спасибо: 65
Сказали Спасибо 315 раз(а) в 264 сообщении(ях)
ut1wpr на пути к лучшему
По умолчанию Re: FAQ по STM8

Осваиваю работу с eeprom (с перерывами на основную работу и всякие отвлекающие моменты) в IAR. Без применения библиотек. В целом вопросов нет, кроме...
Объявляю переменные так:
Код:
__no_init unsigned char ee_char_1 @ 0x4000;
__no_init unsigned int ee_int_2 @ 0x4001;
__no_init unsigned int ee_int_1 @ 0x4003;
С таким же успехом применяю #pragma locate с указанием физического адреса размещения для каждой переменной отдельно. Тогда @addr не нужен.
Подскажите, может можно как-то объявить секцию с указанием стартового адреса, чтобы потом компилятор сам вычислял адреса последовательно размещенных переменных?

Спасибо.
__________________
С уважением,
Vic / ut1wpr
ut1wpr вне форума  
Непрочитано 10.06.2012, 01:08  
st__1
Заблокирован
 
Регистрация: 31.12.2011
Сообщений: 726
Сказал спасибо: 32
Сказали Спасибо 223 раз(а) в 162 сообщении(ях)
st__1 на пути к лучшему
По умолчанию Re: FAQ по STM8

А это... не оно???
Код:
__no_init __eeprom unsigned char ee_char_1;
__no_init __eeprom unsigned int ee_int_2;
__no_init __eeprom unsigned int ee_int_1;
st__1 вне форума  
Непрочитано 10.06.2012, 07:57  
ut1wpr
Почётный гражданин KAZUS.RU
 
Аватар для ut1wpr
 
Регистрация: 19.08.2006
Адрес: Львов
Сообщений: 1,616
Сказал спасибо: 65
Сказали Спасибо 315 раз(а) в 264 сообщении(ях)
ut1wpr на пути к лучшему
По умолчанию Re: FAQ по STM8

Сообщение от st__1 Посмотреть сообщение
А это... не оно???
Код:
__no_init __eeprom unsigned char ee_char_1;
__no_init __eeprom unsigned int ee_int_2;
__no_init __eeprom unsigned int ee_int_1;
Я так пробовал, но вот об это споткнулся, так споткнутым и остался...
Цитата:
Building configuration: st8-test - Debug
Updating build tree...
main.c
Linking
Error[Li005]: no definition for "__eeprom_program_byte" [referenced from eeprom_util.o(dlstm8msn.a)]
Error[Li005]: no definition for "__eeprom_wait_for_last_operation" [referenced from eeprom_util.o(dlstm8msn.a)]
Error[Li005]: no definition for "__eeprom_program_long" [referenced from eeprom_util.o(dlstm8msn.a)]
Error while running Linker

Total number of errors: 3
Total number of warnings: 0
Внутренний голос подсказывает, что-то не то в "консерватории" (eeprom_util.o), а понять до конца глубину своего падения не могу. Видать маловато высот знаний...
__________________
С уважением,
Vic / ut1wpr
ut1wpr вне форума  
Непрочитано 10.06.2012, 08:39  
oleg110592
Гражданин KAZUS.RU
 
Регистрация: 05.04.2009
Сообщений: 976
Сказал спасибо: 35
Сказали Спасибо 155 раз(а) в 134 сообщении(ях)
oleg110592 на пути к лучшему
По умолчанию Re: FAQ по STM8

Похоже работу с eeprom stm8 IAR еще не допилил. Как тут написано http://supp.iar.com/Support/?note=32477
Nevertheless support for initialized __eeprom-variables is planned in a future release.
подождем...
oleg110592 вне форума  
Непрочитано 10.06.2012, 09:00  
ut1wpr
Почётный гражданин KAZUS.RU
 
Аватар для ut1wpr
 
Регистрация: 19.08.2006
Адрес: Львов
Сообщений: 1,616
Сказал спасибо: 65
Сказали Спасибо 315 раз(а) в 264 сообщении(ях)
ut1wpr на пути к лучшему
По умолчанию Re: FAQ по STM8

Сообщение от oleg110592 Посмотреть сообщение
Похоже работу с eeprom stm8 IAR еще не допилил. Как тут написано http://supp.iar.com/Support/?note=32477
Nevertheless support for initialized __eeprom-variables is planned in a future release.
подождем...
Вы выхватили фразу из контекста и немного не так перевели:
Цитата:
The reason for this is that initialized __eeprom variables would require different initialization routines from normal variables.
We presumed that the EEPROM memory would be used for persistent storage, so there would be no need for automatic initialization.
It is up to the application (or system) to initialize the EEPROM memory.
Nevertheless support for initialized __eeprom-variables is planned in a future release.
Они отдают инициализацию EEPROM переменных на откуп аппликации или системе. И пишут, что никогда в будущем не планируют эту самую инициализацию в будущих релизах.
Но меня вопрос инициализации не волновал особо. Я про авторазмещение без необходимости адресных расчетов на калькуляторе...
Записать переменные в eeprom перед "вводом в эксплуатацию" умеет STVP. Геморно, но умеет... В конечном итоге, можно и в блоке инитов записывать константы в eeprom...
__________________
С уважением,
Vic / ut1wpr

Последний раз редактировалось ut1wpr; 10.06.2012 в 09:31.
ut1wpr вне форума  
Непрочитано 10.06.2012, 10:23  
oleg110592
Гражданин KAZUS.RU
 
Регистрация: 05.04.2009
Сообщений: 976
Сказал спасибо: 35
Сказали Спасибо 155 раз(а) в 134 сообщении(ях)
oleg110592 на пути к лучшему
По умолчанию Re: FAQ по STM8

Гугль переводчик:
Причиной этого является то, что инициализируется __ EEPROM переменные потребуются различные процедуры инициализации от нормальных величин.
Мы предполагали, что память EEPROM будет использоваться для хранения данных, так что не было бы никакой необходимости для автоматической инициализации.
Это зависит от приложения (или система) для инициализации памяти EEPROM.
Тем не менее поддержка инициализируется __ EEPROM переменных планируется в будущих релизах.

Для AVR же сделано (там вроде писать/читать еепром посложнее), имхо и для STM8 сделают.
Для AVR делаю так:
__eeprom unsigned char Time_zadE = 20;
unsigned char Time_zad;
в программе:
Time_zad=Time_zadE;
Time_zadE=Time_zad;
в листинге вызываются EXTERN __eeget8_8, EXTERN __eeput8_8

Первая строка в stm8 сразу должна работать, а вторая не сложнее чем в avr - не вижу причин не сделать такое иару для стм8
oleg110592 вне форума  
Непрочитано 10.06.2012, 10:49  
ut1wpr
Почётный гражданин KAZUS.RU
 
Аватар для ut1wpr
 
Регистрация: 19.08.2006
Адрес: Львов
Сообщений: 1,616
Сказал спасибо: 65
Сказали Спасибо 315 раз(а) в 264 сообщении(ях)
ut1wpr на пути к лучшему
По умолчанию Re: FAQ по STM8

Сообщение от oleg110592 Посмотреть сообщение
Гугль переводчик:........
Тем не менее поддержка инициализируется __ EEPROM переменных планируется в будущих релизах.
Типичный пример поверхностного прочтения мною текста. Вы правы. Обещают сделать.
Цитата:
Для AVR делаю так:
Код:
__eeprom unsigned char Time_zadE = 20;
unsigned char Time_zad;
в программе:
Код:
Time_zad=Time_zadE;
Time_zadE=Time_zad;
в листинге вызываются EXTERN __eeget8_8, EXTERN __eeput8_8
Ну я же ведь не про AVR спросил. Зачем мне это? Это я знаю... Вы в STM8 IAR пробовали объявить:
Код:
__eeprom __no_init unsigned char ee_char_1;
__eeprom __no_init unsigned int ee_int_2;
__eeprom __no_init unsigned int ee_int_1;
Компилирует без ошибок? Ведь текст самих определений возражений у него не вызывает. Посмотрите на приведенные мной сообщения "ругани" линкера.
__________________
С уважением,
Vic / ut1wpr

Последний раз редактировалось ut1wpr; 10.06.2012 в 10:52.
ut1wpr вне форума  
Непрочитано 10.06.2012, 11:24  
oleg110592
Гражданин KAZUS.RU
 
Регистрация: 05.04.2009
Сообщений: 976
Сказал спасибо: 35
Сказали Спасибо 155 раз(а) в 134 сообщении(ях)
oleg110592 на пути к лучшему
По умолчанию Re: FAQ по STM8

про авр это я так - сделали же.
нашел костыль как сделать:
Код:
typedef struct MyPar_t
{
  unsigned int Time_zadE;
  unsigned int Temper_zadE;
  unsigned char Temp;
} MyPar_t;

#pragma location=0x4000
__no_init MyPar_t MyPar;
#pragma required=MyPar

Time_zad=MyPar.Time_zadE;
Temper_zad=MyPar.Temper_zadE;
в листинге:
LDW X, L:0x4000
LDW L:Time_zad, X
...
LDW X, L:0x4002
LDW L:Temper_zad, X
обратную не пробовал операцию - попробуйте может все и будет работать
oleg110592 вне форума  
Сказали "Спасибо" oleg110592
ut1wpr (10.06.2012)
Непрочитано 10.06.2012, 12:13  
ut1wpr
Почётный гражданин KAZUS.RU
 
Аватар для ut1wpr
 
Регистрация: 19.08.2006
Адрес: Львов
Сообщений: 1,616
Сказал спасибо: 65
Сказали Спасибо 315 раз(а) в 264 сообщении(ях)
ut1wpr на пути к лучшему
По умолчанию Re: FAQ по STM8

Сообщение от oleg110592 Посмотреть сообщение
обратную не пробовал операцию - попробуйте может все и будет работать
Про организацию переменных в структуру я уже вчера думал, хотел немного "сачкануть" - может кто-то знает более прямой путь, без костылей.
С применением структуры в принципе работает. Результат компиляции радует. Обращение к переменным без фокусов. Листинг чистый, ассемблерный.
Спасибо.
Посмотрим, что народы скажут. Народы - они умные. И опытные.
PS Туплю, однако. Теперь не могу грамотно объявить external, чтобы обеспечить видимость переменных структуры в других модулях. Сбивает с толку привязка к pragma location.
И так кручу и эдак...
__________________
С уважением,
Vic / ut1wpr

Последний раз редактировалось ut1wpr; 10.06.2012 в 13:21.
ut1wpr вне форума  
 

Закладки

Метки
arm, cortex, stm32, stm8
Опции темы

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

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

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

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Импульсная зарядка для авто-аккумуляторов (новодел) Falconist Источники питания и свет 1915 14.03.2024 19:56
FAQ (ЧаВО) по PROTEUS для начинающих и не только dosikus Proteus 221 07.03.2024 22:45
STM8(S/L), первые впечатления kison STM8 1423 19.05.2018 19:23
Вопросы и замечания по топику - FAQ по PROTEUS avr123-nm-ru Proteus 291 05.06.2015 20:49
FAQ Импульсный трансформатор alberio Источники питания и свет 87 13.11.2012 18:07


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


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