Home > other >  Keil links generated BIN folder, using relevant __attribute__?
Keil links generated BIN folder, using relevant __attribute__?

Time:05-27

Process description is as follows:
1, the options for the target... The configuration, would - & gt; Use the memory layout from target dialog box is checked, compile error is as follows:
Error: L6220E: Load region LR_IROM1 size (55964 bytes) exceeds the limit (55296 bytes). The region contains 24369 bytes of the padding and zero bytes of veneers (total 24369 bytes of would generated content).
With the method of the memory layout, I haven't enough microcontroller memory (STM32F103), only to 54 k memory,

2, remove the use the memory layout from target dialog box, compile without error, generated is *. Bin folder, the bin file , memory size is as follows:
The Program Size: Code=30224 RO-data=https://bbs.csdn.net/topics/656 RW - data=3364 ZI - data=4068

3, the program has a use of an absolute address, the code is as follows, its annotation, compile is normal, generate *. Bin file, and use the memory layout from the target state of the dialog box has nothing to do;
The static const u8 Version [4] __attribute__ ((at) (0 x08011700))={0 x01, 0 x2, 0 x3, 0 x4};//for IAP file identification

Question:
1, __attribute__ produce padding, what on earth is mechanism that accounts for why so much data?
More than 2, and how to solve the problem? I need bin file and absolute address inside the logo for IAP, unable to expand the memory,
  • Related