test dell'unità su ARM

3

Stiamo sviluppando un codice a livello di applicazione che gira su un processore ARM. Il BSP (codice di basso livello) viene fornito da una parte 3d, quindi il nostro codice si trova proprio sopra questo livello di astrazione (il codice è scritto in c ++).

Per eseguire il test delle unità, suppongo che dovremo simulare / stubare la libreria BSP (essenzialmente estraendo l'HW), ma quello di cui non sono sicuro è se scrivo / eseguo il test dell'unità sul mio pc, faccio a compilarlo con per esempio GCC? Normalmente utilizziamo il compilatore Realview per compilare il nostro codice per ARM. Posso supporre che se compilo ed eseguo il codice con il compilatore x86 e che i test di unità passino, passerà anche quando compilato con il compilatore RealView?

Non sono sicuro di quanta differenza fa il compilatore e se ti puoi fidare che se il codice compilato x86 supera i test unitari puoi anche essere sicuro che il codice compilato con Realview è ok.

    
posta NomadAlien 07.11.2013 - 08:28
fonte

1 risposta

2

Anche se i compilatori contengono bug proprio come qualsiasi altro software, le probabilità che si verifichi uno di questi bug durante la creazione del proprio software sono prossime allo zero e la possibilità che un tale errore si manifesti come un software anomalo è ancora più piccola.

Oltre ai bug del compilatore, potresti ottenere un comportamento diverso perché i due compilatori interpretano il tuo codice in modo diverso. Fintanto che rimani lontano dagli angoli oscuri del linguaggio e soprattutto eviti di usare comportamenti non definiti o non specificati o ipotesi non portatili (come la dimensione dei tipi di base), allora tutti i compilatori C ++ sono veramente molto bravi a produrre un comportamento coerente durante la compilazione lo stesso codice con diversi compilatori.

In generale, a meno che tu non stia facendo qualcosa di molto speciale, se il tuo codice viene compilato con tutti i compilatori pertinenti, puoi essere certo che anche gli eseguibili prodotti mostrano un comportamento coerente tra loro.

    
risposta data 07.11.2013 - 10:22
fonte

Leggi altre domande sui tag