LINUX.ORG.RU

Китайский программатор и плата STM8S103F3P6

 , ,


1

2

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

./st-flash --debug /dev/stlinkv2_1 erase      
st-flash 1.5.1-30-g84f63d2
2019-06-07T22:19:08 WARN sg.c: Failed to find an stlink v1 by VID:PID
2019-06-07T22:19:08 ERROR sg.c: Could not open stlink device


./st-flash  write blink.ihx  0x08000000
st-flash 1.5.1-30-g84f63d2
2019-06-07T22:34:11 INFO common.c: Loading device parameters....
2019-06-07T22:34:11 WARN common.c: Invalid flash type, please check device declaration


Bus 005 Device 002: ID 0483:3748 STMicroelectronics ST-LINK/V2


[ 8520.844184] usb 4-5: USB disconnect, device number 2
[ 8520.844423] pl2303 ttyUSB0: pl2303 converter now disconnected from ttyUSB0
[ 8520.844461] pl2303 4-5:1.0: device disconnected
[ 8527.964750] usb 4-5: new full-speed USB device number 3 using ohci-pci
[ 8528.174072] usb 4-5: New USB device found, idVendor=0483, idProduct=3748
[ 8528.174076] usb 4-5: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[ 8528.174078] usb 4-5: Product: STM32 STLink
[ 8528.174080] usb 4-5: Manufacturer: STMicroelectronics
[ 8528.174082] usb 4-5: SerialNumber: RÿkI\xc2\x84VVFU\xc2\x87
[ 8997.181946] usb 4-5: USB disconnect, device number 3
[ 8998.749279] usb 4-5: new full-speed USB device number 4 using ohci-pci
[ 8998.957316] usb 4-5: New USB device found, idVendor=0483, idProduct=3748

★★★★★

Ответ на: комментарий от NiTr0

на bluepill стоят б\у чипы

Нет, новые. Отличить б/у от новых легко.

128кб, отмаркированняе как 64кб

Это элементарно: на заводе лепят сразу более мощные чипы. Потом в партии производится отсев. Вот и выходит, что этот десяток контрольных МК определяет судьбу всей партии в миллионы штук. И всю партию маркируют так, как худший из тестовых себя поведет.

Ты ни разу не встречал st-link'и на STM32F100? А все дело в том, что F100 — отбраковка из 103-х, у которых не работает USB. Но в партии вполне могут найтись чипы, у которых USB работает. Понятно, что это — та еще лотерея и приличные люди так не делают, но китайцам пофиг.

Eddy_Em ☆☆☆☆☆
()
Ответ на: комментарий от Eddy_Em

И всю партию маркируют так, как худший из тестовых себя поведет.

нет. потому что в стм есть возможность определить программно объем флэша. так вот, там программно детектится 128к.

Ты ни разу не встречал st-link'и на STM32F100? А все дело в том, что F100 — отбраковка из 103-х, у которых не работает USB.

встречал. и это даже не отбраковка, а просто юсб не тестируется на заводе (и не заявлен в функционале).

NiTr0 ★★★★★
()

Ошибка вышла. Я всё писал про Blue Pill, так как это часто покупают из STM32, если нужно подешевле. Но посмотрел название в6имательнее - у автора темы STM8, а не STM32. То есть, не Blue Pill.

Partisan ★★★★
()
Ответ на: комментарий от oldpsyho

Точно. Просто я ни те, ни другие не использую. Сдуру купил зачем-то пяток STM32F103 в LQFP48, погонял на вундервафле и забросил. Если мне флоаты понадобятся, лучше Cortex-M4 взять в виде STM32F303. Там и DSP всякие интересные есть.

Eddy_Em ☆☆☆☆☆
()
Ответ на: комментарий от Eddy_Em

Понятно, что это — та еще лотерея и приличные люди так не делают, но китайцам пофиг.

Ой, да ладно. У амд трёхядерные процы были отбраковкой из четырёхядерных. И про видеочипы такое слышал, но давно это было, так что конретики не приведу.

K22
()
Ответ на: комментарий от K22

