Skip to content

chore: S24.06 retire Example/FreeRtos/HelloWorld#336

Merged
DavidCozens merged 1 commit into
mainfrom
chore/s24-06-retire-freertos-helloworld
May 11, 2026
Merged

chore: S24.06 retire Example/FreeRtos/HelloWorld#336
DavidCozens merged 1 commit into
mainfrom
chore/s24-06-retire-freertos-helloworld

Conversation

@DavidCozens

Copy link
Copy Markdown
Owner

Purpose

Closes #335.

Example/FreeRtos/HelloWorld/ was the minimal FreeRTOS-on-QEMU
bring-up smoke during S08 — one task printing one line over the
CMSDK UART, no IP stack, no syslog. After S08.03 + S08.04 closed
out, Example/FreeRtos/SingleTask/ exercises every layer
HelloWorld did (cross-compile / scheduler / CMSDK UART / newlib
retargeting / vector table / FreeRTOS port) plus the IP stack
plus the full SolidSyslog send path. The diagnostic separation
HelloWorld provided is no longer load-bearing — if SingleTask
fails before the SolidSyslog> prompt the boot chain is suspect,
the same signal HelloWorld would have given.

Retiring HelloWorld now (before S24.05 #333) lets that story
relocate a clean single-child FreeRTOS tree instead of splitting
the directory mid-move.

Change Description

  • Example/FreeRtos/HelloWorld/ deleted (3 files);
    add_subdirectory(HelloWorld) dropped from
    Example/FreeRtos/CMakeLists.txt.
  • .github/workflows/ci.yml's build-freertos-target job now
    cross-builds only SolidSyslogFreeRtosSingleTask and uploads
    the artefact for bdd-freertos-qemu. The standalone QEMU smoke
    step (the timeout 5 qemu-system-arm … -kernel HelloWorld.elf
    block that asserted on the hello from FreeRTOS … greeting) is
    gone — bdd-freertos-qemu immediately drives the ELF under QEMU
    and asserts on RFC 5424 receipt at the oracle, so any boot
    regression surfaces in the same job.
  • .vscode/tasks.json — the build and test task's
    freertos-cross branch targets SolidSyslogFreeRtosSingleTask.
    run on QEMU (FreeRTOS) rewires QEMU args to match the BDD
    harness (-display none -serial stdio -icount … -netdev user … -net nic,…,model=lan9118) so the SolidSyslog> prompt is
    visible in the integrated terminal and the IP stack can come up;
    drops the HelloWorld-specific -nographic +
    -semihosting-config.
  • .vscode/launch.json's cortex-debug entry renames to
    Debug FreeRTOS SingleTask (QEMU), executable path updated,
    -semihosting-config swapped for the netdev pair so the IP task
    initialises if you step past main.
  • Example/FreeRtos/README.md rewritten — single-example doc,
    "Run under QEMU" / "GDB attach" command lines use the SingleTask
    ELF and BDD-style QEMU args, "How it works" describes the CMSDK
    UART + FreeRTOS-Plus-TCP + Service-task boot path instead of
    newlib rdimon.
  • docs/ci.md updates the build-freertos-target row;
    docs/containers.md updates the launch config name.
  • Example/FreeRtos/Common/CMSDK_UART.md strips HelloWorld
    by-name framing; keeps the S08-bring-up vs. slice-3+ timeline
    rationale (load-bearing history).
  • Example/FreeRtos/cmake/arm-none-eabi.cmake comment dropped
    HelloWorld from the per-target additions list.

Test Evidence

Local verification inside the freertos-target devcontainer and
the gcc devcontainer:

  • cmake --preset freertos-cross && cmake --build --preset freertos-cross --target SolidSyslogFreeRtosSingleTask from a
    clean build/freertos-cross — green.
  • behave --tags='not @wip and not @freertoswip and not @rtc and @udp' Bdd/features/ inside freertos-target (matches the
    bdd-freertos-qemu CI filter): 9 features / 26 scenarios pass,
    0 fails, 12 / 23 skipped by tag.
  • cmake --build --preset debug --target junit — 1108 tests /
    1105 ran (3 ignored, platform-skipped), 2393 checks, 0
    failures.
  • clang-format --dry-run --Werror over Core / Tests / Example
    — clean.

Areas Affected

  • Example/FreeRtos/HelloWorld/ directory removed; only
    SingleTask/, Common/, cmake/ remain.
  • build-freertos-target CI job — one cross-build step, one
    artefact upload; QEMU smoke gone.
  • .vscode/freertos-cross build / run / debug paths all
    point at SingleTask.
  • Live docs updated; DEVLOG history untouched.

🤖 Generated with Claude Code

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@coderabbitai

coderabbitai Bot commented May 11, 2026

Copy link
Copy Markdown
Contributor

Warning

Rate limit exceeded

@DavidCozens has exceeded the limit for the number of commits that can be reviewed per hour. Please wait 41 minutes and 27 seconds before requesting another review.

You’ve run out of usage credits. Purchase more in the billing tab.

⌛ How to resolve this issue?

After the wait time has elapsed, a review can be triggered using the @coderabbitai review command as a PR comment. Alternatively, push new commits to this PR.

We recommend that you space out your commits to avoid hitting the rate limit.

🚦 How do rate limits work?

CodeRabbit enforces hourly rate limits for each developer per organization.

Our paid plans have higher rate limits than the trial, open-source and free plans. In all cases, we re-allow further reviews after a brief timeout.

Please see our FAQ for further information.

ℹ️ Review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro

Run ID: 2829a639-9b56-491c-8048-20340428383f

📥 Commits

Reviewing files that changed from the base of the PR and between 27ca513 and 9925c66.

📒 Files selected for processing (13)
  • .github/workflows/ci.yml
  • .vscode/launch.json
  • .vscode/tasks.json
  • DEVLOG.md
  • Example/FreeRtos/CMakeLists.txt
  • Example/FreeRtos/Common/CMSDK_UART.md
  • Example/FreeRtos/HelloWorld/CMakeLists.txt
  • Example/FreeRtos/HelloWorld/FreeRTOSConfig.h
  • Example/FreeRtos/HelloWorld/main.c
  • Example/FreeRtos/README.md
  • Example/FreeRtos/cmake/arm-none-eabi.cmake
  • docs/ci.md
  • docs/containers.md
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch chore/s24-06-retire-freertos-helloworld

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@github-actions

Copy link
Copy Markdown
Contributor

☀️   Quality Summary

   🚦   build-linux-gcc: 100% successful (✔️ 1111 passed, 🙈 3 skipped)
   🚦   build-linux-clang: 100% successful (✔️ 1063 passed, 🙈 3 skipped)
   🚦   sanitize-linux-gcc: 100% successful (✔️ 1063 passed, 🙈 3 skipped)
   🚦   integration-linux-openssl: 100% successful (✔️ 9 passed)
   🚦   integration-windows-openssl: 100% successful (✔️ 9 passed)
   🚦   bdd-linux-syslog-ng: 94% successful (✔️ 46 passed, 🙈 3 skipped)
   🚦   bdd-windows-otel: 90% successful (✔️ 44 passed, 🙈 5 skipped)
   🚦   bdd-freertos-qemu: 53% successful (✔️ 26 passed, 🙈 23 skipped)
   🚦   build-windows-msvc: 100% successful (✔️ 975 passed, 🙈 1 skipped)
   ⚠️   Clang-Tidy: No warnings
   ⚠️   CPPCheck: No warnings


Created by Quality Monitor v1.14.0 (#f3859fd). More details are shown in the GitHub Checks Result.

@DavidCozens DavidCozens merged commit 848617b into main May 11, 2026
19 checks passed
@DavidCozens DavidCozens deleted the chore/s24-06-retire-freertos-helloworld branch May 11, 2026 13:41
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

S24.06: Retire Example/FreeRtos/HelloWorld bring-up smoke binary

1 participant