Fórum témák
» Több friss téma |
Sziasztok!
Adott egy elég komplex aramkor, stm32-vel. Keves olyan perifériája van, ami nincs hasznalva. A helyzet az, hogy egyik pillanatrol a masikra egyik-masik modul fejlesztese kozben derult ki, hogy az ethernet link neha eltunik. Semmi gond, kutakodjunk. Kiderult, hogy csak a link statusz tunik el, maga a teljes rendszer mukodik. Ping, http server, dns, dhcp stbstb mind megy. Kutakodás vege az lett, hogy az mdio-mdc vonalakon van gond. Hardware szinten minden kizarhato, mert regi szoftware verzioval megy. Am csodak csodajara az rmii interfesz fele a mac kuldene adatot, de a procibol mdio-n nem jon ki semmi, mdc-n adja a clockot. A proci mdio labat csak a felhuzo tartja magas szinten. Lényegében olyan, mint ha az mdc adna rendesen a clockot de az mdio tristate. Erdekesseg tovabba, hogy ha lassan debugolva inditom az init reszt akkor megy, ha gyorsan normalbam fut akkor neha jo, neha nem. Amiket ellenoriztem; A gpio modok mind jo mind pedig rossz esetben helyesen konfiguraltak, rendesen alternate funkciora. Minden inditaskor akar debugolva akar elesben inditom az elso regiszter olvasasok jok (id alapjan detektalom az rmii-t, es mindig megtalalja) Ha kikommentezem azt a reszt amit frissen tettem hozza, akkor is neha jo, neha nem. Ellenoriztem melyebben a macmiiar regisztert a kikuldesnel. Szegyen szemre rendesen dolgozik, torli a busy flagat, ea latszolag kikuldi az adatot. De az mdio akkor is tristate marad. Arra is gondoltam hogy orajel vagy pll gond, de akkor nem lenne mdc sem. Mdc marpedig mindig van, latszolag tenne ki az adatot. Ötlet vagy barmi megfogalmazodott bennetek?
Esetleg el írás?
Vagy más is használja azt a portót? Elég sok alternatív funkciója lehet: PA2: USART2_TX/TIM5_CH3 / TIM9_CH1 / TIM2_CH3 /ETH_MDIO/ADC123_IN2 Verem túlcsordulás? Több helyen előforduló azonos változó név használata? Sajnos csak Te látod a kódot!
A másra konfigurálást kizártam, ugyanis néha teljesen jól fut, nomeg az init is jól fut, illetve garantáltan mindig ugyan úgy. Nem vagyok RTOS párti, tehát minden a kezemben van.
Tanultam már a sok év alatt a gcc és iar fordítókból, sosem használok azonos változó neveket, mindig unitra jellemző név rövidítéssel van ellátva. Verem túlcsordulást még nem sikerült fülöncsípnem, és sajnos a főciklus futtatása nélkül is, az init folyamán is van olyan pont hogy megáll. Amire rájöttem eddig, hogy úgy néz ki hogy az init folyamán az egymás után APB vagy AHB Clock engedélyezés lesz a hunyó. Ha egyszerre engedélyezek egy pontban minden szükséges clock-ot akkor látszólag mindig oké. Olyan, mint ha újabb modulra clock adáskor zökken ki a MAC a működésből. Természetesen clock-okat nem kapcsolgatok üzem közben, csak bootkor minden modul a sajátját inicializáláskor. Neten egy bugreportot láttam stm32-re, ahol a usernek ugyan úgy megállt az ethernet mac, és ugyan úgy csak süket maradt az MDIO, miközben az MDC vígan adta a clockot, ha pont rosszkor engedélyezett AHB clock-ot. Gyanítom hogy ebbe futottam bele én is, ám hogy hogyan oldok meg egy procin belüli hw bugot, azt még nem tudom. A hozzászólás módosítva: Júl 27, 2014
Sziasztok!
USB kliens funkcióhoz az usb_device.c fölé (vagy egybeépítve) mass storage protokol filter-t merre találhatok? Fizetős verzió is érdekel. Topi: Ha tényleg processzor hardver bugot fogtál, arra szerintem te is tudod, mi szokott a megoldás lenni: megvárni a hw revision-t. A hozzászólás módosítva: Aug 16, 2014
Sziasztok!
4 évnyi PIC-ezés után felmerült bennem komolyabban, hogy el kellene kezdeni az ARM procikat. Viszont ha már ARM, akkor lehetőleg olyannal kellene, ami népszerű, nem a legbonyolultabb, nem drága, és 32 bites. Bár PIC-nél csak 8 bitessel foglalkoztam, de ha már lúd, legyen kövér. Szóval valami leírás kellene először is, az alapoktól. Nem baj ha angol, de jobban örülnék a magyarnak. Valami olyasmi lenne a legjobb, mint Topi PIC-es cikksorozata. Szerk.: gondolom itt már az ASM már felejtős, C-ben illdomos fejleszteni. Bár lehet jobb lenne az ASM-mel kezdeni, mert jobban átlátnám egy idő után a rendszert, csak lehet bevisz az erdőbe.. A hozzászólás módosítva: Aug 16, 2014
Egész sorozatot nem tudok, de egy alap dolgot megemlítenék. Az arm-ok között vannak real-time példányok (Coretex-Rx sorozat, akár pic gyanánt is kezelheted), médium csoport (Cortex-Mx sorozat, leginkább rtos fejlesztések), és application level csoport (Cortex-Ax tagok), ami úgy kezdődik, hogy nesze a linux egészben, és kernel modul-tól lefelé semmi. Kezdésnek azt döntsd el, melyik a szimpi, mert mások az eszközök, a szemlélet, minden.
És ezek a sorozatok bithossz-függőek? Vagy pl. az Rx-ből is létezik 8, illetve 32 bites is?
Végülis lehet jobb lenne az alapoktól kezdeni, nem egyből a 86ezer funkciós 32 bitest..
Kérdés, hogy mi az ami kell?
Szerintem PIC után kizárt, hogy neked, csak processzor kéne. Inkább mikrokontrollerre lesz szükséged, és ebben az esetben a Cortex-M sorozat jöhet számításba. Az ARM az 32 bites, így nincs választásod. C vs assembly... ez feladat függő... Én a C-t javaslom alapból használni, és assembly-t csak ott ahol fontos. Sajnos jó leírást nem ismerek, de ha itt kérdezel, segítünk.
Akkor kezd tisztulni.
"Már csak" ki kellene találni, hogy konkrétan melyik típust válasszam. Valami olyasmi kéne, ami nem avul el 2 éven belül. Bár a PIC-hez képest ez dimenzióváltás lesz.
Én az ST ARM chip-jeit választottam... ezért én azt javasolnám.
De népszerűek a TI, NXP, Frescale termékei is. Szinte minden cégnek van demo kártyája. Áruk kb. 3000 Ft-tól indul. Ezen kínálnak egy mikrokontrollert és esetleg néhány perifériát (LED, gorsulásmérő, USB, kapcsoló, stb.), de ami a lényeg, hogy egy programozó hardver is rá van integrálva, így azonnal használatba veheted, letölthetsz rá programokat. Pl.: ST Discovery board A hozzászólás módosítva: Aug 17, 2014
Hol lehet ilyesmit kapni? Milyen környezetben lehet programozni?
Szinte a legtöbb nagy elektronikai komponens web-áruházban.
IDE: Keil, Emblocks, Coocox, IAR, Eclipse, stb. Én az első kettőt preferálom. Kezdésnek legyen mondjuk Keil. De ha mazochista vagy akkor Eclipse
Ha ismerkednél alapokkal, keress rá az "Arduino" névre. Dobálni fog mindenféle cuccot 8 bit vagy 32 bit, real-time vagy teljesítmény eszköz, simán a szivárvány bármelyik színében. Nézz körbe közöttük nyugodtan, kotord fel a paraméter listáikat, milyen tápfesz, mennyi proci freki, mennyi ram, milyen perifériák, milyen sdk.
Ha most csöppentél át a pic-ektől frissen, nézd végig a skálát, és majd csak az után válassz, ha a bőség zavarát már túlélted. Gondolom, nem kerget a tatár.
Apropó, jó lenne egy webszervert futtatni, mondjuk célkitűzésnek legyen az.
Az arduinonál már fut egy linux? SZóval a linuxra fejlesztenék? vzolee: arduinoról mi a véleményed?
Ha linux-ot szeretnél futtatni akkor inkább Raspberry Pi.
Arduino... szerintem zsákutca, habár egy szintig elég. Egy ARM magos kártyája van az Arduino-nak, ami szerintem nem nagy szám, sőt... Az meg hogy Pic után egy lebutított AVR-es 8 bites környezetre (=arduino) térj át az inkább visszalépés lenne.
Őszintén szólva nem rajongok a linuxért, vagy legalábbis nem érzek még késztetést felé.
Arduinoval is ez a helyzet. Marad az ARM fejlesztő board, ami viszont jól hangzik.
Utóbb kiderült, hogy valóban HW bugot fogtam procin belül. Cseréltem F407-re, és láss csodát a hiba teljesen eltűnt.
Az F107-hez az errata olyan üres, hogy fütyül benne a szél... A hozzászólás módosítva: Aug 20, 2014
Van valami ötletetek, az ilyen KeilARM.pdf doksit, hogyan lehet gyógyítani? (Szöveg kijelölés másolás, még jobb lenne fordítás (hu)-ra!)? A hozzászólás módosítva: Aug 29, 2014
Nem tudom pontosan milyen gyógyításra gondoltál. Ha valamiért nem tudtál szöveget kijelölni, akkor készítettem most Neked belőle egy másik változatot Acrobat Pro-val.
Köszönöm a fáradozásodat!
Nem akartam részletezni a problémát. Sajnos viszont a szöveg kijelölés a másolatodon sem működik nálam! (Amelyik oldalon ábra is van.) (Rendszer: Win7, Adobe Reader XI) Viszont most már sejtem, hogy Acrobat Pro-t kel szereznem a megoldás hoz!
Sziasztok!
STM32-arm hoz szeretnék wifi-t kapcsolni. Első körben gondoltam keresek valami RMII vagy MII interfészű wifi modult, mint ahogyan van ilyen LAN modul is, de nem találtam. Találtam WIFI-RS232 modult, ez kicsit idegen nekem, meg RS232-n akkora adatmennyiséget áttolni? Találtam olyat, hogy WIFI->SDIO1/4 bit. Ez azért nem jó, mert az SD kártyát használom. Hogy lehet akkor wifi-t kötni ehhez az ARM-hoz?
Szia,
Én is nézegettem WiFi modulokat. És csak UART, SPI, SDIO változat van. Chipcad-nél nézz szét. Roving network, Wiznet vagy a MCP saját WiFi modulját nézd meg. Mekkora adatforgalmat akarsz generálni hogy a nem elég a UART vagy SPI? Stream? A hozzászólás módosítva: Szept 4, 2014
Mondjuk egy lwip Stack és annyi.
Kb mintha egy routernek a config lapját állítgatná az ember. Nem sok adatforgalom. Talán Spi port van még szabad, a többi már foglalt szerintem. Talán ez Állítólag az WIFI->UART modulok olyanok, hogy az lwip nem tudja kezelni őket, hanem kötelező a beépített stack-jüket használni. Régen volt ilyen TIBBO lan modul az volt ilyen, hogy csak arra volt jó, amit a belső firmware támogatott. Lucifer: Az SDIO jó lenne, de sajnos használok SD kártyát is, tehát az már foglalt, vagy arra rá lehet két perifériát is kötni? CS átkapcsolás? A hozzászólás módosítva: Szept 4, 2014
Ha csak config web lap kell akkor ez :
http://www.mikroe.com/click/wifi-plus/ vagy http://www.mikroe.com/click/cc3000/ is megteszi szerintem. Én használtam a MCP wifi modulját. Pont ilyen weblapos konfigurációs projekt volt. SD kártya egy SPI-s adattár tulajdonképpen. Bármennyit felrakhatsz egy buszra, csak a CS lábat kell bizgergálni külön külön. Neten láttam valahol egy ilyen projektek.
Nekem olyan kellene, amit az lwip-vel tudnék használni, végülis lan-al működik, csak most wifi kellene.
A beépített Stack az nem előnyös szerintem, mert meg van kötve a kezem, ráadásul teljesen rá leszek utalva a wifi modul gyártóra. Az átvitelnél a configot úgy értettem, hogy az biztos, aztán, hogy mi lesz később azt nem tudni, de jó ha van tartalék a kütyüben. Microchip termékeket, ha lehet kerülöm. Akkor, ha jól értem, mehet az SD-mellé csak másik cs láb kell, de nem e vész össze a fat és az lwip az SDIO buszon? Nézelődök még.
Mit értesz SDIO buszon? Az SD kártya 1 közönséges Slave eszköz SPI buszon kommunikál!
Az STM32-arm a Master SPI, vezérelhet jó pár Slave SPI-t párhuzamosan. Sőt használhatod a WIFI INT kimenetét is, hogy ne legyen adat vesztésed.
SDIO buszon az ARM dedikált SDIO buszát értem, nem a sima SPI-t.
Tudom, hogy az SD-kártya az megy sima SPI-n is. Viszont, ha azt mondod, hogy a dedikált SDIO buszt is lehet több slave eszközre használni egy időben, más cs lábakkal, akkor már csak egy elérhető SDIO kompatibilis WIFI modul kéne. Ez jó hír lenne. Engem egy kicsit zavar, hogy szinte mindegyikre beépített TCP/IP stack-et írnak, de nem nagyon értem, hogy az miért jó nekem. A hozzászólás módosítva: Szept 4, 2014
Létezik 2 az egyben kivitelben is! Google: Transcend Wi-Fi SD Instruction
Ez HW oldalon meg oldaná a problémádat! Már csak az a kérdés, hogy van e elég Doksi a programozásának kivitelezéséhez?
Igen, ebay-en is láttam ilyen SD solot alakú WIFI modulokat.
Igazából el kéne döntenem, hogy milyen vonalon akarok elindulni, de ilyen WIFI modulokkal nincs tapasztalatom. Mikor ARM-el kezdtem foglalkozni, használtam az RMII interfészt LAN-ra DP83848 PHY-vel és arra gondoltam, hogy jajj de jó, ha WIFI kell, akkor az RMII-ra a LAN PHY helyett egy WIFI PHY-t teszek és kész. Mostanában szembesültem vele, hogy ez sajnos nem így van. Tehát, most akkor ott tartok, hogy van UARTOM és SPI portom szabadon. Az SDIO-n SD kártya van, és szerintem ez egyszerre csak egy eszközre csatolhato, vagy kártya, vagy WIFI modul. Mive, hogy ebben a módban a kártya nem használ CS jelet, hanem CMD/DATA jelet használ. Kérdés melyikkel járok jobban, (szerintem SPI) nem akarok AT parancsokkal kinlódni, az elégvolt a GSM-nél mire a CMUX-ot implementáltam. Tehát, akkor kizárásos alapon marad az hogy: Kellene nekem egy SPI WIFI modul, ami beszerezhető (ebay - alibaba is jó) és LWIP -vel működik. Csak meg lessz, aztán rendelek és kipróbálom. |
Bejelentkezés
Hirdetés |