This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

How do you choose an ARM family

How do I go about picking an architecture ? My first thoughts suggested Cortex M3 but the more I look into it the less sure I am.

Obviously I don't to go to the trouble of learning a new technology only to find that I've made a bad processor choice (ie nearly end of line). I've spent many hours looking at many websites and have yet to find any high-level stuff on choosing my first ARM device.

If there's one thing wrong with ARM its the almost infinite number of devices

I'm an embedded developer wanting to undertake my first ARM project, so I'm completely new to the ARM architecture. I want a low power device with serial, USB and some ADC channels.

Parents
  • Return to my original post. I did wrote:

    "It is always very dangerous to make use of manufacturer-specific libraries.

    For commercial use, you should have full access to the source code, and a license that allows you to run the code on _any_ processor, even if different manufacturer or non-ARM architecture."

    I never said that manufacturers have libraries with licenses that allows you to move them to other architectures and/or manufacturers products.

    I did say that a manufactuer-supplied library can be very dangerous to use.

    And I did say that you should look for libraries that has source code and an acceptable license. These libraries would most probably _not_ be manufacturer-supplied, but libraries you buy from 3party companies, or libraries that have a LGPL license or similar.

    When you invest greatly in a product, you must make sure that you are not squeezed into a situation where you must either start from scratch because your processor gets dropped, or where you must continue with one manufacturer even if another manufacturer has a way better product.

    The question is how to best protect your investment, and to allow your company to make the business decisions, and not your component suppliers.

    You may find that your nice product is too small - you get a customer that says: We will buy 10k units/year if you just have one more ethernet connector and 12-bit instead of 10-bit ADC. With full control over the sources, you may be able to port your 99% C/C++ code to _any_ available ARM. With 40% of your sources locked to a specific manufactuer, you may no longer just adjust the peripherial mappings for another chip, but suddenly also rewrite, test, document, ... the 40% of the code that you are not allowed to reuse.

    And you may suddenly find out that you need 12 months for such a step, but a competitor can supply a customized OEM product in 3-6 months. Oops. Deal lost because you where not in control of the source code for your important product.

    In the end, the chip manufacturers do not supply their libraries to be nice and make it easier to use their chips. The main reason is to lock you in. That the libraries _may_ simplify some things is a bonus, but not the primary goal. The only simplification that was intended was the amount of work needed to to move within their chips compared to the work of moving to a competitors chips.

Reply
  • Return to my original post. I did wrote:

    "It is always very dangerous to make use of manufacturer-specific libraries.

    For commercial use, you should have full access to the source code, and a license that allows you to run the code on _any_ processor, even if different manufacturer or non-ARM architecture."

    I never said that manufacturers have libraries with licenses that allows you to move them to other architectures and/or manufacturers products.

    I did say that a manufactuer-supplied library can be very dangerous to use.

    And I did say that you should look for libraries that has source code and an acceptable license. These libraries would most probably _not_ be manufacturer-supplied, but libraries you buy from 3party companies, or libraries that have a LGPL license or similar.

    When you invest greatly in a product, you must make sure that you are not squeezed into a situation where you must either start from scratch because your processor gets dropped, or where you must continue with one manufacturer even if another manufacturer has a way better product.

    The question is how to best protect your investment, and to allow your company to make the business decisions, and not your component suppliers.

    You may find that your nice product is too small - you get a customer that says: We will buy 10k units/year if you just have one more ethernet connector and 12-bit instead of 10-bit ADC. With full control over the sources, you may be able to port your 99% C/C++ code to _any_ available ARM. With 40% of your sources locked to a specific manufactuer, you may no longer just adjust the peripherial mappings for another chip, but suddenly also rewrite, test, document, ... the 40% of the code that you are not allowed to reuse.

    And you may suddenly find out that you need 12 months for such a step, but a competitor can supply a customized OEM product in 3-6 months. Oops. Deal lost because you where not in control of the source code for your important product.

    In the end, the chip manufacturers do not supply their libraries to be nice and make it easier to use their chips. The main reason is to lock you in. That the libraries _may_ simplify some things is a bonus, but not the primary goal. The only simplification that was intended was the amount of work needed to to move within their chips compared to the work of moving to a competitors chips.

Children