Kleinster und einfachster Linux Prozessor

Gast #4845522
Lesenswert?

Hallo Leute,

ich wollte euch mal fragen, welchen SoC man heute nimmt, der vom 
Hersteller aus direkt Linux-Support kann und möglichst einfach zu 
integrieren ist auf einer günstigen China-PCB.

Sprich kein BGA, keine Impedanzkontrolle, kein DDR3 o.ä.


Habe den i.MX233 gefunden der in diese Richtung geht.
Sonst wer noch Ideen?
#4845657
Lesenswert?

hp-freund schrieb:
> Gerd E. schrieb:
>> http://www.vocore.io/v2.html
>
> Sieht gut aus.
> Hat jemand herausgefunden von wo der Versand erfolgt?

Versand aus China.

Verwendet wurde zumindest bei mir Drop-shipping der Deutschen Post, 
Produktname "DHL eCommence". Die geben also ein großes Paket mit lauter 
einzelnen Umschlägen in China bei DHL ab, das geht dann hier zur 
Deutschen Post (nicht DHL Express), wird dort geöffnet und die einzelnen 
Umschläge hier mit der normalen Post zugestellt.

Dauert vielleicht ne Woche, also deutlich schneller als China Post 
Airmail. Zollbehandlung wie bei anderen kleinen LuPo-Umschlägen aus 
China auch: Steht 10US$ drauf, bekommt nen grünen Bepper, fertig.
Gast #4845713
Lesenswert?

Mathias schrieb:
> Was war denn aus dem Raspberry compute modul geworden? Das sollte
> doch
> auch einfach und billig sein...

Der Raspi3 soll bald als ComputeModul verfügbar sein. Angekündigt ist es 
zumindest.

Ansonsten ist das ComputeModul gleich auch viel Overhead wenn man einen 
200 Pin SO-Dimm auf die PCB bringen muss und dann ist immernoch das 
Problem dass man kein natives Ethernet hat.
#4845733
Lesenswert?

Maximator schrieb:
> https://wiki.openwrt.org/toh/unbranded/a5-v11
>
> Cool, läuft astrein!  für etwa 6-8 € DEINES ;-)

hat aber, wie auch ähnliche umgewidmete Router, das Problem, daß gängige 
Embedded-Schnittstellen wie UART, I2C, SPI, I2S, SDIO, ... nicht oder 
nur sehr begrenzt nach außen geführt werden.

Bei manchem kommt man mit Fädeldraht und feiner Lötspitze weiter, 
anderes geht gar nicht elegant umzusetzen.

Da finde ich ein genau für diesen Zweck entwickeltes Modul mit leicht 
zugänglichen und dokumentierten Pins deutlich besser und flexibler 
einzusetzen. Das ist mir dann die 8 EUR mehr wert.
Gast #4845742
Lesenswert?

Moin,

ich habe mit folgenden Core-Modulen gute Erfahrungen gemacht:

- Linkit Smart im DIP-Format mit Mediatek MIPS CPU, optional mit Atmel 
(Duo Variante) für Echtzeitkram.
- ACME Aria (das genügt auch industriellen Anforderungen)

Nur Ethernet und USB sollte man nicht ganz doof routen. Also eine kleine 
Impedanzrechnung und differentielles Pair-Routing schadet nicht.

Gruss,

- Strubi
Gast #4845841
Lesenswert?

Danke Leute erstmal für eure Tipps alle.

Nachdem ich die Links alle mal betrachtet habe, finde ich die mt7688 
Lösung am besten eigentlich.

Habe mir jetzt mal so ein LinkIt Smart bestellt und werde damit 
rumspielen.
Kriegt man bei Aliexpress auch teilweise extrem billig und sehr klein 
zum Auflöten auf eine andere Platine.

Hat von Haus aus eigentlich immer WLAN und Ethernet-Phys direkt 
integriert. Das finde ich super.

Wer tut sich denn dann noch Netzwerk-Krams mit Mikrocontroller an?
#4845856
Lesenswert?

