Arduino для RTL8710.

Pilnikov

Active member
Куда и какой COM порт? У JTAG нет COM портов. И на компьютерах тоже ныне нет COM портов. А тут RTL871x.
Вот pvvx видно сразу не ардуинщик вы. В ардуино есть два способа загрузки в плату: через порт и через программатор. Если мы не используем программатор, то обязательно нужно выбрать порт. Это мантра дурины.
Этот jlink переделанный чем не нормальный? Usb->com можно проверить замкнув RX c TX. А этот как?

он при соединении ещё с reset (CHIP_EN) модуля
c чем соединять с T_JRST или c SWIM_RST?
Я так понимаю (ну нет у меня опыту общения с STM) T_SWCLOCK, T_SWDIO, SW_RST относятся к режиму SWD, а остальные к JTAG?

Чем отличаются Jlink RAM и Jlink IMG?

Оффтоп:
И на компьютерах тоже ныне нет COM портов.
прицеп 2 и 3
 

Вложения

Последнее редактирование:

pvvx

Активный участник сообщества
Вот pvvx видно сразу не ардуинщик вы. В ардуино есть два способа загрузки в плату: через порт и через программатор. Если мы не используем программатор, то обязательно нужно выбрать порт. Это мантра дурины.
Это мантра Дурины прошлого века. Теперь там автоматическая загрузка программы по WiFi. Никаких портов выбирать не надо - надо отключить все порты.
Этот jlink переделанный чем не нормальный? Usb->com можно проверить замкнув RX c TX. А этот как?
Как и авто - едет/не едет. :)
c чем соединять с T_JRST или c SWIM_RST?
Я так понимаю (ну нет у меня опыту общения с STM) T_SWCLOCK, T_SWDIO, SW_RST относятся к режиму SWD, а остальные к JTAG?
Соединяете два провода по знакомым буквам. Совпадающих букв всего "SW"-"D" и "SW"-"C". Третий провод - общий. Название приводить? :)
Чем отличаются Jlink RAM и Jlink IMG?
Это для разработчиков. :)
Оффтоп:
прицеп 2 и 3
У меня есть VGA и XGA адаптеры первых выпусков. Куда их вставлять? На обоих рядок переключателей. Подскажите как включить к 4G монику?
 

pvvx

Активный участник сообщества
а если так? (см прицеп) и дальше не идет? о каком WiFi идет речь?
Пимпочку GC_1 или GC_0 через резистор на общий и может пойдет до OTA прошивки по WiFi...

Вы зачем меня обманываете? Нету никакого COM порта. Все микросхемы вытащил из тестового макета и никакого COM порта не нашел!
IMG_6794_ss.jpg
Где-то был и самый первый вариант. Но он собранный и надо крышку отрывать - COM порт искать... Или не надо?
 
Последнее редактирование:

sharikov

Active member
Третий нубский вопрос - как проверить работоспособность зверька (jlink -a) без 2-го STM-a? При попытке прошивки выдает картинку из прицепки.
Четвертый нубский вопрос в каком режиме прошивать, какие настройки делать для jlinka?
Пятый нубский вопрос - указывать сом порт или не обязательно?
3:
Подключить к заведомо работающему процессору

4:
Задать в настройках jlink Target interface = Ваш_интерфейс, скорость при старте 500kHz
По умолчанию jlink работает по jtag и если у вас подключение swd работать не будет. Автодетекта нет.

5:
В современных компьютерах не бывает компортов. Партия и правительство их объявили "устаревшими".


После того jlink увидит модуль первым делом слейте и сохраните текущую прошивку, не пытайтесь сразу прошивать новое!
В текущей прошивке в первую очередь интересует калибровочная область. Она индивидуальная у каждого экземпляра и терять калибровку нельзя потому что тестового оборудования wi-fi ни у кого из нас нет.
 

pvvx

