First, thanks for the new CRC linker feature - I needed that!
I am using a DSC (MC56F8257).
How do I get the linker to store the crc of the data memory with the load address as the start address, and p_mem (P_RECTYPE) as the type instead of the run address and x_mem (X_RECTYPE) type?
This is important because I want to verify my application stored in FLASH from a bootloader, before jumping into (running) the application.
Or, alternatively, is there a way to perform a single crc over a range of p_memory that includes all sections (vectors, data, text, etc.).
For further question, could you please summit a Serive Request on line, or just mail to support@freescale.com ? Thank you
is there a way to perform a single crc over a range of p_memory that includes all sections (vectors, data, text, etc.).
--> You can get CRC for whole p_memoy, or for d memory, but It is impossible to check CRC by funtion CRC16_check() in application code. Because debuger will erase flash before programming, the flash unit that are not used by application will be written as 0xFFFF, this will cause different CRC calucated in Link time and Run time.
It is possible to use load address as start address instead of run address in p_mem to get CRC. To do it, need some code like below in LCF:
.ApplicationCode :
{
.....
__pROM_data_start = .;
} > .p_Code
.data_in_p_flash_ROM : AT(__pROM_data_start)
{
__xRAM_data_start = .;
...
* (.data)
# save data end and calculate data block size
. = ALIGN(2);
__xRAM_data_end = .;
__data_size = __xRAM_data_end - __xRAM_data_start;
__pROM_data_end = __pROM_data_start + __data_size - 1.;
} > .p_flash_ROM_data
.crc : {
crc1 = CRC16( __pROM_data_start, __pROM_data_end);
} > x_RAM2
Yes, I have tried something like this several different ways. I keep getting an error such as the following:
Description Resource Path Location Type
Linker command file error at line 180 start & end symbols must be in the same segment! MotorMCU C/C++ Problem
Hi,
Please let me know the tool version used.
To do that you must:
Under Eclipse IDE
1- Start Eclipse and click on Help ¦ Freescale Licenses
The Status column gives the status of the license.
Under Product, select it and click on details.
A new dialog show up giving license details.
Provide us all info displayed
2- Start Eclipse and click on Help ¦ About CodeWarrior Development Studio
Under Installed Products, you will see the version used.
regards
Pascal
CodeWarrior for MCU, version 10.4, Build Id: 130425