а видеочипы - они все такие :) почему кол-во блоков обычно у предтопов (а то и топов) не кратно «круглой цифре», а на кусочек (равный минимальному кол-ву отключаемых блоков - модулю) меньше? :)

помнится, резал как-то на полудохлых G8x/G9x программно память и битые шейдеры, и они даже потом где-то работали как затычки, пока полностью не додыхали...

NiTr0 ★★★★★
()
Ответ на: комментарий от Eddy_Em

таки у F1 есть главное преимущество - цена. особенно когда нужно памяти чуть поболее чем 64к (в которые, юзая юсб, очень легко упереться)...

NiTr0 ★★★★★
()
Ответ на: комментарий от NiTr0

Ну, хорошо. Имеем STM32F030 за 40 рублей и STM32F103 за 70. Где у 103 преимущество в цене?

когда нужно памяти чуть поболее чем 64к

Оперативки? У него столько нет.

в которые, юзая юсб, очень легко упереться

Смотря как ты его юзаешь.

Eddy_Em ☆☆☆☆☆
()
Ответ на: комментарий от Eddy_Em

Смищно, 107-й стоит 280 руб, в то же время как 302-й всего 180 руб. На кой ляд тогда тот 103-й? И плевать какую серию использовать, errat-ы на всех толстые, что на 103-ю, что на ту же 030

oldpsyho
()
Ответ на: комментарий от oldpsyho

Вот только на 030 I2C через DMA работает, а в 103 это — лотерея!

Eddy_Em ☆☆☆☆☆
()
Ответ на: комментарий от Eddy_Em

Имеем STM32F030 за 40 рублей

без юсб...

Оперативки? У него столько нет.

флэша. хотя посмотрел - то таки tssop флэшем люто обделены (16кб флэша на 32бит камне - это обнять и плакать), а в lqfp - все чуток повеселее но цены тоже не радуют.

ну и периферия в F0 - днище.

Смотря как ты его юзаешь.

cdc - килобайт 20 откусывает легко. + эзернет стек килобайт на 10-15 (это просто стек, если что-то типа снмп сделать - то еще 10-15 сверху). итого на логику с гулькин хрен остается даже с 64к. ну а 16к - разве что какой-то тупой моргалик сваять, под который и стм8 за глаза.

NiTr0 ★★★★★
()
Ответ на: комментарий от oldpsyho

Смищно, 107-й стоит 280 руб, в то же время как 302-й всего 180 руб. На кой ляд тогда тот 103-й?

если делать для себя что-то - то в принципе да, пофиг сколько какой-то компонент стоит.

если делать партию - разница уже ощутимая будет.

NiTr0 ★★★★★
()
Ответ на: комментарий от NiTr0

без юсб...

Тогда как тебе 8-битные CH552G на основе ядра 8051, 5 штук за полтора бакса?!!

флэша

Не представляю даже, что нужно такого набыдлокодить, чтобы в 32кБ не влезло… Разве что если ты с веб-мордой что-то делаешь и во внутренний флеш странички и картинки загоняешь.

16кб флэша на 32бит камне - это обнять и плакать

Сейчас вожусь с контроллером термодатчиков: CAN, USB, I2C, ADC, UART... И все это нормально вошло в 20кБ. Ну чего там еще надо добавить, чтобы не влезть? Шрифты что ли для экранчика? Ну, у меня таких задач нет, чтобы экран понадобился, на крайняк можно через синий зуб сделать коммуникацию с любым планшетом и в консольке команды писать и выхлоп читать.

периферия в F0 - днище.

Ну ты и конь! Ты посмотри, какая периферия у F103! Вот где днище!!!

cdc - килобайт 20 откусывает легко

У тебя руки из жопы. Пойди ко мне на гитхаб и посмотри: CDC на F0x2 (с уартом, понятное дело) весит 6кБ, на F103 — чуть больше, почти 7кБ. Ну и где здесь 20??? Я в шоке...

эзернет

Вот же делать тебе нечего!

16к - разве что какой-то тупой моргалик сваять