Активный участник сообщества
В текущей прошивке в первую очередь интересует калибровочная область. Она индивидуальная у каждого экземпляра и терять калибровку нельзя потому что тестового оборудования wi-fi ни у кого из нас нет.
У меня много разных модулей с RTL871x - в Flash всё одинаково, кроме MAC. В RTL00 - MAC чисто от балды = китайского продавца. В модулях с много пинов - там номер MAC от производителя модуля и он пробивается по инет базам. И как вы наверно знаете, в eFuse тоже есть 4-ре отличающихся байта у всех модулей. И у RTL871xAF в flash OTP тоже вписан серийный номер.
В итоге в RTL00 или PINE терять нечего. В модулях от PINE возможно потерять только блокировки, ограничивающие доступ к имеющейся аппаратуре чипа. Например включения HT40... прописанных пинов для переключения OTA и основная прошивка, что-то ещё не дающее включить SDIOH. Т.ч. лучше это всё потерять и сразу.
Забыл - отличается ещё запись калибровки SDRAM и ADC. Но она от старого SDK и тормоз. В новом - автодетект и после него пропишется сама. Но вам это не грозит - RTL00 не содержит SDRAM и ADC.
На счет установок WiFi - можете вписать какие понравятся, залив прошивку с lib_wlan_mp.a, вместо lib_wlan.a. Отключите что, может будет круче... Стереть то всегда можно.
 
Последнее редактирование:

Pilnikov

Active member
COM порт искать... Или не надо?
Наверное не хватает КР580ВВ51А (8251A) Хотя под него и кроватки то нет. А зачем на макетке такая сборная солянка: 131 555 561 564? А у РФок дырки изолентой не заклеены - не по фэншую
 
Последнее редактирование:

pvvx

Активный участник сообщества
Задать в настройках jlink Target interface = Ваш_интерфейс, скорость при старте 500kHz
По умолчанию jlink работает по jtag и если у вас подключение swd работать не будет. Автодетекта нет.
Если запускаю jlink.exe, и говорю "h" и далее жму "Enter", то всё происходит автоматом:
Код:
SEGGER J-Link Commander V6.10a (Compiled Sep 19 2016 20:08:24)
DLL version V6.10a, compiled Sep 19 2016 20:07:49

Connecting to J-Link via USB...O.K.
Firmware: J-Link ARM V8 compiled Nov 28 2014 13:44:46
Hardware version: V8.00
S/N: **********
License(s): RDI,FlashDL,FlashBP,JFlash,GDB
VTref = 0.517V


Type "connect" to establish a target connection, '?' for help
J-Link>h
Target connection not established yet but required for command.
Please specify device / core. <Default>: CORTEX-M3
Type '?' for selection dialog
Device>
Please specify target interface:
  J) JTAG (Default)
  S) SWD
TIF>
Device position in JTAG chain (IRPre,DRPre) <Default>: -1,-1 => Auto-detect
JTAGConf>
Specify target interface speed [kHz]. <Default>: 4000 kHz
Speed>
Device "CORTEX-M3" selected.


Cannot connect to target.
PC: (R15) = 00000000, CPSR = 00000000 (Unknown mode, ARM)
Current:
     R0 =00000000, R1 =00000000, R2 =00000000, R3 =00000000
     R4 =00000000, R5 =00000000, R6 =00000000, R7 =00000000
USR: R8 =00000000, R9 =00000000, R10=00000000, R11=00000000, R12=00000000
     R13=00000000, R14=00000000
FIQ: R8 =00000000, R9 =00000000, R10=00000000, R11=00000000, R12=00000000
     R13=00000000, R14=00000000, SPSR=00000000
IRQ: R13=00000000, R14=00000000, SPSR=00000000
SVC: R13=00000000, R14=00000000, SPSR=00000000
ABT: R13=00000000, R14=00000000, SPSR=00000000
UND: R13=00000000, R14=00000000, SPSR=00000000
J-Link>
 

pvvx

Активный участник сообщества
Наверное не хватает КР580ВВ51А (8251A) Хотя под него и кроватки то нет. А зачем на макетке такая сборная солянка: 131 555 561 564?
Это тестовая плата. На ней проверялись компоненты, перед сборкой очередных сотен плат.... КР580ВВ51A и 8251A есть новенькие. И ещё пара коробок размером с телевизоры тех времен идут в придачу к данной плате... Мне лень их распаковывать... Всё равно там COM порт не найти.

