Device-Microchip-Bootloader

 view release on metacpan or  search on metacpan

t/02-internal.t  view on Meta::CPAN

my $big_string   = $loader->_int2str($bigint);
my $babe         = $loader->_str2int($str);

is $small_string, "0A00", "Small int2str";
is $big_string,   "0104", "Big int2str";
is $babe, hex("BABE"), "str2int check";

# Verify the CRC funcions
my $input = "\x00\x04\x01\x05\xFF\x84\x00\xFC\x00\x00";
my $crc   = $loader->_crc16($input);
is $crc, 0xCBC1, "CRC calculates according to Microchip implementation";

# Verify the swapping of the program memory
# Two words need to be rewritten otherwize the long jumps fail.
my $app_entry = 0xFC00 - 4;
$loader->_rewrite_entrypoints("BABEFACE");
is $loader->{_program}->{0}->{data}, "BABE",
    "Rewrote bootloader entry point #1";
is $loader->{_program}->{2}->{data}, "FACE",
    "Rewrote bootloader entry point #2";
is $loader->{_program}->{$app_entry}->{data}, "57EF",

t/stim/test.hex  view on Meta::CPAN

:1000B000010EEA22EF50016E0207280E015D01E1F8
:1000C000016B140EE76E021902E7E73402D0E75025
:1000D000025D04E2FD5102E181EC06F0015042E9CB
:1000E000E7CFD9FF120023EC07F0280EE66E95EC5F
:1000F0001EF041E95A0EE66E2F0EE66E000E77EC0A
:1001000006F0005008E191EC06F0550EE66E2F0E59
:10011000E66E000E07D091EC06F0500EE66E2F0E44
:10012000E66E000E8CEC06F0380EE66E2F0EE66ED4
:10013000000E77EC06F0300EE66E2F0EE66E000E27
:1001400077EC06F091EC06F0200EE66E2F0EE66ED0
:10015000000E8CEC06F0A5EF06F02AEC07F0E4ECBC
:1001600006F0F80EE66E2E0EE66E000E1AEC07F0A4
:100170000E010DA311D093EC13F000014A6F4B6BED
:10018000800B01E04B6905EC07F0E80EE66E2E0EE1
:10019000E66E000E8CEC06F00E010DA507D0DA0E0F
:1001A000E66E2E0EE66E000E77EC06F0D70EE66ECB
:1001B0002E0EE66E000E77EC06F00E01010E0F6FAC
:1001C00012002AEC07F0E4EC06F0AC0EE66E2E0E00
:1001D000E66E000E1AEF07F02AEC07F0910EE66EBD
:1001E0002E0EE66E000E77EF06F02AEC07F0710E89
:1001F000E66E2E0EE66E000E77EF06F02AEC07F0A4



( run in 1.053 second using v1.01-cache-2.11-cpan-e1769b4cff6 )