Include CRC at specified memory address on BF53x processors


I'm working on a product that will use a BF536 processor and I would need to be able to validate the content of the program memory to make sure that it is not corrupted. I have seen that the elfloader is able to calculate a CRC using a provided polynomial and this would instruct the boot rom to validate the content of the LDR file at boot. However, it seems this feature is only supported on BF50x/BF51x/BF52x/BF54x/BF59x processor families. The product must also validate the memory for corruption on a periodic basis, so this approach would not be enough for my needs anyway. My program memory would reside in L1_Code and also in external SDRAM. The processor would boot from an SPI host.

I would like to be able to calculate the CRC on the program memory at run time in my application, but I'm not sure how to proceed to calculate the CRC at build time and provide the CRC to the application at a predefined memory address. Can I use any of the tools provided with VisualDSP++ (5.1.2) to calculate the CRC and include the result in the ldr file at the specified address ?  My alternate solution would be to write an external tool that would parse the ldr file, calculate the CRC and modify the ldr file to include the CRC at a specified memory address, but I'm not sure if it would be the right approach. Could you please provide some tips about how to solve my situation ?

I'm currently using an EZKit-BF537 to make my development so the solution would also have to work for this target processor.