110 likes | 259 Vues
This guide provides an extensive overview of using Cygwin and GNU development tools, including installation steps, configuration for various targets (like ARM and M68K), and tips for troubleshooting common issues. It covers essential components such as GCC, GDB, and graphical front-ends like GDBTK. Discover how to utilize hardware breakpoints, manage POSIX file build problems, and leverage Jeeni for debugging. Learn about the pros and cons of GNU tools and find valuable documentation to support your development process.
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