Takze postupne.
Co nejaka tiny USB-CDC (seriak) knihovna ? Napad by nebyl kde ji vzit?
Tak pokud nechcete HAL (a to opravdu pro seriozni vyvoj nechcete), tak STM ma uz nejakych 7 let na webu toto:
https://www.st.com/en/embedded-software/stsw-stm32046.htmlPeriferie
Jak jsem psal, dnes uz jsou katalogovy listy dost opraveny a errata se aktualizuji. Jo, I2C je u STM trochu prusvih, ale pokud nechcete slave nebo 10bitovou adresu, tak to jede. V podstate jsem nemel s periferiema za tech 10 let, co s STM delam, zadny vaznejsi prusvih, spis chybejici informace. Pak se to musi odsedet u osciku a debugeru, pripadne predam smerem k lidem z STM. Fakt je, ze k tomu vzdy pristupuju s predsudkem "divil bych se, kdyby ta periferie takhle fungovala". No a ona vetsinou funguje, takze si z toho pak odnasim trochu biasovany pozitivni pocit.
Nakup z Ciny
My si treba tohle proste nemuzeme dovolit. Dodavame na USA trh, a toto by fakt neproslo.
Nicmene usetrit ten dolar 10 000x kdyz by slo o stejnou (funkcni) soucastku, to je uz na par hezkych veceri.
Nebo to jsou dve mesicni mzdy opravdu dobreho cinskeho vyvojare.
Mimochodem, stačí se podívat na startup_STM32xxxx.s - to vypadá, že to psal někdo, kdo ani pořádně nezná ARM Assembler.
No nevypada, je to tak. Pred temi deseti lety jsem to vyhodnotil tak, ze je to jen example a poradne start-upy si musi clovek napsat sam. A uroven kodu a zapisu holt +/- odpovida ostatnim knihovnam od STM (cest vyjimkam). Tohle malokdy pisou dobre zaplaceni profici, bohuzel, a uz vubec neni vule to optimalizovat podle core. Ono uplne staci, kdyz to pak mate zrefaktorovat podle misry.
Hlavně není jasné proč je to ještě po mnoha létech pořád ještě v assembleru...
Kdysi to nekdo tak napsal a od te doby se to kopiruje a upravuje pro dalsi core. Prepsat do "cisteho" c to neni problem, ale pokud treba pisete nejakou "citlivou" aplikaci, potom treba check registru a RAMky se z toho asm dela nepomerne snadneji.