Hur kan jag få tag på prestandaversionen av Nucleo?
Re: Hur kan jag få tag på prestandaversionen av Nucleo?
Så i detta fall när jag använde en F446RE och fick 115 kB RAM förbruktning när jag har 128 kB RAM, så bör jag ändå fortsätta använda min F446RE för jag har ca 10 kB RAM kvar att jobba med? Jag kan göra nytt försök om så önskas istället för att beställa en L4R5ZI som har 640 kB RAM. Men då får jag byta ut TFT LCD:n till någon enklare t.ex. 20x4 LCD display med I2C kommunikation.
Re: Hur kan jag få tag på prestandaversionen av Nucleo?
Varför skulle vi ha åsikter om vilka val du gör, din kravspec borde ju specificera vad du skall ha.Jag kan göra nytt försök om så önskas istället för att beställa en L4R5ZI som har 640 kB RAM.
Re: Hur kan jag få tag på prestandaversionen av Nucleo?
Nej om du kör koden på denna så får du ett snabbt svar hur lång tid dina beräkningar tar och du kan sen enkelt avgöra om du behöver en stm32f4 eller stm32h7. Om inte stm32f4 orkar med beräkningar spelar det ingen roll om du köper en ny med 640 kB,det kommer ju inte funka ändå.Så i detta fall när jag använde en F446RE och fick 115 kB RAM förbruktning när jag har 128 kB RAM, så bör jag ändå fortsätta använda min F446RE för jag har ca 10 kB RAM kvar att jobba med?
Re: Hur kan jag få tag på prestandaversionen av Nucleo?
Jag gör ett nytt försök imorgon och fokuserar på ett annat LCD bibliotek. Återkopplar.
Re: Hur kan jag få tag på prestandaversionen av Nucleo?
Snälla nån, vi är nog rätt ointresserad över hur många kb dina projekt tar, eller huruvida du använder det ena eller andra biblioteket, vore det inte bättre att du ställde upp en riktig krav-spec enligt MOSCOW och därefter utifrån den kontrollerar vilken typ av hårdvara du behöver.
Re: Hur kan jag få tag på prestandaversionen av Nucleo?
Alltså om du skippar LCD, lwIP osv och bara tar din huvudkod, kör igenom den koden på samma sätt som du gjorde med Raspbaerry pi och PC, mäter systemticks vid start och när koden är kört och se hur lång tid det tar.
Testa sedan sätta kompilatorflagga O3 och kolla vad tiden blev. Vilken tid på vilken CPU frekvens? Sedan jämför du med de devkiten du funderar på och väljer det som är lämpligt.
Testa sedan sätta kompilatorflagga O3 och kolla vad tiden blev. Vilken tid på vilken CPU frekvens? Sedan jämför du med de devkiten du funderar på och väljer det som är lämpligt.
Re: Hur kan jag få tag på prestandaversionen av Nucleo?
Här ska ni få en återkoppling.
qpOASES_e fungerar INTE med STM32 F446RE.
Så fort den ska göra en begräkning så stannar exakt allt. Nu har det gått flera minuter. Jag låter den gå några minuter till och få se om den vaknar till liv i loopen.
qpOASES_e fungerar INTE med STM32 F446RE.
Så fort den ska göra en begräkning så stannar exakt allt. Nu har det gått flera minuter. Jag låter den gå några minuter till och få se om den vaknar till liv i loopen.
Re: Hur kan jag få tag på prestandaversionen av Nucleo?
Har du inte möjlighet att pausa med debuggern och kolla vad som är på tok?
Min gissning är att den fastnat i någon "fälla" (trap) och bara ligger där och kör en tom loop.
Min gissning är att den fastnat i någon "fälla" (trap) och bara ligger där och kör en tom loop.
Re: Hur kan jag få tag på prestandaversionen av Nucleo?
Det är väl troligen så, eftersom han kör rekursiv kod, så kör han ut stacken eller nått sånt.
Re: Hur kan jag få tag på prestandaversionen av Nucleo?
Ja. Jag körde programmet och sedan gjorde jag en beräkning. Jag sedan tryckte på "pause" och såg att jag hamnade här. Jag använder DMA2 för ADC. DMA kanske körs samtidigt som när jag kör min beräkning?bearing skrev:Har du inte möjlighet att pausa med debuggern och kolla vad som är på tok?
Min gissning är att den fastnat i någon "fälla" (trap) och bara ligger där och kör en tom loop.
Kod: Markera allt
/**
* @brief This function handles DMA2 stream0 global interrupt.
*/
void DMA2_Stream0_IRQHandler(void)
{
/* USER CODE BEGIN DMA2_Stream0_IRQn 0 */
/* USER CODE END DMA2_Stream0_IRQn 0 */
HAL_DMA_IRQHandler(&hdma_adc1);
/* USER CODE BEGIN DMA2_Stream0_IRQn 1 */
/* USER CODE END DMA2_Stream0_IRQn 1 */
}
Det är funktionen "QProblem_init" som ställer till med oreda.
Kod exempel:
https://github.com/acado/acado/blob/mas ... example1.c
Funktionens kod:
https://github.com/acados/qpOASES/blob/ ... lem.c#L599
Senast redigerad av DanielM 18 november 2019, 00:49:11, redigerad totalt 4 gånger.
Re: Hur kan jag få tag på prestandaversionen av Nucleo?
Jag kör inte recursiv kod.TomasL skrev:Det är väl troligen så, eftersom han kör rekursiv kod, så kör han ut stacken eller nått sånt.
Re: Hur kan jag få tag på prestandaversionen av Nucleo?
Nix. Det gjorde jag inte Aldrig gjort.
Re: Hur kan jag få tag på prestandaversionen av Nucleo?
Tja, du har en tråd där du kör rekursiv kod, genererad av MATLAB, å andra sidan hur i helsike skall vi kunna veta vad problemet är när du inte skriver nånting.
Re: Hur kan jag få tag på prestandaversionen av Nucleo?
Jag testade bara MATLAB Coder. Men skrev senare att jag skriver koden för hand då genererad C-kod är ofta en hög med gröt.