我正在使用MPC5644A freescale EVB板。
我需要找到一种在ram中定义const变量的方法。所以在LCF文件中,我将这些变量指向mpc5644的RAM位置。但是在运行时我按照预期服用IVOR1。
有一条主要规则。我不能改变const变量的类型或名称。但我需要在RAM中使用这些变量,确定区域如" calibration_ram"
任何帮助都可以这么好。
我的C来源如下:
#pragma push /* Save the current state */
#pragma section sconst_type ".__cal_DataArea"
volatile const real32_T freq2rpm;
volatile const real32_T high_voltage;
#pragma pop
...
我的LCF文件:
MEMORY
{
calibration_ram : org = 0x40040000, len = 0x00010000
...
SECTIONS
{
.__bam_bootarea LOAD (ADDR(resetvector)): {} > resetvector
.__cal_DataArea LOAD (ADDR(calibration_ram)): {} > calibration_ram
...
答案 0 :(得分:0)
当我尝试下线时,它就解决了。我可以在RAM上定义const变量
#pragma explicit_zero_data on
#pragma push
#pragma section sconst_type const_type ".__cal_DataArea" ".__cal_DataArea"
...
..
全部谢谢。