This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

Properly adding startup.a51

Hi everyone.
So far I've only done some rather small 8051 projects, mostly with variants that had less than or equal to 64k memory.
Now I have a project which includes fairly large amounts of code-data running on SiLabs' C8051F12x, which has 128k.
Since inherently only 64k are accessible, I need to use code banking.
However, once - as noted in the application notes - I include STARTUP.A51 and the L51_BANK.A51, my application throws an Module Name Not Unique Warning for C_STARTUP.
In the KEIL Knowledge Base, I found the suggestion to rename C_STARTUP to C_STARTUP_MAIN to resolve the issue.
I did so, but then I got a code overlap warning at 0000H to 0002H.
I never had to deal with an overlap I didn't actually cause myself (manually) before, so I'm not sure how to resolve it.
In the M51, I found ...
C:0000H PUBLIC ?C_STARTUP_MAIN
(and, further down)
C:0000H LINE# 85.

I assume those are the overlapping segments, no?
I'm not sure how to progress in resolving the warning, could anybody shed some light on this for me?
Thanks alot!
Steven

Parents
  • So, in the end I got this working as desired together with banking a while ago.
    Still not sure what had caused the particular overlap, but I started from scratch with a skeleton app and added my needed content bit by bit - the problem never surfaced.

    Anyway, I am evaluating the possibility of hooking up a few C8051F's in a TCP network using one of the CP22xx chips so I can download logs from them via FTP.
    Got myself one of the testkits a few days ago. Feeding static files to the FTP works flawlessly, and I even figured out how to serve "custom" content put in one piece on runtime, but I currently utilize a memory buffer of 3k size, which isn't too generous.
    Is there a way to stream output directly to the socket instead, allowing greater sizes and freeing that memory?
    Thanks alot!
    Steven

Reply
  • So, in the end I got this working as desired together with banking a while ago.
    Still not sure what had caused the particular overlap, but I started from scratch with a skeleton app and added my needed content bit by bit - the problem never surfaced.

    Anyway, I am evaluating the possibility of hooking up a few C8051F's in a TCP network using one of the CP22xx chips so I can download logs from them via FTP.
    Got myself one of the testkits a few days ago. Feeding static files to the FTP works flawlessly, and I even figured out how to serve "custom" content put in one piece on runtime, but I currently utilize a memory buffer of 3k size, which isn't too generous.
    Is there a way to stream output directly to the socket instead, allowing greater sizes and freeing that memory?
    Thanks alot!
    Steven

Children
No data