Только у этого «моргалика» будет нормальный АЦП, DMA, куча каналов ШИМа, всякие разные энкодеры и т.п. И все это — аппаратно! Но если у тебя CDC 20кБ занимает, то с таким мегарукожопием тебе, видимо, нужно 10кБ, чтобы светодиодом поморгать по таймеру…

Eddy_Em ☆☆☆☆☆
()
Ответ на: комментарий от Eddy_Em

ты у себя в жж как-то спрашивал про простые функции для цветовых карт (colormaps). актуально ещё? могу парочку подкинуть

anonymous
()
Ответ на: комментарий от Eddy_Em

Тогда как тебе 8-битные CH552G на основе ядра 8051, 5 штук за полтора бакса?!!

а на них хоть какой-то пдф есть? как там с дебагом?

nuvoton'ы те еще дешевле, но к ним нет вообще почти нифига.

У тебя руки из жопы. Пойди ко мне на гитхаб и посмотри: CDC на F0x2 (с уартом, понятное дело) весит 6кБ, на F103 — чуть больше, почти 7кБ. Ну и где здесь 20??? Я в шоке...

я стмовский брал. писать с нуля юсб стек - сильно на любителя занятие, как и tcp стек с нуля...

Ну ты и конь! Ты посмотри, какая периферия у F103! Вот где днище!!!

пара АЦП, 7 каналов DMA, юсб, CAN и т.п...

Только у этого «моргалика» будет нормальный АЦП, DMA, куча каналов ШИМа, всякие разные энкодеры и т.п. И все это — аппаратно!

угу, и писать под него на асме экономя каждый байт :)

NiTr0 ★★★★★
()
Последнее исправление: NiTr0 (всего исправлений: 1)
Ответ на: комментарий от NiTr0

а на них хоть какой-то пдф есть?

Пока, к сожалению, плохо: есть лишь переведенный с китайского даташит, а спецификаций и нормальной документации нет. Возможно, придется еще годик-другой подождать. Но МК очень впечатляющие: по такой-то цене, да с USB!!!

как там с дебагом?

Для дебага есть UART. На любых МК. Ну и всегда под рукой есть логанализатор и осциллограф, больше ничего не нужно.

nuvoton'ы те еще дешевле, но к ним нет вообще почти нифига.

Там жутко дорогой программатор. Меня только это и останавливает.

я стмовский брал.

У них есть нормальный USB, где CDC где-то в 8кБ влезает. Но для меня это показалось слишком много, поэтому я на основе чужого кода сделал себе CDC и HID.

писать с нуля юсб стек - сильно на любителя занятие

Все намного проще, всего лишь за пару недель можно разобраться.

пара АЦП, 7 каналов DMA, юсб, CAN и т.п...

У нулевок тоже такая прелесть есть. Посмотри на STM32F072 по баксу за штучку! Единственный плюс STM32F103 — то, что он Cortex-M3, т.е. у него есть аппаратное деление (которого у нулевок нет) и аппаратные флоаты (которые на нулевках — вообще оверхед; хотя, если дебилоиды-абдуринщики умудряются на аврках флоатами пользоваться, то пределу человеческой тупости вообще не видно!).

Eddy_Em ☆☆☆☆☆
()
Ответ на: комментарий от oldpsyho

Уперлись потому, что у 103 цена примерно как у F0x2 в таком же форм-факторе. 105 и 107 слишком дорогие, они вообще нафиг не нужны, когда есть 303.

Eddy_Em ☆☆☆☆☆
()
Ответ на: комментарий от Eddy_Em

Но МК очень впечатляющие: по такой-то цене, да с USB!!!

ну да, аппаратный юсб за такие деньги шикарная вещь для несложных поделок.

У них есть нормальный USB, где CDC где-то в 8кБ влезает.

ну я юзал HAL - там инициализация юсб/клоков/ацп + собссно cdc на более чем 20кб распухала, ближе к 30-ти.

Все намного проще, всего лишь за пару недель можно разобраться.

возможно, оно вроде как не сильно-то сложное (пожалуй, snmp позаковыристее будет), но все же...

