View Single Post
Old 25-11-2021, 16:41   #10
Pino90
Senior Member
 
L'Avatar di Pino90
 
Iscritto dal: Jan 2015
Città: Euskal Herria
Messaggi: 3764
Quote:
Originariamente inviato da !fazz Guarda i messaggi
che è la soluzione più utilizzata calcola che generalmente nel 90 % dei casi i fw si sviluppano bare to metal quindi altro che file system manco il sistema operativo si usa e leggere e scrivere una flash è roba da poche righe di codice che trovi in mille esempi
Quote:
Originariamente inviato da mally Guarda i messaggi
faccio automazione industriale, ci siamo scritti un boot loader custom per la serie stm32...
Allora per capirci... il progetto era con una nota ditta tedesca di dispositivi di sicurezza, specializzati in serrature certificate... chi vuol capire capisca...
In questo caso non era per un prodotto esterno ma per uno ad uso interno, ossia una piattaforma fatta in house per eseguire alcuni test in fabbrica. Non ho idea del perchè fu fatta questa scelta. L'idea iniziale era di implementare una cosa semplice, che poi è cresciuta senza controllo causa project pwner: ci siamo ritrovati a dover implementare letteralmente un file system perchè "il programmino del PC da due righe" era cresciuto a dismisura. Capirete bene che se devi gestire file di dimensioni variabili e ignote "l'esempio da due righe" per scrivere una word da 32 forse non è sufficiente. Per altro nel caso della serie Nucleo STM32F446RE lavorare con la EPROM interna è un delirio in quanto una volta che hai scritto un bit a 0 non è possibile riportarlo a 1 individualmente ma bisogna riscrivere tutto il blocco (se non ricordo male lavoravamo nei settori intermedi fra lo 0 e il 4 ed erano da 512 o 2k bytes). Per altro ricordo che fu necessario implementare anche una roba per limitare le scritture su singoli blocchi che se no raggiungevano il loro limite di scritture (codificato hardware) molto velocemente.

Effettivamente non ho mai usato il supporto a FAT di Cube, ma perché non ho mai lavorato con schede supporti esterni e la mia comprensione è che il middleware non è pensato per la memoria flash integrata nella serie F4. In ogni caso non ho mai approfondito e non prendevo io le decisioni, quindi poco importa.

Il mio era solo un esempio di cose "parecchio più complesse" che si possono fare rispetto ad un Arduino e visto che fu una roba che mi traumatizzò ho pensato di raccontarlo. Mi dispiace un po' !fazz che con te abbiamo parlato tante volte e ora mi vieni a spiegare che si programma in bm... ammazza...

PS scrivere un bootloader per stm32 non è roba di cui vantarsi, esistono decine di esempi da poche decine di righe di codice che trovi online, ormai lo fanno anche i ragazzini su youtube.
__________________
MALWARES
Pino90 è offline   Rispondi citando il messaggio o parte di esso
 
1