In my previous msg., I had a typo. The starting address of RxBuffer is 0x1C16 (not 0x1C26).
Also, I forgot to include an URL for the TI Chronos software release.
The file name is slaac341a.zip
--- In m..., "old_cow_yellow" wrote:
> TI recently released a new version of the Chronos sofware. Part of the
> release is a RF-BSL. It is compiled and linked with IAR IDE. I think
> either IAR made a mistake or TI did something that caused IAR to emit
> wrong object code.
> Inside the folder:
> "\eZ430-Chronos\Recovery\Chronos Watch\Wireless Updater"
> there are 3 object files:
> The source code and IAR workspace + project are in the folder:
> "\eZ430-Chronos\Software Projects\Chronos Watch\IAR\Wireless
> The source-code: "wbsl.c" contains a module:
> "RadioIsr_wbsl()" with a statement:
> "memset(RxBuffer, 0x00, sizeof(RxBuffer));"
> where "RxBuffer" is allocated statically at 0x1C26 with size
> The above mentioned three variants of object files all have:
> 00132C 403E 0102 mov.w #0x102,R14
> 001330 430D clr.w R13
> 001332 403C 1C16 mov.w #0x1C16,R12
> 001336 430D mov.b R12,R14
> 001338 13B0 174A calla #memset
> I think the instruction mov.b R12,14 at 0x1336 is just wrong.
> I use IAR KickStart. I cannot reproduce the above mistake.
> When I try the TI supplied IAR project, it complained that:
> "The project `Wireless-Update' contains the unknown tool
> Ignoring that, it emits the correct object file. (Without the mov.b