NiTr0 ★★★★★
()
Ответ на: комментарий от Eddy_Em

105 и 107 слишком дорогие, они вообще нафиг не нужны, когда есть 303.

у них есть нормальный эзернет. а на прочих - приходится пользоваться богомерзким глюкалом 28j60, ну или wiznet'ами у которых цена как у МК...

NiTr0 ★★★★★
()
Ответ на: комментарий от Eddy_Em

Чё интересно, кстати, серия F0xx или L0xx вся в нормальных, паябельных TSSOP-20

oldpsyho
()
Ответ на: комментарий от NiTr0

ну я юзал HAL

Жуть какая. Абдуринщик на моем ЛОРе!!!

у них есть нормальный эзернет.

Для нормального эзернета есть «апельсинки» по 1000р за штучку. К ним присобачиваешь при необходимости модуль на МК и получаешь кайф. Без необходимости ковыряться в стеке TCP/IP.

oldpsyho

паябельных TSSOP-20

Чем тебе LQFP не паябельные? При должной сноровке мини-волной даже LQFP-144 паяются за 10 минут!

Eddy_Em ☆☆☆☆☆
()
Ответ на: комментарий от anonymous

Спасибо, закинул на дропбокс в директорию с библиотекой, как будет время - добавлю интересные.

Eddy_Em ☆☆☆☆☆
()
Ответ на: комментарий от Eddy_Em

Жуть какая. Абдуринщик на моем ЛОРе!!!

ну раскуривать с нуля как правильно инициализировать всю жирную периферию стм, а потом писать туда же юсб стек с нуля - как по мне слишком уж.

а вот для стм8 - там да, от хала ихнего толку никакого, максимум константы подергать...

NiTr0 ★★★★★
()
Ответ на: комментарий от Eddy_Em

Чем тебе LQFP не паябельные? При должной сноровке мини-волной даже LQFP-144 паяются за 10 минут!

Паять LQFP я умею.

oldpsyho
()
Ответ на: комментарий от Eddy_Em

Чем ты там 10 минут занимаешься? Волной оно паяется за минуту, и ещё секунд 30 оплёткой пару залипух снять.

K22
()
Ответ на: комментарий от Eddy_Em

Флюс и паяльник себе нормальные купи, и не будет коротышей. Непропай - иголочкой по ножкам проходишься, ещё секунд 20. Да и то особо не надо, если руки не из жопы.

K22
()
Ответ на: комментарий от oldpsyho

Пока ту пасту на 100+ точек пайки нанесёшь, заснуть уже можно. Волной оно паяется элементарно, а пара соплей снимаются вмиг. Хотя у меня есть товарищ, который каждую ножку по одной под микроскопом паяет. Надо вас познакомить, видимо, как любителей извращений. Хотя у него и то наверное быстрее выходит.

K22
()
Ответ на: комментарий от oldpsyho

Так приезжай, это не вопрос никогда. Накатим, опять же.

K22
()
Ответ на: комментарий от oldpsyho

Хорош бугуртить, давайте по теме.

Нет не завел.

