Topic : Is there a base project available for the LPC1768 using Ride 7?

Forum : ARM

Original Post
Post Information Post
April 30, 2010 - 12:07am
Guest

Hello,

I've worked briefly with a few ARMs and compilers, and I'm wondering if there is a default project I need to use to start up an LPC1768 using Ride 7. Specifically, how and where do I configure oscillators, in what file does this code reside and where do I find it. I will be using an external oscillator, and not the default crystal. Are ther default interrupt stubs, and what are they, etc.

I really just need a basic project which can run to main.

I've brought up a SAM7 (IAR & Rowley), and an STM32 (Ride 7), and have no idea what is expected of me to bring up a NXP processor, and what sort of libraries there are, and where documentation is on that, and so on. I've found it is a rather unpleasant experience getting new ARM platforms up and running. (But I like Ride 7 environment the best so far!)

I'm using the following install;
Ride7_7.26.09.0351.exe
RKit-ARM_1.24.10.0050.exe

Regards,

UHF

Replies
Post Information Post
+1
0
-1
April 30, 2010 - 10:08am
Raisonance Support Team

Hi,

Thank you for your feedback.

We just start supporting the LPC devices and for now we only had time to port the toggle example "cleanly". Did you try it?

Note that these firmware libraries are all designed and maintained by the device manufacturers. NXP provides a number of examples for the LPC17 devices on their website, and they are written in quite pure C, with very little compiler-specific syntax if any. So it should be quite straightforward to port them to Ride/GCC.

I hope it helps.

Best Regards,

Vincent

+1
0
-1
April 30, 2010 - 6:34pm
Guest

Do you have links to any useful examples? Many examples that I can find are for different compilers and often reference files which you don't provide. In any case I would also need to port every single different example and they are all incompatiple.

More importantly all of these examples include processor\board specific files. With the DMA DAC IAR Sinewave example they include "cstartup_M.s". This file clearly is doing something very system specific, of not compiler specific. I have no idea what Ride 7\ARM is doing to solve this. What would happen if I attempted to use this file? How are ISRs handled in your development environment? Are there default ISR function names like for the STM32, and where would I find the definitions for this?

Also note that I'm not asking about the peripherals yet. I'm asking about the compiler and how you start the processor, and how the bare environment for the processor functions. Is there an interrupt vector table? Where is it defined? How do I use what you provide? How do I change what you provide? Where do you configure the the Oscillator\PLL\Clock and am I going to have to change that code if I provide an external oscillator, or have lots of variables in RAM which need to be loaded at boot time?

When you start a default project using Rowley, they show symbolic links to default boot code for specific processors and environments. These files can then be edited to suit development needs. IAR also needs you to do this.

For your environment, do I just need the crt0_LPC17x file?

+1
0
-1
May 3, 2010 - 10:54am
Raisonance Support Team

Hi,

The NXP website provides a "download all documentation" item in the LPC17 section.
This is what you should take, but I cannot make a link to it.

As I said, for now we just implemented programming and debugging, and we will need more time to port advanced examples and libraries. Until then of course our environment needs more effort from the user than the more mature (and more expensive) competitors. But basically it works as usual:

For everything that is written in C, you can just give the files from one IDE/compiler to another. This is what C was invented for.
For what was written in assembler you have to adapt the syntax. We have done that for the startup in crt0_LPC17xx.s/.o. That includes the vectors table and the calls it makes to the IRQ handling functions, and the initialization of stack, heap and variables in RAM. Like all startups in fact. Apart from that, the rest should all be in C. (and not in the startup)

Best Regards,

Vincent

+1
0
-1
May 5, 2010 - 6:21pm
Raisonance Support Team

Hi,

We made a few tries using the CMSIS library provided by NXP on their website and everything seems to go fine.

You just need to create a Ride project and include the C files from the library and the examples provided with it, compile, program, debug, etc. It's all in C and the startup provided by Ride goes fine with it.

We will make a 'presentable' project to send to you, but first we need to make sure that there are no copyright issues.

Best Regards,

Vincent