Ошибка при загрузке

maxr

New member
Заполучил отладочную плату NUKE MIK32 V0.3.
Вроде бы по началу всё было нормально, поставил platformio, подключил библиотеки, помигал светодиодами. Единственное, что отладка вылетала с ошибкой (ошибку не запомнил и возможности её увидеть более не имею), но программа загружалась и выполнялась.
На следующий день решил сделать что-то посерьёзнее, но при загрузке выдаёт следующее:

CURRENT: upload_protocol = mikron-link
Uploading .pio\build\mik32v2\firmware.hex
xPack Open On-Chip Debugger 0.12.0-01004-g9ea7f3d64-dirty (2023-01-30-15:04)
Licensed under GNU GPL v2
For bug reports, read
http://openocd.org/doc/doxygen/bugs.html
Info : set servers polling period to 200ms
Info : clock speed 500 kHz
Info : JTAG tap: riscv.cpu tap/device found: 0xdeb11001 (mfg: 0x000 (<invalid>), part: 0xeb11, ver: 0xd)
Info : TAP riscv.sys does not have valid IDCODE (idcode=0xfffffffe)
Error: dtmcontrol is 0. Check JTAG connectivity/board power.
Warn : target riscv.cpu examination failed
Info : starting gdb server for riscv.cpu on 3333
Info : Listening on port 3333 for gdb connections
Error: Target not examined yet

mik32-uploader-v0.2.1
Traceback (most recent call last):
Using MIK32V2
Start Linear Address: 0x8000 File "C:\Users\m\.platformio\packages\mik32-uploader\mik32_upload.py", line 435, in <module>
000 upload_file(
0
File "C:\Users\m\.platformio\packages\mik32-uploader\mik32_upload.py", line 244, in upload_file
openocd.run(f"adapter speed {adapter_speed}")
File "C:\Users\m\.platformio\packages\mik32-uploader\tclrpc.py", line 106, in run
reply = self.sendrecv(wrap)
File "C:\Users\m\.platformio\packages\mik32-uploader\tclrpc.py", line 74, in sendrecv
self.sock.sendall(data)
OSError: [WinError 10057] Запрос на отправку или получение данных (when sending on a datagram socket using a sendto call) no address was supplied
*** [upload] Error 1
============================================================================== [FAILED] Took 10.14 seconds ==============================================================================
 

maxr

New member
Дополнение. Если при загрузке прошивки часто жать ресет, то процесс прошивки идёт чуточку дальше и программатор начинает видеть ядро. То есть, как мне кажется, просто криво залилась (а может и я криво что-то сделал, но там просто мигание светодиодами) прошивка, которая вешает МК и не даёт ему прошиться. Теперь возникает вопрос, а как стереть кривую прошивку?

Info : set servers polling period to 200ms
Info : clock speed 500 kHz
Info : JTAG tap: riscv.cpu tap/device found: 0xdeb11001 (mfg: 0x000 (<invalid>), part: 0xeb11, ver: 0xd)
Info : TAP riscv.sys does not have valid IDCODE (idcode=0xfffffffe)
Info : datacount=2 progbufsize=6
Info : Examined RISC-V core; found 1 harts
Info : hart 0: XLEN=32, misa=0x40001104
Info : starting gdb server for riscv.cpu on 3333
Info : Listening on port 3333 for gdinit done
b connections
Info : Listening on port 6666 for tcl connections
Info : Listening on port 4444 for telnet connections
Info : accepting 'tcl' connection on tcp/6666
0 adapter speed: 500 kHz
 

asng

New member
Оперативно отвечают в Телеграмм "Тех. поддержка MIK32 Амур".
Если прошивка мешает загрузке (такое может быть, если программа (прошивка) использует порт отладки - вот эти выводы:

20240918 215024.png

Для "перепрошивки" в такой ситуации достаточно:
1) Отключить питание;
2) Установить перемычки на загрузку из ОЗУ (RAM);
3) Включить питание;
4) Записать прошивку в ЕЕПРОМ или ФЛЭШ;
5) Выключить питание;
6) Установить перемычки на загрузку из нужной области (ЕЕПРОМ или ФЛЭШ).
 
  • Like
Реакции: maxr

maxr

New member
Спасибо, помогло! Как-то из головы вылетело, что загрузку из ОЗУ можно поставить.
Оказалось, что это связано с тем, что я источником тактового сигнала ставлю нч кварц, а если ядро тактируется от 32 кГц, то встроенный в плату программатор начинает капризничать
 
  • Like
Реакции: asng
Сверху