Martin schrieb:
> Wer tut sich denn dann noch Netzwerk-Krams mit Mikrocontroller an?

Och, kommt drauf an. Manche Applikation ist auf einem klassischen uC 
einfacher und mit z.B. Wiznet-Chips sehr einfach und günstig am Ethernet 
realisierbar. Dazu braucht man bei solchen Minimalsystemen umso bessere 
Linux-Detailkenntnisse.

Aber interessant ist der Thread schon!
Gast #4845859
Lesenswert?

Wo sind da die Leute mit akademischem Interesse, und beliebig viel 
Elan...

Allenfalls koennte man fuer einen AVR einen x86 Binary interpreter 
schreiben, und den dann auf einem Arduino laufen lassen...
Gast #4846062
Lesenswert?

Harald A. schrieb:
> Martin schrieb:
>> Wer tut sich denn dann noch Netzwerk-Krams mit Mikrocontroller an?
>
> Och, kommt drauf an. Manche Applikation ist auf einem klassischen uC
> einfacher und mit z.B. Wiznet-Chips sehr einfach und günstig am Ethernet
> realisierbar. Dazu braucht man bei solchen Minimalsystemen umso bessere
> Linux-Detailkenntnisse.
>
> Aber interessant ist der Thread schon!

Naja was braucht man da für Kenntnisse?

Du musst mal sehen, dieses Board gibt es für keine Ahnung ca 13 Euro als 
SoM zum Auflöten.
http://www.ebay.de/itm/MT7688AN-HLK-7688A-Chip-Supports-Linux-OpenWrt-Smart-Cloud-Services-Applications-/282291018668?hash=item41b9db1bac:g:8IQAAOSw4GVYUP1w


Da habe ich ein - gut es ist kein Arm - aber immerhin 580 MHz 32 Bit cpu 
mit 128 Mb Ram.
WLAN ist direkt auf dem Board - Antenne dran - fertig.
Ethernet Phy ist auch mit drauf.
Vor allem kann man dann auch Anwendungen mit richtig Datendurchsatz 
drauf laufen lassen im gegensatz zu einer Lösung die irgendwie per Uart 
andockt.

Ich boote das Teil und es läuft vieles schon Out-Of-The Box, kann 
Standard-Anwendungen drauf laufen lassen, USB Support geht richtig.

Bis ich da mit einem STM32 anfange (der mit einem Phy zusammen bestimmt 
nicht viel günstiger ist), das RTOS/lwip Stack richtig läuft, brauche 
ich bestimmt länger.

Ich habe sogar gelesen man kann den fbtft Treiber auf dem Board zum 
laufen bekommen und hat noch I2S für Audio I/O.
#4846072
Lesenswert?

Martin schrieb:
> Vor allem kann man dann auch Anwendungen mit richtig Datendurchsatz
> drauf laufen lassen im gegensatz zu einer Lösung die irgendwie per Uart
> andockt.

Sage ich ja, es kommt darauf an. Für so Sachen mit richtig 
Datendurchsatz sehe ich das genau so. Ich hätte Respekt vor der 
(optimalen!) Konfiguration eines solchen Minimal-Systems. Da kann man ja 
vermutlich einiges falsch machen.
Gast #4851550
Lesenswert?

Hallo,
ich bin es nochmal der Threadstarter.

Wollte mal Rückmeldung geben: habe mir ja eines der erwähnten Boards mit 
MT7688 geholt.
Dazu 128Mb RAM und 32 Mb spi-Flash wie man es überall bekommt.


Ich bin ehrlich gesagt restlos begeistert.
Habe ein bisschen mit rumgespielt und folgende Sachen mal gemacht:

USB Webcam mit mjpg-Streamer.. läuft einwandfrei.

Alsa Audio I/O Loopback... ging auch ohne Probleme.

Internetradio mit MP3 Stream und Audioausgabe war auch kein Problem.

Was etwas problematisch ist, ist die Größe von Flash.

