I have an in- and out-buffer of 64 bytes that should fit in the near ram, but 
it gets a linker error of:
        link-Error-Could not get 128 consecutive bytes in internal RAM for area 
ISEG.

Declaration:
        __idata BYTE Out_Packet[64];             // Last packet received from 
host
        __idata BYTE In_Packet[64];              // Next packet to sent to host

Linker map shows:
        Area                               Addr   Size   Decimal Bytes 
(Attributes)
        --------------------------------   ----   ----   ------- ----- 
------------
        ISEG                               0000   0200 =    512. bytes (REL,CON)

              Value  Global
           --------  --------------------------------
             0100    G$Out_Packet$0$0
             0100    _Out_Packet
             0140    G$In_Packet$0$0
             0140    _In_Packet

BYTE is type defined as unsigned char but appears to use 4 bytes per element. I 
tried changing them to int and long long, both of which seem to take up 4 times 
what they should (8 bytes per int, 16 per long). What am I missing here?

Attached: mem layout.

Attachment: F3xx_USB0_Main.mem
Description: Binary data


Eric Amy
Sherpa Solutions, LLC
(678) 906-4182

------------------------------------------------------------------------------
Free Software Download: Index, Search & Analyze Logs and other IT data in 
Real-Time with Splunk. Collect, index and harness all the fast moving IT data 
generated by your applications, servers and devices whether physical, virtual
or in the cloud. Deliver compliance at lower cost and gain new business 
insights. http://p.sf.net/sfu/splunk-dev2dev 
_______________________________________________
Sdcc-user mailing list
Sdcc-user@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/sdcc-user

Reply via email to