pw_trace_tokenized: Build-related fixes

- Get pw_trace_tokenized building against the null backend in the GN
  build.
  - Exclude pw_trace_tokenzied tests when pw_trace_tokenized is not
    used.
  - Use const void* instead of const char* for the data arg in the null
    backend.
- Update the null backend's function naming to match the style guide.
- Remove pw_trace_tokenized macros that are never invoked. Document the
  functions that need to be implemented instead.
- Tag more of pw_trace_tokenized as "manual" in the Bazel build since
  these libraries now require pw_trace_tokenized to be the backend.

Change-Id: I233a0726fec5a9a151a82d5e06bf4a675f2e2bb8
Reviewed-on: https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/164650
Pigweed-Auto-Submit: Wyatt Hepler <hepler@google.com>
Reviewed-by: Carlos Chinchilla <cachinchilla@google.com>
Reviewed-by: Dave Roth <davidroth@google.com>
Commit-Queue: Wyatt Hepler <hepler@google.com>
6 files changed
tree: 34bf1830c2e8df14eeac9da39b95c74a4c1fe92f
  1. .allstar/
  2. .vscode/
  3. build_overrides/
  4. docker/
  5. docs/
  6. pw_alignment/
  7. pw_allocator/
  8. pw_analog/
  9. pw_android_toolchain/
  10. pw_arduino_build/
  11. pw_assert/
  12. pw_assert_basic/
  13. pw_assert_log/
  14. pw_assert_tokenized/
  15. pw_assert_zephyr/
  16. pw_async/
  17. pw_async_basic/
  18. pw_base64/
  19. pw_bloat/
  20. pw_blob_store/
  21. pw_bluetooth/
  22. pw_bluetooth_hci/
  23. pw_bluetooth_profiles/
  24. pw_boot/
  25. pw_boot_cortex_m/
  26. pw_build/
  27. pw_build_info/
  28. pw_build_mcuxpresso/
  29. pw_bytes/
  30. pw_checksum/
  31. pw_chrono/
  32. pw_chrono_embos/
  33. pw_chrono_freertos/
  34. pw_chrono_stl/
  35. pw_chrono_threadx/
  36. pw_chrono_zephyr/
  37. pw_cli/
  38. pw_compilation_testing/
  39. pw_console/
  40. pw_containers/
  41. pw_cpu_exception/
  42. pw_cpu_exception_cortex_m/
  43. pw_crypto/
  44. pw_digital_io/
  45. pw_digital_io_mcuxpresso/
  46. pw_docgen/
  47. pw_doctor/
  48. pw_env_setup/
  49. pw_file/
  50. pw_function/
  51. pw_fuzzer/
  52. pw_hdlc/
  53. pw_hex_dump/
  54. pw_i2c/
  55. pw_i2c_linux/
  56. pw_i2c_mcuxpresso/
  57. pw_ide/
  58. pw_interrupt/
  59. pw_interrupt_cortex_m/
  60. pw_interrupt_xtensa/
  61. pw_interrupt_zephyr/
  62. pw_intrusive_ptr/
  63. pw_kvs/
  64. pw_libc/
  65. pw_log/
  66. pw_log_android/
  67. pw_log_basic/
  68. pw_log_null/
  69. pw_log_rpc/
  70. pw_log_string/
  71. pw_log_tokenized/
  72. pw_log_zephyr/
  73. pw_malloc/
  74. pw_malloc_freelist/
  75. pw_metric/
  76. pw_minimal_cpp_stdlib/
  77. pw_module/
  78. pw_multisink/
  79. pw_package/
  80. pw_perf_test/
  81. pw_persistent_ram/
  82. pw_polyfill/
  83. pw_preprocessor/
  84. pw_presubmit/
  85. pw_protobuf/
  86. pw_protobuf_compiler/
  87. pw_random/
  88. pw_result/
  89. pw_ring_buffer/
  90. pw_router/
  91. pw_rpc/
  92. pw_rpc_transport/
  93. pw_rust/
  94. pw_snapshot/
  95. pw_software_update/
  96. pw_span/
  97. pw_spi/
  98. pw_spi_mcuxpresso/
  99. pw_status/
  100. pw_stm32cube_build/
  101. pw_stream/
  102. pw_stream_shmem_mcuxpresso/
  103. pw_stream_uart_linux/
  104. pw_stream_uart_mcuxpresso/
  105. pw_string/
  106. pw_symbolizer/
  107. pw_sync/
  108. pw_sync_baremetal/
  109. pw_sync_embos/
  110. pw_sync_freertos/
  111. pw_sync_stl/
  112. pw_sync_threadx/
  113. pw_sync_zephyr/
  114. pw_sys_io/
  115. pw_sys_io_arduino/
  116. pw_sys_io_baremetal_lm3s6965evb/
  117. pw_sys_io_baremetal_stm32f429/
  118. pw_sys_io_emcraft_sf2/
  119. pw_sys_io_mcuxpresso/
  120. pw_sys_io_pico/
  121. pw_sys_io_stdio/
  122. pw_sys_io_stm32cube/
  123. pw_sys_io_zephyr/
  124. pw_system/
  125. pw_target_runner/
  126. pw_thread/
  127. pw_thread_embos/
  128. pw_thread_freertos/
  129. pw_thread_stl/
  130. pw_thread_threadx/
  131. pw_thread_zephyr/
  132. pw_tls_client/
  133. pw_tls_client_boringssl/
  134. pw_tls_client_mbedtls/
  135. pw_tokenizer/
  136. pw_tool/
  137. pw_toolchain/
  138. pw_toolchain_bazel/
  139. pw_trace/
  140. pw_trace_tokenized/
  141. pw_transfer/
  142. pw_unit_test/
  143. pw_unit_test_zephyr/
  144. pw_varint/
  145. pw_watch/
  146. pw_web/
  147. pw_work_queue/
  148. seed/
  149. targets/
  150. third_party/
  151. ts/
  152. zephyr/
  153. .bazelignore
  154. .bazelrc
  155. .black.toml
  156. .clang-format
  157. .clang-tidy
  158. .eslintrc.json
  159. .git-blame-ignore-revs
  160. .gitattributes
  161. .gitignore
  162. .gn
  163. .mypy.ini
  164. .prettierrc.js
  165. .pw_ide.yaml
  166. .pylintrc
  167. activate.bat
  168. Android.bp
  169. AUTHORS
  170. bootstrap.bat
  171. bootstrap.sh
  172. BUILD.bazel
  173. BUILD.gn
  174. BUILDCONFIG.gn
  175. CMakeLists.txt
  176. jest.config.ts
  177. Kconfig.zephyr
  178. LICENSE
  179. modules.gni
  180. OWNERS
  181. package-lock.json
  182. package.json
  183. pigweed.json
  184. PIGWEED_MODULES
  185. README.md
  186. rollup.config.js
  187. tsconfig.json
  188. WORKSPACE
README.md

Pigweed

Pigweed is an open source collection of embedded-targeted libraries–or as we like to call them, modules. These modules are building blocks and infrastructure that enable faster and more reliable development on small-footprint MMU-less 32-bit microcontrollers like the STMicroelectronics STM32L452 or the Nordic nRF52832.

For more information please see our website: https://pigweed.dev/.

Links