mirror of
https://github.com/dgoodlad/rtl8710-sdk.git
synced 2024-12-04 03:50:28 +00:00
Add a README
This commit is contained in:
parent
57db27770b
commit
dbced14514
2 changed files with 76 additions and 0 deletions
20
LICENSE.md
Normal file
20
LICENSE.md
Normal file
|
@ -0,0 +1,20 @@
|
|||
NOTE: The below DOES NOT apply to software in the `vendor/` directory.
|
||||
|
||||
Copyright (c) 2019 David Goodlad
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy of
|
||||
this software and associated documentation files (the "Software"), to deal in
|
||||
the Software without restriction, including without limitation the rights to
|
||||
use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
|
||||
the Software, and to permit persons to whom the Software is furnished to do so,
|
||||
subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in all
|
||||
copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
|
||||
FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
|
||||
COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
|
||||
IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
|
||||
CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
56
README.md
Normal file
56
README.md
Normal file
|
@ -0,0 +1,56 @@
|
|||
# rtl8710-sdk
|
||||
|
||||
Work-in-progress Rust wrapper for the RTL8710 single-chip wifi module [standard
|
||||
SDK](https://www.amebaiot.com/en/ameba-sdk-intro/).
|
||||
|
||||
The SDK is `v4.0b`, slimmed down to only the parts required to compile. The
|
||||
build is, for now, based on
|
||||
`project/realtek_ameba1_va0_example/GCC-RELEASE/application.mk` from the SDK,
|
||||
implemented as a call out to the `cc` crate in `build.rs`.
|
||||
|
||||
## Prerequisites
|
||||
|
||||
Requires rust nightly and a couple of `rustup` components:
|
||||
|
||||
``` sh
|
||||
# Install the nightly toolchain, required for some experimental features
|
||||
rustup override set nightly
|
||||
|
||||
# Install the rust target for the ARM Cortex-M3 microcontroller
|
||||
rustup target add thumbv7m-none-eabi
|
||||
|
||||
# Install some required components for the build
|
||||
rustup component add llvm-tools-preview
|
||||
rustup component add rust-src
|
||||
rustup component add rustfmt
|
||||
```
|
||||
|
||||
## Usage
|
||||
|
||||
This is very much WIP, so not easy to describe. The gist looks like this:
|
||||
|
||||
1. Make a new binary crate for your project
|
||||
2. Add `rtl8710-sdk` as a dependency
|
||||
3. Configure cargo to link properly in `.cargo/config`:
|
||||
|
||||
[target.thumbv7m-none-eabi]
|
||||
runner = 'gdb-multiarch'
|
||||
rustflags = [
|
||||
"-C", "linker=arm-none-eabi-ld",
|
||||
"-C", "link-arg=-Tlink.x",
|
||||
"-C", "link-arg=-nostartfiles",
|
||||
]
|
||||
|
||||
[build]
|
||||
target = "thumbv7m-none-eabi"
|
||||
|
||||
You'll need a linker script (`link.x`) derived from the
|
||||
`rlx8195A-symbol-v02-img2.ld` script in the SDK. That's up to you for now.
|
||||
|
||||
The resulting binary should be set to load via a debugger (e.g. `gdb` with
|
||||
`openocd`). Nothing here prepares it to flash to the device, though!
|
||||
|
||||
## License
|
||||
|
||||
This work is license under the MIT license. The original SDK software included
|
||||
in the `vendor` directory is provided under its respective license(s).
|
Loading…
Reference in a new issue