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
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
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
@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
@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.
@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
@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
>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
"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!
>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
@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ß.
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
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
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
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:
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
Bin schon etwas weiter gekommen, nun aber habe ich mein makefile
abgeändert und will eine statische library hinzulinken. Leider kommen
nur Fehlermeldungen:
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
>(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
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
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
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
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
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:
1
AT91F_TC0_CfgPMC();
2
AT91F_TC0_CfgPIO();
3
*(AT91C_TC0_CCR)=AT91C_TC_CLKDIS;/* disable the clock */
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:
1
# Enter FIQ Mode and set its Stack Pointer
2
MSR CPSR_c, #FIQ_MODE|I_Bit|F_Bit
3
MOV SP, R0
4
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