KizarmProbe.
 Vše Třídy Soubory Funkce Proměnné Výčty Hodnoty výčtu Definice maker Skupiny Stránky
Veřejné metody | Veřejné atributy | Chráněné metody | Seznam všech členů
Dokumentace třídy GdbServer

Vlastní obsluha gdb paketů. Nejpodstatnější část celého programu. Vše se děje v přerušení od USB, jen pokud target rozběhneme, pak se dotazujeme, zda ještě běží v main() metodou Polling(). To se zamyká třídou Locker. Parsování paketů pomocí sscanf() je hodně podobné jako v black magic, tato funkce (jakož i jiné knihovní funkce) byla trochu zjednodušena a přidána do vlastní knihovny libprobe. Ono je to s knihovnami sporné. Pokud použiju systémovou, pak může jakékoli vylepšení a jiná změna způsobit fatální chybu. Po těchto negativních zkušenostech je to vyřešeno takto. A docela to i šetří místo ve flash.

#include <gdbserver.h>

Diagram dědičnosti pro třídu GdbServer
BaseLayer

Veřejné metody

 GdbServer ()
 Konstruktor.
 
void Fini (void)
 pro kompatibilitu s PC pro ladění
 
void Scan (void)
 Scan - po příkazu "monitor scan". ...
 
void Polling (void)
 Zde se zjišťuje, zda target běží.
 
uint32_t Up (char *data, uint32_t len)
 Vlastní parser paketů je zde.
 
void gdb_putpacket_f (const char *fmt,...)
 Odpověď zpět do gdb (formátovaná)
 
void gdb_out (const char *buf)
 Odpověď zpět do gdb (neformátovaná)
 
- Veřejné metody dědí se z BaseLayer
 BaseLayer ()
 
virtual uint32_t Down (char *data, uint32_t len)
 
virtual BaseLayeroperator+= (BaseLayer &bl)
 
BaseLayergetDown (void) const
 

Veřejné atributy

Targettarget
 Target je zapouzdřen sem. Vytváří se dynamicky v metodě Scan().
 
Monitor mon
 Monitor - zpracování uživatelských příkazů gdb "monitor ...".
 

Chráněné metody

void handle_q_packet (char *packet, int len)
 obsluha speciálních paketů
 
void handle_v_packet (char *packet, int len)
 obsluha speciálních paketů
 
void handle_z_packet (char *packet, int len)
 obsluha speciálních paketů
 
void handle_q_string_reply (const char *str, const char *param)
 odpověď na q_packet
 
void gdb_putpacket (const char *packet, int size)
 další forma odpovědi
 
void gdb_putpacketz (const char *packet)
 další forma odpovědi
 
bool target_check (void)
 zjištění stavu targetu
 
bool probe (Target *n)
 Probe for. ...
 
void OldTargetDestroy (void)
 pomocná funkce
 
void SetActive (void)
 pomocná funkce
 
- Chráněné metody dědí se z BaseLayer
void setUp (BaseLayer *p)
 
void setDown (BaseLayer *p)
 

Dokumentace k metodám

bool GdbServer::probe ( Target n)
protected
Parametry
nnew target. If failed, n is delete, else n used as target.
void GdbServer::Scan ( void  )

Tohle vyjmeme ze třídy - jen to by se mohlo měnit po přidání dalšího targetu.


Dokumentace pro tuto třídu byla generována z následujících souborů: