HWA
Bare metal programming with style

Detailed Description

Peripherals

Note All the peripherals are not completely implemented yet.

Object name Class Comments
port0 _gpa General purpose I/O port
timer1 _tm23a 23-bit timer
uart0 _uarta UART

Pins

Each pin can be connected to different signals with the configure action:

Pin HWA name Class Functions
GPIO0 gpio0 _ioa gpio, (spi0,cs2), clk_out
GPIO1 gpio1 _ioa gpio, (uart0,txd), (spi0,cs1), clk_rtc
GPIO2 gpio2 _ioa gpio, (i2so0,ws), (uart1,txd), (uart0,txd)
GPIO3 gpio3 _ioa gpio, (uart0,rxd), (i2so,data), fn_clk_xtal
GPIO4 gpio4 _ioa gpio, clk_xtal
GPIO5 gpio5 _ioa gpio, clk_rtc
GPIO6 gpio6 _ioa gpio, sd_clk, (spi0,clk), (uart1,cts)
GPIO7 gpio7 _ioa gpio, sd_data0, (spi0,q), (uart1,txd)
GPIO8 gpio8 _ioa gpio, sd_data1, (spi0,d), (uart1,rxd)
GPIO9 gpio9 _ioa gpio, sd_data2, (spi0,hd), (hspi0,hd)
GPIO10 gpio10 _ioa gpio, sd_data3, (spi0,wp), (hspi0,wp)
GPIO11 gpio11 _ioa gpio, sd_cmd, (spi0,cs0), (uart1,rts)
GPIO12 gpio12 _ioa gpio, mtdi, (i2si,data), (hspi0,miso), (uart0,dtr)
GPIO13 gpio13 _ioa gpio, mtck, (i2s0,bck), (hspi0,mosi), (uart0,cts)
GPIO14 gpio14 _ioa gpio, mtms, (i2si,ws), (hspi0,clk), (uart0,dsr)
GPIO15 gpio15 _ioa gpio, mtdo, (i2so0,bck), (hspi0,cs), (uart0,rts), (uart0,txd)
GPIO16 gpio16 _iob gpio, xpd_dcdc, external_wakeup, deep_sleep, bt_xtal_en

Target device description

These definitions are computed by HWA from the target device name and the definitions provided by the user.

#define HW_DEVICE_FAMILY   esp8266
 
#define HW_DEVICE_FAMILY_ESP8266
 
#define HW_DEVICE_VENDOR   espressif
 
#define HW_DEVICE_VENDOR_ESPRESSIF
 
#define HW_DEVICE_ARCH   xtensa
 
#define HW_DEVICE_ARCH_XTENSA
 

Macro Definition Documentation

◆ HW_DEVICE_ARCH

#define HW_DEVICE_ARCH   xtensa

Device architecture

◆ HW_DEVICE_ARCH_XTENSA

#define HW_DEVICE_ARCH_XTENSA

Device architecture

◆ HW_DEVICE_FAMILY

#define HW_DEVICE_FAMILY   esp8266

Device family

◆ HW_DEVICE_FAMILY_ESP8266

#define HW_DEVICE_FAMILY_ESP8266

Device family

◆ HW_DEVICE_VENDOR

#define HW_DEVICE_VENDOR   espressif

Device vendor

◆ HW_DEVICE_VENDOR_ESPRESSIF

#define HW_DEVICE_VENDOR_ESPRESSIF

Device vendor