syntax error: absolute location in memory for group does not map to space mpe:vtc:abs18. in TC397

Tip / Sign in to post questions, reply, level up, and achieve exciting badges. Know more

cross mob
HyunungPark
Level 1
Level 1
5 sign-ins First reply posted First question asked

I make the project for hsm and tricore separately.

and I run to build the project for tricore like tc397.


In case of 1. there is not error when build
case 1.
{
mau = 8;
size = 3M;
type = rom;
map cached (dest=bus:sri, dest_offset=0x80000000, size=3M);
map not_cached (dest=bus:sri, dest_offset=0xa0000000, reserved, size=3M);
}

But In case of 2. the error happens like ltc E821: ["..\Lcf_Tasking.lsl" 998/61] syntax error: absolute location in memory for group does not map to space mpe:vtc:abs18.
"640K" means the size of hsm
case 2.
{
mau = 8;
size = 3M-640k;
type = rom;
map cached (dest=bus:sri, dest_offset=0x800A0000, size=3M-640k);
map not_cached (dest=bus:sri, dest_offset=0xa00A0000, reserved, size=3M-640k);
}
What should I do to resolve this issue?

0 Likes
1 Solution
User13836
Level 6
Level 6
50 likes received 50 solutions authored 100 sign-ins

I suppose there is near addressable const data included in the section you want to place in a range starting at 0x800A0000. Since only the first 16kB may be used for near data placement, you cannot place any near data anymore in that memory which starts at 0x800A0000. To prevent an automatic near data generation, you should ensure the default near allocation is disabled. This is achieved by using the C compiler option -N0 or --default-near-size=0

 

Best regards,

Ulrich Kloidt
TASKING tools support

View solution in original post

0 Likes
2 Replies
Yuva
Moderator
Moderator
Moderator
250 replies posted 250 sign-ins 100 solutions authored

Hello @User13836 

Could you please help with this topic?

Thanks

0 Likes
User13836
Level 6
Level 6
50 likes received 50 solutions authored 100 sign-ins

I suppose there is near addressable const data included in the section you want to place in a range starting at 0x800A0000. Since only the first 16kB may be used for near data placement, you cannot place any near data anymore in that memory which starts at 0x800A0000. To prevent an automatic near data generation, you should ensure the default near allocation is disabled. This is achieved by using the C compiler option -N0 or --default-near-size=0

 

Best regards,

Ulrich Kloidt
TASKING tools support

0 Likes