Hallo,
ich versuche das RTOS Keil RTX mittels ULINK2 Debugger in den RAM zu
laden anstatt in den Flash, damit ich unter Keil uVision mehr
Breakpoints habe und um den Flash-Speicher zu schonen, das laden klappt
mittels einer SRAM.ini und angepasstem Speicherlayout (RAM-Adresse
anstatt ROM-Adresse) ganz gut, jedoch hängt sich der Controller nach der
Funktion os_sys_init() auf, so dass nicht mal der erste Breakpoint vom
Initialisierungstask aufgerufen wird. Bevor die Funktion os_sys_init()
aufgerufen wird klappt das Debuggen jedoch noch wunderbar.
Kann es sein, dass das Debuggen vom Keil RTX im RAM vom AT91SAM7X256
nicht unterstützt wird? Zumal in dem Beispiel Blinky_RTX was ich als
Vorlage verwende kein RAM Target vorgesehen ist, was aber in den
restlichen Beispielen ohne RTX Kernel sonst immer mit dabei ist.
Hier die SRAM.ini
1 | FUNC void Setup (void) {
|
2 | // <o> Program Entry Point
|
3 | PC = 0x00200000;
|
4 | }
|
5 |
|
6 | _WDWORD(0xFFFFFD44, 0x00008000); // WDT_WDMR: Disable Watchdog
|
7 |
|
8 | // Switching from Slow Clock to Main Oscillator for faster Download
|
9 | _WDWORD(0xFFFFFC20, 0x00000601); // PMC_MOR: Enable Main Oscillator
|
10 | _sleep_(10); // Wait for stable Main Oscillator
|
11 | _WDWORD(0xFFFFFC30, 0x00000001); // PMC_MCKR: Switch to Main Oscillator
|
12 |
|
13 | LOAD SRAM\AT91SAM7XC256_Template.axf INCREMENTAL // Download
|
14 |
|
15 | Setup(); // Setup for Running
|
16 |
|
17 | // g, main
|
Vielen Dank