KERNEL[359580.476885] add      /devices/parport0/ppdev0.0 (parport)
KERNEL[359580.476958] bind     /devices/parport0/ppdev0.0 (parport)
UDEV  [359580.478938] add      /devices/parport0/ppdev0.0 (parport)
UDEV  [359580.479474] bind     /devices/parport0/ppdev0.0 (parport)
KERNEL[359580.524313] unbind   /devices/parport0/ppdev0.0 (parport)
KERNEL[359580.524347] remove   /devices/parport0/ppdev0.0 (parport)
UDEV  [359580.526036] unbind   /devices/parport0/ppdev0.0 (parport)
UDEV  [359580.526651] remove   /devices/parport0/ppdev0.0 (parport)
KERNEL[359583.819536] add      /devices/pci0000:00/0000:00:13.0/usb5/5-1 (usb)
KERNEL[359583.823219] add      /devices/pci0000:00/0000:00:13.0/usb5/5-1/5-1:1.0 (usb)
KERNEL[359583.823407] bind     /devices/pci0000:00/0000:00:13.0/usb5/5-1 (usb)
UDEV  [359583.839550] add      /devices/pci0000:00/0000:00:13.0/usb5/5-1 (usb)
UDEV  [359583.842142] add      /devices/pci0000:00/0000:00:13.0/usb5/5-1/5-1:1.0 (usb)
UDEV  [359583.844622] bind     /devices/pci0000:00/0000:00:13.0/usb5/5-1 (usb)
KERNEL[359584.438590] add      /devices/parport0/ppdev0.0 (parport)
KERNEL[359584.438625] bind     /devices/parport0/ppdev0.0 (parport)
KERNEL[359584.438643] unbind   /devices/parport0/ppdev0.0 (parport)
KERNEL[359584.438653] remove   /devices/parport0/ppdev0.0 (parport)
UDEV  [359584.441129] add      /devices/parport0/ppdev0.0 (parport)
UDEV  [359584.442101] bind     /devices/parport0/ppdev0.0 (parport)
UDEV  [359584.442999] unbind   /devices/parport0/ppdev0.0 (parport)
UDEV  [359584.444020] remove   /devices/parport0/ppdev0.0 (parport)
KERNEL[359588.850503] add      /devices/parport0/ppdev0.0 (parport)
KERNEL[359588.850574] bind     /devices/parport0/ppdev0.0 (parport)
UDEV  [359588.852660] add      /devices/parport0/ppdev0.0 (parport)
UDEV  [359588.853635] bind     /devices/parport0/ppdev0.0 (parport)
KERNEL[359588.896267] unbind   /devices/parport0/ppdev0.0 (parport)
KERNEL[359588.896308] remove   /devices/parport0/ppdev0.0 (parport)
UDEV  [359588.898013] unbind   /devices/parport0/ppdev0.0 (parport)
UDEV  [359588.898590] remove   /devices/parport0/ppdev0.0 (parport)


root@bastilie:~# dmesg
[359674.570944] usb 5-1: new full-speed USB device number 8 using ohci-pci
[359674.773905] usb 5-1: New USB device found, idVendor=0483, idProduct=3748
[359674.773911] usb 5-1: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[359674.773915] usb 5-1: Product: STM32 STLink
[359674.773918] usb 5-1: Manufacturer: STMicroelectronics
[359674.773921] usb 5-1: SerialNumber: RÿkI\xc2\x84VVFU\xc2\x87


root@bastilie:~# ls /dev/stlinkv2_1 -la
lrwxrwxrwx 1 root root 15 июн 11 22:00 /dev/stlinkv2_1 -> bus/usb/005/008


splinter@bastilie:~/INSTALL/stlink/bin$ LD_LIBRARY_PATH=../lib ./st-info --probe
Found 1 stlink programmers
 serial: 303030303030303030303031
openocd: "\x30\x30\x30\x30\x30\x30\x30\x30\x30\x30\x30\x31"
  flash: 0 (pagesize: 0)
   sram: 0
 chipid: 0x0000
  descr: unknown device

splinter ★★★★★
() автор топика
Ответ на: комментарий от oldpsyho

может подключил не так?
RST -> NRST
SWIM -> SWM
GND -> GND
3V3 -> 3V3

splinter ★★★★★
() автор топика
Ответ на: комментарий от oldpsyho

Можно ли для прошивки stm8 использовать stlink который идет с платой stm32f0discovery?

splinter ★★★★★
() автор топика
Ответ на: комментарий от oldpsyho

О! Поставил перемычки обратно, ресетнул и ...

splinter@bastilie:~/INSTALL/stlink/bin$ LD_LIBRARY_PATH=../lib ./st-info --probe
Found 1 stlink programmers
 serial: 303030303030303030303031
openocd: "\x30\x30\x30\x30\x30\x30\x30\x30\x30\x30\x30\x31"
  flash: 65536 (pagesize: 1024)
   sram: 8192
 chipid: 0x0440
  descr: F0 device


По крайне мере stm32 определяется, как определить stm8?

splinter ★★★★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.