Der ist in zwei Partitionen geteilt. Einmal zum booten wo der Kernel und 
uboot drauf liegt. Ist 19 Mb groß.

Der Rest also 13 Mb stehen für das rootfs zur Verfügung. Davon sind am 
Anfang ich glaube es waren 2 Mb belegt.
Also um paar Packages nachzuinstallieren und paar Binaries reicht es auf 
jeden Fall.

Wer mehr Speicher braucht kann aber eine sd Karte rein machen und das 
rootfs als overlay über das rootfs vom spi-Flash darüber legen.

Für 15€ ein echt klasse Teil und vor allem richtig klein.

I like
Gast #4852026
Lesenswert?

Hat jemand zu dem MT7688 Informationen wie die Boot-Up Sequenz genau 
abläuft?
Ich finde dazu nichts.

Soweit ich herausgefunden habe, ist in dem Mt7688 Chip von Haus aus ein 
U-Boot drinnen der den DDR initialisiert und den SPI-Flash.
Der lädt vom SPI Flash dann einen zweiten U-Boot, der dann wiederum 
anfängt auch Ethernet zu initialisieren und letztendlich dann den Kernel 
lädt.


Weiß jemand genaueres wie die Erstinbetriebnahme abläuft?
Der erste U-Boot hat keine Unterstützung für USB oder SD Karte sondern 
kann wirklich nur vom SPI-Flash booten.
Das heißt der SPI-Flash muss den zweiten U-Boot und den Kernel schon 
geflasht haben bevor er verlötet wird?

Oder kann man das via JTAG machen?
Das MT7688 Datenblatt gibt da nicht so wahnsinnig viel her.
#4852404
Lesenswert?

Martin schrieb:
> Hallo,
> ich bin es nochmal der Threadstarter.
>
> Wollte mal Rückmeldung geben: habe mir ja eines der erwähnten Boards mit
> MT7688 geholt.
> Dazu 128Mb RAM und 32 Mb spi-Flash wie man es überall bekommt.
>
>
> Ich bin ehrlich gesagt restlos begeistert.

Hallo Martin,

das klingt ja sehr gut. Hast Du ein Devboard bestellt wo noch ethernet 
Anschlüsse montiert sind? Könntest Du mal einen Link posten wo Du es 
bestellt hast?

Gruß Sven
Gast #4852482
Lesenswert?

Sven K. schrieb:
> Martin schrieb:
>> Hallo,
>> ich bin es nochmal der Threadstarter.
>>
>> Wollte mal Rückmeldung geben: habe mir ja eines der erwähnten Boards mit
>> MT7688 geholt.
>> Dazu 128Mb RAM und 32 Mb spi-Flash wie man es überall bekommt.
>>
>>
>> Ich bin ehrlich gesagt restlos begeistert.
>
> Hallo Martin,
>
> das klingt ja sehr gut. Hast Du ein Devboard bestellt wo noch ethernet
> Anschlüsse montiert sind? Könntest Du mal einen Link posten wo Du es
> bestellt hast?
>
> Gruß Sven

Das war das LinkIt Smart 7688... Ich habe es bei Exp-Tech bestellt.
Es gibt ein zweites Board, das man sich bestellen kann, wo man das Board 
aufstecken kann, da ist dann auch USB, Ethernet und Audio drauf.
#4852736
Lesenswert?

Markus schrieb:
> Soweit ich herausgefunden habe, ist in dem Mt7688 Chip von Haus aus ein
> U-Boot drinnen der den DDR initialisiert und den SPI-Flash.
> Der lädt vom SPI Flash dann einen zweiten U-Boot, der dann wiederum
> anfängt auch Ethernet zu initialisieren und letztendlich dann den Kernel
> lädt.

Bist Du Dir da sicher? Das wäre ziemlich ungewöhnlich. Denn zum 
Speichern des ersten Uboots müsste der Mt7688 Flash oder ROM enthalten.

