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

why is the support for ARM diabollically bad

As a student being forced to learn the LPC21xx microcontrollers as part of my degree, I have found getting information and help extremely poor.

Everything points you in the direction of the data sheet/ user manual, but the reason Im looking for help else where is because Im not getting what I need from the manual. How backwards is that!

Also when you post a thread on this site no one gets back to you. Does anyone actually run the site? and does anyone actually reply to technical questions that actually may help others at a later time? I think not. I think Ive got a better chance of recieving a reply from this rant!

I think ARM and Keil should be ashamed and take a leaf out of Microchips book, as the help avaialable for the many devices they supply is vast!

Rant over

  • This is not an official support forum.

    Official support is handled by the official support channels visible at top/bottom of the web pages.

    You can't tell the developers around the world that they should be ashamed of themselves if they decide to not spend time answering your questions. They can make more money by solving own problems.

    There are huge amounts of information available on this forum, on the Keil site, on NXP:s site besides all the information available using Google.

    What _specific_ problems do you have? Realize that most threads here are of the type "I have a school project - what should I do".

    But once more - if you can't figure out how to read the 3rd channel of the ADC, you can't blame the other people who visits this forum for not spending time checking through the user manual and then supply an answer. That you haven't seen an answer is most probably because no one have recently worked with the ADC of the LPC21xx.

  • One more thing - who should support?

    Microchip sells processors. So they have an economic incentive to help even students.

    Atmel sells processors - same there.

    ARM sells processor cores to other companies. So it would be NXP, Atmel, ... that should help people who can't understand _their_ manuals.

    Because you can't really claim that you are stuck with an ARM or Keil problem. The NXP21xx may have an ARM core. But it is NXP who have taken an ARM core, and glued on lots of peripherials. And then written a manual documenting their processor. Keil just supplies the compiler. So their documentation and support responsibilities are about the compiler, RTX, etc. Still not any NXP ADC.

  • Point taken however, any type of search you do on google just gives you links to the user manual, and there doesnt seem to be any usefull sites on the simpler functions of the micro like the A/D. I realise my rant was probably a bit harsh but after the transition from Microchip to ARM, It just seems like there isnt any support for people trying to learn on the ARM devices.

    Even though there are probably 3 ARM devices for every person on the planet, does it not make more sense to invest in providing support for new users? As these are the people that are going to be using the devices in the future.

  • Well that really should be your primary reference source!

    "Im not getting what I need from the manual"

    So what, exactly, is it that you need?

    As already noted, it's NXP you need to be chasing - not Keil or ARM.

    Have you looked at:

    www.nxp.com/.../ - in prticular, "Design tools & Assets"

    http://www.lpcware.com/

    's Guide"

    etc,...

  • Many thanks for the links, I think the hitex guide may prove quite usefull.

    In terms of guidence or help on my previous question on this site, Im still struggling to find a way of safely changing what channel I want to read in programmable mode on the A/D. I found that in burst mode you can simply change SEL in the ADCR register to the channel you want, but in programmable mode Ive been told by my lecturer that changing this register is unsafe. Aswell as being given his favourite quote of - find out yourself because hes not there to do it for me. This is understandable as I want to learn how to use these functions, but with the what seems soul destroying minima of support available online, this is proving to be very frustrating, especially due to the time constraints of Uni life. (I hope that explains the rant)

    I would like to add though, that the help and support that Visual studios offers for devices such as the Netduino is absoloutly fantastic, and although I dont believe that either ARM or Keil should meet that standard, I do believe that a support network for beginners should be provided.

  • I've never used Microchip MCU's, but I hear ARM devices are substancially more complex in general. Accept it as a fact of life. You might as well learn the complexity, it might do you good in the future. Once you've done one of them, the others will look much simpler.

  • I think what you're actually saying there is that (you feel that) your course is not equiping you with the skills that you need in order to make effective use of manufacturers' published data?

    Maybe that's something you should take up with your tutors?

    Maybe you could get your tutors to join this discussion...

  • As you can probably appreciate a university tries to teach students how to find answers for themselves, as providing all the answers wont help students after they graduate.

    <I feel> that my course is providing me with a very good skill set, and that through finding my own answers through various resources (one of them being a forum such as this), I feel I will graduate and become an engineer who can actually design something, aposed to the graduate engineers who come out of uni not knowing one end of an oscilloscope to another (Please be aware that Im not slating all graduates)

    Also, like you quite kindly pointed out yourself, that you do not have time to answer questions relating to micro-controllers, I hope you can appreciate that a lecturer does not have time to enter in to a discussion that should of been nothing more than a rant.

    But hang on what does this say? I can get someones time while they challange a rant, but when it comes down to answering a question, then there seems to be no time for this?

    Also, quite rightly so Atmel, NXP etc. should also provide information about their micro-controllers, but I believe that Keil should point you in the direction of how to use the micros, and ARM should really invest in bringing an online community together to let others better understand their own documentation and devices. Just look at microsoft, Netduino, Aeduino and rasberry PI etc. There is a great online community supporting beginners and the more advanced users. This was my point, and why should I not have a right to express this.

    I believe that if people took time out to help others with their questions relating to these micros then there would be a valuable resource to help others learn quicker, and develop embedded systems starting fromm grass roots, up to more and more complicated appications.

    Thank you for your time

  • Actually, I think that this forum is very good to find some answers, provided that:

    • Issues are correctly explained by OP
    • OP did try to solve the issue himself before and he is trying to find a solution for a struggle during the implementation.
    • Question asked are punctual and not too over general.

    There are some very experienced and clever people contributing to this forum (I don't include myself on that group) and if you are patient and polite you will get some very valuable and helpful input from them.

  • Well, you wouldn't expect Ford to give free driving lessons to everyone who buys a car, would you?
    (they might do it from time-to-time as a "special offer" - but it's not someting you should expect).

    Similarly, it isn't really the place of semiconductor companies to provide general training.

    However, note that most companies do offer seminars & training on their products - often through, or in association with, their distributors

    Similarly, there are specialist training poviders.

    For some examples, see: http://www.keil.com/forum/post.asp

    Hitex has already been mentioned - they hold regular ARM seminars.

    Also look on the ARM Community page...

  • But you still haven't realized that since people aren't payed to provide support, the likelyhood you have of getting support depends on how many visitors to this forum who are actively using the processor you question about - and the feature you question about.

    The LPC21xx chips have been replaced by LPC23xx which have been replaced by LPC17xx. People who had LPC21xx projects are either done with them and don't frequent this site. Or haven't worked with LPC21xx in a long time since they now work with new projects using newer processors.

    So you will have much better chance of getting answers when asking general questions than when you ask specific questions about "ancient" processors. Can you see any reason why it should be different?

    Next thing - you talk a lot about ARM. But ARM have just created the instruction processing engine for your LPC21xx chip. NXP have taken that processor core and glued on everything around it. So that same processor core exists with different interrupt controllers. Different serial ports. Different ADC. Different memory interfaces. With or without support for generating exceptions when accessing non-existing memory. With or without advanced PLL clock/routing. With or without low-power functionality.

    How can ARM hold courses about (old) processors they haven't developed? There are released a large number of new ARM-based processors every year. They are ARM-based, because they run ARM processor cores using instruction sets defined by ARM. So ARM should be able to hold courses about how to assembler-program their cores. But how can they hold courses about how to use actual processors, interfacing actual peripherials?

    One of the things with the net is that you can be lucky and get great advice. But you can't expect to get it. You can't expect to get any advice/help at all. The big question you must ask is - why should people spend their own private time helping _you_? That is the specific thing that is constantly missed - why should people bother to help in the first place?

    Now you probably think: because they want help themselves. But if you look closer, you'll notice that the percentage of people who help and the people who ask questions is extremely skewed. Very few people help. The majority just ask questions. And they often post their questions on multiple forum, just to make sure they can better lock down the limited help support there are. Most of the time, they ask their questions on forums that aren't even applicable for the problem at hand.

    Check 25 threads on this forum - the majority are not about Keil or Keil products. But this site comes up high on google searches so people come jumping here.

    My question in your other thread was specifically to show that the information was specifically available in the user manual - despite you claiming it wasn't. The required documentation are almost always available in the available documentation from the chip manufacturer. Data sheet, user manual, application notes or code bundles. And yes, starting with programming or starting with new processors, it will always hurt a bit to work through that material. But that is what it takes. Reference designs/application notes can only take someone so long, before the problems start to show up and the research has to be done.

  • I appreciate your comments, and alot of what you say didnt come straight to mind. I realise that the LPC2119 is an older device, and to some extent thats why I thought there would be more resources available to help.

    I dont and wouldnt expect FORD to give free driving lessons, and I realise that Haines manuals cost money because they spend time on researching and creating their manuals.

    My disappointment lies really on the hard to find help, which as I now better appreciate comes from the minority answering the questions.

    I feel though that if any of the companies in the development chain created a community such as that on visual studios, where people who answer questions get rewarded for doing so, then these micros would become more accessable to a wider audience, which would help these companies sell more of their products by on site advertising, as well as benefit the users by a knowledge sharing scheme that benefits all users. Win - win, as theres still profit to be made and people will come back to gain or share knowledge.

  • Maybe there's a business opportunity for you there, then...

  • But I think Keil get the sales Keil can expect. So in my view, it should be the chip distributors together with the chip manufacturers, who should take the cost of such a system.

    It's the chip manufacturers who reaps the gain when a student later selects that specific processor family in a new design.

    ARM don't need to care much, because it is irrelevant what processor someone uses in a product that sales 100 units/year. And if a company have a product that ships in 10k volume then the company will not listen to a new developers chip preferences - they will look at the cost of the chip, availability, ... And given how much ARM chips that are shipping every year, the distributors are doing a good job convincing the companies to select ARM chips.

    The bigger companies will then often prefer commercial development tools to get commercial support - and get directed to Keil or IAR. So Keil don't need to spend money selling in how easy it is to program ARM-based chip X. It's enough that the chip distributor points at Keil when the customer asks what tools to use.

  • .... the I have not seen a specific, well documented problem posted by the OP

    Erik