Content originally posted in LPCWare by MarcVonWindscooting on Sun Mar 16 16:13:54 MST 2014
You're trying to do 3 steps at once, that's why you have no idea, what's wrong.
Reduce to managable steps:
1. Verify, you program is executing at all, i.e. LED is not on just because of the reset default (pullup). Write a program that switches the LED off (and nothing more). If that doesn't work, then don't worry about the vector table, you have much bigger problems, like wrong placement of the executable. I don't know what Keil does. None of my programs ever started at 0x2000 (8ki, why that?). VTOR must be adjusted accordingly. No, bootloader doesn't do that for you. It uses the entries at 0x00 and 0x04 to prepare your application's stack and find the entry point.
2. switch the LED on. If that works, you know, you really have control over the LED port :-)
3. Then think about using systick as a timer.