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?
Martin schrieb:> Sprich kein BGA, keine Impedanzkontrolle, kein DDR3 o.ä.
Das macht es sehr schwer.
Ich würde daher eher ein Modul mit Prozessor, Flash und RAM vorschlagen.
Z.B. sowas hier:
http://www.vocore.io/v2.html
Da läuft OpenWRT bzw. LEDE drauf.
Die Pins außenrum sind 1,27mm-Raster, das kann man damit ganz einfach
auf eigenen Platinen nutzen.
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.
hp-freund schrieb:> Endung:> IO = Britisch-Indischer Ozean>> Wegen Zoll.
Nein. Diese TLD wird genommen weil es gerade anscheinend irgendwie cool
und modern klingt und sie auch von nicht-Einwohnern für kleines Geld und
für beliebige Zwecke gebucht werden kann. In ein paar Jahren ist wieder
irgendwas anderes in.
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.
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.
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
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?
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!
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...
Bernd K. schrieb:> Angeblich soll der doch nur 5$ kosten, gibts den für den Preis auch> diesseits des Teichs irgendwo?
Gelegentlich wird er von einem britischen Laden für 4 GBP verkauft -
kommen noch 4 GBP Versandkosten drauf, in Summe sind das etwa 9.40 EUR.
Allerdings werden die Dinger nur einzeln, also EIN Stück pro Bestellung
verkauft.
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.
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.
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
Martin schrieb:> SB Webcam mit mjpg-Streamer.. läuft einwandfrei
War das als host?
Ich suche was kleines kompaktes, mit dem Ich einfach einen USB hoast
realisieren kann.
Heiko S. schrieb:> Martin schrieb:> SB Webcam mit mjpg-Streamer.. läuft einwandfrei>> War das als host?>> Ich suche was kleines kompaktes, mit dem Ich einfach einen USB hoast> realisieren kann.
Ja
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.
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
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.
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.
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...
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?
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...
Andreas B. schrieb:> http://nanopi.io/nanopi-neo.html
Ja sieht durchaus interessant aus, aber das Teil lässt sich halt
schlecht integrieren weil Ethernet und USB direkt drauf gelötet ist. Wie
ich den TE verstehe will er etwas zum integrieren auf eigener Hardware
wo man dann natürlich selbst die Kontrolle haben will was passiert mit
dem USB und wo kommt die Eth-Buchse hin.
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.
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)?
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.
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.
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.
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.
Ja, mich interessiert das auch!
Hat das geklappt, mit der audio app?
Wenn Du möchtest, würde Ich anbieten, mit Dir zusammenzuarbeiten.
Ich hätte da was vor.
Nachricht per PM,
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
Martin schrieb:> Internetradio mit MP3 Stream und Audioausgabe war auch kein Problem.
welches OS/ Version hast Du auf dem LinkIt Smart 7688?
Ich habe solch ein Board mit Daughterboard....aber als ich damals
Internetradio oder espeak-TTS nutzen wollte hing der Sound ab und zu...
:(