Ich brauche für ein Projekt ein Kontroller der ordentlich schnell ist
und mehr als 40 I/O Pins hat, min. 2 UARTs, mehrere SPI, min.eine I2C-
Schnittstelle. USB-Kontroller währe natürlich auch noch praktich und
wenn möglich sollte direkt eine Grafikeinheit vorhanden sein.
Bisher habe ich immer nur AVRs programmiert, meine Fragen deshalb:
1) Giebt es eigentlich einen ARM den man über die SPI-Schnittstelle
programmieren kann, oder muss ich mir einen JTAG-Programmer kaufen?
2) Wird ein ARM ähnlich wie ein AVR programmiert, ich meine von
den Ports her und so?
3)Ist es kompliziert die interne Grafikeinheit zu verwenden?
Danke,
Leonard
Wie in Deinem anderen Fred schon gepostet, versuchs mit nem Raspberry
Pi.
Der hat zwar keine 40 IOs aber das kannste sicher noch erweitern.
Der hat auch SPI und I2C, seriell und einiges mehr.
Bootet u.A. Debian (Raspbian) von SD Karte, hat 4 USB Ports und ne
Netzwerkschnittstelle.
Nachtrag:
Programmiert wird der über Linux und dort halt mit allem, was unter
Debian für ARM geht. Python wird gerne benutzt aber auch C und Co.
sollten kein Problem sein.
Vergleichen kannste das nicht mit AVR, das sind 2 verschiedene Welten.
Ach ja, ne Grafikeinheit hat der auch, die kann sogar Full HD ruckfrei
wiedergeben. Brauchst halt nur ne Lizenz dafür. Die kostet aber fast nix
und kann beim Hersteller bestellt werden.
Und wie kann ich den Raspbery bitte programmieren? Hat der eine JTAG
schnitstelle? Kann man den in C programmieren?
Ich dachte eher an eine Eigenentwicklung und nicht an ein Fertigmodel.
LH
X. H. schrieb:> Und wie kann ich den Raspbery bitte programmieren?
Na ja, bei der Frage lautet die Antwort: Gar nicht. Das gilt dann aber
erst recht für Bare-Bone-ARM-Boards.
X. H. schrieb:> Ich dachte eher an eine Eigenentwicklung und nicht an ein Fertigmodel.
Was genau verstehst du unter Eigenentwicklung?
Oliver
AVR und ARM zu programmieren sind schon zwei Paar Schuhe.
Schau Dir mal die Beispiele für einen STM32F4 hier im Forum an, dann
bekommst Du ein Geführ für die Materie.
Raspberry & Co. sind Linux Boards, das hat mir Mikrocontroller dann
nichts mehr zu tun. Aber auch hier gibt es Foren, die Hilfestellung
geben.
Zu Frage 1) hilft es, die Datenblätter der jeweiligen Chips zu lesen.
Zu Frage 2): nein
Die Raspberry GPIOs kann man per php programmieren.
Pete K. schrieb:> Die Raspberry GPIOs kann man per php programmieren.
Kann man auch ganz ohne Linux mit BASCOM-ähnlichem BASIC programmieren:
https://www.riscosopen.org/content/sales/risc-os-picoPete K. schrieb:> AVR und ARM zu programmieren sind schon zwei Paar Schuhe.>> Schau Dir mal die Beispiele für einen STM32F4 hier im Forum an, dann> bekommst Du ein Geführ für die Materie.
Ein kleiner ARM wird nicht anders programmiert als ein AVR (ist sogar
einfacher: linearer Adressraum, logisch aufgebauter Assembler):
https://learn.adafruit.com/getting-started-with-the-lpc810/introduction
Was den STM32 schwierig macht ist nicht der ARM-Kern sondern die
aufgeblasene Peripherie, die eine Programmierung ohne die
gewöhnungsbedürftigen Libraries schwierig macht.
leonard schrieb:> 1) Giebt es eigentlich einen ARM den man über die SPI-Schnittstelle> programmieren kann, oder muss ich mir einen JTAG-Programmer kaufen?
Kaufe einen Segger JLink. Der funktioniert am Besten. ARMs verwenden
JTAG und ab Cortex zusätzlich SWD (quasi 2-Draht-JTAG). Bei kleinen ARMs
ist nur SWD herausgeführt.
> 2) Wird ein ARM ähnlich wie ein AVR programmiert, ich meine von> den Ports her und so?
Prinzipiell ja. Wobei Du wissen musst: Bei den ganzen Controllern ist
der Prozessorkern das einzig gemeinsame. Peripherie wie I2C, SPI, UARTs,
Timmer sind von Hersteller zu Hersteller verschieden.
> 3)Ist es kompliziert die interne Grafikeinheit zu verwenden?
Kommt drauf an, was Du unter kompliziert verstehst. Das größere Problem
wird sein, einen entsprechenden Chip zu finden, der sich mit
Haushaltsmitteln löten lässt. Das meiste in dieser Größenordnung ist
BGA, und das wirst Du nicht verarbeiten können. Außerdem kommen dann
Leiterplatten mit 4,6 oder mehr Lagen auf Dich zu.
fchk
> 3)Ist es kompliziert die interne Grafikeinheit zu verwenden?>Kommt drauf an, was Du unter kompliziert verstehst. Das größere Problem>wird sein, einen entsprechenden Chip zu finden, der sich mit>Haushaltsmitteln löten lässt. Das meiste in dieser Größenordnung ist>BGA, und das wirst Du nicht verarbeiten können. Außerdem kommen dann>Leiterplatten mit 4,6 oder mehr Lagen auf Dich zu.
Das ist das kleinste Problem, die Platine lasse ich fertigen, und das
löten bekomme ich schon hin.