Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

New processor language variant needed for SIlicon Labs CIP-51 (C8051Fxxx) family #7055

Open
gtackett opened this issue Oct 15, 2024 · 0 comments
Assignees
Labels
Feature: Processor/8051 Status: Triage Information is being gathered

Comments

@gtackett
Copy link
Contributor

gtackett commented Oct 15, 2024

Is your feature request related to a problem? Please describe.
In order to add support to Ghidra for the Silicon Labs CIP-51 (originally created by Cygnal Integrated Products, which was later acquired by Silicon Labs), 8051.ldefs needs a new variant of the 8051 processor.

The need for a new variant is driven by features of the CIP-51 and supporting compilers that can't be adequately handled with any of the existing variants. The solution description below discusses some of these.

Describe the solution you'd like

CIP-51 implements the basic 8051 instruction set as the original 8051, adding a small number of CIP51-specific instructions.

Its memory model is also based on the original 8051, but with extensions to allow for additional memory and peripheral devices.

There are at least two compilers/toolchains that specifically support CIP-51 extensions to the 8051:

Describe alternatives you've considered
Extensions to the 8051 as implemented in existing variants--mx51, 80251, 80390, and mx51--can't be used to accurately and adequately describe the extensions present in CIP-51.

Additional context
I intend to offer proposed changes to 8051.ldefs via the usual github code change cycle. Improvements to whatever I may offer will of course be encouraged!

To fully achieve support for CIP51, changes to other files in languages will of course be necessary. If/when I understand what's needed, I'll submit additional new feature requests.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Feature: Processor/8051 Status: Triage Information is being gathered
Projects
None yet
Development

No branches or pull requests

3 participants