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

AURIX™ Forum Discussions

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 5
Level 5
10 likes received 50 sign-ins 10 solutions authored

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
100 solutions authored 25 likes received 100 sign-ins

Hello @User13836 

Could you please help with this topic?

Thanks

0 Likes
User13836
Level 5
Level 5
10 likes received 50 sign-ins 10 solutions authored

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