Now that Freescale has been "bought", it looks like Coldfire is toast.
Is this true?
I only ever looked at V1 because the BDM for V2 got bloated. It should be a single wire bidirectional serial port, with a break timer reset. I like the architecture much better than ARM, but the V1 clock speed seemed to be stuck at 25Mhz and the ram is always tiny. There seems to be a rule that RAM will always be 1/4 the size of the FLASH or less. The most impressive Coldfire chip isn't even on the Coldfire webpage...the FXLC95000CL.
Assembly language support also seems to be a thing of the past.
I guess it's time to do an FPGA core.
Brian J.
解決済! 解決策の投稿を見る。
Hi Brian,
Coldfire is not "toast", but it has been deep frozen :smileyhappy:. It's been like this for a couple of years now, it's not because of Freescale being aquired by NXP. As far as I know they haven't stopped manufacturing any Coldfire parts specifically because of the move to the ARM based Kinetis, but they are certainly put at the back of the shelf on the website. The MCF5441x was the last main Coldfire part, it was launched in 2010 and is on the 15 year product longevity list. They still dont have a Kinetis part to replace it but I suppose it will only be a matter of time. There were some Coldfire+ parts released in 2012 and they should be available until 2022.
I'm wondering what V1 part you are using as most of the V1 part's are spec'd at up to 50.33MHz.
What is stopping you from using assembly language? GCC and Codewarrior still support it.
If you're happy to to use an Altera Cyclone III FPGA, you can get the Coldfire V1 soft core for free from ColdFire IP
Shaun
Assembly: Many compilers have a command-line option that will output assembly, similar to how the C preprocessor can be used to expand macros. This can often give you a clue about how to format input for the assembler. Although I've worked with the CFv1 and used the disassembler to verify compilation, I haven't actually checked whether it has the typical assembly output option (usually -s or -S).
FPGA: You may have been facetious about switching to an FPGA core, but it looks like the FPGA chip would cost five to ten times what the CoreFire v1 chip would cost. In addition, the top speed might be slower and the power consumption will surely be greater. I wouldn't recommend an FPGA core unless you absolutely need the FPGA capabilities on top of what the basic processor can do, otherwise it's a net loss.
P.S.
Coolrunners are CPLDs, not an FPGAs, They have fewer macrocells with more
complex input structures. The largest I found was 512 macro cells. The V1
core was targeted for an Altera part. Even if the source HDL is available,
the V1 core may not fit.
BrianJ
> Actually the CFV2 predates CFV1, so the CFV2 BDM didn't get bloated, the CFV1 just got a simpler one It was borrowed from the HCS08.
Yes, When you're trying to make 44 pin (or 20 pin) CPUs, having 12 or 20 debug pins is an embarrassment. Two pins are a neat trick, but don't have all the features you sometimes need.
Choosing a CPU based on the debug port seems a little backwards though. If your product requires a 150MHz V2 or a 240MHz V3, then just select those chips.
> There are some low power FPGA parts like the CoolRunner, but you are right,
> it would be tough to compete with the factory solution and I really don't
> want to.
It would be a better use of silicon to use a medium-to-high ARM core and then run a ColdFire Software Emulation on it and run your program on that. Emulating the peripherals might be a bit harder though...
But seriously, the point of writing your code in C is so that it doesn't matter what CPU core it is running on. If done right, the same code should run on ColdFire and ARM. That's also the point of choosing an operating system that abstracts the specific hardware to a common API abstraction.
You can always use gcc if you don't want to use CW for some reason. You may have to build your own since Mentor bought CodeSourcery and stopped providing the free ones. If your product is worth it you can always BUY a supported compiler from Mentor.
Or buy something like one of these for the software development kit if you like it:
COBRA52235 - Controller Modul im Scheckkartenformat mit ColdFire MCF52235
Tom
Hi rsido,
Thanks for your help. I'll explore the assembler suggestions
some more.
I haven't investigated the FPGA solution yet. If the parts were going away,
it would become the only solution.
There are some low power FPGA parts like the CoolRunner, but you are right,
it would be tough to compete with the factory solution and I really don't
want to.
Regards,
BrianJ
Hi Brian,
Coldfire is not "toast", but it has been deep frozen :smileyhappy:. It's been like this for a couple of years now, it's not because of Freescale being aquired by NXP. As far as I know they haven't stopped manufacturing any Coldfire parts specifically because of the move to the ARM based Kinetis, but they are certainly put at the back of the shelf on the website. The MCF5441x was the last main Coldfire part, it was launched in 2010 and is on the 15 year product longevity list. They still dont have a Kinetis part to replace it but I suppose it will only be a matter of time. There were some Coldfire+ parts released in 2012 and they should be available until 2022.
I'm wondering what V1 part you are using as most of the V1 part's are spec'd at up to 50.33MHz.
What is stopping you from using assembly language? GCC and Codewarrior still support it.
If you're happy to to use an Altera Cyclone III FPGA, you can get the Coldfire V1 soft core for free from ColdFire IP
Shaun
Hello,
Although it's a long time since your reply, I still want to ask if you have "ColdFire V1 soft core for Altera cyclone III".
Currently IP extreme has been acquired by SILVACO, and the original core store can no longer be accessed. I'm wonder if you still have a backup of it and share it with me. I really need this file.
Thank you for your attention to this.
Hi Shaun,
Thanks for your helpful answer. I am especially interested in the ColdFire IP core.
The 50.33MHz is the crystal speed which gets to be a 25.165MHz bus speed, which is the 25MHz I was referring to. The V2 sports a bus frequency of 80MHz. Much more competitive with the ARM counter parts.
My grumbling about assembly language was not that it couldn't be done, but that all the support was focused for C coding. I was having trouble finding, assembler or debugger documentation in Codewarrior. There is a lot about the Compiler and the Linker, but the discussion of Assembly that I found, seems to assume you will be doing inline assembly in a C program. This is a marketing plot to frustrate you into using "C" I think. Assemblers are very simple if you don't have to first absorb the Reactor Plant Manual 4 volume set to find the secret handshake. I did find a 3rd party Assembler/Simulator, which was kind of cool, but hasn't been updated since Dec.2012. (ColdFire Studio).
Regards,
Brian J.
Hi bclever,
Sorry to bother you but I'm wondering if you have ever got the "ColdFire V1 soft core for Altera cyclone III" and have a backup of it. I'm currently working on a project which requires this package. I'll be very appreciate if you can share a copy of it with me.
Thank you for your attention to this.
Hi Brian,
What Codewarrior tools are you using? The only time that I've written Coldfire assembler that wasn't inline was for the V2 using CW 7.1. There are plenty of example projects that exist for that setup on CFV2. Unfortunately CW 7.2 broke all of that. Those "classic" CW's had a reasonably decent inbuilt help system on using the assembler (not inline). I had a quick look at CW 6.3 which supports CFV1 and there exists an assembler manual in there, but I have no idea if this applies if you are using CW 10.x. If there is nothing in the inbuilt help then that is a problem for you. I did find a recent Freescale library written in assembler that supports Coldfire V1, V2, Coldfire+, and ARM. It's about using the CAU and is discussed in AN4307 and there is a download for it (AN4307SW.zip). Perhaps that could help you.
There is also the GNU Coldfire tools available for which decent documentation exists, but they are nowhere near as easy to use as CW in my opinion.
It must be an unusual assembler project that you are working on that requires more grunt than 25MHz. I assume that there is no ethernet, web server etc, those things that chew CPU cycles.
Oh, I just remembered that there is another supported coldfire assembler with an active community: "vasm". vasm portable and retargetable assembler. I think that it originally targeted the M68K, but these days has a lot of backends. I checked the documentation and it says that it supports ISA_C which CFV1 uses. There is also a companion compiler vbcc ANSI/ISO-C compiler , that started off on the Commodore Amiga. I can vouch that vbcc is well supported and documented.
Actually the CFV2 predates CFV1, so the CFV2 BDM didn't get bloated, the CFV1 just got a simpler one :smileyhappy: It was borrowed from the HCS08. For CFV2-4, if you don't require execution trace you can get away with just the first ten pins of the usual 26pin BDM connector. I don't have the debug hardware to use execution trace anyway so I usually just use the lower pin count header.
Good luck, let us know how you get on,
Shaun
Hi Shaun,
The CW I looked at last was CW 10.4, but I may have an earlier
version on a disk in one in one of the hardware demo kits.
I will check out the VASM.
Thanks,
Regards,
BrianJ.
Hi Brian,
Just for curiosity I did a search on the Freescale homepage for "Coldfire Assembler" and up come the reference manuals for the CFV1 classic assembler and also the Coldfire assembler for the latest CW10.6. Codewarrior supports unlimited assembler in the SE (free) editions, so using the reference I mentioned previously as an example, you should be right to go.
Shaun