I would like to know if there is any tool for migrating from ARM mcu's to Atmel? can any one help me on this topic?
Hello Norman,
what kind of tool are you looking for? Do you want to port your code or something else? My colleague jyiu has written some migration guides. But as far as I know only for PIC and 8051 (at least for microcontrollers). Maybe our learning page can help you: Cortex-M Learning Platform
Kind regards,
Christopher
Edit: I just saw that you are looking for a migration guide to Atmel - I don't think that you will find that here
Dear Christopher, Thanks for your reply. Actually what I am looking for is some type of tool or software that I can use to migrate my design from 168 MHz Cortex M4F CPU (256 KB RAM, 2 MBFlash) to AVR Atmel products. I want to redesign a similar product using AVR and I need to have the code transferred to the new mcu. Can you please guide me on that, or if your colleague Jyiu can give me some information.
RegardsNorman
Hi Norman,
Atmel have Cortex-M4 products as well
SAM4S ARM Cortex M4 MCUs
andalso Cortex-M7 based products
SAM E MCUs
Since they are the same architecture the migration should be fairly easy.
regards,
Joseph
I know of no such tool, but I'd like to let you know that since the AVR is 8-bit, you might run into some problems, especially if you need to write more than 8 bits on a port in one go.
Also, as far as I know, the AVR's maximum clock frequency is 20 MHz.
If you do not need high speeds and writing more than 8 bits on a port at once, then you may be able to pull it off.
If you're migrating because you've found some low-cost AVR, then I'd like to mention that you can get ARM microcontrollers for less than $1.
If you're migrating because you need to run it at 5V, both Freescale/NXP and Cypress make 5V ARM Cortex-M3 microcontrollers.
If you migrate because you need DIP and easy soldering or socketing, then NXP have the LPC8xx and LPC1114.
I'm not trying to change your mind, but I'd like to let you know that there are several choices, when it comes to ARM based microcontrollers in the hope that it might make your job easier.
For instance, you can search Farnell's Web-site for Cortex-M and sort by price. Mouser Electronics and Digi-Key also have a lot of Cortex-M MCUs.
Anyway, if you decide to port the design, I think you will need to do it manually (you'll need to know how the hardware works anyway). I wish you good luck with it, whichever path you choose.
Dear Chritopher
Thank you very much for your informative and comprehensive response. It was
quite helpful for me to make my decision. I appreciate you and hope to
receive your further feedbacks regarding my questions. I would appreciate
if I can have your Skype and email so that when I face such technical
problems, I can share them with you.
Regards
Norman
SkypeID: normanmedi
Dear Joseph
Thanks for your reply and it was very informative. You have mentioned that the migration is simple, can you please also guide me on that?RegardsNorman
Dear Jens
Thanks a lot for spending your time and providing me with a through and complete guide. I appreciate and it was quite helpful. I got your points and I have to rethink about my plan base on what you said.RegardsNorman
If you are switching to Cortex-M4/M7 from Atmel, the processor architecture would be the same.
So the concepts of the following areas will be the same:
- Interrupt handling mechanism, priority level
- CMSIS
- Debug architecture
You might also be able to use the same development tools.
The peripherals and memory map will be different. So the device driver code need to be changed. You should study the application notes and example projects from the development tools or evaluation kits to learn how to use the peripherals.
Obviously there are plenty of materials on Atmel website for you to look.
There are also plenty of Youtube videos (e.g. https://www.youtube.com/watch?v=m59YtdAet2A) showing Atmel development kits.
Atmel also have their own forum : http://community.atmel.com/atmel-smart-arm-based-mcus
Regards,
JOseph
If the design that you would like to migrate is utilizing the full capabilities of the ARM MCU that you used, you can hardly achieve your goal at present.
With 8-bit AVR, here are the hindrances
The 32-bit AVR UC3 microcontrollers have support for DSP and the C-Series include an integrated FPU but the fastest devices run only up to 66 MHz and the largest Flash memory is only 512KB.
Christopher Seidl wrote:
It is common for companies to produce a guide for migration to their products. What you want to do is the opposite, to migrate from ARM to other architecture. Logically and understandably ARM will not create a document for a purpose that is unfavorable to them. Nevertheless, the responses that you obtained from this forum, though not official, are valuable and provide you the guidance that you seek.
Goodwin
Dear Goodwin,
Thank you very much for your reply and helpful information you provided me
with. I also need help for another issue and I would appreciate if you
could help me on that. I have problem searching for a specific part in
all Altium libraries. So, I have to search for the part in each of the
libraries one by one, while I do not know which library has the information
regarding the part I am looking for. So, it takes a lot of my time. This
is not the case with Cadsoft Eagle, where it is quite easy to find a part
in its libraries. I have already searched on the internet for the
information, but none of them have been helpful. Can any one guide me on
that?
I do not know Altium at all, but which specific part are you talking about ?
If I was in your shoes, I'd first of all contact the manufacturer of that part and ask if they had an Alitum version of it.
If you got no replies, I'd ask Altium's tech support (or a forum there).
If the part simply does not exist, I would create it myself.
As written above, I don't know anything about Alitum or creating parts in it, but all the parts I've used in my own PCB layout program, I've created myself, and it might be quicker to create a missing part than searching for it.
Be advised, though: You will need to be very careful and make sure you get all measurements correct.
If the part you're searching for is an IC, such as LQFP, QFN, BGA or similar, then use a generic footprint and create your specific part from that.
Although I was a user of Protel (then), I don't have Altium so I can't give you much help on this.
Whether you are doing schematic capture or PCB layout, generally a part can be found through its category (e.g., ADC, DAC, EEPROM, LDO, microprocessor) or through its manufacturer (e.g., Analog Devices, Atmel, NXP, ST, Texas Instruments). If you can't find it in the pre-installed libraries, my advice would be similar to Jens' reply. When you have to create your own part, consult the datasheet to get the package type. You can use the generic footprint as is but if the manufacturer has a suggested dimensions for the pads you can have them modified.
Thanks for your recommendation and I guidance. I think this is the right
one.
Don't expect ARM employees to give you their email addresses or skype IDs, because if they did that, they would drown in support questions and become stressed and probably burned out.
(They have a lot to do already and are working hard on bringing us new and improved technology).
Instead, I would like to encourage you to ask ARM-related questions here (like you did already); but start a new thread for each question, so that if other people have similar questions, they might find the answers to your question useful / helpful.
I'd also like to encourage you to post status updates, when you achieved one of your goals or when you have progress in something you're working on.
People who follow you, might suddenly find one of your status updates interesting and give you some hints or tips.
This answer gives a great post like: "Why to stick with ARM"
ps.
Thanks Jens Bauer.