free environment and low cost jtag interface ?

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

free environment and low cost jtag interface ?

2,259 Views
Stephman
Contributor I

Hello,

 

I want to start with a Kinetis (K60 probably) but I have few questions.

 

CW in special edition is limited to 64k which will definitely not be enough. So I'd like to go on a free unlimited environnemnet like Eclipse + GCC + GDB and a low cost interface.

 

I had a bad experience with GDB and P&E BDM for coldfire V1. A bug in GDB doesn't enable to do anything so I'm not sure it will work with the P&E Universal which supports Kinetis.

 

My questions are :

 

1. do you know a free environment : IDE (preferably Eclispe) + compiler + debugger working with Kinetis ?

 

2. Do you know a low cost interface which also works with that toolchain (even to build why not)

 

3. MQX seems to be integrated in Codewarrior. Would it be possible to use MQX without codewarior (or IAR which supports it as well) What is the benefit of MQX integration in CW ?

 

 

Thanks

Cheers

Stephane

0 Kudos
Reply
9 Replies

1,206 Views
BlackNight
NXP Employee
NXP Employee

Hello,

FYI, the Freescale website lists the limites for the Special (free of charge) version as follows:

C compiler and C source-level debugger code and data size restricted to

  • S08/RS08: 32KB
  • V1 ColdFire: 64KB
  • V2-V4 ColdFire: 128KB
  • Kinetis: 128KB
  • MPC56xx: 512KB

So it is 128KB for Kinetis.

 

BK

0 Kudos
Reply

1,206 Views
Stephman
Contributor I

hi,

 

thanks for feedback. Yep you're right and worst than everything, I knew that. I made a mistake.

However I'd like anyway to start with an unlimited environment. I'm using Colfdire V1 at the moment and I'm frustrated about the number of files and memory limitations. If I have to start on a new CPU, I want to start with an unlimited environment anyway....

Stephane

0 Kudos
Reply

1,206 Views
mjbcswitzerland
Specialist V

Hi

 

The freescale boards all have JLINK or OSJTAG debuggers built in - if you are not making your own boards there is no need to have an additional debugger; these work very well.

 

128k CW limit for Kinetis is also adequate for quite large projects. The uTasker project with TCP/IP [FTP server and client, web server, TELNET], USB device, FAT SD card file system, internal Flash file system, graphic LCD library and application with quite large command line menu interface fits easily into this space. Anything larger can simply be built with GCC and debugged in CW (when necessary) by removing a module or two.

 

Rather than messing around with scraping together free bits and pieces and building these as a hobby, rather than doing real development with Kinetis, you can also simply use Rowley Crossworks for ARM - if you need to save every penny because you are a student there is an educational license for $150 - worth investing this from some beer money - and then you will immediately be able to develop at a professional level equivalent to IAR users (for example) and make progress with  real work.

 

Regards

 

Mark

 

0 Kudos
Reply

1,206 Views
Stephman
Contributor I

Hi Mark,

 

Thanks for your feedback.

I'm not a student. Let me precise my requirement.

 

I'm already working professionnally as well as hobbyist  with microcontrolers. At the moment, I'm working with S08 and Coldfire V1.

Until know I'm using CW 6.3 special edition (free) but on recent applications I've been limited with number of files and I'm close to code limitation. I've to upgrade to an unlimited version and I've tried to switch on Eclispe+GCC+Hiwave for flashing+GDB but unforunately the P&E multilink doesn't work with GDB due to a bug.

 

Even if I'm working for a very big lab which plays with particle colliders, the toolchain must be installed on demand on any computer to enable anyone to use these microcontrollers. We probably won't go for a toolchain which is not free as it would be a nightmare to deploy. Moreover I want to use the same toolchain at home for my own developments.

 

For some applications, I want to go with Cortex as well.

In summuary I need both to upgrade my S08/V1 toolchain and to also to get someething workinf for Cortex (Freescale Kinetis and/or ST STM32) and it seems reasonnable to think this would be a great idea to have a common IDE both for S08, Coldfire and Cortex... This will limit the time investiment in learning a new IDE and limit the overall cost.

 

This how I came to think that Eclipse + GCC + GDB or any free compiler/debugger and a low cost interface would suit for the three platforms and possibly even more.

