Скачал и установил JLink Software and Documentation Pack 614d. Добавил к проекту все необходимые файлы. В процессе компиляции получил следующие ругательства
In file included from SEGGER_RTT_V614d//Syscalls/SEGGER_RTT_Syscalls_GCC.c:64:0:
/usr/local/gcc-arm-none-eabi-5_3-2016q1/arm-none-eabi/include/reent.h:159:17: note: previous declaration of '_write_r' was here
extern _ssize_t _write_r _PARAMS ((struct _reent *, int, const void *, size_t));
по отношению к фукции
Код
int _write_r(struct _reent *r, int file, const void *ptr, int len);
заменил сигнатуру функциии на
Код
_ssize_t _write_r _PARAMS ((struct _reent *, int, const void *, size_t));
после чего компиляция завершилась успешно
Вызвал в main()
Код
SEGGER_RTT_ConfigUpBuffer(0, NULL, &buf[0], 256, SEGGER_RTT_MODE_BLOCK_IF_FIFO_FULL);
несколькими строками ниже с периодичностью около 2 Гц вызываю
Код
SEGGER_RTT_Write(0, "Segger_RTT \r\n", 13);}
для контроля, вызов сопровождаю миганием светодиода, Запускаю JLinkExe и выполняю connect. затем запускаю Putty: telnet / localhost / port 19021.
Telnet соединения срастается, но никакого вывода в Putty не происходит. Да, JLink не оригинальный, естественно - клон от starterkit. Может быть в этом причина?
Так как используется блокирующий вывод процесс(мигание светодиода) длится недолго, затем, когда буфер вывода заполнится, все застревает. Верно ли я понимаю,
что освобождение буфера производится выпjлняет JLink(больше некому вроде)
Сообщение отредактировал nanorobot - Apr 28 2017, 06:32