Normalerweise lädt der Prozessor einen bestimmten Sektor oder Sektoren 
von einer festen Adresse des SPI-Flash und führt den Code darin dann 
aus. Dieser Code initialisiert die Grundlagen und startet dann den 
vollständigen Bootloader.

Wie das Laden der ersten Sektoren vom Flash genau gemacht wird, wird 
meist über Bootstrap-Signale festgelegt. Das sind meist bestimmte 
Widerstandswerte etc. die zum Bootzeitpunkt an bestimmten Pins geprüft 
werden. Da sollte sich was im Datenblatt zu finden lassen.

Dieser allererste Code hat meist eine beschränkte Größe und daher wird 
nicht das komplette U-Boot mit allen Features auf diese Weise geladen. 
Beim Mt7688 kann es sein daß die einfach eine abgespeckte Version von 
U-Boot als ersten Loader verwenden und der nur das vollwertige U-Boot 
lädt. Das ist aber jetzt nur Vermutung meinerseits.
Gast #4853133
Lesenswert?

Hi,

der mt7688 hat einen simplen bootstrap loader im ROM, der sich den 
primaeren boot-stream aus dem SPI-Flash zieht. Erst dann springt er in 
u-boot.
Ueber die bootstrap-pins kannst du nur auf JTAG umstellen, die Option 
von SD zu booten gibt es leider nicht. Also nicht die primaere 
boot-partition zerschiessen, oder du brauchst nen programmer, der teurer 
ist als das Modul...
Gast #4853215
Lesenswert?

Danke für die Informationen.

Wie kommt man denn da an Informationen mal ran wie man den Flash 
aufzuteilen hat und an die UBoot Images etc?

Kann der Flash durch den jTag über den mt7688 programmiert werden oder 
muss man den Flash direkt programmieren? Hat Mediatek da ne spezielle 
Programmer-Software wenn Programmieren über jTag geht?

Wie kommt man an die ICs dran?
Es gibt von HLK so ein Mini mt7688 Board aber da gibt es defacto auch 0 
Informationen.

Würde gerne ein eigenes Hardwareprojekt damit machen aber alles direkt 
auf die PCB.

Ist wahrscheinlich alles confidential?
Gast #4853418
Lesenswert?

Das billigste und fuer Produktion am effektivsten ist wohl ein 
Aufsteck-SPI-Adapter um das Flash direkt mit dem Bootloader zu 
programmieren.
Wenn unterstuetzt (weiss ich beim mt7688 nicht), kann man per Boundary 
Scan typischerweise Flashes, aber: teure Tools und langsam. Mit 
dedizierten Bootloadern ist es dann nur noch "teuer", und jemand muss 
das einen Flash-Bootloader schreiben. Ansonsten musst du ev mal mit dem 
OpenOCD schauen, ob du code in den Chip geladen kriegst (da MIPS, kann 
er EJTAG).

Nach meiner Erfahrung kriegt man von den Grossen nur Support (und NDA), 
wenn man mit den Millioenchen winkt (Stueckzahlen...). Oder du besorgst 
dir die Infos auf div Fernost Codesharing-Seiten.
Aber ich fuerchte fuer eigene Hardware wird es knifflig, den Chip zu 
kriegen. Ich waere da auch wegen der FCC-Zertifizierung fuer ein eigenes 
Produkt eher zoegerlich...
Persönliche Seite #4857063
Lesenswert?

jannyboy schrieb:
> Ein ATmega
> Glaubt Ihr nicht? Hier der Beweis:
>
> Youtube-Video "Linux on an 8-bit micro!"
> http://dmitry.gr/index.php?p=./04.Thoughts/07.%20L...

Glaub, das hatte weiter oben schon jemand gepostet ...

Von der Geschwindigkeit scheint es aber nicht unbedingt praktikabel zu 
sein :)

