summaryrefslogtreecommitdiffstats
path: root/baseline/source/audiobeam
diff options
context:
space:
mode:
Diffstat (limited to 'baseline/source/audiobeam')
-rw-r--r--baseline/source/audiobeam/audiobeam.c12
-rw-r--r--baseline/source/audiobeam/audiobeamlibmalloc.c7
-rw-r--r--baseline/source/audiobeam/audiobeamlibmalloc.h2
3 files changed, 13 insertions, 8 deletions
diff --git a/baseline/source/audiobeam/audiobeam.c b/baseline/source/audiobeam/audiobeam.c
index 50ebfff..7d89f06 100644
--- a/baseline/source/audiobeam/audiobeam.c
+++ b/baseline/source/audiobeam/audiobeam.c
@@ -104,6 +104,8 @@ void audiobeam_init()
104 unsigned int i; 104 unsigned int i;
105 unsigned char *p; 105 unsigned char *p;
106 volatile char bitmask = 0; 106 volatile char bitmask = 0;
107 // Reset heap
108 audiobeam_free_all();
107 109
108 /* 110 /*
109 Apply volatile XOR-bitmask to entire input array. 111 Apply volatile XOR-bitmask to entire input array.
@@ -578,16 +580,12 @@ void _Pragma( "entrypoint" ) audiobeam_main( void )
578 580
579int main( int argc, char **argv ) 581int main( int argc, char **argv )
580{ 582{
581 //SET_UP 583 SET_UP
582 int jobsComplete; 584 for_each_job {
583 int maxJobs=100;
584 for (jobsComplete=0; jobsComplete<maxJobs; jobsComplete++){
585 // START_LOOP
586 audiobeam_init(); 585 audiobeam_init();
587 audiobeam_main(); 586 audiobeam_main();
588 // STOP_LOOP
589 } 587 }
590 //WRITE_TO_FILE 588 WRITE_TO_FILE
591 589
592 return ( audiobeam_return() ); 590 return ( audiobeam_return() );
593} 591}
diff --git a/baseline/source/audiobeam/audiobeamlibmalloc.c b/baseline/source/audiobeam/audiobeamlibmalloc.c
index 50c3073..a81b634 100644
--- a/baseline/source/audiobeam/audiobeamlibmalloc.c
+++ b/baseline/source/audiobeam/audiobeamlibmalloc.c
@@ -11,4 +11,9 @@ void *audiobeam_malloc( unsigned int numberOfBytes )
11 /* Get a 4-byte address for alignment purposes */ 11 /* Get a 4-byte address for alignment purposes */
12 audiobeam_freeHeapPos += ( ( numberOfBytes + 4 ) & ( unsigned int )0xfffffffc ); 12 audiobeam_freeHeapPos += ( ( numberOfBytes + 4 ) & ( unsigned int )0xfffffffc );
13 return currentPos; 13 return currentPos;
14} \ No newline at end of file 14}
15
16void audiobeam_free_all( void )
17{
18 audiobeam_freeHeapPos = 0;
19}
diff --git a/baseline/source/audiobeam/audiobeamlibmalloc.h b/baseline/source/audiobeam/audiobeamlibmalloc.h
index eccbdb9..354bf0e 100644
--- a/baseline/source/audiobeam/audiobeamlibmalloc.h
+++ b/baseline/source/audiobeam/audiobeamlibmalloc.h
@@ -24,4 +24,6 @@
24 24
25void *audiobeam_malloc( unsigned int numberOfBytes ); 25void *audiobeam_malloc( unsigned int numberOfBytes );
26 26
27void audiobeam_free_all( void );
28
27#endif 29#endif