2018-09-06 05:38:52 +08:00
|
|
|
# Sound Open Firmware
|
|
|
|
|
|
|
|
### Status
|
2020-06-06 11:30:15 +08:00
|
|
|
[![Build Status](https://travis-ci.org/thesofproject/sof.svg?branch=master)](https://travis-ci.org/thesofproject/sof/branches)
|
2020-05-21 03:48:18 +08:00
|
|
|
[![Gitter chat](https://badges.gitter.im/gitterHQ/gitter.png)](https://gitter.im/thesofproject/community)
|
2020-05-21 18:46:34 +08:00
|
|
|
[![IRC chat](https://img.shields.io/badge/IRC-%23sof-1e72ff.svg)](https://www.irccloud.com/invite?channel=%23sof&hostname=irc.freenode.net&port=6697&ssl=1)
|
2018-09-06 05:38:52 +08:00
|
|
|
|
2018-09-06 05:53:24 +08:00
|
|
|
### Documentation
|
|
|
|
|
|
|
|
See [docs](https://thesofproject.github.io/latest/index.html)
|
|
|
|
|
2018-09-06 05:38:52 +08:00
|
|
|
### Prerequisites
|
|
|
|
|
|
|
|
* Docker
|
2019-01-24 00:59:51 +08:00
|
|
|
* CMake (version >= 3.10)
|
2018-09-06 05:38:52 +08:00
|
|
|
|
|
|
|
### Build Instructions
|
|
|
|
|
2019-01-24 00:59:51 +08:00
|
|
|
1. Create directory in checked out repo for build files:
|
|
|
|
```
|
|
|
|
mkdir build && cd build
|
|
|
|
```
|
|
|
|
|
|
|
|
2. Run configuration for your toolchain:
|
|
|
|
|
2019-04-25 21:56:57 +08:00
|
|
|
Baytrail / Cherrytrail:
|
2019-01-24 00:59:51 +08:00
|
|
|
|
|
|
|
```
|
|
|
|
cmake -DTOOLCHAIN=xtensa-byt-elf -DROOT_DIR=`pwd`/../../xtensa-root/xtensa-byt-elf ..
|
|
|
|
```
|
|
|
|
|
|
|
|
Haswell / Broadwell:
|
|
|
|
|
|
|
|
```
|
|
|
|
cmake -DTOOLCHAIN=xtensa-hsw-elf -DROOT_DIR=`pwd`/../../xtensa-root/xtensa-hsw-elf ..
|
|
|
|
```
|
|
|
|
|
|
|
|
Apollolake:
|
|
|
|
|
|
|
|
```
|
|
|
|
cmake -DTOOLCHAIN=xtensa-apl-elf -DROOT_DIR=`pwd`/../../xtensa-root/xtensa-apl-elf ..
|
|
|
|
```
|
|
|
|
|
|
|
|
Cannonlake:
|
|
|
|
|
|
|
|
```
|
|
|
|
cmake -DTOOLCHAIN=xtensa-cnl-elf -DROOT_DIR=`pwd`/../../xtensa-root/xtensa-cnl-elf ..
|
|
|
|
```
|
|
|
|
|
|
|
|
3. Apply default config for your platform.
|
2018-09-06 05:38:52 +08:00
|
|
|
|
2019-01-24 00:59:51 +08:00
|
|
|
Baytrail:
|
2018-09-06 05:38:52 +08:00
|
|
|
|
|
|
|
```
|
2019-01-24 00:59:51 +08:00
|
|
|
make baytrail_defconfig
|
2018-09-06 05:38:52 +08:00
|
|
|
```
|
|
|
|
|
2019-01-24 00:59:51 +08:00
|
|
|
Cherrytrail:
|
2018-09-06 05:38:52 +08:00
|
|
|
|
2019-01-24 00:59:51 +08:00
|
|
|
```
|
|
|
|
make cherrytrail_defconfig
|
|
|
|
```
|
2018-09-06 05:38:52 +08:00
|
|
|
|
2019-01-24 00:59:51 +08:00
|
|
|
Haswell:
|
2018-09-06 05:38:52 +08:00
|
|
|
|
2019-01-24 00:59:51 +08:00
|
|
|
```
|
|
|
|
make haswell_defconfig
|
|
|
|
```
|
2018-09-06 05:38:52 +08:00
|
|
|
|
2019-01-24 00:59:51 +08:00
|
|
|
Broadwell:
|
2018-09-06 05:38:52 +08:00
|
|
|
|
2019-01-24 00:59:51 +08:00
|
|
|
```
|
|
|
|
make broadwell_defconfig
|
|
|
|
```
|
2018-09-06 05:38:52 +08:00
|
|
|
|
2019-01-24 00:59:51 +08:00
|
|
|
Apollolake:
|
2018-09-06 05:38:52 +08:00
|
|
|
|
2019-01-24 00:59:51 +08:00
|
|
|
```
|
|
|
|
make apollolake_defconfig
|
|
|
|
```
|
2018-09-06 05:38:52 +08:00
|
|
|
|
2019-01-24 00:59:51 +08:00
|
|
|
Cannonlake:
|
2018-09-06 05:38:52 +08:00
|
|
|
|
2019-01-24 00:59:51 +08:00
|
|
|
```
|
|
|
|
make cannonlake_defconfig
|
|
|
|
```
|
|
|
|
|
|
|
|
4. (Optional) Customize your configuration
|
|
|
|
|
|
|
|
```
|
|
|
|
make menuconfig
|
|
|
|
```
|
|
|
|
|
|
|
|
5. Build firmware
|
|
|
|
|
|
|
|
```
|
|
|
|
make bin
|
|
|
|
# or `make bin -j<jobs>` for parallel build
|
|
|
|
```
|
2018-09-06 05:38:52 +08:00
|
|
|
|
|
|
|
## Running the tests
|
|
|
|
|
2018-09-06 05:57:37 +08:00
|
|
|
See [unit testing documentation](https://thesofproject.github.io/latest/developer_guides/unit_tests.html)
|
2018-09-06 05:38:52 +08:00
|
|
|
|
|
|
|
## Deployment
|
|
|
|
|
2019-01-24 00:59:51 +08:00
|
|
|
TODO: Add additional notes about how to deploy this on a live system
|
2018-09-06 05:38:52 +08:00
|
|
|
|
|
|
|
## Contributing
|
|
|
|
|
2019-01-24 00:59:51 +08:00
|
|
|
See [Contributing to the Project](https://thesofproject.github.io/latest/contribute/index.html)
|
2018-09-06 05:38:52 +08:00
|
|
|
|
|
|
|
## License
|
|
|
|
|
2018-09-06 05:49:18 +08:00
|
|
|
This project is licensed under the BSD Clause 3 - see the [LICENCE](LICENCE) file for details
|