Hi Leute,
ich habe für mein Projekt ein ARM Board entworfen und gelötet.
(Schaltplan angehängt).
Gestern hab ichs auch kurz getestet und konnte programmieren und drauf
debuggen (Prozessor Sam4s16C).
Heute wollt ichs wieder machen, doch wenn ich das Atmel beispielprogramm
drauftue wo eine LED blinken soll, macht ers nicht richtig:
Manchmal macht er garnix, manchmal blinkt die LED ein paar mal und hört
auf. Debuggen geht auch nur manchmal und dann brichts irgendwann ab bzw
gehts nicht weiter.
Den Quarz hab ich schon gemessen, dort liegt ein 12MHz Sinus an, das
müsste passen...
Die Versorgung hab ich auch gemessen, dei Werte Stimmen die
Gleichspannungen sind ziemlich sauber.
Also an was kann es liegen. Programmieren lässt er sich immer, aber mir
kommts vor, dass das Program sich irgendwann aufhängt bzw im delay ewig
wartet:
Das Beispielprogramm ist:
1 | static void mdelay(uint32_t ul_dly_ticks)
|
2 | {
|
3 | uint32_t ul_cur_ticks;
|
4 |
|
5 | ul_cur_ticks = ul_ms_ticks;
|
6 | while ((ul_ms_ticks - ul_cur_ticks) < ul_dly_ticks) {
|
7 | }
|
8 | }
|
9 |
|
10 | void SysTick_Handler(void)
|
11 | {
|
12 | ul_ms_ticks++;
|
13 | }
|
14 |
|
15 | int main(void) {
|
16 | sysclk_init();
|
17 | board_init();
|
18 |
|
19 | /* Setup SysTick Timer for 1 msec interrupts */
|
20 | if (SysTick_Config(SystemCoreClock / 1000)) {
|
21 | while (1) { /* Capture error */
|
22 | }
|
23 | }
|
24 |
|
25 | while (1) {
|
26 | gpio_toggle_pin(LED0_GPIO);
|
27 | mdelay(500);
|
28 | }
|
29 | }
|
-------------------------------------
Falls wem was für mein 2. Problem einfällt, das Display will auch nicht
mehr. Wenn ich ein Pixel einfärben will, dann ist er immer schwarz, egal
welche Farbe ich auswähle, es liegt aber nicht an der Software, da das
Programm auf unseren anderen Prototypen funktioniert und die beschaltung
wäre 1:1 übernimmen (nur die Pegelwandler wurden geändert, aber die
Daten kommen ja richtig am Display an, werden nur falsch dargestellt...
Wir verwenden ein transparentes OLED Display.
Hoffe ihr könnt helfen (:
lg
Leo
Edit:
Vielleicht liegt es ja dann, dass ich das Programm (was auf dem Sam4s16C
läuft) für das Entwicklerboard Sam4SXplained geschrieben habe? Jedoch
kann ich keine user appliction für den ARM programmieren, da ich den
Prozessor über das Entwicklerboard programmiere. Und kein ICE-Programmer
habe...
Kann das der Fehler sein, ich habe aber alle Teile die ich benutze 1:1
vom Entwicklerboard übernommen!