Hitta implementation av vasprintf för avr

C, C++, Pascal, Assembly, Raspberry, Java, Matlab, Python, BASIC, SQL, PHP, etc.
Shimonu
Inlägg: 295
Blev medlem: 21 oktober 2015, 22:44:33

Hitta implementation av vasprintf för avr

Inlägg av Shimonu »

Jag skulle vilja ha tillgång till funktionaliteten som vasprintf ger, till ett program som ska köras på en ATtiny85. Känner någon till ett lib eller någon implementation som man kan använda?
Användarvisningsbild
lillahuset
Gått bort
Inlägg: 13969
Blev medlem: 3 juli 2008, 08:13:14
Ort: Norrköping

Re: Hitta implementation av vasprintf för avr

Inlägg av lillahuset »

Känns inte som rätt val för 8k Flash och 512B RAM. Lös det på ett bättre/snålare sätt.
xxargs
Inlägg: 10185
Blev medlem: 23 september 2006, 14:28:27
Ort: Södertälje

Re: Hitta implementation av vasprintf för avr

Inlägg av xxargs »

Håller med - är man så trångbodd så får man ofta skriva signa egna 'printf' och dess derivat med bara dom funktioner man absolut behöver - tex. skippa allt som har med flyttal att göra etc.

vasprintf behöver också malloc och free, vilket sällan implementeras i system med bara 512 Byte RAM och dessutom tar dessa funktioner ytterligare plats i flash.


---

Att hålla på med microkontroller med den lilla storleken på Ram och Rom så kan man inte luta sig tillbaka med att använda standard-C libbar rakt av utan det blir att till väldigt stor del snickra eget och/eller hitta kompakta libbar för MCU-familjen som andra har gjort.
Shimonu
Inlägg: 295
Blev medlem: 21 oktober 2015, 22:44:33

Re: Hitta implementation av vasprintf för avr

Inlägg av Shimonu »

Jo, det är väl iofs rimligt. Tack för input :)
datajompa
Inlägg: 232
Blev medlem: 5 november 2010, 10:35:54

Re: Hitta implementation av vasprintf för avr

Inlägg av datajompa »

Bara nyfiken, vilken funktionalitet hos vasprintf är det du behöver på en så liten uC? Handlar det om att kompilera gammal kod?
Shimonu
Inlägg: 295
Blev medlem: 21 oktober 2015, 22:44:33

Re: Hitta implementation av vasprintf för avr

Inlägg av Shimonu »

Jag använder radio för bl a debugging och då kändes det smidigt att kunna göra en funktion som byggde en sträng och skickade i ett, med variabelt antal argument. I mitt sökande hittade jag vasprintf som även innebar att man slapp fundera på minnesallokering vilket kändes bekvämt innan jag ens tänkt på vad det innebar för krav på µC.
daer
Inlägg: 360
Blev medlem: 13 juni 2008, 22:15:27
Ort: Höör och Helsingborg, Skåne

Re: Hitta implementation av vasprintf för avr

Inlägg av daer »

Vilken hittade du?
Här är kanske ett annat exempel.
Kan också vara samma som du redan hittat. Det vet vi inget om.
http://www.sparetimelabs.com/tinyprintf/tinyprintf.php
Användarvisningsbild
lillahuset
Gått bort
Inlägg: 13969
Blev medlem: 3 juli 2008, 08:13:14
Ort: Norrköping

Re: Hitta implementation av vasprintf för avr

Inlägg av lillahuset »

För debug brukar jag ha en funktion som tar tre argument, en pekare till en sträng som skrivs som rubrik, ett heltal som talar om hur många data som ska skrivas ut och en vektor med heltal som skrivs ut. Ganska resurssnålt.

Detta brukar jag göra även när jag kör ARM Cortex-M med relativt mycket minne.
Användarvisningsbild
Icecap
Inlägg: 26147
Blev medlem: 10 januari 2005, 14:52:15
Ort: Aabenraa, Danmark

Re: Hitta implementation av vasprintf för avr

Inlägg av Icecap »

Jag brukar ha en buffer till "diverse" där jag skriver i vad jag vill (sprintf(Buffer, "<something>", <whatever>);) och sedan skickar buffern via den rutin jag har för att skicka en sträng.
Användarvisningsbild
psynoise
EF Sponsor
Inlägg: 7158
Blev medlem: 26 juni 2003, 19:23:36
Ort: Landvetter

Re: Hitta implementation av vasprintf för avr

Inlägg av psynoise »

AVR libc har någon nerbantad variant av printf.

http://www.nongnu.org/avr-libc/user-man ... stdio.html

Dock var det några år sedan jag använde detta. Vill även minnas att det åt lite mer programminne än vad jag hade hoppas på.
Skriv svar