diff options
| author | Mooneer Salem <[email protected]> | 2023-09-29 08:58:14 -0700 |
|---|---|---|
| committer | Mooneer Salem <[email protected]> | 2023-09-29 08:58:14 -0700 |
| commit | 5a521236eddb8a9e3a61edebd2243a70c9ad52ab (patch) | |
| tree | 0511116d4b7e4b1d4b7b3f349ccccc6a80dc96cf | |
| parent | bb005db976a15ec78d0b538e1e89da616a823370 (diff) | |
Actually have ctests run without hanging.
| -rwxr-xr-x | stm32/unittest/scripts/run_stm32_prog | 5 | ||||
| -rwxr-xr-x | stm32/unittest/scripts/tst_ldpc_dec_check | 4 | ||||
| -rw-r--r-- | stm32/unittest/src/tst_codec2_dec.c | 4 | ||||
| -rw-r--r-- | stm32/unittest/src/tst_codec2_enc.c | 2 | ||||
| -rw-r--r-- | stm32/unittest/src/tst_ldpc_dec.c | 42 | ||||
| -rw-r--r-- | stm32/unittest/src/tst_ldpc_enc.c | 20 | ||||
| -rw-r--r-- | stm32/unittest/src/tst_ofdm_demod.c | 6 |
7 files changed, 43 insertions, 40 deletions
diff --git a/stm32/unittest/scripts/run_stm32_prog b/stm32/unittest/scripts/run_stm32_prog index 18b2c08..ac1e661 100755 --- a/stm32/unittest/scripts/run_stm32_prog +++ b/stm32/unittest/scripts/run_stm32_prog @@ -34,11 +34,13 @@ if [ ${ARGS[--qemu]+_} ]; then # QEMU cat <<-EEOOFF >> gdb_cmds shell killall qemu-system-arm - shell qemu-system-arm -M netduinoplus2 -s -S -semihosting -monitor null -serial null -nographic -kernel ${ELF} 2> >(tee stderr.log >&2) | tee stdout.log & + shell qemu-system-arm -M netduinoplus2 -s -S -semihosting -monitor null -serial null -nographic -kernel ${ELF} & shell sleep ${UT_SLEEP} target remote :1234 monitor arm semihosting enable monitor arm semihosting_fileio $UT_SH_FIO + set logging file stdout.log + set logging on EEOOFF SHUTDOWN="shell killall qemu-system-arm" elif [ ! ${ARGS[--st-util]+_} ]; then @@ -83,6 +85,7 @@ fi cat <<-EEOOFF >> gdb_cmds monitor reset halt monitor adapter speed 4000 + set breakpoint pending on break EndofMain break abort EEOOFF diff --git a/stm32/unittest/scripts/tst_ldpc_dec_check b/stm32/unittest/scripts/tst_ldpc_dec_check index a301798..4521192 100755 --- a/stm32/unittest/scripts/tst_ldpc_dec_check +++ b/stm32/unittest/scripts/tst_ldpc_dec_check @@ -55,9 +55,9 @@ if [[ $p1 -eq 1 && $p2 -eq 1 ]]; then echo "Pass"; else echo "Fail"; let Fails=($Fails + 1); fi # echo -e "\nTarget BER values" -n=$(grep 'Raw.*BER:' stderr.log | cut -d ' ' -f 7) +n=$(grep 'Raw.*BER:' stdout.log | cut -d ' ' -f 7) p1=$(echo $n '<=' ${BER_LIMIT_RAW} | bc) -n=$(grep 'Coded.*BER:' stderr.log | cut -d ' ' -f 7) +n=$(grep 'Coded.*BER:' stdout.log | cut -d ' ' -f 7) p2=$(echo $n '<=' ${BER_LIMIT_CODED} | bc) if [[ $p1 -eq 1 && $p2 -eq 1 ]]; then echo "Pass"; else echo "Fail"; let Fails=($Fails + 1); fi diff --git a/stm32/unittest/src/tst_codec2_dec.c b/stm32/unittest/src/tst_codec2_dec.c index 406a84d..2c89ad0 100644 --- a/stm32/unittest/src/tst_codec2_dec.c +++ b/stm32/unittest/src/tst_codec2_dec.c @@ -128,14 +128,14 @@ int main(int argc, char *argv[]) { perror("Error opening input file\n"); exit(1); } - setvbuf(fin, fin_buffer,_IOFBF,sizeof(fin_buffer)); + //setvbuf(fin, fin_buffer,_IOFBF,sizeof(fin_buffer)); FILE *fout = fopen("stm_out.raw", "wb" ); if (fout == NULL) { perror("Error opening output file\n"); exit(1); } - setvbuf(fout, fout_buffer,_IOFBF,sizeof(fout_buffer)); + //setvbuf(fout, fout_buffer,_IOFBF,sizeof(fout_buffer)); frame = 0; diff --git a/stm32/unittest/src/tst_codec2_enc.c b/stm32/unittest/src/tst_codec2_enc.c index f799265..4597a9f 100644 --- a/stm32/unittest/src/tst_codec2_enc.c +++ b/stm32/unittest/src/tst_codec2_enc.c @@ -132,7 +132,7 @@ int main(int argc, char *argv[]) { perror("Error opening input file\n"); exit(1); } - setvbuf(fin, fin_buffer,_IOFBF,sizeof(fin_buffer)); + //setvbuf(fin, fin_buffer,_IOFBF,sizeof(fin_buffer)); FILE* fout = fopen("stm_out.raw", "wb"); if (fout == NULL) { diff --git a/stm32/unittest/src/tst_ldpc_dec.c b/stm32/unittest/src/tst_ldpc_dec.c index f177255..6248d1f 100644 --- a/stm32/unittest/src/tst_ldpc_dec.c +++ b/stm32/unittest/src/tst_ldpc_dec.c @@ -60,7 +60,7 @@ int main(int argc, char *argv[]) { uint8_t out_data[HRA_112_112_CODELENGTH]; struct LDPC ldpc; int data_bits_per_frame; - FILE *fout; + int fout; int iter, total_iters; int Tbits, Terrs, Tbits_raw, Terrs_raw; @@ -68,7 +68,7 @@ int main(int argc, char *argv[]) { semihosting_init(); - fprintf(stderr, "LDPC decode test and profile\n"); + fprintf(stdout, "LDPC decode test and profile\n"); PROFILE_VAR(ldpc_decode); machdep_profile_init(); @@ -113,30 +113,30 @@ int main(int argc, char *argv[]) { Tbits = Terrs = Tbits_raw = Terrs_raw = 0; } - FILE* fin = fopen("stm_in.raw", "rb"); - if (fin == NULL) { - fprintf(stderr, "Error opening input file\n"); - fflush(stderr); + int fin = open("stm_in.raw", O_BINARY | O_RDONLY); + if (fin < 0) { + fprintf(stdout, "Error opening input file\n"); + fflush(stdout); exit(1); } - setvbuf(fin, fin_buffer,_IOFBF,sizeof(fin_buffer)); + //setvbuf(fin, fin_buffer,_IOFBF,sizeof(fin_buffer)); - fout = fopen("stm_out.raw", "wb"); - if (fout == NULL) { - fprintf(stderr, "Error opening output file\n"); - fflush(stderr); + fout = open("stm_out.raw", O_BINARY | O_WRONLY); + if (fout < 0) { + fprintf(stdout, "Error opening output file\n"); + fflush(stdout); exit(1); } - setvbuf(fout, fout_buffer,_IOFBF,sizeof(fout_buffer)); + //setvbuf(fout, fout_buffer,_IOFBF,sizeof(fout_buffer)); float *input_float = calloc(CodeLength, sizeof(float)); nread = CodeLength; - fprintf(stderr, "CodeLength: %d\n", CodeLength); + fprintf(stdout, "CodeLength: %d\n", CodeLength); frame = 0; - while(fread(input_float, sizeof(float) , nread, fin) == nread) { - fprintf(stderr, "frame %d\n", frame); + while(read(fin, input_float, sizeof(float) * nread) == nread * sizeof(float)) { + fprintf(stdout, "frame %d\n", frame); if (testframes) { char in_char; @@ -164,7 +164,7 @@ int main(int argc, char *argv[]) { //fprintf(stderr, "iter: %d\n", iter); total_iters += iter; - fwrite(out_data, sizeof(char), data_bits_per_frame, fout); + write(fout, out_data, sizeof(char) * data_bits_per_frame); if (testframes) { for (i=0; i<data_bits_per_frame; i++) { @@ -179,15 +179,15 @@ int main(int argc, char *argv[]) { frame++; } - fclose(fin); - fclose(fout); + close(fin); + close(fout); - fprintf(stderr, "total iters %d\n", total_iters); + fprintf(stdout, "total iters %d\n", total_iters); if (testframes) { - fprintf(stderr, "Raw Tbits..: %d Terr: %d BER: %4.3f\n", + fprintf(stdout, "Raw Tbits..: %d Terr: %d BER: %4.3f\n", Tbits_raw, Terrs_raw, (double)(Terrs_raw/(Tbits_raw+1E-12))); - fprintf(stderr, "Coded Tbits: %d Terr: %d BER: %4.3f\n", + fprintf(stdout, "Coded Tbits: %d Terr: %d BER: %4.3f\n", Tbits, Terrs, (double)(Terrs/(Tbits+1E-12))); } diff --git a/stm32/unittest/src/tst_ldpc_enc.c b/stm32/unittest/src/tst_ldpc_enc.c index 30624d2..8b3062e 100644 --- a/stm32/unittest/src/tst_ldpc_enc.c +++ b/stm32/unittest/src/tst_ldpc_enc.c @@ -76,32 +76,32 @@ int main(int argc, char *argv[]) ldpc.H_rows = (uint16_t *)HRA_112_112_H_rows; ldpc.H_cols = (uint16_t *)HRA_112_112_H_cols; - FILE* fin = fopen("stm_in.raw", "rb"); - if (fin == NULL) { + int fin = open("stm_in.raw", O_BINARY | O_RDONLY); + if (fin < 0) { printf("Error opening input file\n"); exit(1); } - setvbuf(fin, fin_buffer,_IOFBF,sizeof(fin_buffer)); + //setvbuf(fin, fin_buffer,_IOFBF,sizeof(fin_buffer)); - FILE* fout = fopen("stm_out.raw", "wb"); - if (fout == NULL) { + int fout = open("stm_out.raw", O_BINARY | O_WRONLY); + if (fout < 0) { printf("Error opening output file\n"); exit(1); } - while (fread(ibits, sizeof(char) , ldpc.NumberParityBits, fin) == + while (read(fin, ibits, sizeof(char) * ldpc.NumberParityBits) == ldpc.NumberParityBits) { PROFILE_SAMPLE(ldpc_encode); encode(&ldpc, ibits, pbits); PROFILE_SAMPLE_AND_LOG2(ldpc_encode, " ldpc_encode"); - fwrite(ibits, sizeof(char) , ldpc.NumberRowsHcols, fout); - fwrite(pbits, sizeof(char) , ldpc.NumberParityBits, fout); + write(fout, ibits, sizeof(char) * ldpc.NumberRowsHcols); + write(fout, pbits, sizeof(char) * ldpc.NumberParityBits); } - fclose(fin); - fclose(fout); + close(fin); + close(fout); fflush(stdout); stdout = freopen("stm_profile", "w", stdout); diff --git a/stm32/unittest/src/tst_ofdm_demod.c b/stm32/unittest/src/tst_ofdm_demod.c index 54cc027..f41f6d8 100644 --- a/stm32/unittest/src/tst_ofdm_demod.c +++ b/stm32/unittest/src/tst_ofdm_demod.c @@ -207,7 +207,7 @@ int main(int argc, char *argv[]) { fprintf(stderr, "Error opening input file\n"); exit(1); } - setvbuf(fin, fin_buffer,_IOFBF,sizeof(fin_buffer)); + //setvbuf(fin, fin_buffer,_IOFBF,sizeof(fin_buffer)); fout = fopen("stm_out.raw", "wb"); @@ -215,14 +215,14 @@ int main(int argc, char *argv[]) { fprintf(stderr, "Error opening output file\n"); exit(1); } - setvbuf(fout, fout_buffer,_IOFBF,sizeof(fout_buffer)); + //setvbuf(fout, fout_buffer,_IOFBF,sizeof(fout_buffer)); fdiag = fopen("stm_diag.raw", "wb"); if (fdiag == NULL) { fprintf(stderr, "Error opening diag file\n"); exit(1); } - setvbuf(fdiag, fdiag_buffer,_IOFBF,sizeof(fdiag_buffer)); + //setvbuf(fdiag, fdiag_buffer,_IOFBF,sizeof(fdiag_buffer)); nin_frame = ofdm_get_nin(ofdm); int num_read; |
