Maker Pro
Maker Pro

LPC2148 ARM7TMDI based microcontroller

I want to start work with LPC148 Microcontroller. I have downloaded datasheet and started reading. LPC2148 is 32 bit microcontroller from ARM-7 family. It has 32 to 512KB of internal flash program memory and 32 to 8K of internal Data memory. We can use Keil compiler to develop program. I am using LPC148 Microcontroller which is manufactured by Philips. We can use Flash magic tool for burning files. Flash magic is a software tool used for burning the .hex files to NXP Controllers.

I am confuse on following features

2.1 Key features
■ In-System Programming/In-Application Programming (ISP/IAP) via on-chip boot loader
software. Single flash sector or full chip erase in 400 ms and programming of
256 bytes in 1 ms.

■ USB 2.0 Full-speed compliant device controller with 2 kB of endpoint RAM.
In addition, the LPC2146/48 provides 8 kB of on-chip RAM accessible to USB by DMA.

generally I have seen any micro-controller require hardware chip or burner circuit to program microcontroller. Is burner circuit inbuilt in LPC148 that's why we call it In-System Programming.

Please tell me what's the use of these two features
 

Attachments

  • lpc2141_42_44_46_48.pdf
    923.5 KB · Views: 43

Harald Kapp

Moderator
Moderator
In system programming means that the controller can be programmed while it is mounted within the system it is meant to operate. A few pins a normally reserved for this purpose. These pins need to be connected to a programmer which in turn connects to a pc to download the program.
If teh controller has a bootloader, programming may even be performed using a serial interface, e.g. USB. Arduinos for example can be programmed this way.

To get started with a new microcontroller I recommend you get an evaluation or development board. This will have the necessary environment for teh contrller already installed (e.g. power supply regulator, quartz oscilator, serial interface etc.)
 
In system programming means that the controller can be programmed while it is mounted within the system it is meant to operate. A few pins a normally reserved for this purpose. These pins need to be connected to a programmer which in turn connects to a pc to download the program.
If teh controller has a bootloader, programming may even be performed using a serial interface, e.g. USB. Arduinos for example can be programmed this way.
Does LPC148 has inbuilt programmer circuit on chip or LPC148 has additional programmer chip on development board.

I have never worked with Arduinos but I think everything is there on same board. we just connect Arduinos board to PC and then open Arduinos IDE, we write program and upload the sketch
 

Harald Kapp

Moderator
Moderator
The datasheet you posted states:
In-System Programming/In-Application Programming (ISP/IAP) via on-chip boot loader software. Single flash sector or full chip erase in 400 ms and programming of 256 bytes in 1 ms
So it's on chip.
 
The datasheet you posted states:
So it's on chip.
■ EmbeddedICE RT and Embedded Trace interfaces offer real-time debugging with the
on-chip RealMonitor software and high-speed tracing of instruction execution.
■ USB 2.0 Full-speed compliant device controller with 2 kB of endpoint RAM.
In addition, the LPC2146/48 provides 8 kB of on-chip RAM accessible to USB by DMA.
■ One or two (LPC2141/42 vs. LPC2144/46/48) 10-bit ADCs provide a total of 6/14
analog inputs, with conversion times as low as 2.44 μs per channel.
■ Single 10-bit DAC provides variable analog output (LPC2142/44/46/48 only).
■ Two 32-bit timers/external event counters (with four capture and four compare
channels each), PWM unit (six outputs) and watchdog.
■ Low power Real-Time Clock (RTC) with independent power and 32 kHz clock input.

Does it means LPC148 has inbuilt Peripherals such as RTC ADC / DAC, Timer, PWM, RTC, UART..etc

LPC148 support protocols such as I2C, SPI, CAN UART and USB
 
Obviously...
Hello
I just tried to write first program and I have written following program. I have compiled program with no errors
Code:
#include <LPC213X.H>

void delay(unsigned int wait);

void delay(unsigned int wait)
{
    unsigned i;
    for( i = 0; i < wait; i++)
    {
           }
}

int main (void)
{
        IODIR0 = 0x000000FF;         //Port-0.0 to Port-0.7 pins as Output Pin
   
    while (1)
       
     {
             IOSET0 = 0x000000FF;             //P0.0 to P0.7 are high
       
           delay(5000);
         
           IOCLR0 = 0x000000FF;            //P0.0 to P0.7 are low
     
              delay(2000);
     }
   
 }

I am working with simulation software

upload_2018-1-24_18-9-7.png

I have run code on simulator but the led is not blinking on simulator so I am trying to figure out what could be possible errors.

Do you find anything wrong in program and led pin connection
 
Top