Er is al wat discussie geweest in de kroeg maar gooi het nu toch maar in een apart topic. Ik heb een printje met een LPC2136 en krijg hem niet opgestart. 
De situatie;
Ik heb -geen- clue wat ik hiermee moet beginnen. Ik heb ook dit geprobeerd, alle leds laten knipperen;
Dan in de standaard template makefile:
Compiled zonder problemen, flashed ook zonder problemen, doet vervolgens geen barst.
Ik ga nu naar school waar een oscilloscoop staat waarmee ik de voeding (na een reset) en klok (is die stabiel) ga checken maar verwacht dus geen rare dingen daar omdat de bootloader wel werkt. Weet iemand wat ik fout doe met de code? Verkeerde compiler/headers/opties..?
De situatie;
- Ik kan met de bootloader discusseren, flashen, code verifyen.
- Daarmee neem ik aan dat de voeding stabiel genoeg is (hij is ontstoord met tig condensatoren)
- Daarmee neem ik aan dat de klok loopt (kan de bootloader werken zonder klok? Het is een 25MHz kristal)
- Ik gebruik de WinARM set van 2006
- Ik probeer te werken met de daarvoor geporte examples, om precies te zijn, de UART example.
- Ik heb de ROM.ld aangepast naar 256K, omdat ik een 36 en niet een 38 gebruik. target.h heb ik aangepast naar 25MHz klok (zie hieronder). Verder geen aanpassingen.
- 90% van de tijd start 'ie niet op als ik P0.14 hoog hou, en reset hoog breng.
- Eenmaal opgestart kan ik 40x resetten zonder problemen, maar flash opnieuw of breng ook P0.14 een keertje laag en we zijn weer terug in het bijna altijd fail.
- 'opgestart' is hier dat UART1 hoog gaat, maar er wordt verder niets ge-echo'd op UART0, dus misschien dat het verhaal alsnog is vastgelopen.
C:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
| target.c: #define Fosc 25000000UL /* System frequence,should be (1~32)multiples of Fosc,and should be equal or less than 60MHz. */ #define FCCLK (Fosc * 1) /* Used in example code */ #define Fcclk (Fosc * 1) /* CCO frequence,should be 2/4/8/16 multiples of FCCLK, ranged from 156MHz to 320MHz. */ #define Fcco (FCCLK * 8) /* VPB clock frequence , must be 1/2/4 multiples of (FCCLK / 4). */ #define Fpclk (FCCLK / 4) * 1 |
Ik heb -geen- clue wat ik hiermee moet beginnen. Ik heb ook dit geprobeerd, alle leds laten knipperen;
C:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
| main.c: #include "LPC214x.h" /* Main application entry, init all modules & enter runloop */ int main(void) { int i = 0, j = 0; /* All IO is shared between modules, so init them here: * PWM on pin P0.7, P0.8, P0.9 (RGB) and P0.21 (FPGA) * Led outputs on P1.17, P1.18, P1.19 * Chip select lines outputs on P0.10, P0.11 * TxD, RxD on P0.0, P0.1 * SCL, SDA on P0.2, P0.3 * SCLK, SO, SI on P0.4, P0.5, P0.6 * Everything else is unused or input. */ PINSEL0 = 0x000A9555; PINSEL1 = 0x00000200; PINSEL2 = 0; IODIR0 = 0; IODIR1 = 0x000E0000; IOSET0 = 0xFFFFFFFF; IOSET1 = 0xFFFFFFFF; /* Blink */ while(1) if(i++) { if(j) { j = 0; IOCLR0 = 0x00000000; IOCLR1 = 0x00000000; } else { j = 1; IOSET0 = 0xFFFFFFFF; IOSET1 = 0xFFFFFFFF; } }; return 0; } |
Dan in de standaard template makefile:
TARGET = main # List C source files here. (C dependencies are automatically generated.) # use file-extension c for "c-only"-files SRC = $(TARGET).c #SRC += #SRC += # List C source files here which must be compiled in ARM-Mode. # use file-extension c for "c-only"-files #SRCARM = main.c SRCARM += ../Common_WinARM/src/irq.c SRCARM += ../Common_WinARM/src/target.c SRCARM += ../Common_WinARM/src/timer.c
Compiled zonder problemen, flashed ook zonder problemen, doet vervolgens geen barst.
Ik ga nu naar school waar een oscilloscoop staat waarmee ik de voeding (na een reset) en klok (is die stabiel) ga checken maar verwacht dus geen rare dingen daar omdat de bootloader wel werkt. Weet iemand wat ik fout doe met de code? Verkeerde compiler/headers/opties..?