Skip to content

Commit 47d185b

Browse files
committed
misc: Initial commit based on embARC 2017.03
Use source code of embARC 2017.03 as initial commit of embarc_osp repo. - Remove doxygen generated documentation from doc folder - Add doxygen formatted source code and doxygen configuration file - Remove example/freertos/iot/aws examples, these examples will be part of embarc_applications repo
0 parents  commit 47d185b

File tree

3,400 files changed

+825620
-0
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

3,400 files changed

+825620
-0
lines changed

.astyle/embarc_astylerc

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
### Bracket Style Options
2+
--style=linux
3+
### Indentation Options
4+
--indent=force-tab --indent=tab --indent-classes --indent-switches --indent-cases --indent-namespaces
5+
### Indentation Options
6+
--indent-preproc-block --indent-preproc-define --min-conditional-indent=1
7+
### Padding Options
8+
--break-blocks --pad-header --align-pointer=name --align-reference=name
9+
### Formatting Options
10+
--add-brackets --keep-one-line-statements --max-code-length=120
11+
### Bracket Modify Options
12+
--attach-namespaces --attach-classes --attach-inlines --attach-extern-c

.github/CODE_OF_CONDUCT.md

Lines changed: 47 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,47 @@
1+
# Contributor Covenant Code of Conduct
2+
3+
## Our Pledge
4+
5+
In the interest of fostering an open and welcoming environment, we as contributors and maintainers pledge to making participation in our project and our community a harassment-free experience for everyone, regardless of age, body size, disability, ethnicity, gender identity and expression, level of experience, nationality, personal appearance, race, religion, or sexual identity and orientation.
6+
7+
## Our Standards
8+
9+
Examples of behavior that contributes to creating a positive environment include:
10+
11+
* Using welcoming and inclusive language
12+
* Being respectful of differing viewpoints and experiences
13+
* Gracefully accepting constructive criticism
14+
* Focusing on what is best for the community
15+
* Showing empathy towards other community members
16+
17+
Examples of unacceptable behavior by participants include:
18+
19+
* The use of sexualized language or imagery and unwelcome sexual attention or advances
20+
* Trolling, insulting/derogatory comments, and personal or political attacks
21+
* Public or private harassment
22+
* Publishing others' private information, such as a physical or electronic address, without explicit permission
23+
* Other conduct which could reasonably be considered inappropriate in a professional setting
24+
25+
## Our Responsibilities
26+
27+
Project maintainers may clarify the standards of acceptable behavior and may take appropriate and fair corrective action in response to any instances of unacceptable behavior.
28+
29+
Project maintainers have the right to remove, edit, or reject comments, commits, code, wiki edits, issues, and other contributions that are not aligned to this Code of Conduct, or to ban temporarily or permanently any contributor for other behaviors that they deem inappropriate, threatening, offensive, or harmful.
30+
31+
## Scope
32+
33+
This Code of Conduct applies both within project spaces and in public spaces when an individual is representing the project or its community. Examples of representing a project or community include using an official project e-mail address, posting via an official social media account, or acting as an appointed representative at an online or offline event. Representation of a project may be further defined and clarified by project maintainers.
34+
35+
## Enforcement
36+
37+
Instances of abusive, harassing, or otherwise unacceptable behavior may be reported by contacting the project team at [email protected] [mailto:[email protected]]. All complaints will be reviewed and project maintainers will have the right to respond in any manner deemed necessary and appropriate to the circumstances. The project team intends to maintain confidentiality with regard to the reporter of an incident. Further details of specific enforcement policies may be posted separately.
38+
39+
Project maintainers who do not follow or enforce the Code of Conduct in good faith may face temporary or permanent repercussions as determined by other members of the project's leadership.
40+
41+
42+
## Attribution
43+
44+
This Code of Conduct is adapted from the [Contributor Covenant][homepage], version 1.4, available at [http://contributor-covenant.org/version/1/4][version]
45+
46+
[homepage]: http://contributor-covenant.org
47+
[version]: http://contributor-covenant.org/version/1/4/

.github/CONTRIBUTING.md

Lines changed: 213 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,213 @@
1+
# Contributing to embARC OSP
2+
3+
Thank you for contributing to embARC.
4+
5+
The following is a set of guidelines for contributing to embARC Open Software Platform (OSP), which is hosted in the [embARC Open Software Platform](https://github.com/foss-for-synopsys-dwc-arc-processors/embarc_osp) repository on GitHub.
6+
7+
These guidelines must be followed when submitting contributions to Synopsys projects to help ensure requests are processed as efficiently as possible. If you have any questions or concerns, please feel free to contact us at [[email protected]](mailto:[email protected]).
8+
9+
#### Table Of Contents
10+
11+
[What should I know before I get started?](#what-should-i-know-before-i-get-started)
12+
* [Code of Conduct](#code-of-conduct)
13+
* [embARC OSP and Applications](#embarc-osp-and-applications)
14+
* [embARC OSP Design Decisions](#embarc-osp-design-decisions)
15+
16+
[How Can I Contribute?](#how-can-i-contribute)
17+
* [Reporting Bugs](#reporting-bugs)
18+
* [Suggesting Enhancements](#suggesting-enhancements)
19+
* [Your First Code Contribution](#your-first-code-contribution)
20+
* [Pull Requests](#pull-requests)
21+
22+
[Styleguides](#styleguides)
23+
* [Git Commit Messages](#git-commit-messages)
24+
* [C Styleguide](#c-styleguide)
25+
* [Documentation Styleguide](#documentation-styleguide)
26+
27+
[Additional Notes](#additional-notes)
28+
* [Issue and Pull Request Labels](#issue-and-pull-request-labels)
29+
30+
## What should I know before I get started?
31+
32+
### Code of Conduct
33+
34+
This project adheres to the Contributor Covenant [code of conduct](CODE_OF_CONDUCT.md).
35+
By participating, you are expected to uphold this code.
36+
Please report unacceptable behavior to [[email protected]](mailto:[email protected]).
37+
38+
### embARC OSP and Applications
39+
40+
embARC OSP is an open software platform designed to help accelerate the development and production of embedded systems based on DesignWare ARC processors. Applications are the applications which are writing based on embARC Open Software Platform.
41+
42+
We host the following two repositories to be used in conjunction with each other when working with embARC OSP:
43+
- [embarc_osp](https://github.com/foss-for-synopsys-dwc-arc-processors/embarc_osp) - The embARC Open Software Platform including core services, platform support adn integrated networking, security and IoT middleware
44+
- [embarc_applications](https://github.com/foss-for-synopsys-dwc-arc-processors/embarc_applications) - Applications written using the embARC OSP
45+
46+
When you consider contributing or raising a issue against embARC OSP or Applications, please go to corresponding repository above.
47+
48+
### embARC OSP Design Decisions
49+
50+
When we make a significant decision in how we maintain the project and what we can or cannot support, we will document it in the github wiki. If you have a question around how we do things, check to see if it is documented there. If it is *not* documented there, please open a new issue on [embARC Open Software Platform](https://github.com/foss-for-synopsys-dwc-arc-processors/embarc_osp/issues) and ask your question.
51+
52+
## How Can I Contribute?
53+
54+
### Reporting Bugs
55+
56+
This section guides you through submitting a bug report against embARC projects. Following these guidelines helps maintainers and the community understand your report :pencil:, reproduce the behavior :computer: :computer:, and find related reports :mag_right:.
57+
58+
Before creating bug reports, please check [this list](#before-submitting-a-bug-report) as you might find out that you don't need to create one. When you are creating a bug report, please [include as many details as possible](#how-do-i-submit-a-good-bug-report). Please use the template provided for this purpose.
59+
60+
#### Before Submitting A Bug Report
61+
62+
* **Check the embARC OSP documentation.** You might be able to find the cause of the problem and fix things yourself. Most importantly, check if you can reproduce the problem in the latest version of embARC OSP, if the problem happens when you run using both the Metaware and the GNU toolchain for ARC Processors.
63+
* **Check the embARC OSP FAQs** for a list of common questions and problems.
64+
* **Determine [which repository the problem should be reported in](#embarc-osp-and-applications)**.
65+
* **Perform a cursory search in related embARC repositories** to see if the problem has already been reported. If it has, add a comment to the existing issue instead of opening a new one.
66+
67+
#### How Do I Submit A (Good) Bug Report?
68+
69+
Bugs are tracked as [GitHub issues](https://guides.github.com/features/issues/). After you've determined [which repository](#embarc-osp-and-applications) your bug is related to, create an issue on that repository and provide the following information.
70+
71+
Explain the problem and include additional details to help maintainers reproduce the problem:
72+
73+
* **Use a clear and descriptive title** for the issue to identify the problem.
74+
* **Describe the exact steps which reproduce the problem** in as many details as possible. For example, start by explaining which release or commit of embARC OSP you are using, and how you use embARC OSP, e.g. which command exactly you used in the terminal. When listing steps, **don't just say what you did, but explain how you did it**. For example, if you run a command, explain which terminal you use and the directory where you run the command?
75+
* **Provide specific examples to demonstrate the steps**. Include links to files or GitHub projects, or copy/pasteable snippets, which you use in those examples. If you're providing snippets in the issue, use [Markdown code blocks](https://help.github.com/articles/markdown-basics/#multiple-lines).
76+
* **Describe the behavior you observed after following the steps** and point out the exact problem with that behavior.
77+
* **Explain which behavior you expected to see instead and why.**
78+
* **Include screenshots and animated GIFs** which show you following the described steps and clearly demonstrate the problem. You can try to **record the GIF of the steps to reproduce the bug**. You can use [licecap](http://www.cockos.com/licecap/) to record GIFs on macOS and Windows, and [silentcast](https://github.com/colinkeenan/silentcast) or [byzanz](https://github.com/GNOME/byzanz) on Linux.
79+
* **If you're reporting embARC OSP compilation failures**, include a verbose compiling log. Include the compiling log in the issue in a [code block](https://help.github.com/articles/markdown-basics/#multiple-lines), a [file attachment](https://help.github.com/articles/file-attachments-on-issues-and-pull-requests/), or put it in a [gist](https://gist.github.com/) and provide link to that gist.
80+
* **If the problem happens randomly**, describe what you were doing before the problem happened and share more information using the guidelines below.
81+
82+
Provide more context by answering these questions:
83+
84+
* **Can you reproduce the problem in latest release of embARC OSP?**
85+
* **Can you reliably reproduce the issue?** If not, provide details about how often the problem happens and under which conditions it normally happens.
86+
* If the problem is related to embARC applications, please go to the embARC applications repository and report is by filing an issue
87+
88+
Include details about your configuration and environment:
89+
90+
* **Which version of embARC OSP are you using?** Provide the release version or commit of embARC OSP.
91+
* **Provide name and version of the OS and toolchain you are using**
92+
* **Provide hardware board and arc core you are using**
93+
94+
#### [Template For Submitting Bug Reports](ISSUE_TEMPLATE.md)
95+
96+
### Suggesting Enhancements
97+
98+
This section guides you through submitting an enhancement suggestion for embARC OSP, including completely new features and minor improvements to existing functionality. Following these guidelines helps maintainers and the community understand your suggestion :pencil: and find related suggestions :mag_right:.
99+
100+
Before creating enhancement suggestions, please check [this list](#before-submitting-an-enhancement-suggestion) as you might find out that you don't need to create one. When you are creating an enhancement suggestion, please [include as many details as possible](#how-do-i-submit-a-good-enhancement-suggestion). If you'd like, you can use [this template](#template-for-submitting-enhancement-suggestions) to structure the information.
101+
102+
#### Before Submitting An Enhancement Suggestion
103+
104+
* Check the embARC OSP documentation, and embARC OSP roadmap.
105+
* Check if the enhancement is already developed or in development in latest sourcecode.
106+
* **Determine [which repository the enhancement should be suggested in](#embarc-osp-and-applications).**
107+
**Perform a cursory search in related embARC repositories** to see if the enhancement has already been suggested. If it has, add a comment to the existing issue instead of opening a new one.
108+
109+
#### How Do I Submit A (Good) Enhancement Suggestion?
110+
111+
Enhancement suggestions are tracked as [GitHub issues](https://guides.github.com/features/issues/). After you've determined [which repository](#embarc-osp-and-applications) your enhancement suggestions is related to, create an issue on that repository and provide the following information:
112+
113+
* **Use a clear and descriptive title** for the issue to identify the suggestion.
114+
* **Provide a step-by-step description of the suggested enhancement** in as many details as possible.
115+
* **Provide specific examples to demonstrate the steps**. Include copy/pasteable snippets which you use in those examples, as [Markdown code blocks](https://help.github.com/articles/markdown-basics/#multiple-lines).
116+
* **Describe the current behavior** and **explain which behavior you expected to see instead** and why.
117+
* **Include screenshots and animated GIFs** which show you following the described steps and clearly demonstrate the problem. You can try to **record the GIF of the steps to reproduce the bug**. You can use [licecap](http://www.cockos.com/licecap/) to record GIFs on macOS and Windows, and [silentcast](https://github.com/colinkeenan/silentcast) or [byzanz](https://github.com/GNOME/byzanz) on Linux.
118+
* **Explain why this enhancement would be useful** to most embARC OSP users and isn't something that already existed as similiar feature.
119+
* **List some other text software platform where this enhancement exists.**
120+
* **Specify the name and version of the OS you're using.**
121+
122+
#### [Template For Submitting Enhancement Suggestions](ISSUE_TEMPLATE.md)
123+
124+
### Your First Code Contribution
125+
126+
Unsure where to begin contributing to embARC OSP? You can start by looking through the existing issues.
127+
128+
If you want to read about using embARC OSP or developing board support package, peripheral drivers, libraries, middlewares or applications in embARC OSP, the [embARC OSP documentation](http://foss-for-synopsys-dwc-arc-processors.github.io/embarc_osp) is free and available online.
129+
130+
### Pull Requests
131+
132+
* Include screenshots and/or animated GIFs in your pull request whenever possible.
133+
* Follow the [C](#c-styleguide) styleguide.
134+
* Include thoughtfully-worded, well-structured specs in your doc folder or `readme.md`.
135+
* Document new code based on the [Documentation Styleguide](#documentation-styleguide)
136+
* End files with a newline.
137+
138+
## Styleguides
139+
140+
### Git Commit Messages
141+
142+
* Following the [good commit guideline](http://chris.beams.io/posts/git-commit/).
143+
* Use the present tense ("Add feature" not "Added feature")
144+
* Use the imperative mood ("Move cursor to..." not "Moves cursor to...")
145+
* Limit the first line to 72 characters or less
146+
* Reference issues and pull requests liberally
147+
* Consider starting the commit message with an category and colon:
148+
* `arc:` changes related to arc core
149+
* `board:` changes related to board support packages
150+
* `device:` changes related to device hal
151+
* `peripheral:` changes releated to peripheral drivers
152+
* `library:` changes related to libraries
153+
* `middleware:` changes related to middlewares
154+
* `os:` changes related to OSes
155+
* `test:` changes related to test cases
156+
* `doc:` changes related to documentation
157+
* `build:` changes related to build system
158+
* `tool:` changes related to tools
159+
* `example:` changes related to examples
160+
* `application:` changes related to applications
161+
* `misc:` changes not categorized
162+
163+
### C Styleguide
164+
165+
All C source code must adhere to [Linux Kernel Coding Style](https://www.kernel.org/doc/Documentation/CodingStyle).
166+
Here we use [AStyle tool](http://astyle.sourceforge.net/) to format the source code. The astyle option is provided [here](.astyle/embarc_astylerc).
167+
168+
To help with writing c source code in editor, you can install plugin for your editor.
169+
- For sublime-text editor, you can use [SublimeAStyleFormatter](https://packagecontrol.io/packages/SublimeAStyleFormatter) plugin.
170+
171+
### Documentation Styleguide
172+
173+
* Use [Doxygen](http://www.stack.nl/~dimitri/doxygen/index.html).
174+
- To help with documentation in source code, you can install doxygen plugins for your editor.
175+
+ For sublime-text editor, you can use [Doc​Blockr](https://packagecontrol.io/packages/DocBlockr) plugin.
176+
* Use [Markdown](https://daringfireball.net/projects/markdown).
177+
178+
#### Example
179+
180+
```c
181+
/**
182+
* \brief Reserve a DMA channel, and bind it with dma_chn, and set the dma
183+
* trigger source
184+
*
185+
* \param[in] channel This can be DMA_CHN_ANY or any valid
186+
* channel id. For DMA_CHN_ANY, it will try
187+
* to peek an available channel. For any
188+
* valid channel id, it will try to reserve
189+
* that channel.
190+
* \param dma_chn uDMA channel structure, should not be
191+
* NULL
192+
* \param[in] source DMA trigger source, this can be any value
193+
* in dma_request_source_t enum
194+
*
195+
* \retval DMA_CHN_INVALID dma_chn is NULL, or channel is not a
196+
* valid one, or there is no channel
197+
* available now
198+
* \retval 0-DMA_ALL_CHANNEL_NUM the channel id that reserved
199+
*/
200+
```
201+
202+
## Additional Notes
203+
204+
### Issue and Pull Request Labels
205+
206+
This section lists the labels we use to help us track and manage issues and pull requests. Most labels are used across all embARC repositories.
207+
208+
[GitHub search](https://help.github.com/articles/searching-issues/) makes it easy to use labels for finding groups of issues or pull requests you're interested in.
209+
210+
The labels are loosely grouped by their purpose, but it's not required that every issue have a label from every group or that an issue can't have more than one label from the same group.
211+
212+
## Special Thanks to the Atom Project
213+
The contribution guideline takes a lot of reference from the [Atom Contribution Guideline](https://github.com/atom/atom/blob/master/CONTRIBUTING.md).

0 commit comments

Comments
 (0)