bjoernQ / air602_rust

A basic hello world app for the Air602 wifi module written in Rust

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

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.

About

A basic hello world app for the Air602 wifi module written in Rust


Languages

Language:Python 53.8%Language:Makefile 28.5%Language:Batchfile 12.5%Language:Rust 3.5%Language:GDB 1.8%