Например TDA7294

Форум РадиоКот • Просмотр темы - Программирование STM8
Форум РадиоКот
Здесь можно немножко помяукать :)





Текущее время: Чт апр 18, 2024 06:58:06

Часовой пояс: UTC + 3 часа


ПРЯМО СЕЙЧАС:



Начать новую тему Ответить на тему  [ Сообщений: 2500 ]     ... , , , 82, , , ...  
Автор Сообщение
Не в сети
 Заголовок сообщения: Re: Программирование STM8
СообщениеДобавлено: Вс ноя 11, 2018 20:32:12 
Друг Кота
Аватар пользователя

Карма: 46
Рейтинг сообщений: 1368
Зарегистрирован: Пт авг 28, 2009 21:34:30
Сообщений: 7214
Откуда: 845-й км.
Рейтинг сообщения: 0
Медали: 1
Получил миской по аватаре (1)
Сначала все операнды привести к 32-х битному виду и тогда объединять. типа

result = ((uint32_t)data3 << 24) | ((uint32_t)data2 << 16) | ((uint32_t)data1 << 8) | ((uint32_t)data0 << 0);

и без разницы, иар или что другое. Это язык C.

_________________
А люди посмотрят и скажут: "Собаки летят. Вот и осень."


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Программирование STM8
СообщениеДобавлено: Вс ноя 11, 2018 20:52:13 
Собутыльник Кота
Аватар пользователя

Карма: 29
Рейтинг сообщений: 645
Зарегистрирован: Сб май 14, 2011 21:16:04
Сообщений: 2694
Откуда: г. Чайковский
Рейтинг сообщения: 0
Медали: 1
Получил миской по аватаре (1)
А куда Вы 8 бит 16 раз сдвигаете?

_________________
Изображение
Добро всегда побеждает зло. Поэтому кто победил - тот и добрый.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Программирование STM8
СообщениеДобавлено: Вс ноя 11, 2018 21:50:08 
Модератор
Аватар пользователя

Карма: 90
Рейтинг сообщений: 1289
Зарегистрирован: Чт мар 18, 2010 23:09:57
Сообщений: 4510
Откуда: Планета Земля
Рейтинг сообщения: 0
Медали: 1
Получил миской по аватаре (1)
alex38779 писал(а):
При сдвиге байта на 16
А где логика в сие действие ? :facepalm:
union вам в помощь. И никаких сдвигов делать не придётся.


Вернуться наверх
 
PCBWay - всего $5 за 10 печатных плат, первый заказ для новых клиентов БЕСПЛАТЕН

Сборка печатных плат от $30 + БЕСПЛАТНАЯ доставка по всему миру + трафарет

Онлайн просмотровщик Gerber-файлов от PCBWay + Услуги 3D печати
Не в сети
 Заголовок сообщения: Re: Программирование STM8
СообщениеДобавлено: Ср ноя 21, 2018 07:25:13 
Электрический кот

Карма: 13
Рейтинг сообщений: 139
Зарегистрирован: Вс сен 25, 2011 19:09:33
Сообщений: 1040
Рейтинг сообщения: 0
Медали: 1
Мявтор 3-й степени (1)
есть ли у кого рабочий пример бутлоадера?
предпочтительно на Си/С++
хочу написать загрузчик из внешней eeprom, куда прошивку предварительно запишет основная прошивка
но для примера подойдет любой загрузчик


Вернуться наверх
 
Организация питания на основе надежных литиевых аккумуляторов EVE и микросхем азиатского производства

Качественное и безопасное устройство, работающее от аккумулятора, должно учитывать его физические и химические свойства, профили заряда и разряда, их изменение во времени и под влиянием различных условий, таких как температура и ток нагрузки. Мы расскажем о литий-ионных аккумуляторных батареях EVE и нескольких решениях от различных китайских компаний, рекомендуемых для разработок приложений с использованием этих АКБ. Представленные в статье китайские аналоги помогут заменить продукцию западных брендов с оптимизацией цены без потери качества.

Подробнее>>
Не в сети
 Заголовок сообщения: Re: Программирование STM8
СообщениеДобавлено: Чт ноя 22, 2018 06:34:19 
Собутыльник Кота
Аватар пользователя

Карма: 29
Рейтинг сообщений: 645
Зарегистрирован: Сб май 14, 2011 21:16:04
Сообщений: 2694
Откуда: г. Чайковский
Рейтинг сообщения: 0
Медали: 1
Получил миской по аватаре (1)
Расскажу по памяти как делал.
1. Написал скрипт линкера такой, что вектора остались на месте (я их не нашел как переносить в STM8), а все остальное разместилось в самом конце памяти программ. Все остальное это сам загрузчик. При том , для этой области памяти была включена защита от записи, т.е. от случайной порчи.
2. Основной проект собирался со скриптом линкера по умолчанию.

