www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik CMX-RTX evaluation Version auf einem AT91SAM7S256


Autor: Sebi (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo zusammen

Ich bin ganz neu im Bereich der Mikrocontroller programmierung. Zum 
starten habe ich das Evaluation Board (AT91SAM7S-EK) mit einem 
AT91SAM7S256 drauf. Ich habe nun ein bisschen rumgespielt mit dem 
Evaluation Board (Getting started project kompilliert und geladen, zum 
ausprobieren etwas erweitert mit Interrupts, DMA etc...) Nun möchte ich 
die Evaluation version CMX-RTX verwenden, nur habe ich bis jetzt nicht 
herausgefunden wie das gehen sollte. Ich verwende die Ygarto toolchain 
(verwendet Eclipse). Ich habe die demoversion des CMX OS als ein IAR 
Projekt vorliegen für einen andern Mikrocontroller. Kann ich das nun 
einfach in Eclipse portieren und ev. die includes so abändern dass es 
für meinen Typ funktioniert? Habe auch ein Eclipse plugin von IAR 
bekommen das ihre Projekte in Eclipse einbindet, nur gibt es keine Doku 
dazu. Ich habe ebenfalls die IAR IDE Evaluation Version runtergeladen um 
das vorhandene IAR Projekt anschauen zu können. Nur finde ich mich dort 
nicht wirklich zurecht. Ich habe in den options meinen Mikrocontroller 
Typ ausgewählt und das Projekt mal kompilieren lassen und IAR sagt 
einfach Done, meldet also keine Errors etc... aber ich finde irgendwie 
kein Binary...

Ist vielleicht etwas wirr mein Beitrag, hoffe ihr könnt damit etwas 
anfangen...

Gruss
Sebi

Autor: gerhard (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
hallo,
für welches target ist denn deine cmx eval version den vorgesehen?
wenn die nicht für den arm7 ist dann wist du nichts damit anfange 
konnen, da der scheduler und das startup target spezifisch ist.

gruss
gerhard

Autor: Til Stork (Firma: Segger) (til)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

"Ich habe die demoversion des CMX OS als ein IAR
Projekt vorliegen für einen andern Mikrocontroller."

wie Gerhardt schon richtig geschrieben hat, wenn es nicht für den ARM7 
ist, wird es schwer. Was dir vielleicht helfen könnte wäre eine Trial 
Version des Segger Betriebssystems embOS runterzuladen. Das gibts auf 
www.segger.com auch für Yagarto/Eclipse. Auch wenn dich dann embOS nicht 
interessiert, hast du schon mal fertige Projekt und Linker Files und 
kannst damit anfangen rumzuspielen.

"Ich habe in den options meinen Mikrocontroller
Typ ausgewählt und das Projekt mal kompilieren lassen und IAR sagt
einfach Done, meldet also keine Errors etc... aber ich finde irgendwie
kein Binary..."

Wenn du ein IAR Projekt für deine CPU/Board hast, sollte es eigentlich 
nicht nötig sein, Änderungen in den Projekt Einstellungen vorzunehmen. 
Und wenn der Linker nicht meckert, muss auch ein File hinten rausfallen. 
Von welchem Typ das dann ist, kannst du in den Linker Options 
einstellen.

Gruß,
Til

Autor: gerhard (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@til
prinzipiell finde ich deinen und auch robert's eifer ganz nett und 
manchmal auch hilfreich, aber manchmal (wie auch diesem thread) einfach 
nur lästig.

gruss
gerhard

Autor: Til Stork (Firma: Segger) (til)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@gerhard
Ich kann dich ja schon verstehen, aber es ging mir jetzt nicht darum ihm 
was zu verkaufen sondern anzubieten eine Trial Version von uns für seine 
Zwecke zu missbrauchen, was spricht denn dagegen, wenn er kostenlos 
passende Projekt-, Linker Files usw. bekommmt?? Damit kann er ja seinen 
CMX Kram hinzufügen und dann das machen, was er eigentlich machen 
wollte. Darf ich jetzt nur weil ich für ne Firma arbeite nicht mehr hier 
versuchen zu helfen?
Ich finde aber auch wir sollten sowas nicht an dieser Stelle 
ausdiskutieren, damit ist ihm nicht geholfen. Oder gehts dir hier nur 
ums Prinzip oder was?
Ich versteh nämlich nicht wieso das lästig, wenn ich jemanden, der mit 
IAR keine Erfahrung hat, versuche zu erklären, wo man da was in den 
Projekt Settings einstellt.

Autor: gerhard (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@til
gegen deine hilfe ist, an richtiger stele platziert ist, 
selbstverständlich nichts einzuwenden und ist im gegenteil herzliche 
willkommen. spzeille dann wen es um fargen und problem produkte deines 
unternehmens geht.

nur in diesem fall sind deine kommentare keine hilfe, oder glaubst du 
tatsächlich das man mit dem embos project und linker file ein gänzlich 
anderes rtos zum laufen bringt? so naiv bist du hoffentlich nicht 
wirklich oder?

aber wenn es dich beruhigt verkneife ich mir meine kommentare zu eurem 
"product placement" in diesem forum auch gerne.

gruss
gerhard

Autor: Til Stork (Firma: Segger) (til)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Gerhard
"gegen deine hilfe ist, an richtiger stele platziert ist,
selbstverständlich nichts einzuwenden und ist im gegenteil herzliche
willkommen. spzeille dann wen es um fargen und problem produkte deines
unternehmens geht."
Gut, in dem Punkt sind wir uns einig. Es ist doch klar, das ich Produkte 
meiner Firma als Beispiele angebe, nicht wegen Product Placement, 
sondern weil ich den ganzen Tag damit arbeite und mich natürlich damit 
auskenne.

"nur in diesem fall sind deine kommentare keine hilfe, oder glaubst du
tatsächlich das man mit dem embos project und linker file ein gänzlich
anderes rtos zum laufen bringt? so naiv bist du hoffentlich nicht
wirklich oder?"
Ich weiß nicht wieso du mit naiv anfängst, was ich schon beleidigend 
finde, du unterhälst doch sonst nicht etwa auf diesem Niveau, oder?
Wenn du technisch mit mir darüber diskutieren willst, ob der Vorschlag 
gut war oder nicht, hab ich nichts dagegen.
Was spricht den dagegen, das embOS Projekt für den SAM7 zu nehmen, die 
embOS Sachen rauszuschmeissen und CMX Kram hinzuzupacken? Ich kenn jetzt 
CMX nicht so gut, und weiß nicht, was er da bekommen hat, aber 
prinzipiell sehe ich da kein Problem. Wo siehst du das Problem im Linker 
File?
Selbst im Startupfile hab ich jetzt auf die Schnelle nichts OS
spezifisches gesehen.



Die Frage ist, ob es Sebi darum ging, unbedingt CMX ans laufen zu 
bekommen, oder überhaupt ein OS. Wenn letzteres der Fall ist, spricht 
doch auch nichts dagegen embOS für Yagarto/Arm zu benutzen.

Wenn du eins kennst, womit Sebi schneller klar kommt, dann poste es doch 
bitte hier. Ansonsten finde das eher unkonstruktiv.

"aber wenn es dich beruhigt verkneife ich mir meine kommentare zu eurem
"product placement" in diesem forum auch gerne."
Es würde mich nicht beruhigen, sondern die Sache hier konstruktiver 
machen, ich kann mir nämlich gerade den Sebi vorstellen, wie der das 
hier liest und sich denkt, sind die beiden bescheuert ;-). Ich werde 
aber gerne versuchen das meine Beiträge nicht wie Werbung klingen (wieso 
auch, bekomm ja kein Geld dafür).

Gruß,
Til

Autor: gerhard (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>Ich weiß nicht wieso du mit naiv anfängst, was ich schon beleidigend
>finde, du unterhälst doch sonst nicht etwa auf diesem Niveau, oder?
wußte nicht das jemand das adjektiv "naiv" als beleidigend empfindet, 
nehme ich hiermit zurück.


>Wenn du technisch mit mir darüber diskutieren willst, ob der Vorschlag
>gut war oder nicht, hab ich nichts dagegen.
>Was spricht den dagegen, das embOS Projekt für den SAM7 zu nehmen, die
>embOS Sachen rauszuschmeissen und CMX Kram hinzuzupacken? Ich kenn jetzt
>CMX nicht so gut, und weiß nicht, was er da bekommen hat, aber
>prinzipiell sehe ich da kein Problem. Wo siehst du das Problem im Linker
>File?
ganz ehrlich gesagt fehlt mir die zeit und die lust dir das jetzt zu 
erklären. probier es einfach mal und gib uns dann bescheid.


>Wenn du eins kennst, womit Sebi schneller klar kommt, dann poste es doch
>bitte hier. Ansonsten finde das eher unkonstruktiv.
www.freertos.org

gruss
gerhard

Autor: Til Stork (Firma: Segger) (til)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
"wußte nicht das jemand das adjektiv "naiv" als beleidigend empfindet,
nehme ich hiermit zurück."
Schon ok, mir gehts doch nur darum, das wir hier was konstruktives 
schreiben, was Sebi weiterhilft und nicht gegenseitig ärgern.

"ganz ehrlich gesagt fehlt mir die zeit und die lust dir das jetzt zu
erklären. probier es einfach mal und gib uns dann bescheid."
Es geht nicht darum, das ich hier irgendwas beweise, von dem du 
behauptet hast, das es nicht funktioniert. Schade, das du erst 
Vorschläge schlecht machst und dann keine Lust mehr hast, diese 
technisch zu diskutieren (was doch eigentlich der Sinn dieses Forums 
sein sollte).

"www.freertos.org"
Ich glaube zwar nicht, das Sebi damit schneller zurecht kommt, lasse 
mich aber gerne eines besseren belehren. Muss ehrlich gestehen, das ich 
den Kram mir noch nicht im Detail angesehen habe.

Und damit sollten wir diese Diskussion zwischen uns auch bitte beenden, 
ich denke, da haben wir beide keine Lust und Zeit für.
Wenns natürlich eine fachliche Diskussion ist, habe ich damit kein 
Problem!

Autor: gerhard (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>Es geht nicht darum, das ich hier irgendwas beweise, von dem du
>behauptet hast, das es nicht funktioniert. Schade, das du erst
>Vorschläge schlecht machst und dann keine Lust mehr hast, diese
>technisch zu diskutieren (was doch eigentlich der Sinn dieses Forums
>sein sollte).
besprich das thema doch bitte mal mit einem rtos experten bei euch, 
vielleicht klärt er dich darüber auf woraus ein rtos besteht und wie das 
so funktioniert einen in assembler programmierten scheduler samt der 
zugehörigen api mal ganz schnell zu portieren.

noch eine frage: warum bezeichnest du alles, was nicht aus eurem haus 
kommt und das du überhaupt nicht kennst als "kram"?


gruss
gerhard

Autor: Til Stork (Firma: Segger) (til)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@gerhard

"besprich das thema doch bitte mal mit einem rtos experten bei euch,
vielleicht klärt er dich darüber auf woraus ein rtos besteht und wie das
so funktioniert einen in assembler programmierten scheduler samt der
zugehörigen api mal ganz schnell zu portieren."
Danke, aber ich glaube das ist nicht weiter nötig, ich habe schon genug 
Portierungen hinter mir. Es ist dir aber leider entgangen, das es nicht 
darum ging irgendetwas zu portieren, sondern nur um den Vorschlag 
vorhanden Projektfiles usw. zu benutzen...aber egal, es hat anscheinend 
auch keine Sinn mit dir technisch zu diskutuieren. Macht einfach keine 
Spaß, wenn der Gegenüber nur mit blöden Sprüchen kommt, anstatt sachlich 
technische Argumente zu bringen.

"noch eine frage: warum bezeichnest du alles, was nicht aus eurem haus
kommt und das du überhaupt nicht kennst als "kram"?"
Wenn ich irgendwas, was nicht aus unserem Hause kommt als "Kram" 
bezeichnet habe, dann einfach nur weil es in dem Moment meine lockere 
Umgangssprache war und nicht, um andere Sachen schlecht zu machen. Das 
hast du leider missverstanden, macht aber auch nichts, dir geht es ja 
anscheinend eher darum rumzustänkern als konstruktiv zu sein. Ich habe 
versucht höflich, respektvoll und verständnisvoll dir gegenüber zu sein, 
ich habe versucht mit Humor zu reagieren, aber langsam wird das echt 
doof.
Deswegen lass es doch einfach mal gut sein, du musst ja weder mich noch 
meine technische Meinung respektieren, aber hab doch wenigstens eine 
wenig Achtung vor Sebi, der hier seine Frage beantwortet haben wollte 
und nicht unsere kleinlichen Streitigkeiten lesen möchte.

Gruß,
Til

@sebi
sorry, für den ganzen offtopic kram, hab nicht damit gerechnet, das man 
so angegriffen wird, wenn man versucht zu helfen

@all
Das ist hier ein Forum für nicht kommerzielle Hobby Anwender. Wenn ich 
irgendwo überlesen habe, das Profis hier nicht posten dürfen, dann bitte 
ich mir das mitzuteilen, dann melden ich mich gerne wieder ab, denn so 
mach t das keinen Spaß.

Autor: Sebi (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Erst mal vielen Dank euch Beiden für die angeregte Diskussion ;) ...Ich 
bin euch dankbar für die Hilfe und ihr dürft auch gerne weiter posten! 
Und ich muss sagen, ich kann euch irgendwie beide verstehen...

Zu meinem Problem, es muss halt wirklich das CMX-RTX sein, wir verwenden 
es für ein Projekt. Ich bin halt frisch von der Uni und habe gerade 
meinen ersten Job und jetzt muss ich halt erst einmal in die ganze 
Materie reinkommen. Unterdessen habe ich mit CMX gesprochen und sie 
geben mir eine evaluation Verison für den SAM7S. Daher hat sich das 
ganze vorerst erledigt und ich warte bis ich die Software kriege, und 
keine Angst dann kommen sicher weitere Fragen :)...


Gruss
Sebi

Autor: gerhard (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@sebi:
bei fragen betr. cmx stehe ich gerne zur verfügung (verwende cmx schon 
seit ca. 10 jahren mit div. targets).

gruss
gerhard

Autor: Sebi (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo

Ich kann inzwischen CMX kompilieren, nur mit dem laden des Codes auf das 
Demoboard hapert es noch ein wenig. Manchmal stürzt sogar der PC mit 
einem Bluescreen ab. Um den code zu laden benütze ich SAM-BA von Atmel. 
Hat jemand erfahrung mit CMX auf diesem Mikrocontroller? Ich frage mich 
ob es am Linkerfile liegen könnte oder ob ich es an den falschen Ort im 
Speicher hinkopiere....

Gruss und schöne Ostern
Sebi

Autor: gerhard (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
hallo sebi,
ein paar generelle tips:
-) vergiß sam-ba!
das tool ist ein "zustand", die aktivierung ist eine zumutung und das 
pc-tool ist ein einziger bug
-) für vernünftiges arbeiten ist ein jtag-ice sinnvoll, besser einen 
langsamen parallel-wiggler als sam-ba.
von der iar workbench wird in v4.xx leider nur j-link (=sam-ice) od. der 
parallele wiggler unterstützt, ab v5.xx auch der arm-usb-ocd (von 
olimex).

nun zu deinem eigentlichen problem:

verwendest du ein original cmx beispiel? wenn ja dann kannst du davon 
ausgehen das das beispiel auch funktioniert.

der blue-screen stammt vermutlich von sam-ba, das tool am besten 
deinstallieren und vergessen!

wenn du mal dein linker-listing postest (oder besser noch das ganze 
beispiel) kann dir vielleicht besser geholfen werden.

gruss
gerhard

Autor: Sebi (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo gerhard

Also du würdest nicht sam-ba verwenden um den code zu laden? Ich habe 
einen SAM-ICE, würdest du prinzipiell den Code damit aufs Device laden? 
Verstehe aber nicht ganz wie das geht. Ich habe es mit J-Flash ARM aus 
dem Segger toolset versucht aber nicht rausgefunden wie es gehen soll.

Ja ich verwende ein original CMX beispiel, das einzige was ich verändert 
habe ist die zusätzliche initialisierung der Debug Uart damit ich auch 
was 'sehe'...

So sieht mein linker file aus:
OUTPUT_FORMAT("elf32-littlearm", "elf32-bigarm", "elf32-littlearm")
OUTPUT_ARCH(arm)
ENTRY(_start)

/* INPUT(&& &&Assembler Files&)   */
/* INPUT(&& &&Source Files&)      */

__TEXT_START__ = 0x100000;
__DATA_START__ = 0x200000;
__STACK_END__  = 0x204000;

                      
SECTIONS
{
  /* Read-only sections, merged into text segment */
   
  .text __TEXT_START__ :
  {
    *intvec.o(.text)
    *(.text)    
    *(.text.*)
  }
  
  PROVIDE (__etext = .);
  
  .rodata   : 
  { 
    *(.rodata) 
    *(.rodata.*) 
  }
  
  /* append .data; it will be copied by crt0 to final __DATA_START__ */        
  . = ALIGN(4);  
  __INIT_DATA_START__ = .;  
  .data __DATA_START__ : AT ( __INIT_DATA_START__ )
  {
    *(.data)
    *(.data.*)
    SORT(CONSTRUCTORS)
  }
  . = ALIGN(4);  
  __DATA_END__ = .;  
  
  /* noninitialized data; will be zeroed by crt0*/
  __bss_start__ = .;
  .bss       :
  {
   *(.bss)
   *(.bss.*)
   *(COMMON)
   . = ALIGN(4);
  }
  . = ALIGN(4);
  __bss_end__ = . ;
  PROVIDE (end = .);
}


Gruss
Sebi

Autor: gerhard (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
hallo sebi,
sam-ice ist sicher eine gute wahl, am besten in verbindung mit der iar 
workbench.
zu deiner linker-datei:
sieht mir nach gcc aus und damit habe ich leider keine erfahrung (daher 
auch die empfehlung für iar).

hast du von cmx nicht ein komplettes iar projekt als beispiel erhalten? 
das sollte ohne probleme mit der iar workbench zu verarbeiten sein.



gruss
gerhard

Autor: Sebi (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Bin schon etwas weiter gekommen, nun aber habe ich mein makefile 
abgeändert und will eine statische library hinzulinken. Leider kommen 
nur Fehlermeldungen:
make cmx_lib 
arm-elf-gcc -nostartfiles -Xlinker -Map=cmxsamp.map -Xlinker --script=./at91sam7s64.ind -l cmxarm_le.a -n -o getting_started.elf cmx_init.o cmx_isrs.o cmxsamp.o crt0.o cstartup_sam7.o cxskv5.o handlers.o intvec.o
c:/programme/yagarto/bin/../lib/gcc/arm-elf/4.2.2/../../../../arm-elf/bin/ld.exe: cannot find -lcmxarm_le.a
collect2: ld returned 1 exit status
make: *** [cmx_lib] Fehler 1

Meine library heist cmxarm_le.a (früher cmxarm_le.lib). Weiss jemand wie 
ich sie korrekt linke? Kriege es weder mit -l noch mit -L gebacken....

Gruss
Sebi

Autor: Gerhard (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>(früher cmxarm_le.lib)
hast du die datei einfach nur umbenannt?
bist du dir sicher das das cmx beispiel den gcc unterstützt?
cmxarm_le.lib deutet eher auf iar workbench hin.

gruss
gerhard

Autor: Steffen (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
CMX unterstützt den GCC nicht. Das Bsp. was Du bekommen hast wird nur 
mit dem IAR laufen. ( besonders das "Cxskv5.s79" File )

Gruss
Steffen

Autor: Sebi (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo zusammen

Ja das file habe ich einfach umbenannt, ich habe bis jetzt halt immer 
mit linux gearbeitet und dort heissen die librarys immer .a oder .so je 
nach typ. Der gcc sollte unterstützt sein, habe von CMX extra eine 
Version für die  GNU C tools bekommen...

Gruss
Sebi

Autor: gerhard (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
hallo sebi,
was hast du den genau von cmx bekommen (liste der dateien wäre 
hilfreich)?

oder du kontaktierst cmx nochmal, die sind normalerweise sehr fix im 
antowrten auf anfragen.

gruss
gerhard

Autor: Sebi (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Alles klar, konnte die library reinkompillieren, aber vielen Dank. 
Leider läuft das Programm immer noch nicht. Am anfang startet alles 
schön, diverses Tasks werden registriert, aber der scheduler startet 
keinen dieser Tasks. Das Programm bleibt in einem endless loop stecken, 
vermutlich der idle task. Aber es ist ein original CMX beispiel das also 
funktionieren sollte... Ich weiss zur zeit nicht wie weiter....

Ich darf halt auch nicht beliebig code posten, da es ein 
Geheimhaltungsabkommen gibt...

Gruss
Sebi

Autor: gerhard (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
hallo sebi,
ein paar fragen/anregungen die vielleicht dein problem lösen können:
-) wird der Periodic Interval Timer (PIT) initialisiert und gestartet? 
der dient normalerweise als zeitbasis für cmx.
-) wird der PIT-interrupt ausgelöst?
-) hast du an dem cmx beispiel irgendetwas geändert?

falls das nichts hilft dann poste mal dein main() (das wird ja wohl 
nicht geheim sein).

gruss
gerhard

Autor: Sebi (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo gerhard

Es wird ein Timer initialisiert für den system tick, allerdings nicht 
den PIT sondern einer von den Intervaltimern. Aber das sollte ja auch 
gehen so...

Allerdings kommt der Interrupt wirklich nicht, aber ich sehe kein Fehler 
in der Initialisierung....

Habe am CMX beispiel nichts geändert, nur habe ich zusätzlich die Debug 
Uart initialisert, aber auch ohne diese zusätze funktioniert das Bsp 
nicht!

Hier die initialisierung der Timer:
   AT91F_TC0_CfgPMC();
   AT91F_TC0_CfgPIO();
   *(AT91C_TC0_CCR)  = AT91C_TC_CLKDIS;            /* disable the clock */
   *(AT91C_TC0_IDR)  = 0xFF;                       /* disable TC0 interrupts */
   dummy = *(AT91C_TC0_SR);                        /* clear any interrupts */
   /* MCK/8, capture mode, RC compare */
   *(AT91C_TC0_CMR)  = AT91C_TC_CLKS_TIMER_DIV2_CLOCK | AT91C_TC_CPCTRG;
   *(AT91C_TC0_RC)   = MCK/8/100;                  /* 10 ms */
   *(AT91C_TC0_IER)  = AT91C_TC_CPCS;              /* interrupt on RC compare */
   *(AT91C_TC0_CCR)  = AT91C_TC_CLKEN;             /* enable the clock */
   *(AT91C_AIC_IDCR) = (1 << AT91C_ID_TC0);        /* disable TC0 interrupt */
   pAic = AT91C_BASE_AIC;
   pAic->AIC_SVR[AT91C_ID_TC0] = (word32)cmx_irq;  /* vector to irq isr */
   pAic->AIC_SMR[AT91C_ID_TC0] = 0x3;              /* level sensitive, priority = 3 */
   
   *(AT91C_AIC_ICCR) = (1 << AT91C_ID_TC0);        /* clear TC0 interrupt */
   *(AT91C_AIC_IECR) = (1 << AT91C_ID_TC0);        /* enable TC0 interrupt */
   *(AT91C_TC0_CCR)  = AT91C_TC_SWTRG;             /* trigger the clock */

Gruss Sebi

Autor: gerhard (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
hallo sebi,
ich verwende in so einem fall immer den "wave form mode" des timers, 
also
*(AT91C_TC0_CMR)  = AT91C_TC_CLKS_TIMER_DIV2_CLOCK | AT91C_TC_CPCTRG | AT91C_TC_WAVE;


gruss
gerhard

Autor: Sebi (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo gerhard

Dein Zusatz hat leider nichts geändert am Ganzen. Ich habe mich mal ein 
bisschen in den Assembler files umgesehen und dort folgendes entdeckt:
# Enter FIQ Mode and set its Stack Pointer
   MSR   CPSR_c, #FIQ_MODE|I_Bit|F_Bit
   MOV   SP, R0
   SUB   R0, R0, #FIQ_Stack_Size

Das ist die initialisierung des IRQ interrupt stack pointers. Was ich 
nicht verstehe, wird hier nicht einmal die # als Kommentarzeichen 
verwendet und einmal um etwas ins Register zu laden. Eclipse zeigt mir 
jedenfalls beides grünlich an, was auf Kommentar hindeuted oder wird das 
einfach falsch angezeigt?


Gruss
Sebi

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.