реклама на сайте
подробности

 
 
> Обмен данными через SWO
AndyDev
сообщение Jun 18 2015, 22:41
Сообщение #1


Частый гость
**

Группа: Участник
Сообщений: 163
Регистрация: 17-11-07
Пользователь №: 32 406



Можно ли использовать данные приходящие от микроконтроллера через интерфейс SWO (например, используя ST-Link), в своей собственной программе на PC, а не в стандартных консолях и отладчиках?
Если у кого есть исходники с подобными примерами, поделитесь, плиз.

Сообщение отредактировал AndyDev - Jun 18 2015, 22:41
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
brag
сообщение Aug 1 2015, 08:11
Сообщение #2


Профессионал
*****

Группа: Свой
Сообщений: 1 047
Регистрация: 2-12-06
Из: Kyiv, Ukraine
Пользователь №: 23 046



Я использовавл jlinkarm.dll и сделал свою софтину для работы с SWO, работаю только с JLink.
Раскуривал сам давно, вот функции.
CODE
U32 JLINKARM_SWO_Control(U32 arg0,U32 *arg4);
U32 JLINKARM_SWO_Read(U8 *dst,U32 offset,U32 *arg8); // arg8 - number of bytes to read
U32 JLINKARM_HasError(void);
U32 JLINKARM_TIF_Select(U32 iface);
void JLINKARM_Close(void);
U32 JLINKARM_SetSpeed(U32 khz);
void JLINKARM_Halt(void);
U32 JLINKARM_IsHalted(void);
U32 JLINKARM_IsConnected(void);
void JLINKARM_Go(void);
void JLINKARM_Reset(void);
void JLINKARM_ClrError(void);

Jlink::Jlink(){
JLINKARM_TIF_Select(1); // select SWD
JLINKARM_SetSpeed(500);
}
Jlink::~Jlink(){
JLINKARM_SWO_Control(1,0);
JLINKARM_Close();
}

int Jlink::SwoRead(){
n=sizeof(rxbuf);
JLINKARM_SWO_Read(rxbuf,0,&n);
if(!n)return 0;
JLINKARM_SWO_Control(2,&n);
if(JLINKARM_HasError()){
JLINKARM_ClrError();
return -1;
}
//n- number of bytes read
Go to the top of the page
 
+Quote Post



Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 19th August 2025 - 11:54
Рейтинг@Mail.ru


Страница сгенерированна за 0.01355 секунд с 7
ELECTRONIX ©2004-2016