We are running a survey to help us improve the experience for all of our members. If you see the survey appear, please take the time to tell us about your experience if you can.
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
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