About the JTAG, you don't need a proprietary one, unless the board you have has a proprietary connector. Even then, if you can discover its pinout you could make an adapter connector. The main difference between open/free JTAG projects and a commercial product is that the later will probably have higher speeds, which makes a big difference depending on the complexity of the programs. There are cheap commercial JTAG adapters that are parallel/serial, and somewhat more expensive ones that are USB; given the choice, I'd always prefer USB.
About the toolchain, it's perfectly possible to use GNU tools, (take a look at gnuarm.com) but the downside is that you have to find documentation about how to interface with the device-specific hardware; also you may have to prepare a specific link script for the memory map of your device. The more rare/exotic it is, the less probable it is that you'll find a script already made. And these link scripts can be pretty complicated. If you use a commercial toolchain specifically tailored for your device, you'll find everything already set to make it work on the device.
I'd also recommend to buy a dev board (like this one) for that MCU; It'll be a lot easier to make everything work if you can divide-and-conquer. And having a tested, functional board is the best way to keep software and hardware problems separated.