При запуске МК. Запускался загрузчик, и ждал от UART некой команды, если таковой не было, то передавалось управление основной программе, по адресу записанному в еепром.

Если эта некая команда приходила, то опять же по некому протоколу через UART, то загрузчик начинал обновлять всю программу. Только не правил вектор сброса, а записывал его в еепром.

Что в STM8 прикольно, область флеш не надо стирать страницами, работаешь как с еепром побайтно.
Из самых явных недостатков, остается вероятность случайно порчи вектора сброса.

Так как по памяти, мог чего приврать. Но в целом как-то так. 8)

_________________
Изображение
Добро всегда побеждает зло. Поэтому кто победил - тот и добрый.


Вернуться наверх
 
Новый аккумулятор EVE серии PLM для GSM-трекеров, работающих в жёстких условиях (до -40°С)

Компания EVE выпустила новый аккумулятор серии PLM, сочетающий в себе высокую безопасность, длительный срок службы, широкий температурный диапазон и высокую токоотдачу даже при отрицательной температуре. Эти аккумуляторы поддерживают заряд при температуре от -40/-20°С (сниженным значением тока), безопасны (не воспламеняются и не взрываются) при механическом повреждении (протыкание и сдавливание), устойчивы к вибрации. Они могут применяться как для автотранспорта (трекеры, маячки, сигнализация), так и для промышленных устройств мониторинга, IoT-устройств.

Подробнее>>
Не в сети
 Заголовок сообщения: Re: Программирование STM8
СообщениеДобавлено: Чт ноя 22, 2018 07:58:56 
Электрический кот

Карма: 13
Рейтинг сообщений: 139
Зарегистрирован: Вс сен 25, 2011 19:09:33
Сообщений: 1040
Рейтинг сообщения: 0
Медали: 1
Мявтор 3-й степени (1)
Спасибо

Можно уточнить про загрузчик в хвосте памяти?
Как он получает управление, где этот вектор сброса?

Нашел реализацию похожей на мою задачи http://we.easyelectronics.ru/STM8/bootl ... zduhu.html

Но там загрузчик как раз в начале, а основной проект сдвигается
В этом варианте так понимаю вектор сброса находится в области загрузчикаи его нельзя испортить при загрузке основной программы?
И как защитить кусок флэша от записи?


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Программирование STM8
СообщениеДобавлено: Чт ноя 22, 2018 08:30:31 
Собутыльник Кота
Аватар пользователя

Карма: 29
Рейтинг сообщений: 645
Зарегистрирован: Сб май 14, 2011 21:16:04
Сообщений: 2694
Откуда: г. Чайковский
Рейтинг сообщения: 0
Медали: 1
Получил миской по аватаре (1)
Ссылку влом читать, не до STM8. Я сделал загрузчик в конец, чтобы загрузчик располагался в области памяти программ со включенной защитой от перезаписи. Если включить защиту памяти программ в начале, то как вектора править? Может в других STM8 вектора переносятся, в моем детском STM8S103 этого делать нельзя.

Цитата:
Можно уточнить про загрузчик в хвосте памяти?
Как он получает управление, где этот вектор сброса?

Вектор сброса , там же где все остальные вектора, по адресу 0x8000 и каждый вектор занимает 4 байта, Раздел Interrupt mapping ДШ.
Вектор представляет собой спец команду INT, применяется только в таблице векторов. Опкод 82xxxxxx где иксы адрес.
При рестатре МК, он сразу и выполняется.
Я же писал. Загрузчик у меня отдельный проект, со своим скриптом линковщика. А так как под исполняемый код был выделен регион в хвосте памяти, то и вектор сброса автоматически "компилился" на него.
Этот проект загрузчика зашивался программатором.

Другой основной проект собирался отдельно от загрузчика. Загручзчик получал бинарник и прошивал им память, но не трогал вектор сброса, а вектор сброса основного проекта запоминал в еепром, чтобы знать куда передавать управление. Но это я повторяюсь.

_________________
Изображение
Добро всегда побеждает зло. Поэтому кто победил - тот и добрый.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Программирование STM8
СообщениеДобавлено: Вт дек 18, 2018 01:11:03 
Родился

Карма: -1
Рейтинг сообщений: 0
Зарегистрирован: Вс окт 18, 2015 18:24:35
Сообщений: 12
Откуда: Нижний Новгород
Рейтинг сообщения: 0
Помогите освоить вот этого зверя STM8S001J3 Какой программой пользоваться, чем и как прошивать.


