The speed table generation (by using explicit
make -f Makefile.rlink) was broken since
865efd828a267992db0f2a92a731c5ce23a34236 Dec 2 2009 which did a bunch of
renaming and included hand-editing of a generated rlink_speed_table.c file.
This patch is compile-tested, i.e. the new generated rlink_speed_table.c
links fine with the rlink driver.
Change-Id: I1789a2f2f5bf20183b772d55c55fe68a0bd05cf5
Signed-off-by: Paul Fertser <fercerpav@gmail.com>
Reviewed-on: http://openocd.zylin.com/1431
Tested-by: jenkins
Reviewed-by: Spencer Oliver <spen@spen-soft.co.uk>
default: rlink_speed_table.c clean
default: rlink_speed_table.c clean
+%_init.fsm: rlink_init.m4
${M4} -P -DSHIFTER_PRESCALER=`echo "$@" | sed -e's/_.*//'` $< > $@
${M4} -P -DSHIFTER_PRESCALER=`echo "$@" | sed -e's/_.*//'` $< > $@
+%_call.fsm: rlink_call.m4
${M4} -P -DSHIFTER_PRESCALER=`echo "$@" | sed -e's/_.*//'` $< > $@
%.dtc: %.fsm
${M4} -P -DSHIFTER_PRESCALER=`echo "$@" | sed -e's/_.*//'` $< > $@
%.dtc: %.fsm
#endif
#include "rlink.h"
#endif
#include "rlink.h"
$bytes =~ s/(^|\s)(.{70}?\S*)/\2\n/go; # break up long lines
$bytes =~ s/\n +/\n/go;
$bytes =~ s/(^|\n)/\1\t/go; # format nicely
$bytes =~ s/(^|\s)(.{70}?\S*)/\2\n/go; # break up long lines
$bytes =~ s/\n +/\n/go;
$bytes =~ s/(^|\n)/\1\t/go; # format nicely
- printf("static const u8 dtc_%d[] = {\n%s\n};\n\n", $prescaler, $bytes);
+ printf("static const uint8_t dtc_%d[] = {\n%s\n};\n\n", $prescaler, $bytes);
push(@speed_table, sprintf("\tdtc_%d, sizeof(dtc_%d), (ST7_FOSC * 2) / (1000 * %d), %d\n", $prescaler, $prescaler, $prescaler, $prescaler));
}
push(@speed_table, sprintf("\tdtc_%d, sizeof(dtc_%d), (ST7_FOSC * 2) / (1000 * %d), %d\n", $prescaler, $prescaler, $prescaler, $prescaler));
}
-printf("const rlink_speed_table_t rlink_speed_table[] = {{\n%s}};\n\n", join("}, {\n", @speed_table));
-printf("const size_t rlink_speed_table_size = sizeof(rlink_speed_table) / sizeof(*rlink_speed_table);\n\n");
+printf("const struct rlink_speed_table rlink_speed_table[] = { {\n%s} };\n\n", join("}, {\n", @speed_table));
+printf("const size_t rlink_speed_table_size = ARRAY_SIZE(rlink_speed_table);\n\n");
sub byte_array_from_file {
sub byte_array_from_file {