Может взять микроконтроллер и к нему присабачить 51? Atari Basic пойдет? (от Atari так-же есть всё)
IMG_6802sm.jpg
Или сразу VGA припаять, чтобы на монитор… Но как на ней джамперы ставить - забыл :(
IMG_6798sm.jpg
Вы уж там не волнуйтесь - есть практически всё, с чем маялся честной народ с примерно 70-х годов...
 
Последнее редактирование:

Pilnikov

Active member
как то так
SEGGER J-Link Commander V6.12e (Compiled Jan 6 2017 17:20:00)
DLL version V6.12e, compiled Jan 6 2017 17:19:29

Connecting to J-Link via USB...O.K.
Firmware: J-Link STLink V2 compiled Oct 7 2016 13:13:19
Hardware version: V1.00
S/N: 770347724
VTref = 3.300V


Type "connect" to establish a target connection, '?' for help
J-Link>connect
Please specify device / core. <Default>: CORTEX-M3
Type '?' for selection dialog
Device>
Please specify target interface:
J) JTAG (Default)
S) SWD
TIF>S
Specify target interface speed [kHz]. <Default>: 4000 kHz
Speed>200
Device "CORTEX-M3" selected.


Cannot connect to target.
J-Link>h
PC: (R15) = 00000000, CPSR = 00000000 (Unknown mode, ARM)
Current:
R0 =00000000, R1 =00000000, R2 =00000000, R3 =00000000
R4 =00000000, R5 =00000000, R6 =00000000, R7 =00000000
USR: R8 =00000000, R9 =00000000, R10=00000000, R11=00000000, R12=00000000
R13=00000000, R14=00000000
FIQ: R8 =00000000, R9 =00000000, R10=00000000, R11=00000000, R12=00000000
R13=00000000, R14=00000000, SPSR=00000000
IRQ: R13=00000000, R14=00000000, SPSR=00000000
SVC: R13=00000000, R14=00000000, SPSR=00000000
ABT: R13=00000000, R14=00000000, SPSR=00000000
UND: R13=00000000, R14=00000000, SPSR=00000000
J-Link>
 

pvvx

Активный участник сообщества
Остается включить питание на модуль и соединить два провода SWD.
И после ввода "S" получится:
Код:
TIF>S
Specify target interface speed [kHz]. <Default>: 4000 kHz
Speed>
Device "CORTEX-M3" selected.

Found SWD-DP with ID 0x2BA01477
AP-IDR: 0x24770011, Type: AHB-AP
Found Cortex-M3 r2p1, Little endian.
FPUnit: 6 code (BP) slots and 2 literal slots
CoreSight components:
ROMTbl 0 @ E00FF000
ROMTbl 0 [1]: FFF0F000, CID: FFF03D03, PID: 0BB00005 ???
ROMTbl 0 [2]: FFF02000, CID: 05E00D0B, PID: 3BB00205 ???
ROMTbl 0 [3]: FFF03000, CID: 05E00D3B, PID: 2BB00305 ???
ROMTbl 0 [4]: 00000000, CID: 05100D00, PID: 0BB4C305 ???
ROMTbl 0 [5]: FFF41000, CID: 05900D0B, PID: 3BB92305 ???
ROMTbl 0 [6]: FFF42000, CID: 05900D3B, PID: 3BB92405 ???
Cortex-M3 identified.

**************************
WARNING: T-bit of XPSR is 0 but should be 1. Changed to 1.
**************************

PC = 00030003, CycleCnt = 00030003
R0 = 00030003, R1 = 00030003, R2 = 00030003, R3 = 00030003
R4 = 00030003, R5 = 00030003, R6 = 00030003, R7 = 00030003
R8 = 00030003, R9 = 00030003, R10= 00030003, R11= 00030003
R12= 00030003
SP(R13)= 00030003, MSP= 00030003, PSP= 00030003, R14(LR) = 00030003
XPSR = 01030003: APSR = nzcvq, EPSR = 01000000, IPSR = 003 (HardFaultMemManage)
CFBP = 00030003, CONTROL = 00, FAULTMASK = 03, BASEPRI = 00, PRIMASK = 03
При COM порту тоже надо ещё соединять два провода RX и TX к модулю. :)
 

Pilnikov

Active member
попробовал
Пимпочку GC_1 или GC_0 через резистор на общий
- реакции = 0
#NORMAL_REST_MODE

Initializing WIFI ...
Start LOG SERVICE MODE

#
WIFI initialized

init_thread(50), Available heap 0x3cf0
Enter INTERACTIVE MODE

# hardness_reset_button_times = 1
RTW API: Join bss timeout

AT_UART_CONF: 38400,8,1,0,0
RTL8195A[HAL]: ISR 81 had been allocated!!!


# connect
дальше не идет
 

Pilnikov

