Hallo zusammen, ich würde gerne ein Arm7 SoM oder Mini Board in ein Produkt integrieren. Darauf soll dann Debian ode Ubuntu Core laufen. Jetzt habe ich mal geschaut wie der Flash Prozess aussieht, zwecks effizienter Planung für eine Massenproduktion und musste feststellen, dass die meisten Anleitungen TF/SD card oder USB voraussetzen. Teilweise ist auch noch Monitor und Tastatur Voraussetzung. Alles nicht vorhanden und - ich habe Ethernet und maximal noch UART zur Verfügung. Gibt des da keine einfachere Möglichkeit? Zum Beispiel einen kleinen Bootloader per UART flashen und das eigentliche Image dann per LAN aus dem lokalen Netz bzw. Internet installieren? Danke!
Thomas F. schrieb: > Zum Beispiel einen kleinen Bootloader per UART > flashen und das eigentliche Image dann per LAN aus dem lokalen Netz bzw. > Internet installieren? Genau das. Du nimmst einen Bootloader wie U-Boot und bootest damit von einem TFTP-Server Dein Install-System, das dann wiederum die eigentliche Firmware ins Flash schreibt.
Thomas F. schrieb: > Arm7 Einen älteren Prozessor hast du nicht gefunden (genutzt 1993-2001)? Funktioniert aktuelles Linux da überhaupt? Es hängt stark vom konkreten SoC ab, wie der zu flashen ist, also bei einem TI gibt es andere Möglichkeiten als bei einem Microchip. Der Prozessorkern (hier: ARM7) hat da relativ wenig Einfluss. Ohne Nennung des konkreten SoC kann man da also nicht viel sagen.
Thomas F. schrieb: > Massenproduktion Wenn Massenproduktion wirklich Massenproduktion bedeutet, kaufst du die Prozessoren fertig programmiert beim Hersteller. Falls es dann doch nicht ganz so viele sind, beim Distri. Wenns dann doch eher die Mikrocontroller.net-übliche BastelWastel-Massenproduktion von einmalig 25 Stück werden, besorge dir einen Programierboard mit Sockel. Oliver
:
Bearbeitet durch User
Und du musst ja sowieso irgendeinen Test mit der Platine machen. Da passt so eine Programierroutine meist am besten mit dazu. Da muss ja eh einmal jede Platine angesteckt werden. Und ja, das ist nicht günstig, da kann man sehr schnell 1-2 Mannmonate versenken, bis das halbwegs geht. Da solltest du jetzt aber doch jemanden suchen der dass schon mal gemacht hat. Idealerweise könntest da ja den fragen, der die Platinen nachher fertigen soll. Die können das selbst oder haben jemanden der das kann.
Niklas G. schrieb: > Thomas F. schrieb: >> Arm7 > > Einen älteren Prozessor hast du nicht gefunden (genutzt 1993-2001)? > Funktioniert aktuelles Linux da überhaupt? Er meint wohl ARMv7. Die alten ARM7TDMI Prozessoren haben keine MMU. fchk
Frank K. schrieb: > Er meint wohl ARMv7. Oder ARM Cortex-A7? Oder ARM Cortex-M7? Alles was anderes als ARM7. Konkrete SoCs sind auf jeden Fall alle sehr unterschiedlich zu programmieren. Frank K. schrieb: > Die alten ARM7TDMI Prozessoren haben keine MMU. Die TDMI-Varianten nicht, die "normal"-Varianten des ARM7 schon: http://www.bitsavers.org/pdf/acorn/ARM_DDI_0024C_ARM710_Data_Sheet_Jul94.pdf Die waren für die Acorn Risc PCs gemacht. Ist natürlich nur noch im Museum zu finden... Den hat Linux immerhin bis vor Version v3.5 von 2012 unterstützt!
:
Bearbeitet durch User
Je nach µP hast du einen first stage bootloader on chip. Den wirst du wohl per strapping konfigurieren müssen damit er auf der richtigen Schnittstelle rausbläst. NXP z.B. arbeitet im USB client mode, kann aber auch je nach HW umkonfiguriert werden.
Oliver S. schrieb: > Thomas F. schrieb: >> Massenproduktion > > Wenn Massenproduktion wirklich Massenproduktion bedeutet, kaufst du die > Prozessoren fertig programmiert beim Hersteller. Der Trend ist Programmierung in der Produktionslinie. Die Zeit der Programmierdienstleister ist eigentlich vorbei, das macht man heute eigentlich nur noch bei großen Speichern, deren Programmierdauer die Zykluszeit in der Linie kaputt machen würde. Die Chiphersteller haben häufig auch die Programmieraufträge nicht selbst durchgeführt, sondern an entsprechende Dienstleister weitergereicht. Die reinen Programmierdienstleister sind auch schon lange am aussterben, entweder sie fahren zweigleisig oder steigen komplett auf andere Geschäftsfelder um. Programmierdienstleister wie Ertec und ProMik sind daher auch schon lange im Bereich der onboard Programmierung aktiv. Das programmieren in der Linie ermöglicht einem viele Vorteile: - Keine Lagerhaltung verschieden programmierter Bauteile - Schneller Umstieg in der Fertigung auf eine neue Softwareversion - Leiterplattennutzen können bei Bedarf in der Linie mit anderer Software erneut programmiert werden - Cyber Security, jede Baugruppe kann mit individuellen Schlüsseln programmiert werden - Daten wie Seriennummern und Traceability Informationen können bereits bei der Initialprogrammierung in die Baugruppen geschrieben werden - Auf Dauer günstiger als Programmierdienstleistung
Ja, ich meinte Cortex A7. Aktuell sind Allwinner T113-i oder H3 in der engeren Auswahl. Bei einem steckbaren Modul kann man sich das flashen mit einem Adapterboard noch vorstellen, bei einem aufgelötetem SoM muss das alles im Gerät selbst funktionieren. Daher meine Frage - im Idealfall wird ein Programmieradapter aufgesteckt und nur ein Bootloader installiert, was recht fix gehen sollte (?). Nach dem final Assembly soll das eigentliche OS per LAN installiert werden, das kann man dann auch gleich mit dem Burn-in Test verbinden. Für mich war nur etwas verwirrend, dass alle Anleitungen irgendwelche TF/SD Cards oder USB erforderlich machen.
Hi Dein SOM wird vorprogrammiert kommen. Typischerweise mit einem kompletten Linux Image. Du mußt nur noch die Konfiguration in Erfahrung bringen und dann dein System da drüber installieren. Die Methode mit U-Boot und TFTP Boot klingt für mich am vielversprechensten. Wenn es wirklich Masse ist kannst du das SOM auch mit deinem Imae vorprogrammiert beschaffen. Matthias
Marc X. schrieb: > Der Trend ist Programmierung in der Produktionslinie. Ja, aber wer Produktionslinien hat, und dafür verantwortlich ist, stellt keine solche Frage hier im Forum. Oliver
Thomas F. schrieb: > Ja, ich meinte Cortex A7. Aktuell sind Allwinner T113-i oder H3 in der > engeren Auswahl. Ein T113-i unterstützt das Booten von: - SD card - eMMC - SPI NOR Flash - SPI NAND Flash Download Per USB konnte ich nicht auf die Schnelle rausfinden. Ein H3 unterstützt das Booten von: - NAND FlashSD card - SD/TF card - eMMC - Nor Flash - Download per USB OTG Das ist das, was das interne Bootrom kann. Punkt. Wenn Du den nacken Chip verwendest, dann kannst Du einen UBoot ins SPI NOR Flash legen, die SPI Flashes bei einem Dienstleister programmieren lassen und die programmierten Chips bestücken. Wenn Du ein fertiges Modul verwendest, dann bist Du auf das beschränkt, was der Modullieferant Dir anbietet. Das ist dann üblicherweise ein Boot der SD-Karte oder Firmwareupdate per USB. Das ist dann so, und daran führt dann auch kein Weg vorbei. Wenn Du ein Modul nimmst, hast Du eben ein paar Freiheitsgrade weniger. Wenn Dein Prozessormodul auch noch eMMC beinhaltet, dann bleibt Dir auch der Weg versperrt, das eMMC auf ein kleines Trägerplatinchen zu setzen, so wie Hardkernel/Odroid das macht. Da kannst Du die eMMC-Module extern vorprogrammieren und dann einfach auf Deine Boards draufstecken, und so könntest Du auch Firmwareupdates verschicken. Die Systemkonfiguration sollte dann natürlich woanders gespeichert sein, z.B. auf einem I2C-EEPROM oder einen weiteren SPI-Flash. JTAG wird für die Erstinbetriebnahme von Allwinner nicht unterstützt. Da bist Du dann sehr alleine und wirst viel Zeit benötigen, um das rauszufinden. > Für mich war nur etwas verwirrend, dass alle Anleitungen irgendwelche > TF/SD Cards oder USB erforderlich machen. Ja, das ist ein übliches Vorgehen. Bei nVidia Jetson Prozessormodulen must Du auch zwingend per USB flashen. fchk
Frank K. schrieb: > Thomas F. schrieb: >> Ja, ich meinte Cortex A7. Aktuell sind Allwinner T113-i oder H3 in der >> engeren Auswahl. > > Ein T113-i unterstützt das Booten von: > - SD card > - eMMC > - SPI NOR Flash > - SPI NAND Flash > Download Per USB konnte ich nicht auf die Schnelle rausfinden. > > Ein H3 unterstützt das Booten von: > - NAND FlashSD card > - SD/TF card > - eMMC > - Nor Flash > - Download per USB OTG > > Das ist das, was das interne Bootrom kann. Punkt. Danke für die ausführlichen Infos! Hast du irgendwelche Empfehlungen für "komfortablere" Prozessoren/Module um das per TFTP und Ethernet zu realisieren? Selbstverständlich wenn möglich in der günstigen Klasse :) <35$ in Stückzahlen mit wenigstens 512MB RAM und 4GB eMMC/Flash Ich bin noch nicht festgelegt bezüglich Prozessor, wohl aber im Produktionsprozess und (klar...) max. BOM.
> Ja, aber wer Produktionslinien hat, und dafür verantwortlich ist, stellt > keine solche Frage hier im Forum. Das stimmt natuerlich. Aber es gibt auch viele kleinere Buden die Stolz sind wenn sie mal 100-1000Stk von etwas herstellen und daher keine eigene Abteilung haben die sich um sowas kuemmert. Da ist dann so manches innovative neue Zeugs eine Herausforderung. Und auch in einem grossen Laden hast du da manchmal lustige Diskussionen und Meetings auf palmface Level. :-D Vanye
Thomas F. schrieb: > in Stückzahlen In Stückzahlen von 10^x: Wie groß ist x und ist das p.a. oder einmalig? x ∈ [1,2,3,4,...]
Vanye R. schrieb: >> Ja, aber wer Produktionslinien hat, und dafür verantwortlich ist, stellt >> keine solche Frage hier im Forum. > > Das stimmt natuerlich. Aber es gibt auch viele kleinere Buden die Stolz > sind wenn sie mal 100-1000Stk von etwas herstellen und daher keine > eigene Abteilung haben die sich um sowas kuemmert. Da ist dann so > manches innovative neue Zeugs eine Herausforderung. > Und auch in einem grossen Laden hast du da manchmal lustige Diskussionen > und Meetings auf palmface Level. :-D > > Vanye Ich sehe wir hatten schon die gleichen Probleme :) Aber ja, völlig richtig - wenn man in Asien produziert und der OEM nicht unbedingt FOXCONN heißt, sondern eine kleine Bude mit paar hundert Leuten, dann geht das manchmal schon bei Sprachbarrieren los. Und neue Sachen da einzuführen wird oftmals zur Geduldsprobe. Daher sind dann solche Anweisungen im SOP wie "Stell das Gerät ins Regal, stecke das Netzwerkkabel rein und schalte es ein. Nach einer Stunde checken ob die grüne LED blinkt" dann einfach das was safe funktioniert...
Rainer W. schrieb: > Thomas F. schrieb: >> in Stückzahlen > > In Stückzahlen von 10^x: Wie groß ist x und ist das p.a. oder einmalig? > x ∈ [1,2,3,4,...] etwa 500 pro Jahr, PLC max. 8 Jahre
Thomas F. schrieb: > Hast du irgendwelche Empfehlungen für "komfortablere" Prozessoren/Module > um das per TFTP und Ethernet zu realisieren? Selbstverständlich wenn > möglich in der günstigen Klasse :) <35$ in Stückzahlen mit wenigstens > 512MB RAM und 4GB eMMC/Flash Nein. Kein Prozessor auf dem Markt hat direkt einen TFTP-Download. Vergiss es. Was ginge: https://www.olimex.com/Products/SOM/STMP1/STMP157-SOM-512/ Das in der Variante STMP151-SOM-512-IND hat 512MB RAM drauf, aber keinerlei Flash, und kostet 24€ in 100'er Stückzahlen. Hier kannst Du extern ein eMMC-Modul anschließen, so wie Odroid das macht: https://wiki.odroid.com/accessory/emmc/reference_chart Schaltpläne und Pinouts sind weiter unten auf der Seite. Das kannst Du vorprogrammieren (lassen). Du kannst auch zusätzlich ein SPI-NOR-Flash drauftun, das Du mit einem UBoot vorprogrammieren lassen kannst. Der könnte dann den Rest per TFTP reinladen. Auf manchen Mainboards sind die SPI-Bootflashes auch in solchen Sockeln. https://evision-webshop.de/dediprog/so8w-smt-socket-1 Die wird es sicher auch noch deutlich billiger geben, aber ich habe da jetzt auf die Schnell nichts gefunden. Ansonsten muss man das Flash programmieren, bevor das SOM aufgesteckt wird. fchk
Hi STM32MP1/STM32MP2/iMX6/iMX8 können alle per USB booten. Man sieht also im Gerät eine USB-Schnittstelle vor (wenn nicht eh vorhanden) und bringt das System dann per USB soweit das man das Flash (NOR, NAND, eMMC) mit dem Image beschreiben kann. So machen wir das für Stückzahlen <10k. Vorprogrammieren von Flash lohnt erst bei wirklich hohen Stückzahlen > 10k. Matthias
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.