110 likes | 247 Views
Cygwin/GNU Tools. /. home. tuttle. local. x-arm. x-m68k. …. NetOS. Cygwin bash. usr. opt. The GNU Development Tools …. run in a UNIX shell emulation called Cygwin. Cygwin1.3.22 gcc3.2. Install Possible POSIX files build problem gdbtk Hardware breakpoint with RAVEN Using jeeni
E N D
/ home tuttle local x-arm x-m68k … NetOS Cygwin bash usr opt The GNU Development Tools … run in a UNIX shell emulation called Cygwin
Cygwin1.3.22 gcc3.2 • Install • Possible POSIX files build problem • gdbtk • Hardware breakpoint with RAVEN • Using jeeni • gdbThreadx
Install • Install—delete Cygnus Solution in registry, clean up all the path. • One CD for cygwin, xtools and netos6_gnu, the installer will do the above clean up • Cygwin 1.3.22, gcc v3.2 • Binutils v2.12 • Gdb v5.3, gdbtk v5.3 • Newlib v1.11, libstdc++ v3.0
Dev. Tools binutils 2.10 gcc 2.95.2 newlib 1.8.1 libstdc++ 2.81 gdb 5.0 Insight/gdbtk Covering the Tools w/ graphical FEs
gdbtk works better • To stop, click on “stop” in source window. Improved stability • Compatible with tcl 8.4 library • Compatible cygwin 1.3.22
Hardware breakpoint • Hardware breakpoint with RAVEN • For detail, refer to netos/howToUseRaven.txt • ocdLibRemote with chip options for netsilicon chip instead netsiliconLibRemote
Using jeeni • Use script gdbnet50.jeeni target rdi e=<<put your JEENI IP here>> • To see debug printf in command window need to rebuild libc.a and crt0.o using netos/gnusrc/jeeni.mak need to copy libc.a and crt0.o to netos\lib\32b\gnu
gdbThreadx • Cool tool to check if there is any stack over flow for threads • How to use (arm-gdb) source ../../../../gdbThreadx (arm-gdb) b netosStartup Breakpoint 1 at 0x802ce58: file common/bsproot.c, line 372. (arm-gdb) c Continuing. Breakpoint 1, netosStartup (not_used=0) at common/bsproot.c:372 372 if (NAFlashCreateSemaphores () == NAFLASH_SEMAPHORE_CREATE_FAILED) (arm-gdb) threadlist • Any thread with stack overflow will be marked
Pros and Cons of using GNU Tools • The GNU development tools are open source • GNU tools are the most powerful and flexible development tools which allow to deliver virtually any kind of embedded solution • GNU tool flexibility extends beyond the target domain • GNU tools are well supported • Base distribution does not contain a graphical IDE • Documentation is good but widely spread • New users can’t get started quickly