commit | a398eeda8c7a07ae04e41d80e9fedb976c5db8eb | [log] [tgz] |
---|---|---|
author | pigweed-roller <pigweed-roller@pigweed.infra.roller.pigweed-service-accounts.iam.gserviceaccount.com> | Mon May 26 10:51:51 2025 -0700 |
committer | CQ Bot Account <pigweed-scoped@luci-project-accounts.iam.gserviceaccount.com> | Mon May 26 10:51:51 2025 -0700 |
tree | da0f3983d6f2c05913f282f22090437eda5bf2c4 | |
parent | 8441452c2f73d8b3ea630a99c1c8b33c576e3554 [diff] |
roll: third_party/pigweed roll: zephyr 74056a7 boards: st: stm32f0_disco: fix partition inline comment 785c454 boards: st: fix STM32WL5 boards DTS files coding style a8430ef boards: st: fix STM32WB boards DTS files coding style 0e8069e boards: st: fix STM32WBA boards DTS files coding style 84add0d boards: st: fix STM32WB0 boards DTS files coding style 2418d03 boards: st: fix STM3U5 boards DTS files coding style d9354ad boards: st: fix STM3U0 boards DTS files coding style 9777242 boards: st: fix STM3N6 boards DTS files coding style cb09d19 boards: st: fix STM3MP1* boards DTS files coding style 0a3526b boards: st: fix STM32L5 boards DTS files coding style 37d545a boards: st: fix STM32L4 boards DTS files coding style ea0eace boards: st: fix STM32L1 boards DTS files coding style af3f64f boards: st: fix STM32L0 boards DTS files coding style 39a9fe9 boards: st: fix STM32H7* boards DTS files coding style 135e0dd boards: st: fix STM32H5 boards DTS files coding style 1aa8f51 boards: st: fix STM32G4 boards DTS files coding style e8e3560 boards: st: fix STM32G0 boards DTS files coding style 3782c24 boards: st: fix STM32F7 boards DTS files coding style 721b3b8 boards: st: fix STM32F4 boards DTS files coding style b6a3c0c boards: st: fix STM32F3 boards DTS files coding style 41129ab boards: st: fix STM32F2 boards DTS files coding style c217fc4 boards: st: fix STM32F1 boards DTS files coding style c865aa5 boards: st: fix STM32F0 boards DTS files coding style 8f02dc5 boards: st: fix STM32C0 boards DTS files coding style 440de0d fs: nvs: fix invalid block compare when data CRC is enabled 691816d tests: drivers: spi: spi_loopback: Test fast spi on slow GPIO port 623479c Bluetooth: RFCOMM: Fix CR bit in DISC frame f06f6be boards: ai_wb2_12f: default to bflb_mcu_tool runner for flashing 75972e0 tests: west_runners: Add bflb_mcu_tool to import test f275463 boards: bl604e_iot_dvk: default to bflb_mcu_tool runner for flashing fb937be scripts: runners: Introduce bflb_mcu_tool runner 94f78a0 drivers: display: Fix Black White Red SSD16xx displays e70fef3 samples: net/secure_mqtt_sensor_actuator: replenish filter condition 0baa6bc sample: sensor: Add support for temperature sensor on RT700 cm33_cpu1 84fb870 dts: arm: nxp: add i3c2/3 instances for cm33_cpu1 64ac57a arch: arm: Added IAR support to ARM irq header macros 8cfd849 arch: arm: mpu: Fix alignment check for iccarm a9f2a19 boards: Add support for the board CH32V303EVT be9549b soc: Add support for the WCH CH32V303 2b91c46 modules: Update hal_wch 265cfb4 boards: variscite: Adjust index.rst d3ecec1 boards: variscite: Add Variscite DART-MX93 board aa3af71 shields: add shield.yml for st_b_cams_imx_mb1854 b2de146 boards: ti: lp_mspm0g3507: fix doc to use code-block 18360d5 dts: arm: ti: mspm0: fix typo c4866ec soc: cyw20829: Initial integrate Cypress MCUBoot for 20829 968704e soc: cyw20829: add support of Secure LCS 7ef83fc soc: cyw20829: Use python script to generate app header 3d26d4c boards: cyw20829: add custom flashloader with 64k of erase block size bcf4d1a doc: west: releases: Fix typo 732c80f ci: use new docker image v0.28.0.20250523 b8f3263 toolchain: clang: compiler opt: -Ofast -> -O3 -ffast-math e4b4a8d riscv: Increase TEST_EXTRA_STACK_SIZE to 4096 if c++ exceptions 3cdc5a9 tests/kernel: Disable -Werror when testing deprecated pipe APIs 0adac7c libc/minimal: Add stub 'sys/lock.h' 74c9e7a tests/c_lib: Skip double sqrt test when double is not 64 bits c6a2107 doc: release-notes-4.2: Information about TC shim dfde321 drivers; crypto: Remove TinyCrypt shim 2ddec2f arch: arm: update to use CMSIS_6 compatible macros 8b13c60 modules: CMSIS_6: update copyright b853f01 doc: Update on switch to CMSIS_6 219fae6 sca: llvm: add support for clang static analyzer 7e00170 doc: toolchain: ATfE: fix formating b234e86 tests: net: lib: lwm2m: detects no-operation setter and getter functions 42ad579 samples: drivers: adc_sequence: Add lp_em_cc2340r5 DT overlay 0acad3e samples: drivers: adc_dt: Add lp_em_cc2340r5 DT overlay 0800aa0 boards: ti: lp_em_cc2340r5: Add ADC support d9134b3 dts: arm: ti: cc23x0: Add ADC support dd5ed02 drivers: adc: Add support for cc23x0 ADC 66eb61a drivers: clock_control_mcux_syscon: confine RTC code to SOC_SERIES_MCXN d7f1c0a drivers: wifi: siwx91x: Add support for Enhanced Legacy Power Save c3ce29e drivers: wifi: siwx91x: Add support for get_power_save_config() adae168 drivers: wifi: siwx91x: Add support for set_power_save() b939714 doc: migration-guide-4.2: Add note about HTTP client response cb 00d214c tests: net: http_client: Add new testsuite for HTTP client 3572c9f net: http: client: Allow to abort download from response callback 73e248f net: zperf: Make UDP upload report retransmission count configurable 02530be net: zperf: Fix invalid zsock_recv() error check a94209b shields: migrate to shield.yml 79e3ecb doc: boards: catalog: add shields to board catalog df01afa scripts: west: commands: make use of shield.yml in west shields command 3a62b17 cmake: shields: introduce shield.yml 66fda82 shields: scripts: cmake: use list_shields.py in shields.cmake 93ced04 scripts: shields: handle BOARD_ROOT not containing shields folder 84980e0 boards: aithinker: update vendor name for Ai-Thinker WB2-12F board e99e15d bindings: vendor-prefixes: add Ai-Thinker Co., Ltd. entry e462ef3 drivers: video: ov7670: Set default format to RGB565 QVGA 2e25820 boards: stm32n6570_dk: Add touch screen support 5406259 tests: drivers: gpio_hogs: Add nrf54 platforms. 80b9040 soc: nordic: dmm: Add lock around sys_heap operations 37b4407 dts/renesas/smartbond: Add support for the ARMv8-M MPU bf93559 doc: releases: State zbus API as stable c71f51c api: zbus: Make zbus a stable API d3ec916 sys: timeutil: check for 32-bit time_t to avoid warning (part 2) 4dea09d test: drivers: gpio: turn off rand generator. 270f5d6 soc: nordic: Use proper devicetree entries for clock frequency dd99eda dts: arm: nordic: Add default rtc1 clock frequency to nrf53 network core e553b29 dts: bindings: timer: Add default clock frequency for nordic grtc a9d0a36 scripts: kconfig: Add dt_nodelabel_int_prop function bc06d85 tests: kernel: timer: Align timer tests to nRF54 Roll-Count: 1 GitWatcher: ignore Original-Reviewed-on: https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/294146 Bot-Commit: Pigweed Roller <pigweed-roller@pigweed-service-accounts.iam.gserviceaccount.com> Original-Revision: f69d7754a173c42c5fc07ed1b17df09793fdb1a7 Rolled-Repo: https://pigweed.googlesource.com/pigweed/pigweed Rolled-Commits: 4be0d002f0f5f1..f69d7754a173c4 Roll-Count: 1 Roller-URL: https://cr-buildbucket.appspot.com/build/8713787775503783841 GitWatcher: ignore CQ-Do-Not-Cancel-Tryjobs: true Change-Id: Ifab733402bb0ff4f8af4db519bc164412d6de8bf Reviewed-on: https://pigweed-review.googlesource.com/c/gonk/+/294373 Bot-Commit: Pigweed Roller <pigweed-roller@pigweed-service-accounts.iam.gserviceaccount.com> Lint: Lint 🤖 <android-build-ayeaye@system.gserviceaccount.com> Commit-Queue: Pigweed Roller <pigweed-roller@pigweed-service-accounts.iam.gserviceaccount.com>
NOTE: If you are using a
gonk_tools.zip
bundle follow the instructions in the//tools
directory: https://pigweed.googlesource.com/gonk/+/refs/heads/main/tools/
Clone the repo
git clone https://pigweed.googlesource.com/gonk
Source bootstrap.sh
to download all compilers and tooling into the environment
directory:
. ./bootstrap.sh
This should init all git submodules for you.
From here on the Pigweed environment is activated. You can activate the environment in a new shell without re-running bootstrap by sourcing activate.sh
. ./activate.sh
First bootstrap, run pw build
and flash gonk using DFU.
. ./bootstrap.sh
pw build
Unplug gonk from USB and replug with MODE button held down.
Run gonk-flash
on the MCU binary. This uses pyfu-usb
.
gonk-flash ./out/gn/arduino_size_optimized/obj/applications/gonk/gonk.bin
Start capturing ADC samples with:
gonk \ --bitstream-file DEFAULT \ --log-to-stderr
Enter
to stop or start ADC continuous updates. It will begin automatically on startup.ctrl-c
to quit.Plot the logs from gonk-csv-log.txt
with:
python tools/gonk_tools/plot.py -i gonk-csv-log.txt -o plot.svg
Build for the host and device by running:
pw build
This is mostly a shortcut with nice output for running gn gen out/gn
and ninja -C out/gn
.
The build commands are defined in: //tools/gonk_tools/build_project.py
.
The Verilog build requires the following to be installed on Linux:
sudo apt install fpga-icestorm nextpnr-ice40 yosys
Running pw build
will run the FPGA toolchain if these commands are available on the $PATH
:
icepack
icetime
nextpnr-ice40
yosys
The bitstream files will be written with the .bin
extenson under ./out/gn/obj/fpga/*/*.bin
along with log output files.
For example:
$ ls ./out/gn/obj/fpga/toplevel/ nextpnr-log.txt toplevel.asc toplevel.bin toplevel.json toplevel_timing_report.json toplevel_timing_report.txt yosys-log.txt
Flash the stm32f7 and launch the gonk.py
script on a bitstream file.
Unplug gonk from USB and replug with MODE button held down.
Run gonk-flash
which uses pyfu-usb
. The --bin-file
argument is optional.
gonk-flash --bin-file ./out/gn/arduino_size_optimized/obj/applications/gonk/bin/gonk.elf
This is more useful if you are doing firmware debugging.
./scripts/flash-with-blackmagic-probe.sh ./out/gn/arduino_size_optimized/obj/applications/gonk/bin/gonk.elf
This is a distibutable python wheel that can be used without the Gonk source checkout or compiling anything.
On Linux with the FPGA toolchain available run:
pw build
The zip file containing all the dependencies for the gonk python tooling is located in:
out/gn/obj/gonk_bundle.zip
Inside are the Python wheels for gonk_dist
, gonk_firmware
, and all third_party dependencies.
gonk_bundle ├── python_wheels │ ├── appdirs-1.4.4-py2.py3-none-any.whl │ ├── astroid-3.0.1-py3-none-any.whl │ ├── ... │ ├── gonk_dist-0.0.1+20240305140627-py3-none-any.whl │ ├── gonk_firmware-0.0.1+20240305140542-py3-none-any.whl │ ├── ... │ └── wheel-0.40.0-py3-none-any.whl ├── requirements.txt ├── setup.bat └── setup.sh
%Y%m%d %H:%M:%S.%f
Example separated into multiple lines (with an empty comment field)
20240813 14:16:35.176433, 283, 0.8148437500000001, 0.8892578125, 5.212109375000001, 1.087109375, 0.8904296875000001, 3.3820312500000003, 1.8125, 0.058447916666666676, 0.031546875, 0.13443125, 0.015902343750000002, 0.0009143518518518518, 0.16081250000000002, 0.004143750000000001, 0.04762591959635418, 0.02805330505371094, 0.7006703784179689, 0.01728758697509766, 0.0008141660337094908, 0.5438729003906251, 0.007510546875000001,
When GPIOs are pulled LOW (to ground) a line in the CSV will appear with delta_micros = 0 and empty measurement values. The Comment field will contain the GPIO assert log message.
Example:
20240813 14:12:32.930888, 0, ,,,,,,, ,,,,,,, ,,,,,,, Header pin assert: 2
See https://github.com/YosysHQ/yosys for more instructions.
On Ubuntu/Debian install the deps:
sudo apt-get install build-essential clang lld bison flex \ libreadline-dev gawk tcl-dev libffi-dev git \ graphviz xdot pkg-config python3 libboost-system-dev \ libboost-python-dev libboost-filesystem-dev zlib1g-dev
Activate the bootstrap environment . ./bootstraph.sh
then compile yosys.
git clone https://github.com/YosysHQ/yosys cd yosys git submodule update --init make config-clang make -j8
Install it to a known directory and add it to your $PATH
:
make DESTDIR=$HOME/ice40-fpga-tools install export $PATH=$PATH:$HOME/ice40-fpga-tools/usr/local/bin
TODO: Document compiling from source.
TODO: Document compiling from source.
Checkout the desired commits in each of these submodules:
third_party/stm32cube_f7/cmsis_core third_party/stm32cube_f7/cmsis_device third_party/stm32cube_f7/hal_driver
Then run from Gonk root:
python -m pw_stm32cube_build gen_file_list third_party/stm32cube_f7
Net | STM32 Pin | STM32 Function | Function |
---|---|---|---|
STATUS | PB13 | GPIO_Output | STAT LED |
Visual header pin positions:
+------------- +------+--------+-----+ | | 2 | Ground | 6 | | USB-C +------+--------+-----+ | Port | 1 | 3 | VCC | | +------+--------+-----+ +-------------
Header Pin | Net | STM32 Pin |
---|---|---|
1 | SPI_HDR_IO3 | PB0 |
2 | SPI_HDR_IO1 | PA2 |
3 | SPI_HDR_IO2 | PA3 |
4 | GND | |
5 | VCC_GONK | |
6 | SPI_HDR_IO0 | PA1 |
Net | FPGA IO# | STM32 Pin | STM32 Function | Flash Pin |
---|---|---|---|---|
ICE_SPI_SS | 71 | PD2 | GPIO_Output | S# |
ICE_SPI_MISO | 68 | PB4 | SPI1_MISO | DQ1 |
ICE_SPI_MOSI | 67 | PB5 | SPI1_MOSI | DQ0 |
ICE_SPI_SCK | 70 | PB3 | SPI1_SCK | C |
FLASH_HOLD | 63 | PC11 | GPIO_Output | HOLD#/DQ3 |
FLASH_WP | 64 | PC12 | GPIO_Output | W#/VPP/DQ2 |
Net | Function | FPGA IO# | STM32 Pin | STM32 Function | Notes |
---|---|---|---|---|---|
FPGA_IO_SPARE_0_2 | rst_i | 135 | PA0 | GPIO_Output | Active high |
FPGA_IO_SPARE_0_0 | mode_i | 137 | PB11 | GPIO_Output | FPGA operation mode |
DSPI_CS | valid_o | 75 | PB6 | GPIO_Output | Data/Transfer Valid |
FPGA_IO_SPARE_1_1 | miso_i | 101 | PC2 | SPI1_MISO | |
FPGA_IO_SPARE_1_0 | mosi_i | 99 | PC3 | SPI1_MOSI | |
I2C_O_SDA | cs_n | 79 | PB9 | SPI1_NSS | |
FPGA_IO_SPARE_0_1 | sclk_i | 136 | PB10 | SPI1_SCK | |
FPGA_IO_SPARE_2_0 | 49 | PA7 | |||
FPGA_IO_SPARE_2_1 | 48 | PA6 | |||
FPGA_IO_SPARE_2_2 | 47 | PA5 | |||
FPGA_IO_SPARE_2_3 | 45 | PA4 |