Förslag på PWM, ADC, I/O och DAC IC kretsar med SPI?
Re: Förslag på PWM, ADC, I/O och DAC IC kretsar med SPI?
Jag hittar ingen specifik information om att dom är bokstavligen farliga och bör aldrig mer användas.
Re: Förslag på PWM, ADC, I/O och DAC IC kretsar med SPI?
Du kan med lätthet skriva över heap, stack och andra minnesytor om du använder dessa funktioner.
Re: Förslag på PWM, ADC, I/O och DAC IC kretsar med SPI?
Än fast man ej inte allokerar minne?
Re: Förslag på PWM, ADC, I/O och DAC IC kretsar med SPI?
Jag fick höra från en väldigt kunnig kretskortstillverkare är att om man är osäker på om det kommer hålla eller inte, så ska man köra allt på logikkretsar istället för uC. Priset blir dock dyrare, men robustheten ökar.
Jag tror du dock överdriver, då jag har aldrig hört talas som att det skulle vara farligt för minnet att använda heap.
https://www.quora.com/Why-is-malloc-har ... ed-systems
Jag tror du dock överdriver, då jag har aldrig hört talas som att det skulle vara farligt för minnet att använda heap.
https://www.quora.com/Why-is-malloc-har ... ed-systems
I’ve used malloc() in embedded systems for decades. malloc() is only harmful if you don’t know what you are doing and/or you are not paying attention to detail.
Myself, I don’t consider malloc() harmful.
Re: Förslag på PWM, ADC, I/O och DAC IC kretsar med SPI?
Risken är inte att minnet går sönder utan data blir felaktigt.
Din maskin kan svänga vänster istället för höger, eller starta värmen istället för kylfläkten.
Din maskin kan svänga vänster istället för höger, eller starta värmen istället för kylfläkten.
Re: Förslag på PWM, ADC, I/O och DAC IC kretsar med SPI?
Om du använder dessa funktioner, och källsträngen är längre eller lika lång som målsträngen, så kommer funktionerna att skriva över minnet, dessutom kommer aldrig /0 att läggas till för att avsluta strängen, vilket då innebär att målsträngen per definition får samma längd som hela ditt återstående RAM-minne, du kan ju fundera på vad som händer med HEAP, stack osv i dessa lägen.
Enda skillnaden mellan srtncpy och strcpy är att strncpy fyller målsträngen med /0 om målsträngen är längre än källsträngen, om ej, så blir det samma som ovan.
Du kan ej heller ersätta strcpy med strncpy rakt av eftersom argumenten är olika.
Enda skillnaden mellan srtncpy och strcpy är att strncpy fyller målsträngen med /0 om målsträngen är längre än källsträngen, om ej, så blir det samma som ovan.
Du kan ej heller ersätta strcpy med strncpy rakt av eftersom argumenten är olika.
Re: Förslag på PWM, ADC, I/O och DAC IC kretsar med SPI?
Du kanskke skall läsa de andra svaren istället.DanielM skrev: ↑1 november 2020, 21:43:20 Jag fick höra från en väldigt kunnig kretskortstillverkare är att om man är osäker på om det kommer hålla eller inte, så ska man köra allt på logikkretsar istället för uC. Priset blir dock dyrare, men robustheten ökar.
Jag tror du dock överdriver, då jag har aldrig hört talas som att det skulle vara farligt för minnet att använda heap.
https://www.quora.com/Why-is-malloc-har ... ed-systems
I’ve used malloc() in embedded systems for decades. malloc() is only harmful if you don’t know what you are doing and/or you are not paying attention to detail.
Myself, I don’t consider malloc() harmful.
dynamisk minnesakllokering är och kommer alltid att vara förbjudet enligt MISRA.
Dessutom så är det inte säkert att det funkar i alla lägen i inbäddade system, och misslyckas malloc, tja gissa vad som händer.
Din kunniga kretskortstillverkare har inte en blekaste susning om vad han/hon pratar om.
Re: Förslag på PWM, ADC, I/O och DAC IC kretsar med SPI?
Du kan ju testa implementera strcpy i logikretsar så har du ett mer avancerat kretskort än det du precis gjort , troligen buggigare också...
Det är inget fel använda men liksom allt annat har det föe och nackdelar. Den största fördelen tycker jag är att man får en massa färdiga exempel på olika delar av STM32.
Samma gäller LL som också ingår i HAL men en lägre nivå.
Största nackelen med HAL tycket jag är att det tar rnassa flash för alla olik varianter av structar man skickar som input även om man aldrig kommer använda dem.
Men eftersom källkod kommer med HAL har jag tex strippat bort en massa från HAL som jag inte använde.

