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.
Hi!
I am a total newbie when it comes to ARM processors programming. Since I found out about this products I would like to know with what to start?
I though that for start I would get myself a MCB2370 board and the ULINK2 of the hardware but I don't know what is that I need of the software is MDK-ARM + RL-ARM all that I need or do I also need the DB-ARM package?
Thank you!
Regards, Uros
Welcome aboard the ARM devices. A 32 bit device for less cost than many of the 8 Bit devices. If you have not decided on a particular ARM chip I recommend that you start with the LPC2138 or LPC2148. Both have an eval boards at $150.00 US. Both of these eval packages contain a CD with the Keil MDK-ARM eval software. You can also download direct from Keil. This software will allow up to 16Kbytes of code. The RealView MDK will have the RTOS software included. I would not buy the the RL-ARM package until you have spent a little time on the MDK package. The RL-ARM package contains most of the source code for the RL-ARM libs plus some CAN, USB and TCP/IP Libs. There are many examples and demo software for the two eval boards. While the 2370 is a newer chip, the examples for the slightly older chips have a lot to offer. For a manual, I suggest "Architecture Reference Manual" by David Seals. A very good second source is HITEX. They have a manual and demo code in a tutorial context that is excellent.I believe it's called "The Insider's Guide To The Philips ARM-7 Based MicroControllers" by Trevor Martin at http://www.hitex.co.uk/arm. Also, stay tuned to this forum. There are several great experts that can answer most of your hard tech questions. I'm not one of them but I learn a lot by watching this forum. Bradford
Thank you for the fast answer. Since I am about to adopt a product that uses the LPC237x CPU I've decided to also start with this product line since it'll be probably best that to start with another CPU, but I can still buy the eval. board with another CPU if I'd see that it wouldn't go directly with the LPC2370. Thank you also for the resources point-out I've ordered some books and I'm going to start with the learning of the CPU soon. The main question was which packages would I require to purchase from KEIL so I'd be able to develop normally, that is, do I need all three software packages or only the two (MDK-ARM and RL-ARM) that I think should do the job. Since I know that the product I'll adopt will use RL-ARM I also need to purchase this package. I'd just like to know if I have to purchase also DB-ARM or is this already included in MDK-ARM.
Thank you again for all your answers.
I recommend a good reading on the ARM7TDMI spec from ARM in order to complement the literature Al Bradford already posted.
www.arm.com/.../DDI0210C_7tdmi_r4p1_trm.pdf
That document will boost your debugging capabilities with ARM7 systems.
Uros; I second Alex's suggestion for the ARM specs. No. You do not need the DB-ARM package to support the MDK package. The MDK package is complete except for the target board. The eval board that you choose should have a ULINK or some other JTAG hardware support module for download and debug via JTAG. Most of your present questions might better be answered by Keil's sales people. Bradford
Thank you both for your input, now I have received my MCB2300 (with LPC2378) and a couple of books for ARM programming but I still have a couple of questions, hardware wise. I have been looking through the pinout list of the LPC2378 processor and noticed that for example UART3 RX/TX is on pin numbers 66,67 and 118,122.
How do I know to which pins I should connect my RS232 connector so I can use this port?
Also does this mean that for pins 66,67 to enable I would have to do PINSEL0 = 0x00000011;?
I know these are a complete newbie questions but that I am in ARM technology.
Thanks in advance for any answers!
Re, Uros
Since you are using the MCB2300 with the LPC2378, I suggest that you review the schematic and User's Guide. Both will be on the CD that you received with your Eval board. My reference is on the website at http://www.keil.com/arm/mcb2300/mcb2300-schematic.pdf. On Page 1 of the schematic, RS232 Com 0 connection is to pins 141 and 142. CAN 1 is the alternate function connected to pins 66 and 67. Com 1 is connected to pins 15 and 16. And lastly, CAN 2 is connected to pins 115 and 116. I do not find pins 118 and 122 but I just ran a quick look at the com ports. The user guide will show the jumper settings for the alternate functions if they are supported on your eval board. Most of the time the default jumper settings will get you operating quicker with the example programs. Just leave the jumpers on the factory defaults until you have run several of the example programs to understand the board operation. Bradford
Al,
thanks for fast response. I have gone through this, and I did find these connections (pins 122 and 118 are P4.28 and P4.29, on bottom right of page1 in the PDF). Or am I reading the schematics wrong? The thing that is confusing for ME is that if I put a connector on pins 66(P0.0/CAN_RX1/TXD3/SDA1) and 67(P0.1/CAN_TX1/RXD3/SCA1) I can use it either for a CAN connection OR a RS232(COM) connection, so I give up one or another? And how do I "tell" the application that the connector on that two pins is used for CAN or COM?
Yes, a pin can only be used for one thing at a time. All pins that have multiple functions also have a register that need to be initialized in your program to specify which of the alternative function the pin is expected to have.
In this case, there is two bits/pin to specify alternative functions. In the data sheet, you can find which values you should use. If the LPC23xx chips had been a bit better supported by the Keil environment (any time now...), then you would hav ebeen able to play around with all settings in the IDE, and then just copy the final values from the dialogs into your source code.