For the Cortex JTAG interface I would say that the price should not exceed about 150-200 euros like for a P&E Multilink (<100 euros). I've not found a list of interfaces compliant with the Kinetis other than the IAR and KEIL one. This is why I came here to inquiry about an alternative solution. By the way, I'm sure IAR & KEIL have very good environments.

 

I've seen that Segger Jlink seems to be compliant with GDB using a "GDB server". They cost 30$ which is nothing. But I've no experience on that. I even don't know if a such interface would also be compliant for STM32 for instance.... Are all the Cortex derivative from different manufacturers using the same JTAG protocol ?

 

Sorry for having been quite long. I hope you will understand more why I don't want to go on an expensive toolchain.

 

Regards

Stephane

0 Kudos
Reply

1,206 Views
Stephman
Contributor I

An additional information. I'm designing the hardware and even if sometime I can play with eval boards, final applications are customized.....

Stephane

0 Kudos
Reply

1,206 Views
BlackNight
NXP Employee
NXP Employee

As a Freescaler, I'm maybe biased :smileyhappy:

 

Maybe this helps you for a decision for the free special edition:

- the number of file limitation is gone in the eclipse version. The limitation is on the total code size. And it is unlimted to assembly and S19 files, so you can virtually download any file size.

- it supports all the cores you have (or want to develop for), in a single enviroment.

- You get the free-of-charge OSBDM/OSJTAG debugging hardware on many boards (e.g. the tower boards)

- Look at the P&E Universal Multilink (www.pemicro.com): interface is seamless with OSBDM/OSJTAG, and *one* debugging device works for S08, RS08, S12, DSC, Kinetis and PowerPC: just use another cable which is delivered with the unit

- it is eclipse, and if you want you still can use gcc with it. Or gdb. But for sure you will need to set up things on your own, and on some targets you might not find gcc and/or gdb fitting your needs. It all depends on what you want and need.

 

If you are just looking for a solution for Kinetis, there are many others, like Atollic.

 

You might consider the BASIC edition too, which basically increases the allowed code size.

 

BK

0 Kudos
Reply

1,206 Views
Stephman
Contributor I

Hi Blacknight,

 

You're right, this CW provides most of my needs. But not 2 of them : price and only freescale. I'm a using S08 & V1 since years.

however as said above, I can't get a basic edition (400-900$) as it will not possible to deploy it on my work, and I may use not only Kinetis as ARM CPU.... STM32 looks nice as well...

 

Moreover I'm quite sure there is a way to set a toolchain for Kinetis under Eclipse.... well... I hope

Stephane

0 Kudos
Reply

1,206 Views
mjbcswitzerland
Specialist V

Stephane

 

S08, V1 (I presume a Coldfire) and Kinetis (plus STM32 maybe, or other Cortexes), multiple seat and as cheap as possible. This is quite a tough one:

- CW10 is certainly the best solution for the S08, V1 and Kinetis since it allows these to be used in a single environment (but it restricts to freescale and there is the possible size limitiation that could require mult-seat licenses to become necessary - although floating licenses woudl be a solution for work - maybe also for home if it is possible to solve the license part via Internet)

- Plus STM32, or other Cortex. This means that CW10 would not be suitable since it stops at freescale. Unfortunately good commerical products like IAR, Keil, Rowley etc. may be expensive since there is a version for each type (x3 license costs). Probably only IAR actually supports all families but the look and feel of each is at least the same. But, multi-seat and multi-processors may be available at discount prices if you ask.

- GCC - in such a case this may well be the way to go but the debugging part is usually the most critical - Eclipse allows editing and building but getting debugging working correctly for all targets may be the tricky bit - there are certainly various solutions in the form of plug-ins but actually getting them all to work may be the challenge (this is why there are various companies like Atollic and Mentor who put their packages together and sell them as an out-of-the-box solution, with support - it often proves cheaper to spend $1'000 (or $2'000) for a solution with support rather than paying an employee one months salary to get it working from the various open-source parts. But, if the number of seats gets high enough it can of course prove a reasonable investment.

Unfortunately also in this case such packages won't do S08, V1 and ARM - probably it still means three solutions to be purchased or invested in.

 

Also Eclipse is not absolutely necessary (unless you have certain plug-ins that benefit the project) since also taking VisualStudio special edition (possibly the best editor in the world?) is free. GCC can be build from a make file from it so editing and building is not a difficulty, but debugging is the key to real development efficiency, which it won't allow.

 

