We are running a survey to help us improve the experience for all of our members. If you see the survey appear, please take the time to tell us about your experience if you can.
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
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 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:
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
... that I did not go back to the threadlist before posting the above. Thus my previous post was too hasty
usually, complaints about support appear in the same thread.
Evil laughter ;)
>> >>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! >>
Just out of curiosity can you give us a couple of question examples?
Alex
My original task given to me by my lecturer was to continuously read three seperate channels of the A/D in programmable mode. In heinsight, I now know that the terminology given to me by my lecturer was intended to make me think about how his terminology related to the terminology used in the user manual.
As you can imagine, that when under time constraints and when your new to these user manuals, let alone microcontrollers in general, its a steap learning curve, and when you cant get access to easy to understand examples, then it can be quite frustrating.
Although it is quite funny how much of a response has been generated on this thread (even though it wasnt intended to ask for answers to a technical question) because it has kind of proved my original point that I have got more of a response from this thread than on my original thread, which I have only got one reply, and that was generated from this thread!
Mwah
I appreciate you comments, but really, if you have the skills to help others do you not think that is a better use of your time rather than commenting on a thread like this...
Although it is quite funny how much of a response has been generated on this thread (even though it wasnt intended to ask for answers to a technical question) because it has kind of proved my original point that I have got more of a response from this thread than on my original thread, which I have only got one reply, and that was generated from this thread! everybody can discuss an opinion, only people that know the technical area of your question can/should answer there. You seem to believe that a lot of forum participants have worked with things similar to yours,
"if you have the skills to help others do you not think that is a better use of your time rather than commenting on a thread like this..."
Lots of people "Have the skill". But that doesn't mean the same people have recent knowledge (or knowledge at all) about a specific feature of a specific processor.
Having the skills just means that lots of people know how to read datasheets and pick up the relevant information. The question is - why should people do that?
Can you come back with one single reason exactly _why_ I should read the relevant paragraphs of the ADC for your processor and then give you an answer? I haven't worked with any LPC21xx processor for maybe 5 years. And when I did, I did use interrupts and burst-mode conversions.
That your thread got unanswered is just that the only people who work with a LPC21xx and come to this forum come here to _get_ help - not to give help. The ones who _could_ give help have most probably already moved to other processors, for the simple reason that they work actively as developers. And whenever it's time to design the next product, you do a prestudy to figure out the best processor for that new product. And it is then almost always more economical to progress to newer processors as they are released, since newer processors tends to either give same performance at a lower power consumption, or more performance at same cost as the previous generation.
This just is not a forum where there are people payed to help users of random ARM processors. Sharing of knowledge works best when you find a forum where the other members do work with similar tools/equipment. In this case, most people here uses the same tools - Keil compiler and maybe Keil JTAG adapter and maybe basing products on Keil development boards. But this is not a site where most people uses the same processor. This is definitely not the forum to frequent if you specifically want help with specific NXP chips.
My answer in the ADC thread was specifically aimed to show you that your claims about the NXP manuals lacking the information was wrong. When people do get suggestions to Please read the manual, it's because they have asked a question that is already well covered by that FM.
One of the most important skills to learn, is to read datasheets. It is way more important to learn, than to hand in a "perfect" project. It's the skill to extract information from datasheets, Google etc that affects if a person will be an efficient developer or not. Because reading skills can solve an issue in 10 minutes, while a route through a web forum can produce the same information after one hour or one day or maybe one week. And that single project may contain 10 stumbling stones. 10 * 10 minutes going the datasheet route. Or 10 * 1 days or more if going the forum route. So the forum route normally means a failed deadline, because the response time and total throughput was too low.