Git Product home page Git Product logo

air602_rust's Introduction

Trying Rust on Air602 (based on the W600 SoC)

This is a first step to write Rust code running on Air602

Air602

The libraries in air602/lib are just compiled / copied from the unofficial SDK. You can certainly compile get them yourself.

The tools in air602/bin are also just copied from the inofficial SDK.

A first helpfull introduction I found (about the Air602 in general - not for Rust) here besides the docs from Seeed Studio

This is for Windows but probably you can get it to work using the Python versions of the tools. Otherwise it uses the ARM-GCC toolchain.

How to

Since the C libraries are precompiled it should be enough to just use cargo xbuild and flash the image via flash.bat

Status

This is just an early, early first step! All it does is printing Hello World once a second in an endless loop. You can check that with a terminal like HTerm.

Notes

Probably you will have to change the COM port in flash.bat to flash the firmware.

Maybe you need to adapt the filename of GCC in .cargo/config

Versions used

  • cargo 1.41.0-nightly (8280633db 2019-11-11)
  • rustc 1.41.0-nightly (412f43ac5 2019-11-24)
  • arm-none-eabi-gcc.exe (GNU Tools for ARM Embedded Processors) 4.9.3 20141119 (release) [ARM/embedded-4_9-branch revision 218278] Copyright (C) 2014 Free Software Foundation, Inc.

Using later versions should not hurt - older ones maybe do.

What's missing

That's a lot - to make this actually useful at least Rust friendly wrappers for all the libraries are needed. Probably a bit more work since the FreeRTOS stuff is based a lot on macros and will require a C shim. There is a crate for that which apparently needs a more recent version of FreeRTOS than what is contained in the SDK.

Also the build process needs some improvements.

air602_rust's People

Contributors

bjoernq avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.