Det är inget fel använda men liksom allt annat har det föe och nackdelar. Den största fördelen tycker jag är att man får en massa färdiga exempel på olika delar av STM32.
Samma gäller LL som också ingår i HAL men en lägre nivå.
Största nackelen med HAL tycket jag är att det tar rnassa flash för alla olik varianter av structar man skickar som input även om man aldrig kommer använda dem.
Men eftersom källkod kommer med HAL har jag tex strippat bort en massa från HAL som jag inte använde.
Re: Förslag på PWM, ADC, I/O och DAC IC kretsar med SPI?
Du skall i möjligaste mån undvika osäkra funktioner.
Re: Förslag på PWM, ADC, I/O och DAC IC kretsar med SPI?
men gör inte fell om man använder strcat, men man måste bara fundera så att inte skriver över buffrar
Re: Förslag på PWM, ADC, I/O och DAC IC kretsar med SPI?
Jag använder aldrig allokering inom uC. Jag känner inte behovet ens.TomasL skrev: ↑1 november 2020, 21:50:16 Om du använder dessa funktioner, och källsträngen är längre eller lika lång som målsträngen, så kommer funktionerna att skriva över minnet, dessutom kommer aldrig /0 att läggas till för att avsluta strängen, vilket då innebär att målsträngen per definition får samma längd som hela ditt återstående RAM-minne, du kan ju fundera på vad som händer med HEAP, stack osv i dessa lägen.
Enda skillnaden mellan srtncpy och strcpy är att strncpy fyller målsträngen med /0 om målsträngen är längre än källsträngen, om ej, så blir det samma som ovan.
Du kan ej heller ersätta strcpy med strncpy rakt av eftersom argumenten är olika.
Däremot använder jag mycket memset och memcpy. strcpy, strcat osv brukar jag använda till LCD.
Som ekonomicheferna säger så är det bättre att kasta lite extra pengar och det går snabbare gjort att få jobbet.Rick81 skrev: ↑1 november 2020, 21:57:07 Du kan ju testa implementera strcpy i logikretsar så har du ett mer avancerat kretskort än det du precis gjort , troligen buggigare också...![]()
Det är inget fel använda men liksom allt annat har det föe och nackdelar. Den största fördelen tycker jag är att man får en massa färdiga exempel på olika delar av STM32.
Samma gäller LL som också ingår i HAL men en lägre nivå.
Största nackelen med HAL tycket jag är att det tar rnassa flash för alla olik varianter av structar man skickar som input även om man aldrig kommer använda dem.
Men eftersom källkod kommer med HAL har jag tex strippat bort en massa från HAL som jag inte använde.
Jag vet att det låter som en tokig idé.
Självklart. Men som Rick81 säger. Fördelar och nackdelar.
Att ha en borderline-attityd inom ingenjörskonst är inte heller att rekommendera.
Re: Förslag på PWM, ADC, I/O och DAC IC kretsar med SPI?
Eller också handlar det om att skriva så säker kod som möjligt, och inte förlita sig på att andra gör det.
Som mrFrenzy skrev, du vill inte att bilen accelererar när den skall bromsa, en felaktig strcpy eller liknande kan få detta att hända.
Som mrFrenzy skrev, du vill inte att bilen accelererar när den skall bromsa, en felaktig strcpy eller liknande kan få detta att hända.
Re: Förslag på PWM, ADC, I/O och DAC IC kretsar med SPI?
Ja. Nu börjar vi använda andra ord. "En felaktig strcat".
Jag talkar om strcat som funktion. Om den är lämplig bokstavligen, eller inte lämplig.
Jag skulle säga att det beror på hur man använder den.
Jag talkar om strcat som funktion. Om den är lämplig bokstavligen, eller inte lämplig.
Jag skulle säga att det beror på hur man använder den.