is it possible to use a scat file to place the rw compression data?
I am aware of this article: http://www.keil.com/support/docs/3512.htm
Wouldn't it be the same way you place uncompressed RW data?
I don't think the fact it is compressed makes it placement in the Load Regio any different.
The Execute region will obviously need to be large enough for the uncompressed data.
If you have a scatter file you are working on and want to post it I might be able to explain a little.
M
I don't know how to address the RW compressed data to place it since this is being handled by the linker.
For example, if I have a simple scat file
LOAD_ROM 0x0 { VECTORS +0 { *(.romvectors) }
CODE +0 { *(+RO) }
... ram execution regions ... }
the compressed data is placed after the CODE
You can use an ANY section.
For example:
LOAD_ROM 0x0 { VECTORS +0 { *(.romvectors) } CODE +0 { *(+RO) } RAM_EXEC 0xA0000000 0x01000000 ; SDRAM { .ANY (+RW) } }
so I left out the ram region specification
RAM_DATA +1 { * (+RW, +ZI) }
how the compressed RW data (ram initialization data) is not placed in RAM, it is placed in flash (as desired); but I cannot figure out how to specify a region for the compressed RW data (so I control it's location instead of the linker just placing at the end).
I think the rw compressed data is actually RO data; I don't know why it is not placed in the CODE execution region.
I asked a similar question a while ago:
http://www.keil.com/forum/16898/
It also looks like someone asked a similar question and got an answer at:
http://www.keil.com/forum/17373/
thank you!
I saw that question but I missed the key points: the RW compression data is placed in the load region where the compressed data is from so adding a second load region correctly places code after the RW compressed data.
I don't understand what the Compressed has to do with the placement?
@IB Shy - I read your previous question (linked above) I don't understant what you were trying to do. Did you figure it out? Based on your original post (desired layout) I don't see why Roger Ivie answer would not have worked?
The Load address are where the data lives in the image so you can just use as many load regions as you want to place any and all sections. The execution addresses are were the data gets copied/decompressed to. I'm obviously not getting something and would appreciate a clarification even if it's just so I can better understand.
Thanks.
View all questions in Keil forum