Вернуться наверх
 
В сети
 Заголовок сообщения: Re: Программирование STM8
СообщениеДобавлено: Вт дек 18, 2018 05:28:29 
Поставщик валерьянки для Кота
Аватар пользователя

Карма: 18
Рейтинг сообщений: 403
Зарегистрирован: Вт май 01, 2018 19:44:47
Сообщений: 2479
Рейтинг сообщения: 0
Помогите освоить вот этого зверя STM8S001J3 Какой программой пользоваться, чем и как прошивать.
А проиводитель что говорит? Не может же он не рекомендовать средства разработки.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Программирование STM8
СообщениеДобавлено: Ср дек 19, 2018 17:35:04 
Родился

Карма: -1
Рейтинг сообщений: 0
Зарегистрирован: Вс окт 18, 2015 18:24:35
Сообщений: 12
Откуда: Нижний Новгород
Рейтинг сообщения: 0
STM8S001J3 Нужна помощь в написание небольшой программы, не бесплатно. Все вопросы в личку.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Программирование STM8
СообщениеДобавлено: Пт мар 01, 2019 07:43:34 
Родился

Зарегистрирован: Пт мар 01, 2019 07:37:59
Сообщений: 1
Рейтинг сообщения: 0
есть кто из Владивостока кто для STM8 програмирует,,???


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Программирование STM8
СообщениеДобавлено: Вс мар 10, 2019 13:30:32 
Прорезались зубы
Аватар пользователя

Зарегистрирован: Вт июн 10, 2008 09:17:06
Сообщений: 215
Откуда: г. Саратов
Рейтинг сообщения: 0
Добрый день. Подскажите чайнику по STM8.
Есть кусок кода, изменение значения "AA" в строке ld A, #$AA меняет функционал прошивки. На какой адрес будет ссылаться при значении AA, C2 ?

push A
ld A, #$AA
ld $983,A
callf $19301
ld XL, A
ld A, #$20
mul X, A
addw X, #$95c1
ldw $986,X
pop A
retf


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Программирование STM8
СообщениеДобавлено: Вс мар 10, 2019 13:49:06 
Собутыльник Кота
Аватар пользователя

Карма: 29
Рейтинг сообщений: 645
Зарегистрирован: Сб май 14, 2011 21:16:04
Сообщений: 2694
Откуда: г. Чайковский
Рейтинг сообщения: 0
Медали: 1
Получил миской по аватаре (1)
SarCity писал(а):
На какой адрес будет ссылаться при значении AA, C2 ?
Лично я вопрос не понял. При изменении АА на С2? Кто будет ссылаться на адрес?

_________________
Изображение
Добро всегда побеждает зло. Поэтому кто победил - тот и добрый.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Программирование STM8
СообщениеДобавлено: Вс мар 10, 2019 13:51:51 
Поставщик валерьянки для Кота
Аватар пользователя

Карма: 41
Рейтинг сообщений: 306
Зарегистрирован: Пт сен 07, 2018 20:20:02
Сообщений: 2296
Рейтинг сообщения: 0
Медали: 1
Получил миской по аватаре (1)
callf $19301

"Огласите весь список, пожалуйста!" (с)
Что происходит в данной подпрограмме?


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Программирование STM8
СообщениеДобавлено: Вс мар 10, 2019 13:53:37 
Собутыльник Кота
Аватар пользователя

Карма: 29
Рейтинг сообщений: 645
Зарегистрирован: Сб май 14, 2011 21:16:04
Сообщений: 2694
Откуда: г. Чайковский
Рейтинг сообщения: 0
Медали: 1
Получил миской по аватаре (1)
ПростоНуб писал(а):
Что происходит в данной подпрограмме?
Думаю не знает. Судя по листингу - дизассемблер.

_________________
Изображение
Добро всегда побеждает зло. Поэтому кто победил - тот и добрый.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Программирование STM8
СообщениеДобавлено: Вс мар 10, 2019 14:00:16 
Прорезались зубы
Аватар пользователя

Зарегистрирован: Вт июн 10, 2008 09:17:06
Сообщений: 215
Откуда: г. Саратов
Рейтинг сообщения: 0
Да, это дизассемблированная прошивка.
Что происходит в callf $19301 я не знаю, да и данном случае это, я думаю, не важно.

0xAA как-то должно преобразоваться и далее уже *0x20+0x95C1=адрес


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Программирование STM8
СообщениеДобавлено: Вс мар 10, 2019 14:16:07 
Поставщик валерьянки для Кота
Аватар пользователя