> uARM is certainly no speed demon. It takes about 2 hours to boot to
> bash prompt ("init=/bin/bash" kernel command line). Then 4 more hours
> to boot up the entire Ubuntu ("exec init" and then login). Starting X
> takes a lot longer. The effective emulated CPU speed is about 6.5KHz,
> which is on par with what you'd expect emulating a 32-bit CPU & MMU on
> a measly 8-bit micro.
Gast #4857185
Lesenswert?

Christopher B. schrieb:
> Martin schrieb:
>> Audioausgabe war auch kein Problem
>
> Darf ich fragen wie du Audio ausgegeben hast? Hast du da noch einen
> Codec an den I2S angeschlossen (welchen)?

Ich hätte es gerne über I2S probiert.
Leider war der normale LinkIt Smart 7688 ausverkauft.
Daher musste ich den Duo bestellen, der den I2S nicht rausgeführt hat.
Hatte eine USB-Soundkarte dran dann schlussendlich.

Wenn man sich aber die verfügbaren Alsa-Audiogeräte anzeigen lässt, ist 
dort auf jeden Fall irgendeine "I2S-Audiodevice" gelistet. müsste man 
mal mit dem Oszi messen, was passiert, wenn man auf das Audiodevice was 
ausgibt oder aufnimmt.

Aber wie gesagt, da ich den Duo habe, war diese Option versperrt.
Gast #4858065
Lesenswert?

Christopher B. schrieb:
> Ok, danke für die Antwort, dann muss ich wohl selbst meine
> Erfahrung
> sammeln. Ich hab seit ein paar Tagen den Omega2 von Onion. Der führt den
> I2S raus. Mal gucken ob das klappt wie ich mir das vorstelle. Muss mir
> allerdings erstmal ein Baseboard machen mit Spannungsversorgung etc.

Was zum experimentieren mit Audio ganz cool ist:

Es gibt von dem Teensy so ein "Audio-Adapter" Board. Das kann man sich 
auch einzeln bestellen. Da ist ein SGTL5000 drauf. Hat direkt die I2S 
In/Out, WS, Clocks, I2C auf dem Header rausgeführt und man kann direkt 
Line in/out anzapfen.

Habe ich auch schonmal verwendet als ich Audio-Versuche mit dem STM32F4 
Eval Board gemacht hatte.
Gast #4863674
Lesenswert?

Das klingt alles recht interessant, was ihr hier schreibt. Ich hätte 
Bedarf für ein kleines, möglichst kompaktes System, das Linux kann und 
normale Linux-USB-host-Funktion hat, wo man Treiber aus dem Netz, die es 
auch für Linux gibt, verwenden kann, ohne selber was zu schreiben.
Gast #4874996
Lesenswert?

Hallo Leute,

kurzes Update: Ich bin noch an der Sache ran und habe mir mal von 
HLK-Tech dieses Modul hier bestellt:

http://www.ebay.de/itm/MT7688AN-HLK-7688A-Chip-Supports-Linux-OpenWrt-Smart-Cloud-Services-Applications-/282291018668?hash=item41b9db1bac:g:8IQAAOSw4GVYUP1w

Das Teil ist perfekt für eigene Hardware.

Ich werde mit diesesm Teil mal rumspielen die Tage und dann weiter 
berichten. Auch werde ich jetzt mal probieren Audio via I2S rein und 
raus zu spielen.

Habe mal ein Foto angehängt damit man mal ein Gefühl bekommt wie klein 
das Ding ist.
Prozessor, Ram und Flash alles schon integriert.
Angehängte Dateien:
Gast #5192315
Lesenswert?

Rolf M. schrieb:
> Das hab ich vor ziemlich genau 10 Monaten in diesem Thread auch schon
> mal gepostet...

Habs gerade gemerkt.
Schande über mein Haupt :(

Da irgendwer das Thema raus gekramt hat, und ich nicht aufs Datum der 
Erst-Frage geschaut habe - und mir das Projekt einfiel, hab ichs einfach 
verlinkt ohne weiter nach zu schauen obs schon einer gesagt hat.

Egal, doppelt hält besser :)

Grüße

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren