Программирование STM8

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

Сообщение borskiy »

Помогите освоить вот этого зверя STM8S001J3 Какой программой пользоваться, чем и как прошивать.
Реклама
Собутыльник Кота
Аватара пользователя
Сообщения: 2567
Зарегистрирован: Вт май 01, 2018 19:44:47

Сообщение VladislavS »

[uquote="borskiy",url="/forum/viewtopic.php?p=3529107#p3529107"]Помогите освоить вот этого зверя STM8S001J3 Какой программой пользоваться, чем и как прошивать.[/uquote]А проиводитель что говорит? Не может же он не рекомендовать средства разработки.
Реклама
Родился
Сообщения: 12
Зарегистрирован: Вс окт 18, 2015 18:24:35
Откуда: Нижний Новгород

Сообщение borskiy »

STM8S001J3 Нужна помощь в написание небольшой программы, не бесплатно. Все вопросы в личку.
Родился
Сообщения: 1
Зарегистрирован: Пт мар 01, 2019 07:37:59

Сообщение evgenii_stm »

есть кто из Владивостока кто для STM8 програмирует,,???
Реклама
Эиком - электронные компоненты и радиодетали
Прорезались зубы
Аватара пользователя
Сообщения: 215
Зарегистрирован: Вт июн 10, 2008 09:17:06
Откуда: г. Саратов

Сообщение SarCity »

Добрый день. Подскажите чайнику по 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
Контактная информация:
Реклама
Собутыльник Кота
Аватара пользователя
Сообщения: 2708
Зарегистрирован: Сб май 14, 2011 21:16:04
Откуда: г. Чайковский

Сообщение Z_h_e »

SarCity писал(а):На какой адрес будет ссылаться при значении AA, C2 ?
Лично я вопрос не понял. При изменении АА на С2? Кто будет ссылаться на адрес?
Изображение
Добро всегда побеждает зло. Поэтому кто победил - тот и добрый.
Реклама
Собутыльник Кота
Аватара пользователя
Сообщения: 2723
Зарегистрирован: Пт сен 07, 2018 20:20:02
Откуда: деревня в Тульской губернии

Сообщение ПростоНуб »

[uquote="SarCity",url="/forum/viewtopic.php?p=3587384#p3587384"]callf $19301[/uquote]
"Огласите весь список, пожалуйста!" (с)
Что происходит в данной подпрограмме?
Собутыльник Кота
Аватара пользователя
Сообщения: 2708
Зарегистрирован: Сб май 14, 2011 21:16:04
Откуда: г. Чайковский

Сообщение Z_h_e »

ПростоНуб писал(а):Что происходит в данной подпрограмме?
Думаю не знает. Судя по листингу - дизассемблер.
Изображение
Добро всегда побеждает зло. Поэтому кто победил - тот и добрый.
Прорезались зубы
Аватара пользователя
Сообщения: 215
Зарегистрирован: Вт июн 10, 2008 09:17:06
Откуда: г. Саратов

Сообщение SarCity »

Да, это дизассемблированная прошивка.
Что происходит в callf $19301 я не знаю, да и данном случае это, я думаю, не важно.

0xAA как-то должно преобразоваться и далее уже *0x20+0x95C1=адрес
Контактная информация:
Собутыльник Кота
Аватара пользователя
Сообщения: 2723
Зарегистрирован: Пт сен 07, 2018 20:20:02
Откуда: деревня в Тульской губернии

Сообщение ПростоНуб »

[uquote="SarCity",url="/forum/viewtopic.php?p=3587427#p3587427"]я думаю, не важно.[/uquote]
Это очень важно, так как, если функция возвращает знаковый или беззнаковый байт, то большинство компиляторов используют для этого аккумулятор.
Собутыльник Кота
Аватара пользователя
Сообщения: 2708
Зарегистрирован: Сб май 14, 2011 21:16:04
Откуда: г. Чайковский

Сообщение Z_h_e »

SarCity писал(а):Что происходит в callf $19301 я не знаю, да и данном случае это, я думаю, не важно.
:facepalm:

Код: Выделить всё

ld A, #$AA
ld $983,A
Видимо присвоение какой-то переменной значение АА.

Код: Выделить всё

callf $19301
Данная подпрограмма вероятно изменяет аккумулятор А и XH.
Изображение
Добро всегда побеждает зло. Поэтому кто победил - тот и добрый.
Прорезались зубы
Аватара пользователя
Сообщения: 215
Зарегистрирован: Вт июн 10, 2008 09:17:06
Откуда: г. Саратов

Сообщение SarCity »

Вот что находится в 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=?
Контактная информация:
Собутыльник Кота
Аватара пользователя
Сообщения: 2708
Зарегистрирован: Сб май 14, 2011 21:16:04
Откуда: г. Чайковский

Сообщение Z_h_e »