Карма: 41
Рейтинг сообщений: 306
Зарегистрирован: Пт сен 07, 2018 20:20:02
Сообщений: 2296
Рейтинг сообщения: 0
Медали: 1
Получил миской по аватаре (1)
я думаю, не важно.

Это очень важно, так как, если функция возвращает знаковый или беззнаковый байт, то большинство компиляторов используют для этого аккумулятор.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Программирование STM8
СообщениеДобавлено: Вс мар 10, 2019 14:20:11 
Собутыльник Кота
Аватар пользователя

Карма: 29
Рейтинг сообщений: 645
Зарегистрирован: Сб май 14, 2011 21:16:04
Сообщений: 2694
Откуда: г. Чайковский
Рейтинг сообщения: 0
Медали: 1
Получил миской по аватаре (1)
SarCity писал(а):
Что происходит в callf $19301 я не знаю, да и данном случае это, я думаю, не важно.
:facepalm:


Код:
ld A, #$AA
ld $983,A

Видимо присвоение какой-то переменной значение АА.

Код:
callf $19301
Данная подпрограмма вероятно изменяет аккумулятор А и XH.

_________________
Изображение
Добро всегда побеждает зло. Поэтому кто победил - тот и добрый.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Программирование STM8
СообщениеДобавлено: Вс мар 10, 2019 14:29:41 
Прорезались зубы
Аватар пользователя

Зарегистрирован: Вт июн 10, 2008 09:17:06
Сообщений: 215
Откуда: г. Саратов
Рейтинг сообщения: 0
Вот что находится в 0x19301.

Спойлер
Код:
0x19301:  88             push A                                   cycles=1
0x19302:  a0 30          sub A, #$30                              cycles=1
0x19304:  a1 0c          cp A, #$0c                               cycles=1
0x19306:  24 1c          jrnc $19324  (offset=28)                 cycles=1-2
0x19308:  8d 01 a9 fe    callf $1a9fe                             cycles=5
0x1930c:  01             rrwa X, A                                cycles=1
0x1930d:  46             rrc A                                    cycles=1
0x1930e:  01             rrwa X, A                                cycles=1
0x1930f:  4a             dec A                                    cycles=1
0x19310:  01             rrwa X, A                                cycles=1
0x19311:  4e             swap A                                   cycles=1
0x19312:  01             rrwa X, A                                cycles=1
0x19313:  52 01          sub SP, #$01                             cycles=1
0x19315:  56             rrcw X                                   cycles=2
0x19316:  01             rrwa X, A                                cycles=1
0x19317:  5a             decw X                                   cycles=1
0x19318:  01             rrwa X, A                                cycles=1
0x19319:  5e             swapw X                                  cycles=1
0x1931a:  01             rrwa X, A                                cycles=1
0x1931b:  62             div X, A                                 cycles=2-17
0x1931c:  01             rrwa X, A                                cycles=1
0x1931d:  66 01          rrc ($01,X)                              cycles=1
0x1931f:  6a 01          dec ($01,X)                              cycles=1
0x19321:  6e 01          swap ($01,X)                             cycles=1
0x19323:  72 a0          ???                                      cycles=?


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Программирование STM8
СообщениеДобавлено: Вс мар 10, 2019 14:42:19 
Собутыльник Кота
Аватар пользователя

Карма: 29
Рейтинг сообщений: 645
Зарегистрирован: Сб май 14, 2011 21:16:04
Сообщений: 2694
Откуда: г. Чайковский
Рейтинг сообщения: 0
Медали: 1
Получил миской по аватаре (1)
SarCity писал(а):
далее уже *0x20+0x95C1=адрес
SarCity писал(а):
ldw $986,X
986 адрес, по которому запишется значения регистровой пары Х.

Добавлено after 1 minute 30 seconds:
Вот что находится в 0x19301.
А там еще вызов подпрограммы.

Добавлено after 7 minutes 16 seconds:
SarCity писал(а):
Вот что находится в 0x19301.
попрограмма не вся. Но судя по всему значение А не изменяет. Возможно результат ее работы в XH.

_________________
Изображение
Добро всегда побеждает зло. Поэтому кто победил - тот и добрый.


Вернуться наверх
 
Показать сообщения за:  Сортировать по:  Вернуться наверх
Начать новую тему Ответить на тему  [ Сообщений: 2500 ]     ... , , , 82, , , ...  

Часовой пояс: UTC + 3 часа


Кто сейчас на форуме

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 9


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

Найти:
Перейти:  


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB
Extended by Karma MOD © 2007—2012 m157y
Extended by Topic Tags MOD © 2012 m157y