Skip to content

AmbiqMicro/ambiqzephyr

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Ambiq® is an Austin-based SoC vendor who at the forefront of enabling ambient intelligence on billions of devices with the unique SPOT platform and extreme-low power semiconductor solutions.

Whether it's the Real Time Clock (RTC) IC, or a System-on-a-Chip (SoC), Ambiq® is committed to enabling the lowest power consumption with the highest computing performance possible for our customers to make the most innovative battery-power endpoint devices for their end-users. Ambiq Products

Status

As of now, Ambiq provides zephyr support for a set of peripherals/drivers:

Driver Apollo510 Stable codes at Sample Board
ADC
apollo510-dev samples\drivers\adc\adc_dt All
AUDADC
apollo510-dev samples\drivers\audio\amic All
COUNTER
apollo510-dev samples\drivers\counter\alarm All
CRYPTO coming soon      
DISPLAY
apollo510-dev samples\drivers\display with ap510_disp
FLASH
apollo510-dev tests\drivers\flash_api All
HWINFO
apollo510-dev tests\drivers\hwinfo\api All
I2C
apollo510-dev samples\drivers\eeprom apollo510_eb only
I2S
apollo510-dev samples\drivers\i2s\dmic_i2s All
INPUT
apollo510-dev samples\subsys\input\draw_touch_events with ap510_disp
MIPI_DSI
apollo510-dev samples\drivers\display with ap510_disp
MSPI
apollo510-dev samples\drivers\mspi\mspi_flash All
PDM
apollo510-dev samples\drivers\audio\dmic All
PM
apollo510-dev samples\subsys\pm\device_pm All
PWM
apollo510-dev samples\drivers\led\pwm apollo510_evb only
RTC
apollo510-dev samples\drivers\rtc All
SDHC
apollo510-dev samples\subsys\fs\fs_sample All
SPI
apollo510-dev samples\boards\ambiq\spi_serial_flash apollo510_eb only
TIMER
apollo510-dev samples\philosophers All
TRNG
apollo510-dev tests\drivers\entropy\api All
UART
apollo510-dev samples\drivers\uart\echo_bot All
USB
apollo510-dev samples\drivers\subsys\usb\mass All
WDT
apollo510-dev samples\drivers\watchdog All

And also there are supports for some third-party libs:

Lib Apollo510 Stable codes at Sample Board
coremark
apollo510-dev samples\benchmarks\coremark All
fatfs
apollo510-dev samples\subsys\fs\fs_sample All
mbedtls coming soon      
lvgl coming soon      

Together with generic support for ARM Cortex-M peripherals like cache, interrupt controller, etc.

Getting Started

Welcome to Ambiq Zephyr! See the Introduction to Zephyr for a high-level overview, and the documentation's Getting Started Guide to start developing.

Check Ambiq SoC for Ambiq Apollo SoCs documents.

Setup Development Environment

Follow Getting Started Guide to install denpendencies and use west tool to get the Zephyr source code to local. Install Zephyr SDK and check whether the environment variables are set properly.

Upstream Repository Synchronization

Execute git remote -v to check if upstream has been configured.

If not, execute git remote add upstream https://github.com/AmbiqMicro/ambiqzephyr to configure the ambiqzephyr base to your upstream repository.

Execute git remote -v again to check if it configures successfully.

Execute git fetch upstream to fetch the upstream repository.

Execute git checkout apollo510-dev to get the latest apollo510 development branch.

Get to Know Ambiq Components

zephyr/
│
├── boards/
│   ├── ambiq/
│   │   └── apollo510_evb
│   └── shields/
│       └── ap510_disp
├── drivers/
│   ├── adc/
│   │   └── adc_ambiq.c
│   ├── audio/
│   │   ├── amic_ambiq_audadc.c
│   │   └── dmic_ambiq_pdm.c
│   ├── bluetooth/
│   │   └── hci/
│   │       ├── apollox_blue.c
│   │       └── hci_ambiq.c
│   ├── clock_control/
│   │   └── clock_control_ambiq.c
│   ├── counter/
│   │   └── counter_ambiq_timer.c
│   ├── display/
│   │   └── display_co5300.c
│   ├── entropy/
│   │   └── entropy_ambiq_puf_trng.c
│   ├── flash/
│   │   └── flash_ambiq.c
│   ├── gpio/
│   │   └── gpio_ambiq.c
│   ├── hwinfo/
│   │   └── hwinfo_ambiq.c
│   ├── i2c/
│   │   └── i2c_ambiq.c
│   ├── i2s/
│   │   └── i2s_ambiq.c
│   ├── mipi_dsi/
│   │   └── dsi_ambiq.c
│   ├── mspi/
│   │   ├── mspi_ambiq_ap5.c
│   │   └── mspi_ambiq_timing_scan.c
│   ├── pinctrl/
│   │   └── pinctrl_ambiq.c
│   ├── pwm/
│   │   └── pwm_ambiq_timer.c
│   ├── rtc/
│   │   └── rtc_ambiq.c
│   ├── sdhc/
│   │   └── sdhc_ambiq.c
│   ├── serial/
│   │   └── uart_ambiq.c
│   ├── spi/
│   │   ├── spi_ambiq_spic.c
│   │   └── spi_ambiq_spid.c
│   ├── timer/
│   │   └── ambiq_stimer.c
│   ├── usb/
│   │   └── udc/
│   │       └── udc_ambiq.c
│   └── watchdog/
│       └── wdt_ambiq.c
├── dts/
│   └── arm/
│       └── ambiq/
│           └── ambiq_apollo510.dtsi
├── modules/
│   └── hal_ambiq
└── soc/
    └── ambiq/
        └── apollo5x

Build and Flash the Samples

Make sure you have already installed proper version of JLINK which supports corresponding ambiq SoC, and added the path of JLINK.exe (e.g. C:Program FilesSEGGERJLink) to the environment variables.

Go the Zephyr root path, execute west build -b <your-board-name> <samples> -p always to build the samples for your board. For example, build zephyr/samples/hello_world for apollo510_evb: west build -b apollo510_evb ./samples/hello_world -p always.

Execute west flash to flash the binary to the EVB if the zephyr.bin has been generated by west build.

In default we use UART COM for console, and the default baudrate is 115200, so after west flash, open the serial terminal and set proper baudrate for the UART COM of plugged EVB.

You should be able to see the logs in the serial terminal.

*** Booting Zephyr OS build v4.1.0-7246-gad4c3e3e9afe ***

Hello World! apollo510_evb/apollo510

For those samples that require additional hardware, such as the ap510_disp shield, you need to set the shield option when building. For example:

west build -b apollo510_evb --shield ap510_disp ./samples/drivers/display -p always

Community Support

Community support is provided via mailing lists and Discord; see the Resources below for details.

Resources

Here's a quick summary of resources to help you find your way around:

Getting Started

Code and Development

Community and Support

Issue Tracking and Security

Additional Resources

About

Ambiq fork of Primary Git Repository for the Zephyr Project.

Resources

License

Code of conduct

Contributing

Security policy

Stars

Watchers

Forks

Packages

No packages published

Languages

  • C 90.0%
  • Python 4.7%
  • CMake 2.8%
  • Linker Script 0.9%
  • Shell 0.6%
  • Assembly 0.5%
  • Other 0.5%