SarCity писал(а):далее уже *0x20+0x95C1=адрес
SarCity писал(а):ldw $986,X
986 адрес, по которому запишется значения регистровой пары Х.

Добавлено after 1 minute 30 seconds:
[uquote="SarCity",url="/forum/viewtopic.php?p=3587458#p3587458"]Вот что находится в 0x19301.[/uquote] А там еще вызов подпрограммы.

Добавлено after 7 minutes 16 seconds:
SarCity писал(а):Вот что находится в 0x19301.
попрограмма не вся. Но судя по всему значение А не изменяет. Возможно результат ее работы в XH.
Изображение
Добро всегда побеждает зло. Поэтому кто победил - тот и добрый.
Нашел транзистор. Понюхал.
Аватара пользователя
Сообщения: 197
Зарегистрирован: Пн янв 24, 2011 01:51:48
Откуда: Украина, Киев

Сообщение RusikOk »

подскажите какой ток потребления у входа АЦП STM8S? нужно рассчитать впритык по току делитель
Контактная информация:
Собутыльник Кота
Аватара пользователя
Сообщения: 2708
Зарегистрирован: Сб май 14, 2011 21:16:04
Откуда: г. Чайковский

Сообщение Z_h_e »

В ДШ разве не написано? Ну и реально попробовать. Если мне память не изменяет нужно отключить триггер Шмидта для уменьшения потребления.
Изображение
Добро всегда побеждает зло. Поэтому кто победил - тот и добрый.
Открыл глаза
Сообщения: 79
Зарегистрирован: Пн дек 19, 2016 10:20:28

Сообщение PombI4 »

Разбирался на днях с отладочной платой STM8S-Discovery, да потер всю память на чипе, не запомнив дефолтные значения option bytes.
Часть демок теперь не работает как надо. Пол дня прокопался, но так и не разобрался, что там изначально было.
Если у кого есть данная плата, напишите пожалуйста, что у вас в ней прошито в option bytes?
Собутыльник Кота
Аватара пользователя
Сообщения: 2723
Зарегистрирован: Пт сен 07, 2018 20:20:02
Откуда: деревня в Тульской губернии

Сообщение ПростоНуб »

PombI4, а если прошить значениями по умолчанию (factory default) из даташит?

Добавлено after 2 hours 17 minutes 36 seconds:
Как то я это пропустил.
15 апреля вышел SDCC 3.9
SDCC 3.9.0 Feature List:
Support for struct / union assignment.
Optimizations in the stm8 backend relevant to soft float increase Whetstone score by two thirds.
Improvements in rematerialization in the stm8 backend improve code generation for struct, union and arrays.
New stack allocator reduces stack space usage for the stm8, z80, z180, gbz80, r2k, r3ka, tlcs90 backends.
New ez80_z80 backend for eZ80 in Z80 mode.
Removed deprecated sdcclib utility.
New pdk14 backend for Padauk µC with 14-bit wide program memory.
New in-development pdk15 backend for Padauk µC with 15-bit wide program memory.

Особенно радует ускорение теста Whetstone в два раза и рематериализация для STM8 при операциях со структурами, объединениями и массивами. Код, который SDCC генерил до этого, особенно со структурами, меня сильно раздражал.
Присваивание структур и объединений вещь приятная, но мне не в лом было и memcpy() писать.
Что там улучшили в аллоцировании стека я пока не понял.
Развитие поддержки сверхдешевых, но однократно программируемых, Padauk радует, но это уже к STM8 отношения не имеет.
Открыл глаза
Сообщения: 79
Зарегистрирован: Пн дек 19, 2016 10:20:28

Сообщение PombI4 »

Странно - перепрошился через ST VD и все заработало...

А вот через IAR... Сначала работало, а потом после стирания перестало.

При этом, после прошивки через ST VD, options bytes как были нулевыми, так и остались.
Собутыльник Кота
Аватара пользователя
Сообщения: 2723
Зарегистрирован: Пт сен 07, 2018 20:20:02
Откуда: деревня в Тульской губернии

Сообщение ПростоНуб »

PombI4, Они не могли быть нулевыми. Большинство option bytes у STM8 парные - прямое и инверсное значение. Например, по-умолчанию, OPT1=0х00, а следующий за ним NOPT1=0хFF
Поэтому просто нулями их так просто не перепишешь.
Подозреваю, что ST VD увидев несоответствие между прямыми и инверсными значениями сам прописал значения по-умолчанию.
Открыл глаза
Сообщения: 79
Зарегистрирован: Пн дек 19, 2016 10:20:28

Сообщение PombI4 »

Ну, как реально в памяти они лежали, я не смотрел... А вот в интерфейсе прошивальщика они занулены. Там они не как OPT NOPT отображаются.
1.png
(54.46 КБ) 878 скачиваний
Изображение
Ответить

Вернуться в «Разные вопросы по МК»