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

Model or documentation ? #51

Open
Fofeu opened this issue Apr 4, 2023 · 3 comments
Open

Model or documentation ? #51

Fofeu opened this issue Apr 4, 2023 · 3 comments

Comments

@Fofeu
Copy link

Fofeu commented Apr 4, 2023

Hello,

I wanted to get an idea of how the firmware works and ... the Makefile alone is other 1k lines.

I can’t find any model or documentation of the firmware. Maybe I’m looking at the wrong place, in which case I’d like to know where to look. But if it isn’t the case, I’d like to help.

Right now, it seems that few people have a very deep knowledge of the platform. I’m not sure how my help would be appreciated, but worst case I can always poke them with questions and write everything down inside the project wiki, trying to get an idea of what is happening at different levels of abstraction.

Later, I can pull out my researcher hat and offer a lot of ideas. My field of research is programming languages for embedded real-time systems, so you can guess that I’d want to write a (more or less) formal model of the system and offload as much as possible to a DSL compiler. But that might come in a second step.

@gamelaster
Copy link
Member

Hi @Fofeu , all what you see there is what all we have, together with stuff which are available on wiki.pine64.org .

There is actually nobody with deep knowledge about SDK and platform. There is only @Ralim , which have some skills, as he made most of the work on community firmware, still, he does all based on reading existing code.

So, best thing at the moment is to try to research the SDK and project.

@Ralim
Copy link
Collaborator

Ralim commented Apr 5, 2023

Hia @Fofeu,

I'm probably one of the few that have done any sort of deep dive on the firmware.
We have no docs other than the wiki notes or what comments I've added as I've explored the firmware.
There is no model, and making one would be rather hard was large portions of the "interesting" code is binary blobs that we dont have the source to. (Doesnt mean its a bad idea, just be a little forewarned it would be an uphill battle at times).

Happy to help you or answer any questions; I can be found in the community chat for the Pinebuds 👋🏼 .

@Fofeu
Copy link
Author

Fofeu commented Apr 18, 2023

Thanks, I’ve looked at the build process last week (for me, it’s usually the best first step to get a framework of what is happening). If I have time, I’ll ping you and maybe you can answer some of my questions :)

Regarding the model. I know that the Model-Driven Engineering people have a very strict definition of what a "model" is, but imho a poor model is better than no model at all. For instance, we may not know how blob B does functionality F, but if we know that it does it by registering a task τ with function f, with start date O, priority P and period T, that’s already a good start. We are missing information (most notably communications and purity), but we switched from a total black box to basically the base real-time task model !

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

No branches or pull requests

3 participants