Hallo Leute,
ich möchte mich mit einem Zynq beschäftigen, habe bisher aber noch
keinen ARM programmiert.
Könntet Ihr mir Litteratur zum ARM A9 empfehlen? Ich möchte explizit
kein Linux verwenden, weil ich die Hardware näher kennenlernen möchte.
Ich habe ein wenig Erfahrung mit FPGAs, viel mit Almel atmega, xmega
Mikrochips PIC32 und MSP430 von TI.
Gruß, ARMed
Du möchtest keinen Cortex A9 ohne Betriebssystem benutzen. Besonders
nicht, wenn du damit noch nicht gearbeitet hast.
Für den Einstieg in ARM reicht Cortex M0 bis M4 vollkommen aus.
Wenn du Literatur haben möchtest wirst du hier fündig
http://www.arm.com/products/processors/cortex-a/cortex-a9.php
ARMed schrieb:> Könntet Ihr mir Litteratur zum ARM A9 empfehlen? Ich möchte explizit> kein Linux verwenden, weil ich die Hardware näher kennenlernen möchte.
Blöd daran ist: Es gibt keinen A9 Chip für nackte Mikrocontroller. Es
gibt bloss SoCs von Samsung, NVidia, Ericsson usw. mit A9 Cores und
diversem anderen Kram drauf. Leider sind diese Hersteller sehr
zurückhaltend, was vollständige öffentliche Doku angeht. Die gehen davon
aus, dass nur wenige Kunden barebone mit solchen Chips arbeiten und die
dann direkt mit dem Hersteller konferieren, und das evtl. nur mit NDA.
Kannst mal anfangen, bei ARM die Doku zum A9-Core zu suchen, denn die
brauchst du in jedem Fall. Und da fängt der Spass schon an. Zu den ARM7,
ARM9, Cortex M wird man fündig. Bei den Cortex A wirds schwieriger,
wirst du vmtl. ARM direkt ansprechen müssen.
Der Zynq hat doch 2 Cores auf dem einen kannst du Linux laufen lassen,
dann hast du schon mal Netzwerk, Uart, High Speed USB usw. Die
Configuration des FPGA von SD Karte ist damit auch erledigt. Mir dem 2.
Kern kannst du doch genug spielen, wo ist da ein Problem ?
Vielen Dank für die schnellen Antworten!
Stefan schrieb:> Für den Einstieg in ARM reicht Cortex M0 bis M4 vollkommen aus.
Das passt nicht, weil ich einen Zynq verwenden möchte. Danke für den
Link!
Matthias schrieb:> http://www.xilinx.com/training/zynq/zynq-bare-meta...
Thx!
A. K. schrieb:> Blöd daran ist: Es gibt keinen A9 Chip für nackte Mikrocontroller. Es> gibt bloss SoCs von Samsung
Deswegen verwende ich einen Zynq
Hans-Georg Lehnard schrieb:> Der Zynq hat doch 2 Cores auf dem einen kannst du Linux laufen lassen,> dann hast du schon mal Netzwerk, Uart, High Speed USB usw. Die> Configuration des FPGA von SD Karte ist damit auch erledigt. Mir dem 2.> Kern kannst du doch genug spielen, wo ist da ein Problem ?
Ich möchte gerne Ethernet selbst aufsetzen und auch den FPGA
konfigurieren (da gibt es sicher Librarys von Xilinx für). Es ist nicht
die Prduktivität, sondern eher der Spass, den ich mit diesem Projekt
verfolge.
Neben den Manuals und Datenblättern habe ich eigentlich auf ein Buch
gehofft. So etwas wie ein allgemeiner Einstig in ARMs wie es das z.B.
für PIC32 gibt. Hab leider nur ein Buch gefunden, das sich viel zu sehr
auf Assembler spezialisiert.
Gruß, ARMed
Zynq ohne Linux, das willst du erstmal nicht ;)
Wenne dich dann richtig reingefuchst hast kannste dann Linux einen Kern
klauen für Bare metal Programmierung.
ARMed schrieb:> Ich möchte gerne Ethernet selbst aufsetzen und auch den FPGA> konfigurieren (da gibt es sicher Librarys von Xilinx für).
Was willsten damit jetzt sagen?
Libs für Xilinx? Da gibts ISE und den XPS.
Allerdings bringt dir die Webpackversion bei dem Zynq nix mehr, weil der
von dieser Edition nicht unterstützt wird.
Ist dir denn sonst schon einiges bekannt wie das alles aufgebaut ist?
Willste nen nackten Zynq verbauen (BGA) odern devboard nutze?
-> http://www.zedboard.org/
(Tip: schmeiss den HDMI Contrller aus dem Systemdesign sonst dauert die
synthese eeewig)
Habe damit in der UNi rumspielen dürfen, nach nem halben Semester war
dann genug durchblick da um mit dem Teil und den Tools (XPS) was auf die
Beine zu stellen.
Martin Wende schrieb:>Wenne dich dann richtig reingefuchst hast kannste dann Linux einen Kern>klauen für Bare metal Programmierung.
Linux läuft da normalerweise nur auf einem Kern.
> Allerdings bringt dir die Webpackversion bei dem Zynq nix mehr, weil der> von dieser Edition nicht unterstützt wird.
Die kleineren Zynq bis zum XC7Z020 werden vom Webpack unterstützt.
Wahrscheinlich erzählt uns ARMed noch, das er das Board selber bauen
will und alles in Assembler programmieren möchte ;)
Hans-Georg Lehnard schrieb:> Wahrscheinlich erzählt uns ARMed noch, das er das Board selber bauen> will und alles in Assembler programmieren möchte ;)
Erstmal nicht =)
Martin Wende schrieb:> -> http://www.zedboard.org/
Jop, genau den hab ich.
Böser Kommunist schrieb:> Sollte es unbedingt Xilinx sein?
Erstal ja. Hab mit Xilinx schon ein wenig Erfahrung und eben auch das
besagte Board.
Martin Wende schrieb:> (Tip: schmeiss den HDMI Contrller aus dem Systemdesign sonst dauert die> synthese eeewig)
Danke, werde ich machen.
Martin Wende schrieb:> Habe damit in der UNi rumspielen dürfen, nach nem halben Semester war> dann genug durchblick da um mit dem Teil und den Tools (XPS) was auf die> Beine zu stellen.
Hast du dazu ein Praktikum oder eine Vorlesung besucht? Vielleicht hast
du ja die Folien oder ein Skript noch.
Ich habe mich erstmal in die Doku angefangen einzulesen. Ist sehr viel,
aber langsam bekomme ich wenigstens einen Überblick über das System.
Werde bald die ersten Gehversuche mit den Tools anstellen.
Eine spannende Zeit!
Ich danke allen für die Posts!
Gruß, ARMed
Also mit Folien kann ich dir nicht dienen, da es weder eine Vorlesung
gab noch war es ein Praktikum.
Es war nämlich nen Projekt, da gabs das Board und "macht mal!".
Die Doku auf der Digilent Webseite zu dem Zedboard mit dem LED Blinke
führt einen eigentlich durch alles wichtige des Workflows.
(Embedded_Linux_Handson_Tutorial_ZedBoard.pdf)
Wenn du das Board gekauft hast besitzt du auch gleichzeitig eine ISE/XPS
Lizens für den entsprechenden ZYNQ.
Nachdem die LEDs blinken kann man dann anfangen weitere sachen zu
schreiben wie I2C und I2S für den Audio IC auf dem Board und nen SPI
Modul für nen ENC28J60 für selfmade LAN.
Die Sp***en vom zedboard haben auf dem Board nen PHY IC verbaut wo man
nicht ans DB kommt und wir sollten nen eigenes LAN interface zum laufen
bekommen....
Achja und der Audio IC Hat Adresslücken im I2C Adressbereich..........
Linux Kernelmodule schreiben is auch recht einfach, nur ersmal etwas
einlesen und probieren.
Beim LED Tutorial gibts ja nen vorgefertigtes Tutorial.
Tipp: die Interrupts im Devicetree müssen um 32 verschoben sein zu den
Interrupts der eigentlichen Hardware...