docs: a step-by-step first program on EmbSim's micro:bit board
维护者通常 1 天内回复
还没有人认领这个 Issue。
评估
- 难度
- 3/5
- 预计耗时
- 1-2 天
- 新手友好度
- 82/100
- Issue 类型
- 文档
- 描述清晰度
- 描述清楚
- 活跃度
- 活跃
- 技术栈
- c, markdown
调研方向
Read the Cortex-M3 walkthrough in docs/manual/getting-started.md, the board table, and tests/harness/thumb-m0/boot.c and io.c; build the toolchain and run the documented program with embsim --board microbit --stats. Capture the commands and output as printed, including the librt.a link step for __aeabi_uidivmod, and explain the ARMv6-M instruction set difference. Finish when a fresh clone can follow the walkthrough and make embdoc && ./embdoc check passes.
由索引模型根据 Issue 内容生成。
描述
Context. Getting started walks through a first program on a Cortex-M3, step by step. The roadmap asks for a getting-started page for each EmbSim board. The BBC micro:bit (a Cortex-M0) is a good next one. Its row in the boards table already gives the target (thumbv6m-none-eabi), the harness (tests/harness/thumb-m0) and the link flags (-e reset -Ttext 0x0 -Tdata 0x20000000), but there is no walkthrough.
Where.
docs/manual/getting-started.md: the "Cortex-M3, step by step" section is the model, and the board table is around line 491. Add a "micro:bit (Cortex-M0), step by step" section next to it, or a page underdocs/manual/linked from there; ask in the comments if unsure which.tests/harness/thumb-m0/: itsboot.candio.care the start-up code and the output functions.embsim --board microbit: runs the image.
Steps.
- Write the same small program as the Cortex-M3 section, then compile, link and run it with
embcc,embldandembsim --board microbit --stats. - One difference you will meet: ARMv6-M has no divide instruction, so the harness's
io.ccalls__aeabi_uidivmod, and the link fails withundefined symbol '__aeabi_uidivmod'until the compiler runtime is linked. Build it withmake rt-embedded(orsh tools/build-rt.sh thumbv6m-none-eabi build/libc/thumbv6m-none-eabifor this target alone), putbuild/libc/thumbv6m-none-eabi/librt.alast on theembldline, and explain this in the section. - Paste the commands and the output exactly as printed. Do not edit the output.
- Say what else differs from the Cortex-M3 version: ARMv6-M's smaller, mostly 16-bit instruction set.
- Run
make embdoc && ./embdoc check.
Done when a reader with a fresh clone can follow the section from make embcc embld embsim to the program's output on EmbSim's micro:bit, the output shown is the real one, and ./embdoc check passes.
Before you start: the contributor's guide has the rules. A new test counts only after it has failed against the code before your change, and a commit subject reads area: summary. Questions are welcome in the comments or in Discussions.
- 主要语言
- C
- 星标
- 1
- 派生
- 2
- 平均合并
- 20 小时 55 分钟
- 30 天内合并 PR
- 73
环境准备
- 没有 Dockerfile 或 Docker Compose 文件
- 有 Pull Request 模板
- 阅读贡献指南
从这里开始
- 先读完整个 Issue,再读项目的贡献指南。
- 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
- Fork 仓库,在一个分支上完成修改。
- 提交 Pull Request,并在描述里引用这个 Issue 编号。
EmbLinkOs/EmbCC 的其他 Issue
-
bug
难度 2/5 1-3 小时 新手友好度 78/100
维护者通常 1 天内回复
-
documentation good first issue
难度 2/5 1-3 小时 新手友好度 82/100
维护者通常 1 天内回复
-
enhancement good first issue
难度 2/5 1-3 小时 新手友好度 88/100
维护者通常 1 天内回复
-
enhancement good first issue
难度 2/5 1-3 小时 新手友好度 83/100
维护者通常 1 天内回复
-
enhancement
难度 4/5 3-5 天 新手友好度 50/100
维护者通常 1 天内回复
相似的 Issue
-
难度 2/5 1-3 小时 新手友好度 78/100
维护者通常 1 天内回复
-
area: test kind: bug preview-effort: small priority: low
难度 2/5 1-3 小时 新手友好度 65/100
维护者通常 1 天内回复
-
难度 2/5 1-3 小时 新手友好度 65/100
libsdl-org/SDL#16684 ·
维护者通常 1 天内回复
-
难度 2/5 1-3 小时 新手友好度 82/100
-
Issue-Bug Needs-Triage
难度 2/5 1-3 小时 新手友好度 78/100
维护者通常 2 天内回复