Active member
Вообщем решил я все и всех добить и разобрал свой новый ............. вертолет;).
В ём стоит стм32ф103свт6, а на плате дырочки имеются - не распаянные, но подписанные: свклк, свдио, нресет. Припаял я к им 5 проводков, подключил свой зеленый китайский стлинк-жлинк и ............ о чудо!!!!!!!!!!!!! получил коннект и обмен с таргетом. Потом еще раз проверил (до ног чипа 17, 18) правильность подключения к ртл - подключил и .... тишина.
Отсюда вопрос: может житаг на ртле выключен? (pvvx - вы же писали, что это возможно)
# ew
addr: 0x0; value:0x0
addr: 0x4; value:0x0
addr: 0x8; value:0x0
addr: 0xc; value:0x0
RTL8195A[HAL]: Hard Fault Error!!!!
RTL8195A[HAL]: R0 = 0x5
RTL8195A[HAL]: R1 = 0x0
RTL8195A[HAL]: R2 = 0x10
RTL8195A[HAL]: R3 = 0xe
RTL8195A[HAL]: R12 = 0x0
RTL8195A[HAL]: LR = 0xe4d7
RTL8195A[HAL]: PC = 0xe802
RTL8195A[HAL]: PSR = 0x1000000
RTL8195A[HAL]: BFAR = 0x5
RTL8195A[HAL]: CFSR = 0x8200
RTL8195A[HAL]: HFSR = 0x40000000
RTL8195A[HAL]: DFSR = 0x0
RTL8195A[HAL]: AFSR = 0x0
RTL8195A[HAL]: PriMask 0x0
RTL8195A[HAL]: BasePri 0x0
RTL8195A[HAL]: SVC priority: 0x00
RTL8195A[HAL]: PendSVC priority: 0xf0
RTL8195A[HAL]: Systick priority: 0xf0
после этого все виснет
 
Последнее редактирование:

alex78

New member
Купил rtlduino, который с rgb светодиодом и usb портом и китайский st-link v2 алюминий. пару дней секса с этими железяками в попытках запустить swd. писало:

Cannot connect to target.
Запитывал +5 на vin. и 3.3 на 3.3 .
Потом запитал rtlduino от юсб а swdio и swdclk c j-link, земля через юсб.. и заработало на 4кгц. иногда чуть выше. иногда на 1000. очень нестабильно. но стоит взять землю с j-link - никакого коннекта. Что это за чертовщина?
 

sharikov

Active member
и заработало на 4кгц. иногда чуть выше. иногда на 1000. очень нестабильно. но стоит взять землю с j-link - никакого коннекта. Что это за чертовщина?
swd привередлив к качеству соединения и наводками. С длинными проводами он глючит. Сигнальные линии нужно чередовать с земляными, земляных проводов должно быть либо вдвое больше чем сигнальных либо вдвое толще. Также к выводам swd во время использования swd не должно быть подключено никаких других цепей (никаких - от слова совсем).
Относительно стабильности работы китайских St-link v2 ничего сказать не могу.

Jtag постабильнее в сравнении с swd но проводов больше.
 

alex78

New member
Фигня в том что swd не работает вообще если чередовать землю. провода короткие. работает только если питание с землей по юсб. к плате ничего не подключено.
 

pvvx

Активный участник сообщества
Все модули RTL871x соединяю любыми проводами (40 см) и кое-как. Ничего описанного выше не наблюдаю - частоты то низкие - 1 MHz для начала соединения. От китайского STlink и питание к модулю...
CD карту вешал на 40 см проводки с коннекторами, а там 43MHz и всё ok...
C SWD всегда проблемы, когда он выключен на модуле. Для этого надо тянуть CHIP_ENA и перепрошивать STM32F103 на Jlink OB c работающим сигналом RESET.
Ситуация совершенно аналогична как и у ESP8266 у детей. В большинстве случаев не могут запустить модуль ESP8266 в режиме прошивки, а тут с включенным Jtag, который отключается при вываливании "на протектед" и в некоторых прошивках... В итоге время включенного Jtag/SWD есть только в момент загрузки прошивки из Flash в RAM после сброса и если адаптер Jtag с сигналом RESET, то проблем нет.
 
Последнее редактирование:

alex78

New member
У этих свистков разная начинка бывает. Такое подключение это первое что я попробовал. И ресетом при включении баловался, благо он там запаян. Скорей всего что-то со свистком не так. может линия не зашунтирована. или китайцы не тот номинал впаяли. Доберусь до осциллографа -что-то да прояснится.
 
Сверху Снизу