From: Paul Fertser Date: Sun, 2 Jun 2013 09:28:37 +0000 (+0400) Subject: rlink: fix speed table generation X-Git-Tag: v0.8.0-rc1~419 X-Git-Url: https://git.sur5r.net/?a=commitdiff_plain;h=f43c23090e05f3344b0e65c735096ffb36be82b2;p=openocd rlink: fix speed table generation 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 Reviewed-on: http://openocd.zylin.com/1431 Tested-by: jenkins Reviewed-by: Spencer Oliver --- diff --git a/src/jtag/drivers/Makefile.rlink b/src/jtag/drivers/Makefile.rlink index 94c53f50..37630e18 100644 --- a/src/jtag/drivers/Makefile.rlink +++ b/src/jtag/drivers/Makefile.rlink @@ -51,10 +51,10 @@ DTCFILES += $(addsuffix _call.dtc, ${PRESCALERS}) default: rlink_speed_table.c clean -%_init.fsm: init.m4 +%_init.fsm: rlink_init.m4 ${M4} -P -DSHIFTER_PRESCALER=`echo "$@" | sed -e's/_.*//'` $< > $@ -%_call.fsm: call.m4 +%_call.fsm: rlink_call.m4 ${M4} -P -DSHIFTER_PRESCALER=`echo "$@" | sed -e's/_.*//'` $< > $@ %.dtc: %.fsm diff --git a/tools/rlink_make_speed_table/rlink_make_speed_table.pl b/tools/rlink_make_speed_table/rlink_make_speed_table.pl index 910fbf82..305d1703 100755 --- a/tools/rlink_make_speed_table/rlink_make_speed_table.pl +++ b/tools/rlink_make_speed_table/rlink_make_speed_table.pl @@ -32,7 +32,7 @@ print < $a} @ARGV) { $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)); } -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 {