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

Initial xG24 support #91

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

mananni-silabs
Copy link

Preliminary support for xG24 Silicon Labs platform.

  • Radio model is functional for 802.15.4-based stacks (Zigbee, Open Thread, Connect and other RAIL-based proprietary solutions), however on certain platforms we are currently experiencing thread safety issues resulting in PC corruption. Also, because of a dependency on the CortexM class, it can not currently be compiled using the existing flow of including the file in the Peripherals.csproj file. We instead pull the file in from .resc file directly.
  • SEMAILBOX only implements commands needed for 802.15.4 stacks and does not actually perform any encryption for now
  • FlashUserData only implements EUI64 manufacturer token for now
  • MPU use currently results into the application not initializing correctly, so apps should be built without MPU support

@CLAassistant
Copy link

CLAassistant commented Nov 13, 2023

CLA assistant check
All committers have signed the CLA.

{
if(value && sequencer.IsHalted)
{
sequencer.SP = machine.SystemBus.ReadDoubleWord(SequencerMemoryBaseAddress);
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It may be necessary to explicitly initialize Vector Table Offset, because otherwise the communication breaks after pause/start. During resuming after pause, InitPCAndSP() is called in OnResume() and VectorTableOffset for sequencer should be manually initialized prior to this to not be overridden by the automatically deduced address of the first non null section.

Suggested change
sequencer.SP = machine.SystemBus.ReadDoubleWord(SequencerMemoryBaseAddress);
sequencer.VectorTableOffset = SequencerMemoryBaseAddress;
sequencer.SP = machine.SystemBus.ReadDoubleWord(SequencerMemoryBaseAddress);

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@mars-low thank you for the suggestion. I will give this a try

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants