Enable I2C via IPC port of AST test on AST1060
This fixes some issues on the openprot side of things to enable
the ASpeed I2C test to run on Pigweed, sending requests over IPC
to the I2C server.
The test makes a few assumptions about the hardware setup:
- Using an ASpeed PRoT fixture with two devices
- The JTAG equipped unit running openprot
- The other runninng a reference build of Zephyr
Configure the build of Zephyr to simulate an eeprom on i2c address 0x42, this will satisfy the test. Connect I2C2 between the devices.
* Added a testing doc, should replace README.md with it at some point
* Significant updates to uart_test_exec.py to add more features and bugfixes.
* Replace default() with with_static_clocks()
* Fixed the target bus to match hardware config across the project.
* Added memory mappings to the i2c server so that it had permission to touch necessary registers
* Removed semihosting as it was causing misleading faults at the end of the tests.
A change not included here is in pigweed itself, in pw_kernel/arch/arm_cortex_m/protection_v7.rs:
MemoryRegionType::Device => (
/* xn */ true,
/* tex */ 0b000, // Device memory
/* s */ true,
/* c */ false,
/* b */ true,
- RasrAp::RoAny,
+ RasrAp::RwAny,
),
This is required to allow writes to the registers.
The OpenPRoT Technical Charter can be found at https://github.com/OpenPRoT/.github/blob/main/GOVERNANCE.md
NOTE: We are converting our build system to bazel. We recommend installing bazelisk to automatically manage bazel versions.
You can run tasks using the Pigweed workflow launcher pw or bazel.
./pw presubmit - Run presubmit checks: formatting, license checks, C/C++ header checks and clippy../pw format - Run the code formatters.bazel test //... - Run all tests.bazel build //docs - Build documentation.The project is structured as a bazel module.
No additional tools are required - all dependencies are managed by bazel.