Selecting a JTAG debugger depends mainly on your needs and budget. Everything between 5$ (FTDI based) and 5000$ (Lauterbach Power Debug Pro) should be possible.
- If you only want program the flash memory, you can also use the i.MX ROM bootloader and connect via USB (for free).
- For development of Linux applications, you can do most tasks purely with software debuggers (e.g. gdbserver).
- For working on bootloaders, real time operating system or the Linux kernel I personally prefer the Lauterbach solution. But be prepared to invest some time to learn how to use this system. It's very powerful but not always intuitive.
regards
Christian