However there are still lots of projects which use serial interface based debugging (if the OS and project resouces are mature this can be adequate for verifying and debugging new code added to a project) meaning that the environment (Common editor and GCC build environment) can be deployed on all systems for all targets and serial output based debugging is at least available for all. This could be suitable when most people on the project will be doing occasional coding, building and programming. It would be possible to have maybe a small amount of seats for each processor targets from a good debug environment for main developers to solve more complicated issues. But this turns back full-circle to the floating license solution which essentially allows the IDE to be installed on every PC but just can't actually build on more that the license limit at any one time.

 

Something else to look at would be to consider a trace solution (look at iSYSTEM). This would move focus away from the classic IDE to the trace capabilities (unfortunately it may exclude S08 but is good for the others). It means investing in the debugger rather than the IDE since it allows any compiler to be used but supports loading, debugging and tracing - it is also built on VisualStudio. I think that it would be like everyone being able to program, build and compile (using GCC) [programming should be possible with simple and cheap debuggers for everyone] in a single environment but only the one with the interface at the time would actually be able to do the "quality-debugging". A bit like a floating debugging license in form of a dongle.

 

I think that you however have the basic problem faced by many companies with multiple targets and multiple development seats - the age old question of "make or buy". What is not so easy to identify at the beginning is which, make or buy, actually proves to be the cheapest at the end of the day. Sometimes make can turn out to be very expensive if it doesn't work out (putting together various cheap or free parts doesn't always result in something that is suitable for a team of professionals to do mission critial work with). Also, the manager responsible for the team may be putting his head and reputation on the line when something fails due to not having the correct tools for the job, and a project fails or its budget explodes due to the unforeseen complications that could have been avoided having the correct tools in place at the start. Many managers are not prepared to take such a risk and are happy to budget for good (if not necessarily cheap) tools. It also turns out that these managers and their projects are generally quite successful - I don't actually know many projects that have gone the other way (although there are the odd one or two, but not necessarily the most successful ones - with exceptions of course, as is always the case in life).

 

As I said, quite a tough one.

 

Regards

 

Mark

 

 

0 Kudos
Reply

1,206 Views
Stephman
Contributor I

Hi Mark,

 

Thanks for your long and valuable answer.

 

You gave me an interresting way to investigate with Visual Studio... I will have a look.

 

You have perfectly well understood my concern... Multiplatform and several users.... This leads to choose a cheap environment, otherwise it will never be deployed.

From your pseudo, it sounds like we are close each other and you may understand which lab I'm working for. This not an usual industry and you would be sometimes surprised to see how is the management decision process in such technical decisions and how it could be long to achieve any decision. Engineers have a huge autonomy for buying things as long as it remains within the budget. If I had to raise this need, probably it would takes months or years to be able to buy something as it concerns several different engineering plateforms.

 

Then comes the point of using same environment like Eclipse or whatever and the corresponding compilers, debuggers and interfaces.

That would really be a must to have the same environnemlent. I recognize that CW would be nice but it won't work for non freescale platforms... In case I have no other solution, then why not having a toochain for freescale and an other for other platforms but it would be a pity to have multiple cortex with multiple toolchains.

 

I've spent two days reading a lot on the web. It sounds like that Eclispe (or even notepad !!!) + GCC from codesourcery + GDB + OpenOCD or Segger GDB Server and a 'low cost' interface like JLINK would work both for STM32 and Kinetis.... This is something I have to try.

I've well understood that this is the flasher and debugger which are difficult to achieve.... and I know that using Eclipse and plugins can take a long while before having something working correctly. but this is worth to try as it would fill all my requirements it I can achieve to do that...

 

The remaining question is regarding MQX or other RTOS integration. It sounds like CW or IAR are supporting MQX for instance but I don't know what for and what if we use an environment which doesn't provide this support.

Same question for addionnal libs for graphical, file systems or so... But I do no worry to much for that. There will probably solutions.

 

Then This would require to build a plug & play package with everything correctly set in order to deploy the toolchain for others or to write a good procedure.

Regarding Eclispe this is not easy to find on the web a clear view of integration of plugins. So the job would be to :

- Enable Eclipses and its possible plugins

- Interface with a compiler

- Set GDB working with an interface (GDB Server or OpenOCD or something else?)

 

Well... just do it... I have to try.

 

Thanks again.

Any other recomendation or idea would be appreciated...

Thanks

Regards

Stephane

0 Kudos
Reply