FreeCalypso > hg > fc-magnetite
view src/cs/layer1/tools/gen_intram.pl @ 695:530f71d65c20
uartfax.c: pull from Tourmaline (GTM900 RI output)
In addition to the primary intent of bringing in GTM900 RI output support,
pulling uartfax.c wholesale from Tourmaline also changes the initial_time
argument in the two NU_Create_Timer() calls from 0 to 1. This change
is required for the new version of Nucleus used in Tourmaline and Selenite
(and apparently also used by TI in LoCosto), and it is harmless (no effect)
for the original TCS211 version of Nucleus used in Magnetite.
The new philosophical model being adopted is that Tourmaline is our new
development head firmware, whereas Magnetite will now be maintained
similarly to how Linux maintainers treat stable kernels: changes will be
backported from Tourmaline if they are deemed appropriate for stable
modem firmware.
author | Mychaela Falconia <falcon@freecalypso.org> |
---|---|
date | Sat, 24 Oct 2020 17:33:10 +0000 |
parents | 945cf7f506b2 |
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;