Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: давайте сделаем на Питоне отладку под stm8
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > Все остальные микроконтроллеры > STM8
_Pasha
Привет.
Времени мало ((
Исходные.
1. https://github.com/vdudouyt/stm8flash прошивальщик
почитал - вроде все понятно и элементарно
2. Поставил PyUSB https://github.com/walac/pyusb/blob/master/docs/tutorial.rst
разбираюсь. вроде работает. распознает. stlink v1

дальше.
затачивать это все под GDB вроде неинтересно, поскольку GDB для stm8 мы вряд ли дождемся.
------
Лично мне интересно, например, запустить на малине скрипт и работать с удаленной отладкой как с texane st-util
я в конце концов психанул и перешел с глубоко дурного эклипса на отладку под GDB с командным файлом.
но там свой птичий язык. Тем не менее - это удобно. не нужно предварительно подымать никаких консолей и прочая прочая. просто смотрим содержимое переменной.
biggrin.gif на шагание нету времени.
---

что туда удобнее в плане функционала?

наверное, оформить в виде модуля с простым API чтобы минимум писанины было?
как считаете?

в общем, ищу единомышленников.

забыл же ж уточнить.
это все под файлы, сгенеренные SDCC.
_Pasha
помогите с конфигом для BOT коммент в тексте
CODE

import usb.core
import usb.util

class USB_BOT_Layer:
Dev=None
def __init__ (vendor,product,self):
dev = usb.core.find(idVendor=0x0483, idProduct=0x3744)
# was it found?
if dev is None:
raise ValueError('Device not found')
dev.set_configuration()
# get an endpoint instance
cfg = dev.get_active_configuration()
# get interface как его правильно получать? кто уже делал?
print cfg
def write(data="",self):
pass
def read(self):
pass

class STM8:
Core={}
SWIM={}
Debug={}
USB=None
def __init__(self):
self.Core={
'Size:':11,
'A':0x7f00,
'PCE_Reg':0x7F01,
'PCH_Reg':0x7F02,
'PCL_Reg':0x7F03,
'XH_Reg':0x7F04,
'XL_Reg':0x7F05,
'YH_Reg':0x7F06,
'YL_Reg':0x7F07,
'SPH_Reg':0x7F08,
'SPL_Reg':0x7F09,
'CC_Reg':0x7F0A
}
self.SWIM={
'CSR': {
'addr':0x7F80,
'PRI' : 0,
'HSIT': 1,
'RST ': 2,
'OSCOFF':3,
'HS':4,
'SWIM_DM':5,
'NO_ACCESS':6,
'SAFE_MASK':7,
},
'CLK_CCR':{
'addr':0x50CD,
'SWIMCLK':0
}
}
self.Debug={
'BK1RE':0x7f90,
'BK1RH':0x7f91,
'BK1RL':0x7f92,
'BK2RE':0x7f93,
'BK2RH':0x7f94,
'BK2RL':0x7f95,
'CR1':0x7f96,
'CR2':0x7f97,
'CSR1':0x7f98,
'CSR2':0x7f99,
'ENFCTR':0x7f9a
}
USB = USB_BOT_Layer(0x0483,0x3744)


т.е. мне нужно получить два эндпоинта, не заблудившись в интерфейсах (т.е. кошерно, чтобы всегда работало)
потом read write будет с ними работать
Doka
добрый день,
есть какой-либо выхлоп у идеи?
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2024 Invision Power Services, Inc.