Hallo. Ich habe mehrere Platinen bekommen wo ein STM32F407 mit der PHY KS8721B verbaut ist. Es gibt das Olimex P407 System was den früher auch drauf hatte, das Board habe ich nun auch. Das Problem ist nur ich finde dafür absolut keiner Treiber / Code. Hat jemand was für mich, egal ob HAL, LL oder SPL.
kann man trotzdem mit HAL probieren und die hal_conf anpassen: https://github.com/STMicroelectronics/STM32CubeF4/blob/master/Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_conf_template.h Die Phy Adresse ist meist 0 oder 1, das wird per HW durch Pullup/down an den entsprechenden Pins eingestellt, findet man im Datenblatt PHYAD0..4. Dann gibt es Basic Register die bei allen Phy gleiche Bedeutung haben sollten, unterschiedlich wird es ab hier /* Section 4: Extended PHY Registers */. Da muss das PHY_SR und die Statusbits darin passen. Mit dem Debugger durch HAL_ETH_Init() spazieren, da sieht man was passiert. Wichtig ist im ersten Schritt das die Phy Adresse passt und die Phy Register read/write gültige Werte liefern. Ich würd ja Mbed-os empfehlen, aber da muss man auch erstmal die gleichen Dinge anpassen, nur in einer anderen config Datei.
Das Dumme ist ich hatte vor Jahren mal die Einstellungen für den KS8721B. Leider ist mir die Platte abgeraucht und genau davon hatte ich kein Backup. Ich kann mich erinnern das es nur wenige Register waren die gegenüber einem LAN8700 anders waren. Das ganze wurde per define einfach umgeschaltet. Das Olimex P407 Board hatte ich damals zum Testen mir besorgt, da hatte ich nur nichts mit dem KS8721B und Ethernet gemacht. Das Board hatte damals meine Tests nicht überlebt und jetzt habe ich genau so ein Board wieder. So wenn ich nichts finde werde ich mit dem Datenblatt schon raus bekommen was da anders eingestellt wurde. Kann ja nicht so viel sein, halt nur die Frage welche BITs sind es? Also wenn jemand die ETH .C und .H hat wo der KS8721B drin ist nehme ich dei gerne.
https://www.olimex.com/Products/ARM/ST/STM32-P407/ Im Schaltplan ist der KS8721B drin, in der Software wird er nicht extra erwähnt. Muss also irgendwie kompatibel sein.
bei Olimex gibt es zwei Versionen, aber in beiden ist im Kommentar KS8721 nur einmal zu finden. Bei der neuen Version werden der KS8721 und der LAN8700 durch ihre ID erkannt, in der alten Version ist wohl nur der KS8721 drin. Es müssten also beide gehen, das Beispiel ist nur für IAR.
Hast Du mal den Link auf die Datei, ich war da vorhin aber das kann ich nicht finden.
In den Ganzen Sourcen steht aber nie was von dem KS8721B drin. Ich hatte mich geirrt das wurde damals nicht nur per DEFINE sondern auch noch mit einer Produktcodeerkennung gemacht. Ob der KS8721B nun einfach so, geht aber nicht genannt wird, kann ich jetzt noch nicht sagen, dafür muss ich erstmal ein Testprogram machen. So ein Mist dieses IAR Code Paket wo der richtig angegeben wurde muss es doch noch irgendwo geben.
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.