FreeCalypso > hg > fc-tourmaline
view src/cs/layer1/tools/gen_intram.pl @ 291:a72feaed133a
PWT buzzer driver: conditionalize on TARGET_HAS_BUZZER
Here we add a new target config preprocessor symbol TARGET_HAS_BUZZER,
currently defined for c11x and c139; later we also expect to have it
on for FC Venus, and in FC Magnetite we are going to turn it on for
target dsample, just for the sake of completeness and philosophical
correctness.
author | Mychaela Falconia <falcon@freecalypso.org> |
---|---|
date | Sat, 26 Mar 2022 19:31:18 +0000 |
parents | 4e78acac3d88 |
children |
line wrap: on
line source
#!/usr/bin/perl if ($#ARGV == -1) { die "\nSyntax is gen_intram <C file (with extension)>\n\n"; } $#ARGV == 0 or die "Incorrect number of parameters"; $c_input_file = @ARGV[0]; # ------------------------------------------------------------------------------- # Remove .c extension and create the new filename for the processed file @file_name = split /\.c/, $c_input_file; $c_output_file = join ('', @file_name, "_intram.c"); print "Output file: $c_output_file\n"; # ------------------------------------------------------------------------------- # Generates the C file for internal RAM open input_stream, $c_input_file or die "\n\n Input C file $C_input_file cannot be opened: $!\n"; open(output_stream,'>'.$c_output_file) or die "\n\nCan't open output file $C_output_file: $!"; printf output_stream "/* ----- WARNING - File automatically generated - Do not modify it ----- */\n\n\n\n\n"; $d_internal_found = 0; # Search for data while(<input_stream>) { chomp $_; # Search for start comment if ( /#pragma DUPLICATE_FOR_INTERNAL_RAM_START/ ) { # DEBUG #print "Found begin of string\n"; $d_internal_found = 1; # Found begin internal RAM code, then output up to the end string while(<input_stream>) { chomp $_; if ( /#pragma DUPLICATE_FOR_INTERNAL_RAM_END/ ) { # Found end of the internal RAM code, then search for another one # DEBUG #print "Found end of string\n"; last; } else { printf output_stream "%s\n", $_; # DEBUG #print "Copied lines - $_\n"; } } } } close input_stream; close output_stream;